@yuebai008/cli
Version:
Command line interface for rapid qg-minigame development
1 lines • 2.45 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 sharedStorageEventsViewStyles from"./sharedStorageEventsView.css.js";const UIStrings={clickToDisplayBody:"Click on any shared storage event to display the event parameters."},str_=i18n.i18n.registerUIStrings("panels/application/SharedStorageEventsView.ts",UIStrings),i18nString=i18n.i18n.getLocalizedString.bind(void 0,str_);function eventEquals(e,t){return JSON.stringify(e)===JSON.stringify(t)}export class SharedStorageEventsView extends UI.SplitWidget.SplitWidget{#e=new ApplicationComponents.SharedStorageAccessGrid.SharedStorageAccessGrid;#t=[];#s;#i="";constructor(){super(!1,!0);const e=new UI.Widget.VBox;this.#s=new UI.Widget.VBox,e.setMinimumSize(0,80),this.setMainWidget(e),this.#s.setMinimumSize(0,40),this.setSidebarWidget(this.#s),e.contentElement.appendChild(this.#e),this.#e.addEventListener("cellfocused",this.#n.bind(this)),this.#r()?.addEventListener(SDK.ResourceTreeModel.Events.PrimaryPageChanged,this.clearEvents,this),this.#s.contentElement.classList.add("placeholder");this.#s.contentElement.createChild("div").textContent=i18nString(UIStrings.clickToDisplayBody)}#r(){const e=SDK.TargetManager.TargetManager.instance().primaryPageTarget();return e?.model(SDK.ResourceTreeModel.ResourceTreeModel)||null}#a(){return this.#r()?.mainFrame||null}get id(){return this.#a()?.id||this.#i}wasShown(){super.wasShown();const e=this.sidebarWidget();e&&e.registerCSSFiles([sharedStorageEventsViewStyles])}addEvent(e){e.mainFrameId===this.id&&(this.#t.some((t=>eventEquals(t,e)))||(this.#t.push(e),this.#e.data=this.#t))}clearEvents(){this.#t=[],this.#e.data=this.#t,this.setSidebarWidget(this.#s)}async#n(e){const t=e.data.row;if(!t)return;const s={accessTime:t.cells.find((e=>"event-time"===e.columnId))?.value,accessType:t.cells.find((e=>"event-type"===e.columnId))?.value,ownerOrigin:t.cells.find((e=>"event-owner-origin"===e.columnId))?.value,eventParams:JSON.parse(t.cells.find((e=>"event-params"===e.columnId))?.value)},i=SourceFrame.JSONView.JSONView.createViewSync(s);i.setMinimumSize(0,40),this.setSidebarWidget(i)}setDefaultIdForTesting(e){this.#i=e}getEventsForTesting(){return this.#t}getSharedStorageAccessGridForTesting(){return this.#e}}