UNPKG

kui-shell

Version:

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

78 lines 2.72 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const sidecar_core_1 = require("./sidecar-core"); const dom_1 = require("../util/dom"); function getBadgesDomContainer(sidecar) { const badgesDomContainer = sidecar.querySelector('.header-right-bits .custom-header-content'); let badgesDom = badgesDomContainer.querySelector('.badges'); if (!badgesDom) { badgesDom = document.createElement('span'); badgesDom.classList.add('badges'); badgesDomContainer.appendChild(badgesDom); } else { dom_1.removeAllDomChildren(badgesDom); } return { badgesDomContainer, badgesDom }; } exports.getBadgesDomContainer = getBadgesDomContainer; class DefaultBadgeOptions { constructor(tab) { const { badgesDom } = getBadgesDomContainer(sidecar_core_1.getSidecar(tab)); this.badgesDom = badgesDom; } } exports.DefaultBadgeOptions = DefaultBadgeOptions; function isHTMLImage(img) { return img.alt !== undefined; } exports.addBadge = (tab, badgeText, { css, onclick, badgesDom = new DefaultBadgeOptions(tab).badgesDom } = new DefaultBadgeOptions(tab)) => { const badge = document.createElement('badge'); badgesDom.appendChild(badge); if (typeof badgeText === 'string') { badge.innerText = badgeText; } else if (badgeText instanceof Element) { badge.appendChild(badgeText); badge.classList.add('badge-as-image'); } else { if (badgeText.image) { if (isHTMLImage(badgeText.image)) { badgeText.image.alt = badgeText.title; } badge.appendChild(badgeText.image); badge.classList.add('badge-as-image'); } else if (badgeText.fontawesome) { const awesome = document.createElement('i'); awesome.className = badgeText.fontawesome; badge.classList.add('badge-as-fontawesome'); badge.appendChild(awesome); } else { badge.innerText = badgeText.title; if (badgeText.css) { badge.classList.add(badgeText.css); } } if (badgeText.onclick) { badge.classList.add('clickable'); badge.onclick = badgeText.onclick; } } if (css) { badge.classList.add(css); } if (onclick) { badge.classList.add('clickable'); badge.onclick = onclick; } return badge; }; exports.clearBadges = (tab) => { const sidecar = sidecar_core_1.getSidecar(tab); const header = sidecar.querySelector('.sidecar-header'); dom_1.removeAllDomChildren(header.querySelector('.badges')); }; //# sourceMappingURL=badge.js.map