import * as plugins from '../../../plugins.js'; import * as shared from '../../shared/index.js'; import { DeesElement, customElement, html, state, css, cssManager } from '@design.estate/dees-element'; import * as appstate from '../../../appstate.js'; @customElement('cloudly-view-dbs') export class CloudlyViewDbs extends DeesElement { @state() private data: appstate.IDataState = { secretGroups: [], secretBundles: [] } as any; constructor() { super(); const subecription = appstate.dataState.select((stateArg) => stateArg).subscribe((dataArg) => { this.data = dataArg; }); this.rxSubscriptions.push(subecription); } public static styles = [ cssManager.defaultStyles, shared.viewHostCss, css`` ]; public render() { return html` DBs { return { id: itemArg.id, serverAmount: itemArg.data.servers.length }; }} .dataActions=${[ { name: 'add configBundle', iconName: 'plus', type: ['header', 'footer'], actionFunc: async () => { await plugins.deesCatalog.DeesModal.createAndShow({ heading: 'Add ConfigBundle', content: html` `, menuOptions: [ { name: 'create', action: async (modalArg: any) => {} }, { name: 'cancel', action: async (modalArg: any) => { modalArg.destroy(); } } ] }); } }, { name: 'delete', iconName: 'trash', type: ['contextmenu', 'inRow'], actionFunc: async (actionDataArg: any) => { plugins.deesCatalog.DeesModal.createAndShow({ heading: `Delete ConfigBundle ${actionDataArg.item.id}`, content: html`
Do you really want to delete the ConfigBundle?
${actionDataArg.item.id}
`, menuOptions: [ { name: 'cancel', action: async (modalArg: any) => { await modalArg.destroy(); } }, { name: 'delete', action: async (modalArg: any) => { appstate.dataState.dispatchAction(appstate.deleteSecretBundleAction, { configBundleId: actionDataArg.item.id, }); await modalArg.destroy(); } } ] }); } }, ] as plugins.deesCatalog.ITableAction[]} >
`; } } declare global { interface HTMLElementTagNameMap { 'cloudly-view-dbs': CloudlyViewDbs; } }