@yuebai008/cli
Version:
Command line interface for rapid qg-minigame development
1 lines • 2.04 kB
JavaScript
import*as i18n from"../../core/i18n/i18n.js";import*as SDK from"../../core/sdk/sdk.js";import*as UI from"../../ui/legacy/legacy.js";import*as SourceFrame from"../../ui/legacy/components/source_frame/source_frame.js";import*as ApplicationComponents from"./components/components.js";import reportingApiReportsViewStyles from"./reportingApiReportsView.css.js";const UIStrings={clickToDisplayBody:"Click on any report to display its body"},str_=i18n.i18n.registerUIStrings("panels/application/ReportingApiReportsView.ts",UIStrings);export const i18nString=i18n.i18n.getLocalizedString.bind(void 0,str_);export class ReportingApiReportsView extends UI.SplitWidget.SplitWidget{reportsGrid=new ApplicationComponents.ReportsGrid.ReportsGrid;reports=[];constructor(t){super(!1,!0);const e=new UI.Widget.VBox,i=new UI.Widget.VBox;e.setMinimumSize(0,80),this.setMainWidget(e),i.setMinimumSize(0,40),this.setSidebarWidget(i),e.contentElement.appendChild(this.reportsGrid),this.reportsGrid.addEventListener("cellfocused",this.onFocus.bind(this)),i.contentElement.classList.add("placeholder");i.contentElement.createChild("div").textContent=i18nString(UIStrings.clickToDisplayBody),t.addEventListener(SDK.NetworkManager.Events.ReportingApiReportAdded,(t=>this.onReportAdded(t.data)),this),t.addEventListener(SDK.NetworkManager.Events.ReportingApiReportUpdated,(t=>this.onReportUpdated(t.data)),this)}wasShown(){super.wasShown();const t=this.sidebarWidget();t&&t.registerCSSFiles([reportingApiReportsViewStyles])}onReportAdded(t){this.reports.push(t),this.reportsGrid.data={reports:this.reports}}onReportUpdated(t){const e=this.reports.findIndex((e=>e.id===t.id));this.reports[e]=t,this.reportsGrid.data={reports:this.reports}}async onFocus(t){const e=t.data.row.cells.find((t=>"id"===t.columnId)),i=e&&this.reports.find((t=>t.id===e.value));if(i){const t=await SourceFrame.JSONView.JSONView.createView(JSON.stringify(i.body));t?.setMinimumSize(0,40),t&&this.setSidebarWidget(t)}}getReports(){return this.reports}getReportsGrid(){return this.reportsGrid}}