UNPKG

@yuebai008/cli

Version:

Command line interface for rapid qg-minigame development

1 lines 3.35 kB
import*as SDK from"../../core/sdk/sdk.js";import*as UI from"../../ui/legacy/legacy.js";import{ExtensionNotifierView,ExtensionView}from"./ExtensionView.js";export class ExtensionPanel extends UI.Panel.Panel{server;id;panelToolbar;searchableViewInternal;constructor(e,t,i,n){super(t),this.server=e,this.id=i,this.setHideOnDetach(),this.panelToolbar=new UI.Toolbar.Toolbar("hidden",this.element),this.searchableViewInternal=new UI.SearchableView.SearchableView(this,null),this.searchableViewInternal.show(this.element);new ExtensionView(e,this.id,n,"extension").show(this.searchableViewInternal.element)}addToolbarItem(e){this.panelToolbar.element.classList.remove("hidden"),this.panelToolbar.appendToolbarItem(e)}onSearchCanceled(){this.server.notifySearchAction(this.id,"cancelSearch"),this.searchableViewInternal.updateSearchMatchesCount(0)}searchableView(){return this.searchableViewInternal}performSearch(e,t,i){const n=e.query;this.server.notifySearchAction(this.id,"performSearch",n)}jumpToNextSearchResult(){this.server.notifySearchAction(this.id,"nextSearchResult")}jumpToPreviousSearchResult(){this.server.notifySearchAction(this.id,"previousSearchResult")}supportsCaseSensitiveSearch(){return!1}supportsRegexSearch(){return!1}}export class ExtensionButton{id;toolbarButtonInternal;constructor(e,t,i,n,s){this.id=t,this.toolbarButtonInternal=new UI.Toolbar.ToolbarButton("",""),this.toolbarButtonInternal.addEventListener(UI.Toolbar.ToolbarButton.Events.Click,e.notifyButtonClicked.bind(e,this.id)),this.update(i,n,s)}update(e,t,i){"string"==typeof e&&this.toolbarButtonInternal.setBackgroundImage(e),"string"==typeof t&&this.toolbarButtonInternal.setTitle(t),"boolean"==typeof i&&this.toolbarButtonInternal.setEnabled(!i)}toolbarButton(){return this.toolbarButtonInternal}}export class ExtensionSidebarPane extends UI.View.SimpleView{panelNameInternal;server;idInternal;extensionView;objectPropertiesView;constructor(e,t,i,n){super(i),this.element.classList.add("fill"),this.panelNameInternal=t,this.server=e,this.idInternal=n}id(){return this.idInternal}panelName(){return this.panelNameInternal}setObject(e,t,i){this.createObjectPropertiesView(),this.setObjectInternal(SDK.RemoteObject.RemoteObject.fromLocalObject(e),t,i)}setExpression(e,t,i,n,s){this.createObjectPropertiesView(),this.server.evaluate(e,!0,!1,i,n,this.onEvaluate.bind(this,t,s))}setPage(e){this.objectPropertiesView&&(this.objectPropertiesView.detach(),delete this.objectPropertiesView),this.extensionView&&this.extensionView.detach(!0),this.extensionView=new ExtensionView(this.server,this.idInternal,e,"extension fill"),this.extensionView.show(this.element),this.element.style.height||this.setHeight("150px")}setHeight(e){this.element.style.height=e}onEvaluate(e,t,i,n,s){i?t(i.toString()):n?this.setObjectInternal(n,e,t):t()}createObjectPropertiesView(){this.objectPropertiesView||(this.extensionView&&(this.extensionView.detach(!0),delete this.extensionView),this.objectPropertiesView=new ExtensionNotifierView(this.server,this.idInternal),this.objectPropertiesView.show(this.element))}setObjectInternal(e,t,i){const n=this.objectPropertiesView;n?(n.element.removeChildren(),UI.UIUtils.Renderer.render(e,{title:t,editable:!1}).then((e=>{if(!e)return void i();const t=e.tree&&e.tree.firstChild();t&&t.expand(),n.element.appendChild(e.node),i()}))):i("operation cancelled")}}