kui-shell
Version:
This is the monorepo for Kui, the hybrid command-line/GUI electron-based Kubernetes tool
53 lines • 1.75 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const debug_1 = require("debug");
const ascii_to_table_1 = require("@kui-shell/core/webapp/util/ascii-to-table");
const debug = debug_1.default('plugin/operator-framework/view/modes/packages');
function isPackageBearer(resource) {
const bearer = resource;
return (bearer !== undefined &&
bearer.status !== undefined &&
bearer.status.packages !== undefined &&
typeof bearer.status.packages === 'string');
}
exports.packagesMode = {
when: isPackageBearer,
mode: (command, resource) => {
try {
return {
mode: 'Packages',
leaveBottomStripeAlone: true,
direct: {
plugin: 'operator-framework/dist/index',
operation: 'renderAndViewPackages',
parameters: { command, resource }
}
};
}
catch (err) {
debug('error rendering description button');
console.error(err);
}
}
};
function toTable(resource) {
return {
title: 'Packages',
header: {
name: 'NAME',
outerCSS: ascii_to_table_1.outerCSSForKey.NAME,
css: ascii_to_table_1.cssForKey.NAME
},
body: resource.status.packages.split(/,/).map(name => ({
name,
outerCSS: ascii_to_table_1.outerCSSForKey.NAME,
css: ascii_to_table_1.cssForKey.NAME
}))
};
}
exports.renderAndView = (tab, parameters) => {
const { command, resource } = parameters;
debug('renderAndView', command, resource);
return toTable(resource.resource);
};
//# sourceMappingURL=packages.js.map