@yuebai008/cli
Version:
Command line interface for rapid qg-minigame development
1 lines • 5.82 kB
JavaScript
import*as Common from"../../core/common/common.js";import*as Host from"../../core/host/host.js";import*as i18n from"../../core/i18n/i18n.js";import*as Root from"../../core/root/root.js";import*as SDK from"../../core/sdk/sdk.js";import*as MobileThrottling from"../../panels/mobile_throttling/mobile_throttling.js";import*as IconButton from"../../ui/components/icon_button/icon_button.js";import*as Components from"../../ui/legacy/components/utils/utils.js";import*as UI from"../../ui/legacy/legacy.js";import nodeIconStyles from"./nodeIcon.css.js";const UIStrings={main:"Main",tab:"Tab",javascriptIsDisabled:"JavaScript is disabled",openDedicatedTools:"Open dedicated DevTools for `Node.js`"},str_=i18n.i18n.registerUIStrings("entrypoints/inspector_main/InspectorMain.ts",UIStrings),i18nString=i18n.i18n.getLocalizedString.bind(void 0,str_);let inspectorMainImplInstance,reloadActionDelegateInstance,focusDebuggeeActionDelegateInstance,nodeIndicatorInstance;export class InspectorMainImpl{static instance(e={forceNew:null}){const{forceNew:t}=e;return inspectorMainImplInstance&&!t||(inspectorMainImplInstance=new InspectorMainImpl),inspectorMainImplInstance}async run(){let e=!0;await SDK.Connections.initMainConnection((async()=>{const t=Root.Runtime.Runtime.queryParam("v8only")?SDK.Target.Type.Node:"tab"===Root.Runtime.Runtime.queryParam("targetType")?SDK.Target.Type.Tab:SDK.Target.Type.Frame,n=t===SDK.Target.Type.Frame&&"sources"===Root.Runtime.Runtime.queryParam("panel"),a=t===SDK.Target.Type.Frame?i18nString(UIStrings.main):i18nString(UIStrings.tab),o=SDK.TargetManager.TargetManager.instance().createTarget("main",a,t,null,void 0,n),i=SDK.TargetManager.TargetManager.instance();if(i.observeTargets({targetAdded:e=>{e===i.primaryPageTarget()&&e.setName(i18nString(UIStrings.main))},targetRemoved:e=>{}}),e){if(e=!1,n){const e=o.model(SDK.DebuggerModel.DebuggerModel);e&&(e.isReadyToPause()||await e.once(SDK.DebuggerModel.Events.DebuggerIsReadyToPause),e.pause())}t!==SDK.Target.Type.Tab&&o.runtimeAgent().invoke_runIfWaitingForDebugger()}}),Components.TargetDetachedDialog.TargetDetachedDialog.webSocketConnectionLost),new SourcesPanelIndicator,new BackendSettingsSync,new MobileThrottling.NetworkPanelIndicator.NetworkPanelIndicator,Host.InspectorFrontendHost.InspectorFrontendHostInstance.events.addEventListener(Host.InspectorFrontendHostAPI.Events.ReloadInspectedPage,(({data:e})=>{SDK.ResourceTreeModel.ResourceTreeModel.reloadAllPages(e)}))}}Common.Runnable.registerEarlyInitializationRunnable(InspectorMainImpl.instance);export class ReloadActionDelegate{static instance(e={forceNew:null}){const{forceNew:t}=e;return reloadActionDelegateInstance&&!t||(reloadActionDelegateInstance=new ReloadActionDelegate),reloadActionDelegateInstance}handleAction(e,t){switch(t){case"inspector_main.reload":return SDK.ResourceTreeModel.ResourceTreeModel.reloadAllPages(!1),!0;case"inspector_main.hard-reload":return SDK.ResourceTreeModel.ResourceTreeModel.reloadAllPages(!0),!0}return!1}}export class FocusDebuggeeActionDelegate{static instance(e={forceNew:null}){const{forceNew:t}=e;return focusDebuggeeActionDelegateInstance&&!t||(focusDebuggeeActionDelegateInstance=new FocusDebuggeeActionDelegate),focusDebuggeeActionDelegateInstance}handleAction(e,t){const n=SDK.TargetManager.TargetManager.instance().primaryPageTarget();return!!n&&(n.pageAgent().invoke_bringToFront(),!0)}}export class NodeIndicator{#e;#t;constructor(){const e=document.createElement("div"),t=UI.Utils.createShadowRootWithCoreStyles(e,{cssFile:[nodeIconStyles],delegatesFocus:void 0});this.#e=t.createChild("div","node-icon"),e.addEventListener("click",(()=>Host.InspectorFrontendHost.InspectorFrontendHostInstance.openNodeFrontend()),!1),this.#t=new UI.Toolbar.ToolbarItem(e),this.#t.setTitle(i18nString(UIStrings.openDedicatedTools)),SDK.TargetManager.TargetManager.instance().addEventListener(SDK.TargetManager.Events.AvailableTargetsChanged,(e=>this.#n(e.data))),this.#t.setVisible(!1),this.#n([])}static instance(e={forceNew:null}){const{forceNew:t}=e;return nodeIndicatorInstance&&!t||(nodeIndicatorInstance=new NodeIndicator),nodeIndicatorInstance}#n(e){const t=Boolean(e.find((e=>"node"===e.type&&!e.attached)));this.#e.classList.toggle("inactive",!t),t&&this.#t.setVisible(!0)}item(){return this.#t}}export class SourcesPanelIndicator{constructor(){function e(){let e=null;Common.Settings.Settings.instance().moduleSetting("javaScriptDisabled").get()&&(e=new IconButton.Icon.Icon,e.data={iconName:"warning-filled",color:"var(--icon-warning)",width:"14px",height:"14px"},UI.Tooltip.Tooltip.install(e,i18nString(UIStrings.javascriptIsDisabled))),UI.InspectorView.InspectorView.instance().setPanelIcon("sources",e)}Common.Settings.Settings.instance().moduleSetting("javaScriptDisabled").addChangeListener(e),e()}}export class BackendSettingsSync{#a;#o;#i;constructor(){this.#a=Common.Settings.Settings.instance().moduleSetting("autoAttachToCreatedPages"),this.#a.addChangeListener(this.#s,this),this.#s(),this.#o=Common.Settings.Settings.instance().moduleSetting("network.adBlockingEnabled"),this.#o.addChangeListener(this.#n,this),this.#i=Common.Settings.Settings.instance().moduleSetting("emulatePageFocus"),this.#i.addChangeListener(this.#n,this),SDK.TargetManager.TargetManager.instance().observeTargets(this)}#r(e){e.type()===SDK.Target.Type.Frame&&e.parentTarget()?.type()!==SDK.Target.Type.Frame&&(e.pageAgent().invoke_setAdBlockingEnabled({enabled:this.#o.get()}),e.emulationAgent().invoke_setFocusEmulationEnabled({enabled:this.#i.get()}))}#s(){Host.InspectorFrontendHost.InspectorFrontendHostInstance.setOpenNewWindowForPopups(this.#a.get())}#n(){for(const e of SDK.TargetManager.TargetManager.instance().targets())this.#r(e)}targetAdded(e){this.#r(e)}targetRemoved(e){}}SDK.ChildTargetManager.ChildTargetManager.install();