Merge branch 'master' into fix/resolve-extension-enabled-status-on-load

This commit is contained in:
Lauri Nevala committed 2020-11-23 14:19:53 +02:00
commit e1bb3c7074
27 files changed
+463 -8790

No files matched your search

+5 -1
View File
@@ -1,4 +1,8 @@
import { getAppVersion } from "../../common/utils";
import { extensionsStore } from "../extensions-store";
export const version = getAppVersion();
export { isSnap, isWindows, isMac, isLinux, appName, slackUrl, issuesTrackerUrl } from "../../common/vars";
export { isSnap, isWindows, isMac, isLinux, appName, slackUrl, issuesTrackerUrl } from "../../common/vars";
export function getEnabledExtensions(): string[] {
return extensionsStore.enabledExtensions;
}
+14 -1
View File
@@ -1,7 +1,7 @@
import type { LensExtensionId } from "./lens-extension";
import type { ExtensionLoader } from "./extension-loader";
import { BaseStore } from "../common/base-store";
import { action, observable, reaction, toJS } from "mobx";
import { action, computed, observable, reaction, toJS } from "mobx";
export interface LensExtensionsStoreModel {
extensions: Record<LensExtensionId, LensExtensionState>;
@@ -9,6 +9,7 @@ export interface LensExtensionsStoreModel {
export interface LensExtensionState {
enabled?: boolean;
name: string;
}
export class ExtensionsStore extends BaseStore<LensExtensionsStoreModel> {
@@ -18,6 +19,17 @@ export class ExtensionsStore extends BaseStore<LensExtensionsStoreModel> {
});
}
@computed
get enabledExtensions() {
const extensions: string[] = [];
this.state.forEach((state, id) => {
if (state.enabled) {
extensions.push(state.name);
}
});
return extensions;
}
protected state = observable.map<LensExtensionId, LensExtensionState>();
protected getState(extensionLoader: ExtensionLoader) {
@@ -25,6 +37,7 @@ export class ExtensionsStore extends BaseStore<LensExtensionsStoreModel> {
return Array.from(extensionLoader.userExtensions).reduce((state, [extId, ext]) => {
state[extId] = {
enabled: ext.isEnabled,
name: ext.manifest.name,
};
return state;
}, state);
+1 -1
View File
@@ -83,7 +83,7 @@ export class HelmRepoManager extends Singleton {
repositories: []
}));
if (!repositories.length) {
await this.addRepo({ name: "stable", url: "https://kubernetes-charts.storage.googleapis.com/" });
await this.addRepo({ name: "bitnami", url: "https://charts.bitnami.com/bitnami" });
return await this.repositories();
}
return repositories.map(repo => ({
+6
View File
@@ -218,6 +218,12 @@ export function buildMenu(windowManager: WindowManager) {
shell.openExternal('https://docs.k8slens.dev/');
},
},
{
label: "Support",
click: async () => {
shell.openExternal('https://docs.k8slens.dev/latest/support/');
},
},
...ignoreOnMac([
{
label: "About Lens",
+12 -4
View File
@@ -12,14 +12,22 @@ class HelmApiRoute extends LensApi {
public async getChart(request: LensApiRequest) {
const { params, query, response } = request;
const chart = await helmService.getChart(params.repo, params.chart, query.get("version"));
this.respondJson(response, chart);
try {
const chart = await helmService.getChart(params.repo, params.chart, query.get("version"));
this.respondJson(response, chart);
} catch (error) {
this.respondText(response, error, 422);
}
}
public async getChartValues(request: LensApiRequest) {
const { params, query, response } = request;
const values = await helmService.getChartValues(params.repo, params.chart, query.get("version"));
this.respondJson(response, values);
try {
const values = await helmService.getChartValues(params.repo, params.chart, query.get("version"));
this.respondJson(response, values);
} catch (error) {
this.respondText(response, error, 422);
}
}
public async installChart(request: LensApiRequest) {