mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
Extension store base class + rename main/renderer-extensions -> extensions (#1107)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
This commit is contained in:
1 parent
8f8dd9eb45
commit
91bef77997
31 files changed
+95
-121
No files matched your search
@@ -1,4 +1,4 @@
|
||||
import { LensMainExtension } from "@k8slens/main-extensions";
|
||||
import { LensMainExtension } from "@k8slens/extensions";
|
||||
|
||||
export default class ExampleExtensionMain extends LensMainExtension {
|
||||
onActivate() {
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
import { Component, LensRendererExtension } from "@k8slens/renderer-extensions";
|
||||
import { LensRendererExtension, Component } from "@k8slens/extensions";
|
||||
import { CoffeeDoodle } from "react-open-doodles";
|
||||
import path from "path";
|
||||
import React from "react"
|
||||
|
||||
export function ExtensionIcon(props: Component.IconProps) {
|
||||
export function ExampleIcon(props: Component.IconProps) {
|
||||
return <Component.Icon {...props} material="pages" tooltip={path.basename(__filename)}/>
|
||||
}
|
||||
|
||||
export class ExtensionPage extends React.Component<{ extension: LensRendererExtension }> {
|
||||
export class ExamplePage extends React.Component<{ extension: LensRendererExtension }> {
|
||||
deactivate = () => {
|
||||
const { extension } = this.props;
|
||||
extension.disable();
|
||||
@@ -27,7 +27,3 @@ export class ExtensionPage extends React.Component<{ extension: LensRendererExte
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
export function examplePage(ext: LensRendererExtension) {
|
||||
return () => <ExtensionPage extension={ext} />
|
||||
}
|
||||
+5
-4
@@ -1,5 +1,6 @@
|
||||
import { Registry, LensRendererExtension } from "@k8slens/renderer-extensions";
|
||||
import { examplePage, ExtensionIcon } from "./page"
|
||||
import { LensRendererExtension, Registry } from "@k8slens/extensions";
|
||||
import { ExamplePage, ExampleIcon } from "./page"
|
||||
import React from "react"
|
||||
|
||||
export default class ExampleExtension extends LensRendererExtension {
|
||||
onActivate() {
|
||||
@@ -13,8 +14,8 @@ export default class ExampleExtension extends LensRendererExtension {
|
||||
path: "/extension-example",
|
||||
title: "Example Extension",
|
||||
components: {
|
||||
Page: examplePage(this),
|
||||
MenuIcon: ExtensionIcon,
|
||||
Page: () => <ExamplePage extension={this} />,
|
||||
MenuIcon: ExampleIcon,
|
||||
}
|
||||
})
|
||||
)
|
||||
@@ -17,8 +17,9 @@ module.exports = [
|
||||
},
|
||||
externals: [
|
||||
{
|
||||
"@k8slens/main-extensions": "var global.LensMainExtensions",
|
||||
"@k8slens/extensions": "var global.LensExtensions",
|
||||
"mobx": "var global.Mobx",
|
||||
"react": "var global.React"
|
||||
}
|
||||
],
|
||||
resolve: {
|
||||
@@ -31,7 +32,7 @@ module.exports = [
|
||||
},
|
||||
},
|
||||
{
|
||||
entry: './renderer.ts',
|
||||
entry: './renderer.tsx',
|
||||
context: __dirname,
|
||||
target: "electron-renderer",
|
||||
mode: "production",
|
||||
@@ -46,7 +47,7 @@ module.exports = [
|
||||
},
|
||||
externals: [
|
||||
{
|
||||
"@k8slens/renderer-extensions": "var global.LensRendererExtensions",
|
||||
"@k8slens/extensions": "var global.LensExtensions",
|
||||
"react": "var global.React",
|
||||
"mobx": "var global.Mobx"
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { LensMainExtension } from "@k8slens/main-extensions";
|
||||
import { LensMainExtension } from "@k8slens/extensions";
|
||||
import { telemetryPreferencesStore } from "./src/telemetry-preferences-store"
|
||||
import { tracker } from "./src/tracker";
|
||||
|
||||
@@ -7,7 +7,7 @@ export default class TelemetryMainExtension extends LensMainExtension {
|
||||
async onActivate() {
|
||||
console.log("telemetry main extension activated")
|
||||
tracker.start()
|
||||
await telemetryPreferencesStore.load()
|
||||
await telemetryPreferencesStore.loadExtension(this)
|
||||
}
|
||||
|
||||
onDeactivate() {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Registry, LensRendererExtension } from "@k8slens/renderer-extensions";
|
||||
import { LensRendererExtension, Registry } from "@k8slens/extensions";
|
||||
import { telemetryPreferencesStore } from "./src/telemetry-preferences-store"
|
||||
import { TelemetryPreferenceHint, TelemetryPreferenceInput } from "./src/telemetry-preference"
|
||||
import { tracker } from "./src/tracker"
|
||||
@@ -8,7 +8,7 @@ export default class TelemetryRendererExtension extends LensRendererExtension {
|
||||
async onActivate() {
|
||||
console.log("telemetry extension activated")
|
||||
tracker.start()
|
||||
await telemetryPreferencesStore.load()
|
||||
await telemetryPreferencesStore.loadExtension(this)
|
||||
}
|
||||
|
||||
registerAppPreferences(registry: Registry.AppPreferenceRegistry) {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Component } from "@k8slens/renderer-extensions"
|
||||
import { Component } from "@k8slens/extensions"
|
||||
import React from "react"
|
||||
import { observer } from "mobx-react";
|
||||
import { TelemetryPreferencesStore } from "./telemetry-preferences-store"
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
import { Store } from "@k8slens/main-extensions";
|
||||
import { Store } from "@k8slens/extensions";
|
||||
import { toJS } from "mobx"
|
||||
|
||||
export type TelemetryPreferencesModel = {
|
||||
enabled: boolean;
|
||||
}
|
||||
|
||||
export class TelemetryPreferencesStore extends Store.BaseStore<TelemetryPreferencesModel> {
|
||||
export class TelemetryPreferencesStore extends Store.ExtensionStore<TelemetryPreferencesModel> {
|
||||
private constructor() {
|
||||
super({
|
||||
configName: "telemetry-preferences-store",
|
||||
configName: "preferences-store",
|
||||
defaults: {
|
||||
enabled: true
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { EventBus, Util } from "@k8slens/main-extensions"
|
||||
import { EventBus, Util } from "@k8slens/extensions"
|
||||
import ua from "universal-analytics"
|
||||
import { machineIdSync } from "node-machine-id"
|
||||
import { telemetryPreferencesStore } from "./telemetry-preferences-store"
|
||||
|
||||
@@ -17,7 +17,7 @@ module.exports = [
|
||||
},
|
||||
externals: [
|
||||
{
|
||||
"@k8slens/main-extensions": "var global.LensMainExtensions",
|
||||
"@k8slens/extensions": "var global.LensExtensions",
|
||||
"react": "var global.React",
|
||||
"mobx": "var global.Mobx"
|
||||
}
|
||||
@@ -48,10 +48,10 @@ module.exports = [
|
||||
},
|
||||
externals: [
|
||||
{
|
||||
"@k8slens/renderer-extensions": "var global.LensRendererExtensions",
|
||||
"@k8slens/main-extensions": "var global.LensMainExtensions",
|
||||
"@k8slens/extensions": "var global.LensExtensions",
|
||||
"react": "var global.React",
|
||||
"mobx": "var global.Mobx"
|
||||
"mobx": "var global.Mobx",
|
||||
"mobx-react": "var global.MobxReact"
|
||||
}
|
||||
],
|
||||
resolve: {
|
||||
|
||||
Reference in new issue
Block a user