@yuebai008/cli
Version:
Command line interface for rapid qg-minigame development
1 lines • 2.62 kB
JavaScript
import*as i18n from"../../core/i18n/i18n.js";import*as Platform from"../../core/platform/platform.js";import*as UI from"../../ui/legacy/legacy.js";import*as ApplicationComponents from"./components/components.js";const UIStrings={refresh:"Refresh",filter:"Filter",clearAll:"Clear All",deleteSelected:"Delete Selected",refreshedStatus:"Table refreshed"},str_=i18n.i18n.registerUIStrings("panels/application/StorageItemsView.ts",UIStrings),i18nString=i18n.i18n.getLocalizedString.bind(void 0,str_);export class StorageItemsView extends UI.Widget.VBox{filterRegex;refreshButton;mainToolbar;filterItem;deleteAllButton;deleteSelectedButton;metadataView=new ApplicationComponents.StorageMetadataView.StorageMetadataView;constructor(e,t){super(!1),this.filterRegex=null,this.refreshButton=this.addButton(i18nString(UIStrings.refresh),"refresh",(()=>{this.refreshItems(),UI.ARIAUtils.alert(i18nString(UIStrings.refreshedStatus))})),this.mainToolbar=new UI.Toolbar.Toolbar("top-resources-toolbar",this.element),this.filterItem=new UI.Toolbar.ToolbarInput(i18nString(UIStrings.filter),"",.4),this.filterItem.addEventListener(UI.Toolbar.ToolbarInput.Event.TextChanged,this.filterChanged,this);const l=new UI.Toolbar.ToolbarSeparator;this.deleteAllButton=this.addButton(i18nString(UIStrings.clearAll),"clear",this.deleteAllItems),this.deleteSelectedButton=this.addButton(i18nString(UIStrings.deleteSelected),"cross",this.deleteSelectedItem),this.deleteAllButton.element.id="storage-items-delete-all";const r=[this.refreshButton,this.filterItem,l,this.deleteAllButton,this.deleteSelectedButton];for(const e of r)this.mainToolbar.appendToolbarItem(e);this.contentElement.appendChild(this.metadataView)}setDeleteAllTitle(e){this.deleteAllButton.setTitle(e)}setDeleteAllGlyph(e){this.deleteAllButton.setGlyph(e)}appendToolbarItem(e){this.mainToolbar.appendToolbarItem(e)}setStorageKey(e){this.metadataView.setStorageKey(e)}addButton(e,t,l){const r=new UI.Toolbar.ToolbarButton(e,t);return r.addEventListener(UI.Toolbar.ToolbarButton.Events.Click,l,this),r}filterChanged({data:e}){this.filterRegex=e?new RegExp(Platform.StringUtilities.escapeForRegExp(e),"i"):null,this.refreshItems()}filter(e,t){if(this.filterRegex){const l=this.filterRegex;return e.filter((e=>l.test(t(e))))}return e}hasFilter(){return Boolean(this.filterRegex)}wasShown(){this.refreshItems()}setCanDeleteAll(e){this.deleteAllButton.setEnabled(e)}setCanDeleteSelected(e){this.deleteSelectedButton.setEnabled(e)}setCanRefresh(e){this.refreshButton.setEnabled(e)}setCanFilter(e){this.filterItem.setEnabled(e)}deleteAllItems(){}deleteSelectedItem(){}refreshItems(){}}