UNPKG

@yuebai008/cli

Version:

Command line interface for rapid qg-minigame development

1 lines 2.21 kB
import*as i18n from"../../core/i18n/i18n.js";import*as SDK from"../../core/sdk/sdk.js";import*as Components from"../../ui/legacy/components/utils/utils.js";import*as UI from"../../ui/legacy/legacy.js";import nodeStackTraceWidgetStyles from"./nodeStackTraceWidget.css.js";const UIStrings={noStackTraceAvailable:"No stack trace available"},str_=i18n.i18n.registerUIStrings("panels/elements/NodeStackTraceWidget.ts",UIStrings),i18nString=i18n.i18n.getLocalizedString.bind(void 0,str_);let nodeStackTraceWidgetInstance;export class NodeStackTraceWidget extends UI.ThrottledWidget.ThrottledWidget{noStackTraceElement;creationStackTraceElement;linkifier;constructor(){super(!0),this.noStackTraceElement=this.contentElement.createChild("div","gray-info-message"),this.noStackTraceElement.textContent=i18nString(UIStrings.noStackTraceAvailable),this.creationStackTraceElement=this.contentElement.createChild("div","stack-trace"),this.linkifier=new Components.Linkifier.Linkifier(MaxLengthForLinks)}static instance(e={forceNew:null}){const{forceNew:t}=e;return nodeStackTraceWidgetInstance&&!t||(nodeStackTraceWidgetInstance=new NodeStackTraceWidget),nodeStackTraceWidgetInstance}wasShown(){super.wasShown(),UI.Context.Context.instance().addFlavorChangeListener(SDK.DOMModel.DOMNode,this.update,this),this.registerCSSFiles([nodeStackTraceWidgetStyles]),this.update()}willHide(){UI.Context.Context.instance().removeFlavorChangeListener(SDK.DOMModel.DOMNode,this.update,this)}async doUpdate(){const e=UI.Context.Context.instance().flavor(SDK.DOMModel.DOMNode);if(!e)return this.noStackTraceElement.classList.remove("hidden"),void this.creationStackTraceElement.classList.add("hidden");const t=await e.creationStackTrace();if(t){this.noStackTraceElement.classList.add("hidden"),this.creationStackTraceElement.classList.remove("hidden");const n=Components.JSPresentationUtils.buildStackTracePreviewContents(e.domModel().target(),this.linkifier,{stackTrace:t,tabStops:void 0});this.creationStackTraceElement.removeChildren(),this.creationStackTraceElement.appendChild(n.element)}else this.noStackTraceElement.classList.remove("hidden"),this.creationStackTraceElement.classList.add("hidden")}}export const MaxLengthForLinks=40;