"use strict"; import { Package, Component, ComponentParams, ComponentDoneResponse, logger } from "qcobjects"; type ComponentServiceData = Component & { serviceData:any; } class GitHubGrid extends Component { name = "github-grid"; tplsource = "inline"; template = ` $mapper(github-card,result) `; } class DeployGrid extends Component { name = "deploygrid"; template = `
`; } class AdminCheckComponent extends Component { shadowed = true; tplsource = "inline"; constructor (o:ComponentParams){ o.body?.setAttribute("serviceClass", "AdminCheckService"); o.body?.setAttribute("response-to", "data"); super(o); } } class AdminSidebarOption extends AdminCheckComponent { name = "admin-sidebar-option"; template = `
Admin
`; done (standardResponse:ComponentDoneResponse):Promise{ const component = standardResponse.component as ComponentServiceData; console.log(component.serviceData); try { if (JSON.parse(component.serviceData)?.hasAdmin){ logger.debug("Admin module is present"); } else { logger.debug("Admin module is NOT present. Install admin module in a dynamic served application (non-static server)"); this.shadowRoot?.querySelector("style")?.remove(); this.shadowRoot?.querySelector(".admin_option_container")?.remove(); } } catch (e){ logger.debug(`It was not possible to check if admin module is present: ${e}`); this.shadowRoot?.querySelector("style")?.remove(); this.shadowRoot?.querySelector(".admin_option_container")?.remove(); } return super.done(standardResponse); } } class AdminButton extends AdminCheckComponent { name = "admin-button"; template = `
Admin
`; done (standardResponse:ComponentDoneResponse):Promise{ const component = standardResponse.component as ComponentServiceData; console.log(component.serviceData); try { if (JSON.parse(component.serviceData)?.hasAdmin){ logger.debug("Admin module is present"); } else { logger.debug("Admin module is NOT present. Install admin module in a dynamic served application (non-static server)"); this.shadowRoot?.querySelector("style")?.remove(); this.shadowRoot?.querySelector(".admin_button_container")?.remove(); } } catch (e){ logger.debug(`It was not possible to check if admin module is present: ${e}`); this.shadowRoot?.querySelector("style")?.remove(); this.shadowRoot?.querySelector(".admin_button_container")?.remove(); } return super.done(standardResponse); } } Package("org.quickcorp.custom.components", [ AdminButton, AdminSidebarOption, DeployGrid, GitHubGrid ]);