UNPKG

kui-shell

Version:

This is the monorepo for Kui, the hybrid command-line/GUI electron-based Kubernetes tool

55 lines 2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const entity_1 = require("./entity"); const sidecar_1 = require("../webapp/views/sidecar"); const table_1 = require("../webapp/models/table"); const table_2 = require("../webapp/views/table"); function isMultiModalResponse(entity) { const mmr = entity; return (entity_1.isMetadataBearing(mmr) && mmr.modes && Array.isArray(mmr.modes) && mmr.modes[0] && mmr.modes[0].content !== undefined); } exports.isMultiModalResponse = isMultiModalResponse; function formatContent(tab, mmr, content, contentType) { if (sidecar_1.isCustomSpec(content)) { return content; } else if (table_1.isTable(content) || table_1.isMultiTable(content)) { return () => { const dom1 = document.createElement('div'); const dom2 = document.createElement('div'); dom1.classList.add('scrollable', 'scrollable-auto'); dom2.classList.add('result-as-table', 'repl-result'); dom1.appendChild(dom2); table_2.formatTable(tab, content, dom2); sidecar_1.insertView(tab)(dom1); }; } else { return { kind: mmr.kind, metadata: mmr.metadata, type: 'custom', content, contentType }; } } function show(tab, mmr) { const modes = mmr.modes.map(_ => ({ mode: _.mode, label: _.label, direct: sidecar_1.isCustomSpec(_) ? _ : formatContent(tab, mmr, _.content, _.contentType), defaultMode: _.defaultMode, leaveBottomStripeAlone: true })); modes.forEach(_ => { if (typeof _.direct !== 'function') { _.direct.modes = modes; } }); if (!modes.find(_ => _.defaultMode)) { modes[0].defaultMode = true; } const defaultMode = modes.find(_ => _.defaultMode) || modes[0]; return sidecar_1.showCustom(tab, defaultMode.direct); } exports.show = show; //# sourceMappingURL=MultiModalResponse.js.map