@omegagrid/commands 0.9.36 → 0.9.38

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -13,7 +13,7 @@ export declare abstract class CommandsAdapter extends ComponentAdapter<CommandWi
13
13
  getGroups(_query?: CommandQuery): CommandGroupSource[] | Promise<CommandGroupSource[]>;
14
14
  getCommands(_query: CommandQuery): CommandSource[] | Promise<CommandSource[]>;
15
15
  getSections(_query?: CommandQuery): CommandsSection[] | Promise<CommandsSection[]>;
16
- getOptions(_sectionId?: ComponentId): Options | Promise<Options> | null;
16
+ getOptions(): Options | Promise<Options> | null;
17
17
  exec(_command: Command, _value?: string): void;
18
18
  }
19
19
  //# sourceMappingURL=adapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAS,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAChG,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,MAAM,MAAM,YAAY,GAAG;IAC1B,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB,CAAA;AAED,8BAAsB,eAAgB,SAAQ,gBAAgB,CAAC,aAAa,CAAC;IAE5E,SAAS,CAAC,cAAc,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,KAAK,EAAE,YAAY,GAAG,aAAa,EAAE;IAMzF,SAAS,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,kBAAkB,EAAE,GAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAIpF,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,aAAa,EAAE,GAAC,OAAO,CAAC,aAAa,EAAE,CAAC;IAI3E,WAAW,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,eAAe,EAAE,GAAC,OAAO,CAAC,eAAe,EAAE,CAAC;IAIhF,UAAU,CAAC,UAAU,CAAC,EAAE,WAAW,GAAG,OAAO,GAAC,OAAO,CAAC,OAAO,CAAC,GAAC,IAAI;IAInE,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM;CAEvC"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAS,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAChG,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,MAAM,MAAM,YAAY,GAAG;IAC1B,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB,CAAA;AAED,8BAAsB,eAAgB,SAAQ,gBAAgB,CAAC,aAAa,CAAC;IAE5E,SAAS,CAAC,cAAc,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,KAAK,EAAE,YAAY,GAAG,aAAa,EAAE;IAMzF,SAAS,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,kBAAkB,EAAE,GAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAIpF,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,aAAa,EAAE,GAAC,OAAO,CAAC,aAAa,EAAE,CAAC;IAI3E,WAAW,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,eAAe,EAAE,GAAC,OAAO,CAAC,eAAe,EAAE,CAAC;IAIhF,UAAU,IAAI,OAAO,GAAC,OAAO,CAAC,OAAO,CAAC,GAAC,IAAI;IAI3C,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM;CAEvC"}
@@ -15,7 +15,7 @@ export class CommandsAdapter extends ComponentAdapter {
15
15
  getSections(_query) {
16
16
  return [{ id: 'default' }];
17
17
  }
18
- getOptions(_sectionId) {
18
+ getOptions() {
19
19
  return null;
20
20
  }
21
21
  exec(_command, _value) { }
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/adapters/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAe,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAYvE,MAAM,OAAgB,eAAgB,SAAQ,gBAA+B;IAElE,cAAc,CAAC,QAAyB,EAAE,KAAmB;QACtE,IAAI,CAAC,QAAQ;YAAE,OAAO,EAAE,CAAC;QACzB,MAAM,WAAW,GAAG,KAAK,EAAE,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;QACrG,OAAO,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;IACtG,CAAC;IAED,SAAS,CAAC,MAAqB;QAC9B,OAAO,EAAE,CAAC;IACX,CAAC;IAED,WAAW,CAAC,MAAoB;QAC/B,OAAO,EAAE,CAAC;IACX,CAAC;IAED,WAAW,CAAC,MAAqB;QAChC,OAAO,CAAC,EAAC,EAAE,EAAE,SAAS,EAAC,CAAC,CAAC;IAC1B,CAAC;IAED,UAAU,CAAC,UAAwB;QAClC,OAAO,IAAI,CAAC;IACb,CAAC;IAED,IAAI,CAAC,QAAiB,EAAE,MAAe,IAAI,CAAC;CAE5C","sourcesContent":["import { ComponentAdapter, ComponentId, utils } from \"@omegagrid/core\";\nimport { CommandSource, CommandGroupSource, CommandsSection, Command } from \"../model/commands\";\nimport { Options } from \"../model/options\";\nimport { CommandWindow } from \"../ui\";\n\nexport type CommandQuery = {\n\tsectionId?: ComponentId,\n\tgroupId?: ComponentId,\n\tfilter?: string,\n\tswitches?: string[],\n}\n\nexport abstract class CommandsAdapter extends ComponentAdapter<CommandWindow> {\n\n\tprotected filterCommands(commands: CommandSource[], query: CommandQuery): CommandSource[] {\n\t\tif (!commands) return [];\n\t\tconst filterRegex = query?.filter == null ? null : new RegExp(utils.escapeRegExp(query.filter), 'i');\n\t\treturn filterRegex == null ? commands : commands.filter(c => filterRegex.test(c.id || c.name || ''));\n\t}\n\t\n\tgetGroups(_query?: CommandQuery): CommandGroupSource[]|Promise<CommandGroupSource[]> {\n\t\treturn [];\n\t}\n\t\n\tgetCommands(_query: CommandQuery): CommandSource[]|Promise<CommandSource[]> {\n\t\treturn [];\n\t}\n\n\tgetSections(_query?: CommandQuery): CommandsSection[]|Promise<CommandsSection[]> {\n\t\treturn [{id: 'default'}];\n\t}\n\n\tgetOptions(_sectionId?: ComponentId): Options|Promise<Options>|null {\n\t\treturn null;\n\t}\n\n\texec(_command: Command, _value?: string) { }\n\n}"]}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/adapters/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAe,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAYvE,MAAM,OAAgB,eAAgB,SAAQ,gBAA+B;IAElE,cAAc,CAAC,QAAyB,EAAE,KAAmB;QACtE,IAAI,CAAC,QAAQ;YAAE,OAAO,EAAE,CAAC;QACzB,MAAM,WAAW,GAAG,KAAK,EAAE,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;QACrG,OAAO,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;IACtG,CAAC;IAED,SAAS,CAAC,MAAqB;QAC9B,OAAO,EAAE,CAAC;IACX,CAAC;IAED,WAAW,CAAC,MAAoB;QAC/B,OAAO,EAAE,CAAC;IACX,CAAC;IAED,WAAW,CAAC,MAAqB;QAChC,OAAO,CAAC,EAAC,EAAE,EAAE,SAAS,EAAC,CAAC,CAAC;IAC1B,CAAC;IAED,UAAU;QACT,OAAO,IAAI,CAAC;IACb,CAAC;IAED,IAAI,CAAC,QAAiB,EAAE,MAAe,IAAI,CAAC;CAE5C","sourcesContent":["import { ComponentAdapter, ComponentId, utils } from \"@omegagrid/core\";\nimport { CommandSource, CommandGroupSource, CommandsSection, Command } from \"../model/commands\";\nimport { Options } from \"../model/options\";\nimport { CommandWindow } from \"../ui\";\n\nexport type CommandQuery = {\n\tsectionId?: ComponentId,\n\tgroupId?: ComponentId,\n\tfilter?: string,\n\tswitches?: string[],\n}\n\nexport abstract class CommandsAdapter extends ComponentAdapter<CommandWindow> {\n\n\tprotected filterCommands(commands: CommandSource[], query: CommandQuery): CommandSource[] {\n\t\tif (!commands) return [];\n\t\tconst filterRegex = query?.filter == null ? null : new RegExp(utils.escapeRegExp(query.filter), 'i');\n\t\treturn filterRegex == null ? commands : commands.filter(c => filterRegex.test(c.id || c.name || ''));\n\t}\n\t\n\tgetGroups(_query?: CommandQuery): CommandGroupSource[]|Promise<CommandGroupSource[]> {\n\t\treturn [];\n\t}\n\t\n\tgetCommands(_query: CommandQuery): CommandSource[]|Promise<CommandSource[]> {\n\t\treturn [];\n\t}\n\n\tgetSections(_query?: CommandQuery): CommandsSection[]|Promise<CommandsSection[]> {\n\t\treturn [{id: 'default'}];\n\t}\n\n\tgetOptions(): Options|Promise<Options>|null {\n\t\treturn null;\n\t}\n\n\texec(_command: Command, _value?: string) { }\n\n}"]}
@@ -1 +1 @@
1
- {"version":3,"file":"commandManager.d.ts","sourceRoot":"","sources":["../src/commandManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAO,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAgB,aAAa,EAAE,MAAM,MAAM,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACjC,OAAO,EAAkB,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpE,MAAM,MAAM,mBAAmB,GAAG;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,aAAa,EAAE,GAAG,iBAAiB,CAAC;CAChD,CAAA;AAED,qBAAa,cAAc;IAad,QAAQ,CAAC,MAAM,EAAE,UAAU;IAXvC,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,gBAAgB,CAAkC;IAC1D,OAAO,CAAC,eAAe,CAAa;IACpC,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,SAAS,CAA2B;IAE5C,IAAI,QAAQ,wBAEX;gBAEoB,MAAM,EAAE,UAAU;IAEvC,KAAK;IAKL,GAAG,CAAC,QAAQ,EAAE,iBAAiB,GAAC,iBAAiB,EAAE;IAKnD,IAAI,OAAO,wBAIV;IAED,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,OAAO,CASd;IAED,IAAI,IAAI,kBAIP;IAED,IAAI,aAAa,mBAWhB;IAEK,IAAI,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,GAAC,IAAI,CAAC;IAgChE,KAAK;IAOL,cAAc;CAMd"}
1
+ {"version":3,"file":"commandManager.d.ts","sourceRoot":"","sources":["../src/commandManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAO,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAgB,aAAa,EAAE,MAAM,MAAM,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACjC,OAAO,EAAkB,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpE,MAAM,MAAM,mBAAmB,GAAG;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,aAAa,EAAE,GAAG,iBAAiB,CAAC;CAChD,CAAA;AAED,qBAAa,cAAc;IAad,QAAQ,CAAC,MAAM,EAAE,UAAU;IAXvC,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,gBAAgB,CAAkC;IAC1D,OAAO,CAAC,eAAe,CAAa;IACpC,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,SAAS,CAA2B;IAE5C,IAAI,QAAQ,wBAEX;gBAEoB,MAAM,EAAE,UAAU;IAEvC,KAAK;IAKL,GAAG,CAAC,QAAQ,EAAE,iBAAiB,GAAC,iBAAiB,EAAE;IAKnD,IAAI,OAAO,wBAIV;IAED,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,OAAO,CASd;IAED,IAAI,IAAI,kBAIP;IAED,IAAI,aAAa,mBAYhB;IAEK,IAAI,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,GAAC,IAAI,CAAC;IAgChE,KAAK;IAOL,cAAc;CAMd"}
@@ -48,6 +48,7 @@ export class CommandManager {
48
48
  if (this._menuContainer)
49
49
  return this._menuContainer;
50
50
  this._menuContainer = dom.createElement('og-floating-window', {
51
+ style: { zIndex: '100000' },
51
52
  listeners: [['hide', () => {
52
53
  this.target?.focus();
53
54
  this.adapter?.reset();
@@ -1 +1 @@
1
- {"version":3,"file":"commandManager.js","sourceRoot":"","sources":["../src/commandManager.ts"],"names":[],"mappings":"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","sourcesContent":["import { dom, FloatingWindow, log } from \"@omegagrid/core\";\nimport { Command, CommandMode, CommandSource } from \"./model\";\nimport { CommandEvent, CommandWindow } from \"./ui\";\nimport { LitElement } from \"lit\";\nimport { createCommands, CommonCommandType } from \"./common\";\nimport { CommandsFlowAdapter, FlowCommandSource } from \"./adapters\";\n\nexport type OpenCommandsOptions = {\n value?: string;\n text?: string;\n mode?: CommandMode;\n content: CommandSource[] | CommonCommandType;\n}\n\nexport class CommandManager {\n\n\tprivate _menu: CommandWindow;\n\tprivate _menuContainer: FloatingWindow;\n\tprivate _resolveCallback: (command: Command|null) => void;\n\tprivate _rejectCallback: () => void;\n\tprivate _adapter: CommandsFlowAdapter;\n\tprivate _commands: FlowCommandSource[] = [];\n\n\tget commands() {\n\t\treturn this._commands;\n\t}\n\t\n\tconstructor(readonly target: LitElement) { }\n\n\tclear() {\n\t\tthis._commands = [];\n\t\tthis._adapter = null;\n\t}\n\n\tadd(commands: FlowCommandSource|FlowCommandSource[]) {\n\t\tthis._commands.push(...(Array.isArray(commands) ? commands : [commands]));\n\t\tthis._adapter = null;\n\t}\n\n\tget adapter() {\n\t\tif (this._adapter) return this._adapter;\n\t\tthis._adapter = new CommandsFlowAdapter(this._commands);\n\t\treturn this._adapter;\n\t}\n\n\tprivate cleanCallbacks() {\n\t\tif (this._rejectCallback) this._rejectCallback();\n\t\tthis._resolveCallback = null;\n\t\tthis._rejectCallback = null;\n\t}\n\n\tprivate _onExec = (e: CommandEvent) => {\n\t\tlog.getLogger().info(`trigger command: ${e.command.id}`);\n\t\tif (this._resolveCallback) this._resolveCallback(e.command);\n\t\tthis._resolveCallback = null;\n\t\tthis._rejectCallback = null;\n\n\t\tif (this.adapter.map.get(e.command.id)?.next == null) {\n\t\t\tthis.close();\n\t\t}\n\t}\n\n\tget menu() {\n\t\treturn this._menu ?? (this._menu = dom.createElement<CommandWindow>('og-commands', {\n\t\t\tlisteners: [['command.exec', this._onExec]]\n\t\t}));\n\t}\n\t\n\tget menuContainer() {\n\t\tif (this._menuContainer) return this._menuContainer;\n\t\tthis._menuContainer = dom.createElement<FloatingWindow>('og-floating-window', {\n\t\t\tlisteners: [['hide', () => {\n\t\t\t\tthis.target?.focus();\n\t\t\t\tthis.adapter?.reset();\n\t\t\t}]]\n\t\t});\n\t\tthis.menu.slot = 'content';\n\t\tthis._menuContainer.appendChild(this.menu);\n\t\treturn this._menuContainer;\n\t}\n\n\tasync open(options?: OpenCommandsOptions): Promise<Command|null> {\n\t\tlog.getLogger().info('open menu');\n\t\tthis.target.shadowRoot.appendChild(this.menuContainer);\n\t\tthis.menuContainer.show();\n\t\toptions ??= {content: null};\n\n\t\tthis.menu.text = options.text;\n\t\tthis.menu.value = options.value;\n\t\tthis.menu.mode = options.mode || 'search';\n\n\t\tif (Array.isArray(options.content)) {\n\t\t\tthis.menu.commands = options.content;\n\t\t\tthis.menu.adapter = null;\n\t\t} else if (typeof options.content === 'string') {\n\t\t\tthis.menu.commands = createCommands(options.content);\n\t\t\tthis.menu.adapter = null;\n\t\t} else {\n\t\t\tthis.menu.commands = null;\n\t\t\tthis.menu.adapter = this.adapter;\n\t\t}\n\n\t\tawait this.menu.updateComplete;\n\t\tthis.menu.focus();\n\n\t\tthis.updatePosition();\n\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tthis._resolveCallback = resolve;\n\t\t\tthis._rejectCallback = reject;\n\t\t});\n\t}\n\n\tclose() {\n\t\tthis.menuContainer.hide(false);\n\t\tthis.menuContainer.remove();\n\t\tthis.cleanCallbacks();\n\t\tthis.target?.focus();\n\t}\n\n\tupdatePosition() {\n\t\tdom.setSize(this.menuContainer, {w: 0.9 * this.target.clientWidth});\n\t\tdom.setCenterPosition(this.menuContainer, this.target, {horizontal: true, vertical: false});\n\t\tdom.setPosition(this.menuContainer, {t: 50});\n\t}\n\n}"]}
1
+ {"version":3,"file":"commandManager.js","sourceRoot":"","sources":["../src/commandManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAkB,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAI3D,OAAO,EAAE,cAAc,EAAqB,MAAM,UAAU,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAqB,MAAM,YAAY,CAAC;AASpE,MAAM,OAAO,cAAc;IAS1B,IAAI,QAAQ;QACX,OAAO,IAAI,CAAC,SAAS,CAAC;IACvB,CAAC;IAED,YAAqB,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;QAN/B,cAAS,GAAwB,EAAE,CAAC;QA8BpC,YAAO,GAAG,CAAC,CAAe,EAAE,EAAE;YACrC,GAAG,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;YACzD,IAAI,IAAI,CAAC,gBAAgB;gBAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC5D,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC7B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAE5B,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC;gBACtD,IAAI,CAAC,KAAK,EAAE,CAAC;YACd,CAAC;QACF,CAAC,CAAA;IAjC0C,CAAC;IAE5C,KAAK;QACJ,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,GAAG,CAAC,QAA+C;QAClD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC1E,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,IAAI,OAAO;QACV,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC,QAAQ,CAAC;QACxC,IAAI,CAAC,QAAQ,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACtB,CAAC;IAEO,cAAc;QACrB,IAAI,IAAI,CAAC,eAAe;YAAE,IAAI,CAAC,eAAe,EAAE,CAAC;QACjD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;IAC7B,CAAC;IAaD,IAAI,IAAI;QACP,OAAO,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,aAAa,CAAgB,aAAa,EAAE;YAClF,SAAS,EAAE,CAAC,CAAC,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;SAC3C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,aAAa;QAChB,IAAI,IAAI,CAAC,cAAc;YAAE,OAAO,IAAI,CAAC,cAAc,CAAC;QACpD,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC,aAAa,CAAiB,oBAAoB,EAAE;YAC7E,KAAK,EAAE,EAAC,MAAM,EAAE,QAAQ,EAAC;YACzB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE;wBACzB,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC;wBACrB,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;oBACvB,CAAC,CAAC,CAAC;SACH,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC,cAAc,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAA6B;QACvC,GAAG,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACvD,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;QAC1B,OAAO,KAAP,OAAO,GAAK,EAAC,OAAO,EAAE,IAAI,EAAC,EAAC;QAE5B,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,QAAQ,CAAC;QAE1C,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;YACrC,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAC1B,CAAC;aAAM,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChD,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACrD,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAC1B,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YAC1B,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAClC,CAAC;QAED,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAElB,IAAI,CAAC,cAAc,EAAE,CAAC;QAEtB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACtC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC;YAChC,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC;QAC/B,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,KAAK;QACJ,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;QAC5B,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC;IACtB,CAAC;IAED,cAAc;QACb,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,EAAC,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,EAAC,CAAC,CAAC;QACpE,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,EAAE,EAAC,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAC,CAAC,CAAC;QAC5F,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,EAAC,CAAC,EAAE,EAAE,EAAC,CAAC,CAAC;IAC9C,CAAC;CAED","sourcesContent":["import { dom, FloatingWindow, log } from \"@omegagrid/core\";\nimport { Command, CommandMode, CommandSource } from \"./model\";\nimport { CommandEvent, CommandWindow } from \"./ui\";\nimport { LitElement } from \"lit\";\nimport { createCommands, CommonCommandType } from \"./common\";\nimport { CommandsFlowAdapter, FlowCommandSource } from \"./adapters\";\n\nexport type OpenCommandsOptions = {\n value?: string;\n text?: string;\n mode?: CommandMode;\n content: CommandSource[] | CommonCommandType;\n}\n\nexport class CommandManager {\n\n\tprivate _menu: CommandWindow;\n\tprivate _menuContainer: FloatingWindow;\n\tprivate _resolveCallback: (command: Command|null) => void;\n\tprivate _rejectCallback: () => void;\n\tprivate _adapter: CommandsFlowAdapter;\n\tprivate _commands: FlowCommandSource[] = [];\n\n\tget commands() {\n\t\treturn this._commands;\n\t}\n\t\n\tconstructor(readonly target: LitElement) { }\n\n\tclear() {\n\t\tthis._commands = [];\n\t\tthis._adapter = null;\n\t}\n\n\tadd(commands: FlowCommandSource|FlowCommandSource[]) {\n\t\tthis._commands.push(...(Array.isArray(commands) ? commands : [commands]));\n\t\tthis._adapter = null;\n\t}\n\n\tget adapter() {\n\t\tif (this._adapter) return this._adapter;\n\t\tthis._adapter = new CommandsFlowAdapter(this._commands);\n\t\treturn this._adapter;\n\t}\n\n\tprivate cleanCallbacks() {\n\t\tif (this._rejectCallback) this._rejectCallback();\n\t\tthis._resolveCallback = null;\n\t\tthis._rejectCallback = null;\n\t}\n\n\tprivate _onExec = (e: CommandEvent) => {\n\t\tlog.getLogger().info(`trigger command: ${e.command.id}`);\n\t\tif (this._resolveCallback) this._resolveCallback(e.command);\n\t\tthis._resolveCallback = null;\n\t\tthis._rejectCallback = null;\n\n\t\tif (this.adapter.map.get(e.command.id)?.next == null) {\n\t\t\tthis.close();\n\t\t}\n\t}\n\n\tget menu() {\n\t\treturn this._menu ?? (this._menu = dom.createElement<CommandWindow>('og-commands', {\n\t\t\tlisteners: [['command.exec', this._onExec]]\n\t\t}));\n\t}\n\t\n\tget menuContainer() {\n\t\tif (this._menuContainer) return this._menuContainer;\n\t\tthis._menuContainer = dom.createElement<FloatingWindow>('og-floating-window', {\n\t\t\tstyle: {zIndex: '100000'},\n\t\t\tlisteners: [['hide', () => {\n\t\t\t\tthis.target?.focus();\n\t\t\t\tthis.adapter?.reset();\n\t\t\t}]]\n\t\t});\n\t\tthis.menu.slot = 'content';\n\t\tthis._menuContainer.appendChild(this.menu);\n\t\treturn this._menuContainer;\n\t}\n\n\tasync open(options?: OpenCommandsOptions): Promise<Command|null> {\n\t\tlog.getLogger().info('open menu');\n\t\tthis.target.shadowRoot.appendChild(this.menuContainer);\n\t\tthis.menuContainer.show();\n\t\toptions ??= {content: null};\n\n\t\tthis.menu.text = options.text;\n\t\tthis.menu.value = options.value;\n\t\tthis.menu.mode = options.mode || 'search';\n\n\t\tif (Array.isArray(options.content)) {\n\t\t\tthis.menu.commands = options.content;\n\t\t\tthis.menu.adapter = null;\n\t\t} else if (typeof options.content === 'string') {\n\t\t\tthis.menu.commands = createCommands(options.content);\n\t\t\tthis.menu.adapter = null;\n\t\t} else {\n\t\t\tthis.menu.commands = null;\n\t\t\tthis.menu.adapter = this.adapter;\n\t\t}\n\n\t\tawait this.menu.updateComplete;\n\t\tthis.menu.focus();\n\n\t\tthis.updatePosition();\n\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tthis._resolveCallback = resolve;\n\t\t\tthis._rejectCallback = reject;\n\t\t});\n\t}\n\n\tclose() {\n\t\tthis.menuContainer.hide(false);\n\t\tthis.menuContainer.remove();\n\t\tthis.cleanCallbacks();\n\t\tthis.target?.focus();\n\t}\n\n\tupdatePosition() {\n\t\tdom.setSize(this.menuContainer, {w: 0.9 * this.target.clientWidth});\n\t\tdom.setCenterPosition(this.menuContainer, this.target, {horizontal: true, vertical: false});\n\t\tdom.setPosition(this.menuContainer, {t: 50});\n\t}\n\n}"]}
@@ -0,0 +1,9 @@
1
+ import { ComponentAdapter } from "@omegagrid/core";
2
+ import { Command, CommandSection } from "./commands";
3
+ import { Options } from "./options";
4
+ export declare abstract class CommandsAdapter extends ComponentAdapter {
5
+ abstract getSections(filter?: string): CommandSection[] | Promise<CommandSection[]>;
6
+ abstract getCommands(sectionId: string, filter?: string): Command[] | Promise<Command[]>;
7
+ getOptions(): Options | Promise<Options> | null;
8
+ }
9
+ //# sourceMappingURL=adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/model/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,8BAAsB,eAAgB,SAAQ,gBAAgB;IAE7D,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,cAAc,EAAE,GAAC,OAAO,CAAC,cAAc,EAAE,CAAC;IACjF,QAAQ,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,EAAE,GAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IAEtF,UAAU,IAAI,OAAO,GAAC,OAAO,CAAC,OAAO,CAAC,GAAC,IAAI;CAI3C"}
@@ -0,0 +1,7 @@
1
+ import { ComponentAdapter } from "@omegagrid/core";
2
+ export class CommandsAdapter extends ComponentAdapter {
3
+ getOptions() {
4
+ return null;
5
+ }
6
+ }
7
+ //# sourceMappingURL=adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/model/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAInD,MAAM,OAAgB,eAAgB,SAAQ,gBAAgB;IAK7D,UAAU;QACT,OAAO,IAAI,CAAC;IACb,CAAC;CAED","sourcesContent":["import { ComponentAdapter } from \"@omegagrid/core\";\nimport { Command, CommandSection } from \"./commands\";\nimport { Options } from \"./options\";\n\nexport abstract class CommandsAdapter extends ComponentAdapter {\n\t\n\tabstract getSections(filter?: string): CommandSection[]|Promise<CommandSection[]>;\n\tabstract getCommands(sectionId: string, filter?: string): Command[]|Promise<Command[]>;\n\n\tgetOptions(): Options|Promise<Options>|null {\n\t\treturn null;\n\t}\n\n}"]}
@@ -7,7 +7,6 @@ export type Options = {
7
7
  commandDelimiter?: string;
8
8
  itemStyle?: CSSResultOrNative | string | (CSSResultOrNative | string)[];
9
9
  itemHeight?: number;
10
- inputDelay?: number;
11
10
  } & CommonOptions;
12
11
  export declare function initOptions(options?: Partial<Options>, origOptions?: Options): Options;
13
12
  //# sourceMappingURL=options.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/model/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,KAAK,CAAC;AAGxC,MAAM,MAAM,OAAO,GAAG;IACrB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,iBAAiB,GAAC,MAAM,GAAC,CAAC,iBAAiB,GAAC,MAAM,CAAC,EAAE,CAAC;IAClE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,aAAa,CAAC;AAQlB,wBAAgB,WAAW,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,WAAW,GAAE,OAAc,GAAG,OAAO,CAS5F"}
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/model/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,KAAK,CAAC;AAGxC,MAAM,MAAM,OAAO,GAAG;IACrB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,iBAAiB,GAAC,MAAM,GAAC,CAAC,iBAAiB,GAAC,MAAM,CAAC,EAAE,CAAC;IAClE,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,aAAa,CAAC;AAOlB,wBAAgB,WAAW,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,WAAW,GAAE,OAAc,GAAG,OAAO,CAS5F"}
@@ -3,7 +3,6 @@ import constants from "../constants";
3
3
  const DEFAULT_OPTIONS = {
4
4
  commandDelimiter: '>',
5
5
  itemHeight: constants.COMMAND_ITEM_HEIGHT,
6
- inputDelay: 100,
7
6
  };
8
7
  export function initOptions(options, origOptions = null) {
9
8
  const opts = {
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/model/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAiB,MAAM,iBAAiB,CAAC;AAGnE,OAAO,SAAS,MAAM,cAAc,CAAC;AAWrC,MAAM,eAAe,GAAqB;IACzC,gBAAgB,EAAE,GAAG;IACrB,UAAU,EAAE,SAAS,CAAC,mBAAmB;IACzC,UAAU,EAAE,GAAG;CACf,CAAC;AAEF,MAAM,UAAU,WAAW,CAAC,OAA0B,EAAE,cAAuB,IAAI;IAClF,MAAM,IAAI,GAAG;QACZ,GAAG,iBAAiB,CAAC,OAAO,EAAE,WAAW,CAAC;QAC1C,GAAG,eAAe;QAClB,GAAG,WAAW;QACd,GAAG,OAAO;KACV,CAAC;IAEF,OAAO,IAAI,CAAC;AACb,CAAC","sourcesContent":["import { initCommonOptions, CommonOptions } from \"@omegagrid/core\";\nimport { CommandRenderer, GroupRenderer } from \"../ui\";\nimport { CSSResultOrNative } from \"lit\";\nimport constants from \"../constants\";\n\nexport type Options = {\n\tcommandRenderer?: CommandRenderer,\n\tgroupRenderer?: GroupRenderer,\n\tcommandDelimiter?: string,\n\titemStyle?: CSSResultOrNative|string|(CSSResultOrNative|string)[],\n\titemHeight?: number,\n\tinputDelay?: number,\n} & CommonOptions;\n\nconst DEFAULT_OPTIONS: Partial<Options> = {\n\tcommandDelimiter: '>',\n\titemHeight: constants.COMMAND_ITEM_HEIGHT,\n\tinputDelay: 100,\n};\n\nexport function initOptions(options?: Partial<Options>, origOptions: Options = null): Options {\n\tconst opts = {\n\t\t...initCommonOptions(options, origOptions),\n\t\t...DEFAULT_OPTIONS,\n\t\t...origOptions,\n\t\t...options,\n\t};\n\n\treturn opts;\n}\n"]}
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/model/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAiB,MAAM,iBAAiB,CAAC;AAGnE,OAAO,SAAS,MAAM,cAAc,CAAC;AAUrC,MAAM,eAAe,GAAqB;IACzC,gBAAgB,EAAE,GAAG;IACrB,UAAU,EAAE,SAAS,CAAC,mBAAmB;CACzC,CAAC;AAEF,MAAM,UAAU,WAAW,CAAC,OAA0B,EAAE,cAAuB,IAAI;IAClF,MAAM,IAAI,GAAG;QACZ,GAAG,iBAAiB,CAAC,OAAO,EAAE,WAAW,CAAC;QAC1C,GAAG,eAAe;QAClB,GAAG,WAAW;QACd,GAAG,OAAO;KACV,CAAC;IAEF,OAAO,IAAI,CAAC;AACb,CAAC","sourcesContent":["import { initCommonOptions, CommonOptions } from \"@omegagrid/core\";\nimport { CommandRenderer, GroupRenderer } from \"../ui\";\nimport { CSSResultOrNative } from \"lit\";\nimport constants from \"../constants\";\n\nexport type Options = {\n\tcommandRenderer?: CommandRenderer,\n\tgroupRenderer?: GroupRenderer,\n\tcommandDelimiter?: string,\n\titemStyle?: CSSResultOrNative|string|(CSSResultOrNative|string)[],\n\titemHeight?: number,\n} & CommonOptions;\n\nconst DEFAULT_OPTIONS: Partial<Options> = {\n\tcommandDelimiter: '>',\n\titemHeight: constants.COMMAND_ITEM_HEIGHT,\n};\n\nexport function initOptions(options?: Partial<Options>, origOptions: Options = null): Options {\n\tconst opts = {\n\t\t...initCommonOptions(options, origOptions),\n\t\t...DEFAULT_OPTIONS,\n\t\t...origOptions,\n\t\t...options,\n\t};\n\n\treturn opts;\n}\n"]}
@@ -33,7 +33,6 @@ export declare class CommandWindow extends LitElement {
33
33
  sections: CommandsSection[];
34
34
  activeSectionIndex: number;
35
35
  noResults: boolean;
36
- listWrapper: HTMLDivElement;
37
36
  list: List;
38
37
  input: HTMLInputElement;
39
38
  dropdown: DropdownList;
@@ -44,8 +43,8 @@ export declare class CommandWindow extends LitElement {
44
43
  value: string;
45
44
  };
46
45
  get filterValue(): string;
47
- get commandRenderer(): CommandRenderer;
48
- get groupRenderer(): GroupRenderer;
46
+ _commandRenderer: CommandRenderer;
47
+ _groupRenderer: GroupRenderer;
49
48
  exec(dispatchEvent?: boolean): Promise<void>;
50
49
  _onKeyDown: (e: KeyboardEvent) => void;
51
50
  _debounceInput: {
@@ -53,8 +52,8 @@ export declare class CommandWindow extends LitElement {
53
52
  cancel: (reason?: any) => void;
54
53
  };
55
54
  _onInput: (e: InputEvent) => void;
56
- _onSectionSelect: (e: TabEvent) => Promise<void>;
57
- _onDropdownChange: (_e: events.ChangeEvent) => Promise<void>;
55
+ _onSectionSelect: (e: TabEvent) => void;
56
+ _onDropdownChange: (e: events.ChangeEvent) => void;
58
57
  constructor();
59
58
  connectedCallback(): void;
60
59
  focus(): void;
@@ -63,10 +62,9 @@ export declare class CommandWindow extends LitElement {
63
62
  updated(props: Map<PropertyKey, unknown>): Promise<void>;
64
63
  _onSelect: (e: ListSelectEvent) => void;
65
64
  _itemRenderer: ListItemRenderer;
66
- updateCommands(updateOptions?: boolean): Promise<void>;
65
+ updateCommands(): Promise<void>;
67
66
  toggleGroup(groupId: string): Promise<void>;
68
67
  private getSectionTitle;
69
- layout(): void;
70
68
  renderTabs: () => "" | TemplateResult<1>;
71
69
  renderDropdown: () => "" | TemplateResult<1>;
72
70
  renderSwitches: () => "" | TemplateResult<1>;
@@ -1 +1 @@
1
- {"version":3,"file":"commandWindow.d.ts","sourceRoot":"","sources":["../../src/ui/commandWindow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commandWindow.d.ts","sourceRoot":"","sources":["../../src/ui/commandWindow.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
7
  import { Commands, Command, CommandGroup, initOptions } from "../model";
8
- import { dom, ListSelectTrigger } from "@omegagrid/core";
8
+ import { ListSelectTrigger } from "@omegagrid/core";
9
9
  import { LitElement, html } from 'lit';
10
10
  import { customElement, property, query, state } from 'lit/decorators.js';
11
11
  import { debounce } from "ts-debounce";
@@ -19,22 +19,6 @@ export class CommandEvent extends Event {
19
19
  Object.assign(this, args);
20
20
  }
21
21
  }
22
- const DEFAULT_COMMAND_RENDERER = (_div, command) => {
23
- return html `<div class="command">${command.name}</div>`;
24
- };
25
- const DEFAULT_GROUP_RENDERER = (_div, group) => {
26
- return html `
27
- <div class="group" @mousedown="${(e) => e.preventDefault()}">
28
- <div class="group-toggle">
29
- <og-icon icon="angle-${group.open ? 'down' : 'right'}"></og-icon>
30
- </div>
31
-
32
- <div class="group-text">
33
- ${group.name}
34
- </div>
35
- </div>
36
- `;
37
- };
38
22
  let CommandWindow = class CommandWindow extends LitElement {
39
23
  get activeSection() { return this.sections?.[this.activeSectionIndex]; }
40
24
  get inputValue() { return this.input?.value ?? ''; }
@@ -53,12 +37,6 @@ let CommandWindow = class CommandWindow extends LitElement {
53
37
  get filterValue() {
54
38
  return this.mode == 'search' ? this.parsedInput?.value ?? '' : '';
55
39
  }
56
- get commandRenderer() {
57
- return this.options?.commandRenderer || DEFAULT_COMMAND_RENDERER;
58
- }
59
- get groupRenderer() {
60
- return this.options?.groupRenderer || DEFAULT_GROUP_RENDERER;
61
- }
62
40
  async exec(dispatchEvent = true) {
63
41
  const input = this.parsedInput;
64
42
  const command = this.visibleItems[this.list.selectedIndex];
@@ -92,6 +70,22 @@ let CommandWindow = class CommandWindow extends LitElement {
92
70
  this.sections = [{ id: 'default' }];
93
71
  this.activeSectionIndex = 0;
94
72
  this.noResults = false;
73
+ this._commandRenderer = (div, command) => {
74
+ return html `<div class="command">${command.name}</div>`;
75
+ };
76
+ this._groupRenderer = (div, group) => {
77
+ return html `
78
+ <div class="group" @mousedown="${(e) => e.preventDefault()}">
79
+ <div class="group-toggle">
80
+ <og-icon icon="angle-${group.open ? 'down' : 'right'}"></og-icon>
81
+ </div>
82
+
83
+ <div class="group-text">
84
+ ${group.name}
85
+ </div>
86
+ </div>
87
+ `;
88
+ };
95
89
  this._onKeyDown = (e) => {
96
90
  if (e.key != 'Escape')
97
91
  e.stopPropagation();
@@ -114,43 +108,35 @@ let CommandWindow = class CommandWindow extends LitElement {
114
108
  }
115
109
  };
116
110
  this._debounceInput = debounce(() => {
117
- if (this.mode == 'search') {
118
- const input = this.parsedInput;
119
- if (input.section > -1) {
120
- this.activeSectionIndex = input.section;
121
- this.input.value = '';
122
- this.updateCommands(true);
123
- }
124
- else {
125
- this.updateCommands();
126
- }
127
- }
128
- else if (this.mode == 'none') { // online highlight first match
129
- const input = this.parsedInput;
130
- const commands = this.model.filter(input.value, false);
131
- if (commands.length > 0) {
132
- const index = this.visibleItems.findIndex(item => item instanceof Command && item.id === commands[0].id);
133
- if (index > -1) {
134
- this.list.selectedIndex = index;
135
- this.list.renderItems(true);
136
- }
137
- }
111
+ if (this.mode != 'search')
112
+ return;
113
+ const input = this.parsedInput;
114
+ if (input.section > -1) {
115
+ this.activeSectionIndex = input.section;
116
+ this.input.value = '';
138
117
  }
139
- }, this.options.inputDelay);
118
+ this.updateCommands();
119
+ });
140
120
  this._onInput = (e) => {
141
121
  e.stopPropagation();
142
122
  this._debounceInput();
143
123
  };
144
- this._onSectionSelect = async (e) => {
124
+ this._onSectionSelect = (e) => {
145
125
  if (this.activeSectionIndex == e.index)
146
126
  return;
147
127
  this.activeSectionIndex = e.index;
148
- this.updateCommands(true);
128
+ if (this.activeSection?.triggerCommand != null) {
129
+ //this.input.value = this.activeSection?.triggerCommand + ' ';
130
+ this.updateCommands();
131
+ }
149
132
  this.focus();
150
133
  };
151
- this._onDropdownChange = async (_e) => {
134
+ this._onDropdownChange = (e) => {
152
135
  this.activeSectionIndex = this.sections.findIndex(s => s.id === this.dropdown.value);
153
- this.updateCommands(true);
136
+ if (this.activeSection?.triggerCommand != null) {
137
+ //this.input.value = this.activeSection?.triggerCommand + ' ';
138
+ this.updateCommands();
139
+ }
154
140
  this.focus();
155
141
  };
156
142
  this._onSelect = (e) => {
@@ -172,8 +158,8 @@ let CommandWindow = class CommandWindow extends LitElement {
172
158
  };
173
159
  this._itemRenderer = (div, index, opts) => {
174
160
  return this.visibleItems[index] instanceof CommandGroup
175
- ? this.groupRenderer(div, this.visibleItems[index], opts)
176
- : this.commandRenderer(div, this.visibleItems[index], opts);
161
+ ? this._groupRenderer(div, this.visibleItems[index], opts)
162
+ : this._commandRenderer(div, this.visibleItems[index], opts);
177
163
  };
178
164
  this.renderTabs = () => this.sections?.length > 1 ? html `
179
165
  <og-container
@@ -246,7 +232,6 @@ let CommandWindow = class CommandWindow extends LitElement {
246
232
 
247
233
  <div class="list">
248
234
  <og-list
249
- animations
250
235
  arrowEvents
251
236
  maxHeight="300"
252
237
  ?dynamicItemHeight="${this.options?.commandRenderer != null}"
@@ -254,8 +239,7 @@ let CommandWindow = class CommandWindow extends LitElement {
254
239
  .lineHeight="${this.options.itemHeight - 2}"
255
240
  .itemHeight="${this.options.itemHeight}"
256
241
  .itemRenderer="${this._itemRenderer}"
257
- @select="${this._onSelect}"
258
- @render="${() => this.layout()}">
242
+ @select="${this._onSelect}">
259
243
  </og-list>
260
244
  </div>
261
245
 
@@ -282,35 +266,31 @@ let CommandWindow = class CommandWindow extends LitElement {
282
266
  async willUpdate(props) {
283
267
  if (props.has('adapter') && this.adapter) {
284
268
  this.adapter.attach(this);
285
- const sections = await this.adapter.getSections();
286
- const options = await this.adapter.getOptions(sections?.length ? sections[0].id : null);
269
+ const [sections, options] = await Promise.all([this.adapter.getSections(), this.adapter.getOptions()]);
287
270
  this.sections = sections;
288
271
  if (options)
289
- this.options = initOptions(options);
272
+ this.options = initOptions(options, this.options);
290
273
  }
291
- else {
292
- if (props.has('commands') && this.commands) {
293
- this.model.clear();
294
- this.commands.forEach(c => this.model.register(c));
295
- }
296
- if (props.has('options')) {
297
- this.options = initOptions(this.options);
298
- }
274
+ else if (props.has('commands') && this.commands) {
275
+ this.model.clear();
276
+ this.commands.forEach(c => this.model.register(c));
277
+ }
278
+ if (this.options) {
279
+ if (this.options.commandRenderer)
280
+ this._commandRenderer = this.options.commandRenderer;
281
+ if (this.options.groupRenderer)
282
+ this._groupRenderer = this.options.groupRenderer;
299
283
  }
300
284
  }
301
285
  async updated(props) {
302
- if (['commands', 'adapter', 'model', 'activeSectionIndex'].some(p => props.has(p))) {
303
- await this.updateCommands(true);
286
+ if (props.has('commands') || props.has('adapter') || props.has('model')) {
287
+ await this.updateCommands();
304
288
  }
305
289
  }
306
- async updateCommands(updateOptions = false) {
290
+ async updateCommands() {
307
291
  if (this.adapter) {
308
292
  this.model.clear();
309
293
  const switches = this.activeSection?.switches?.filter(s => s.checked).map(s => s.key) || [];
310
- if (updateOptions) {
311
- const options = await this.adapter.getOptions(this.activeSection?.id);
312
- this.options = initOptions(options);
313
- }
314
294
  const [groups, commands] = (await Promise.all([this.adapter.getGroups({
315
295
  sectionId: this.activeSection?.id,
316
296
  filter: this.filterValue,
@@ -333,6 +313,7 @@ let CommandWindow = class CommandWindow extends LitElement {
333
313
  this.list.selectedIndex = this.visibleItems.findIndex(item => item instanceof Command) ?? 0;
334
314
  this.list.renderItems(true);
335
315
  this.noResults = this.visibleItems.length == 0;
316
+ await this.list.updateComplete;
336
317
  }
337
318
  async toggleGroup(groupId) {
338
319
  const group = this.model.groups.get(groupId);
@@ -368,13 +349,6 @@ let CommandWindow = class CommandWindow extends LitElement {
368
349
  getSectionTitle(section) {
369
350
  return (section.title ?? section.id) + (section.triggerCommand ? ` (${section.triggerCommand})` : '');
370
351
  }
371
- layout() {
372
- if (!this.listWrapper)
373
- return;
374
- this.listWrapper.style.transition = `flex-basis 0.2s ease-in-out`;
375
- this.listWrapper.style.flexBasis = dom.px(this.list.offsetHeight);
376
- dom.setSize(this.listWrapper, { h: this.list.offsetHeight });
377
- }
378
352
  };
379
353
  CommandWindow.styles = [style];
380
354
  __decorate([
@@ -419,9 +393,6 @@ __decorate([
419
393
  __decorate([
420
394
  state()
421
395
  ], CommandWindow.prototype, "noResults", void 0);
422
- __decorate([
423
- query('.list')
424
- ], CommandWindow.prototype, "listWrapper", void 0);
425
396
  __decorate([
426
397
  query('og-list')
427
398
  ], CommandWindow.prototype, "list", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"commandWindow.js","sourceRoot":"","sources":["../../src/ui/commandWindow.ts"],"names":[],"mappings":"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","sourcesContent":["import { Commands, Command, CommandGroup, CommandsSection, initOptions, CommandMode, CommandSource } from \"../model\";\nimport { CommandsAdapter} from \"../adapters\";\nimport { Button, dom, DropdownList, events, List, ListItemRenderer, ListItemRendererOptions, ListSelectEvent, ListSelectTrigger } from \"@omegagrid/core\";\nimport { LitElement, html, TemplateResult, PropertyValues } from 'lit';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { debounce } from \"ts-debounce\";\nimport { style, itemStyle } from \"./commandWindow.style\";\nimport { styleMap } from \"lit-html/directives/style-map.js\";\nimport { TabEvent } from \"@omegagrid/tabs\";\nimport { msg } from \"@omegagrid/localize\";\n\nexport class CommandEvent extends Event {\n\n\treadonly command?: Command;\n\treadonly value?: string;\n\treadonly section?: CommandsSection;\n\n\tconstructor(type: string, args?: Partial<CommandEvent>) {\n\t\tsuper(`command.${type}`, {bubbles: true, composed: true})\n\t\tif (args) Object.assign(this, args);\n\t}\n}\n\nexport type CommandRenderer = (div: HTMLDivElement, command: Command, opts?: ListItemRendererOptions) => string | void | TemplateResult<1> | null;\nexport type GroupRenderer = (div: HTMLDivElement, group: CommandGroup, opts?: ListItemRendererOptions) => string | void | TemplateResult<1> | null;\n\nconst DEFAULT_COMMAND_RENDERER: CommandRenderer = (_div: HTMLDivElement, command: Command) => {\n\treturn html`<div class=\"command\">${command.name}</div>`;\n};\n\nconst DEFAULT_GROUP_RENDERER: GroupRenderer = (_div: HTMLDivElement, group: CommandGroup) => {\n\treturn html`\n\t\t<div class=\"group\" @mousedown=\"${(e: MouseEvent) => e.preventDefault()}\">\n\t\t\t<div class=\"group-toggle\">\n\t\t\t\t<og-icon icon=\"angle-${group.open ? 'down' : 'right'}\"></og-icon>\n\t\t\t</div>\n\t\t\t\n\t\t\t<div class=\"group-text\">\n\t\t\t\t${group.name}\n\t\t\t</div>\n\t\t</div>\n\t`;\n};\n\n@customElement('og-commands')\nexport class CommandWindow extends LitElement {\n\n\tstatic styles = [style];\n\n\tprivate visibleItems: (Command|CommandGroup)[];\n\n\t@property({type: Object})\n\toptions = initOptions();\n\n\t/**\n\t * search = commands are filtered by input value\n\t * input = commands are not filtered, input is used to enter custom value\n\t * none = no input, only command list is shown\n\t */\n\t@property({type: String})\n\tmode: CommandMode = 'search';\n\n\t@property({type: String})\n\tvalue: string;\n\n\t@property({type: String, reflect: true})\n\tsectionPosition: 'top'|'bottom'|'left'|'right' = 'right';\n\n\t@property({type: String})\n\ttext: string;\n\n\t@property({type: Array})\n\tcommands: CommandSource[];\n\t\n\t@property({type: Object})\n\tadapter: CommandsAdapter;\n\n\t@property({type: Object})\n\ttarget: HTMLElement;\n\n\t@property({type: String})\n\tplaceholder = '';\n\t\n\t@property({type: Boolean})\n\tshowGroups = false\n\n\t@property({type: Object})\n\tmodel = new Commands();\n\n\t@state()\n\tsections: CommandsSection[] = [{id: 'default'}];\n\n\t@state()\n\tactiveSectionIndex = 0;\n\n\t@state()\n\tnoResults = false;\n\n\t@query('.list')\n\tlistWrapper: HTMLDivElement;\n\n\t@query('og-list')\n\tlist: List;\n\n\t@query('input')\n\tinput: HTMLInputElement;\n\n\t@query('og-dropdown-list')\n\tdropdown: DropdownList;\n\n\tget activeSection() { return this.sections?.[this.activeSectionIndex] }\n\n\tget inputValue() { return this.input?.value ?? '' }\n\tget parsedInput() {\n\t\tconst input = this.inputValue;\n\t\tconst chunks = input.split(' ', 2);\n\t\tif (chunks.length > 1) {\n\t\t\tconst section = (this.sections ?? []).findIndex(s => s?.triggerCommand == chunks[0]);\n\t\t\tconst value = section > -1 ? chunks[1] ?? '' : input;\n\t\t\treturn { section, value };\n\t\t} else {\n\t\t\treturn { section: -1, value: input};\n\t\t}\n\t}\n\n\tget filterValue() {\n\t\treturn this.mode == 'search' ? this.parsedInput?.value ?? '' : '';\n\t}\n\n\tget commandRenderer(): CommandRenderer {\n\t\treturn this.options?.commandRenderer || DEFAULT_COMMAND_RENDERER;\n\t}\n\n\tget groupRenderer(): GroupRenderer {\n\t\treturn this.options?.groupRenderer || DEFAULT_GROUP_RENDERER;\n\t}\n\n\tasync exec(dispatchEvent = true) {\n\t\tconst input = this.parsedInput;\n\t\tconst command = this.visibleItems[this.list.selectedIndex];\n\n\t\tif (!(command instanceof Command)) return;\n\t\t\n\t\tthis.clearFilter(false);\n\t\t\n\t\tcommand.exec(input.value);\n\t\tif (this.adapter) {\n\t\t\tthis.adapter.exec(command, input.value);\n\t\t}\n\t\t\n\t\tif (dispatchEvent) this.dispatchEvent(new CommandEvent('exec', { \n\t\t\tcommand: command,\n\t\t\tsection: this.sections.find(s => s.id === input.section),\n\t\t\tvalue: input.value\n\t\t}));\n\t}\n\n\t_onKeyDown = (e: KeyboardEvent) => {\n\t\tif (e.key != 'Escape') e.stopPropagation();\n\n\t\tswitch (e.key) {\n\t\t\tcase 'ArrowDown':\n\t\t\t\te.preventDefault();\n\t\t\t\tthis.list.moveDown();\n\t\t\t\tbreak;\n\t\t\tcase 'ArrowUp':\n\t\t\t\te.preventDefault();\n\t\t\t\tthis.list.moveUp();\n\t\t\t\tbreak;\n\t\t\tcase 'Enter':\n\t\t\t\te.preventDefault();\n\t\t\t\tif (this.visibleItems[this.list.selectedIndex] instanceof CommandGroup) \n\t\t\t\t\tthis.toggleGroup((this.visibleItems[this.list.selectedIndex] as CommandGroup).id);\n\t\t\t\telse this.exec();\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\t_debounceInput = debounce(() => {\n\t\tif (this.mode == 'search') {\n\t\t\tconst input = this.parsedInput;\n\t\t\tif (input.section > -1) {\n\t\t\t\tthis.activeSectionIndex = input.section;\n\t\t\t\tthis.input.value = '';\n\t\t\t\tthis.updateCommands(true);\n\t\t\t} else {\n\t\t\t\tthis.updateCommands();\n\t\t\t}\n\t\t} else if (this.mode == 'none') { // online highlight first match\n\t\t\tconst input = this.parsedInput;\n\t\t\tconst commands = this.model.filter(input.value, false) as Command[];\n\t\t\tif (commands.length > 0) {\n\t\t\t\tconst index = this.visibleItems.findIndex(item => item instanceof Command && item.id === commands[0].id);\n\t\t\t\tif (index > -1) {\n\t\t\t\t\tthis.list.selectedIndex = index;\n\t\t\t\t\tthis.list.renderItems(true);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}, this.options.inputDelay);\n\n\t_onInput = (e: InputEvent) => {\n\t\te.stopPropagation();\n\t\tthis._debounceInput();\n\t}\n\n\t_onSectionSelect = async (e: TabEvent) => {\n\t\tif (this.activeSectionIndex == e.index) return;\n\t\tthis.activeSectionIndex = e.index;\n\t\tthis.updateCommands(true);\n\t\tthis.focus();\n\t}\n\n\t_onDropdownChange = async (_e: events.ChangeEvent) => {\n\t\tthis.activeSectionIndex = this.sections.findIndex(s => s.id === this.dropdown.value);\n\t\tthis.updateCommands(true);\n\t\tthis.focus();\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis.addEventListener('click', e => e.stopPropagation());\n\t\tthis.addEventListener('keydown', this._onKeyDown);\n\t}\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback();\n\t\tthis.tabIndex = 0;\n\t}\n\n\tfocus() {\n\t\tthis.input?.focus();\n\t}\n\n\tclearFilter(updateCommands = true) {\n\t\tthis.input.value = '';\n\t\tthis.focus();\n\t\tif (updateCommands) this.updateCommands();\n\t}\n\n\tasync willUpdate(props: PropertyValues) {\n\t\tif (props.has('adapter') && this.adapter) {\n\t\t\tthis.adapter.attach(this);\n\t\t\tconst sections = await this.adapter.getSections();\n\t\t\tconst options = await this.adapter.getOptions(sections?.length ? sections[0].id : null);\n\t\t\tthis.sections = sections;\n\t\t\tif (options) this.options = initOptions(options);\n\t\t} else {\n\t\t\tif (props.has('commands') && this.commands) {\n\t\t\t\tthis.model.clear();\n\t\t\t\tthis.commands.forEach(c => this.model.register(c));\n\t\t\t}\n\n\t\t\tif (props.has('options')) {\n\t\t\t\tthis.options = initOptions(this.options);\n\t\t\t}\n\t\t}\n\t}\n\n\tasync updated(props: Map<PropertyKey, unknown>) {\n\t\tif (['commands', 'adapter', 'model', 'activeSectionIndex'].some(p => props.has(p))) {\n\t\t\tawait this.updateCommands(true);\n\t\t}\n\t}\n\n\t_onSelect = (e: ListSelectEvent) => {\n\t\tconst item = this.visibleItems[e.index];\n\t\tif (item instanceof Command) {\n\t\t\tif (this.mode == 'search') this.input.value = item.name;\t\t\t\n\t\t\tif (e.trigger == ListSelectTrigger.Click || e.trigger == ListSelectTrigger.Enter) {\n\t\t\t\tthis.exec();\n\t\t\t}\n\t\t} else {\n\t\t\tthis.input.value = '';\n\t\t\tif (e.trigger == ListSelectTrigger.Click || e.trigger == ListSelectTrigger.Enter) {\n\t\t\t\tthis.toggleGroup((item as CommandGroup).id);\n\t\t\t}\n\t\t}\n\n\t\tsetTimeout(() => this.input.focus());\n\t}\n\n\t_itemRenderer: ListItemRenderer = (div: HTMLDivElement, index: number, opts?: ListItemRendererOptions) => {\n\t\treturn this.visibleItems[index] instanceof CommandGroup\n\t\t\t? this.groupRenderer(div, this.visibleItems[index] as CommandGroup, opts)\n\t\t\t: this.commandRenderer(div, this.visibleItems[index] as Command, opts);\n\t}\n\n\tasync updateCommands(updateOptions = false) {\n\t\tif (this.adapter) {\n\t\t\tthis.model.clear();\n\t\t\tconst switches = this.activeSection?.switches?.filter(s => s.checked).map(s => s.key) || [];\n\n\t\t\tif (updateOptions) {\n\t\t\t\tconst options = await this.adapter.getOptions(this.activeSection?.id);\n\t\t\t\tthis.options = initOptions(options);\n\t\t\t}\n\n\t\t\tconst [groups, commands] = (await Promise.all([this.adapter.getGroups({\n\t\t\t\tsectionId: this.activeSection?.id,\n\t\t\t\tfilter: this.filterValue,\n\t\t\t\tswitches\n\t\t\t}), this.adapter.getCommands({\n\t\t\t\tsectionId: this.activeSection?.id,\n\t\t\t\tfilter: this.filterValue,\n\t\t\t\tswitches\n\t\t\t})]));\n\t\t\tgroups?.forEach(group => this.model.registerGroup(group));\n\t\t\tcommands?.forEach(command => this.model.register(command));\n\t\t\tthis.visibleItems = this.model.filter(null, this.showGroups, true);\n\t\t} else {\n\t\t\tthis.visibleItems = this.model.filter(this.filterValue, this.showGroups);\n\t\t}\n\n\t\tthis.placeholder = this.activeSection?.placeholder || '';\n\t\tthis.list.reset();\n\t\tthis.list.size = this.visibleItems.length;\n\t\tthis.list.selectedIndex = this.visibleItems.findIndex(item => item instanceof Command) ?? 0;\n\t\tthis.list.renderItems(true);\n\t\tthis.noResults = this.visibleItems.length == 0;\n\t}\n\n\tasync toggleGroup(groupId: string) {\n\t\tconst group = this.model.groups.get(groupId);\n\t\tthis.list.reset();\n\t\t\n\t\tif (group.open) {\n\t\t\tgroup.open = false;\n\t\t\tthis.visibleItems = this.model.filter(this.filterValue, this.showGroups, true);\n\t\t\tthis.list.size = this.visibleItems.length;\n\t\t} else {\n\t\t\tgroup.open = true;\n\t\t\tif (this.adapter) {\n\t\t\t\tconst commands = (await Promise.all([this.adapter.getCommands({\n\t\t\t\t\tsectionId: this.activeSection?.id,\n\t\t\t\t\tgroupId, \n\t\t\t\t\tfilter: this.filterValue\n\t\t\t\t})]))[0];\n\n\t\t\t\tif (commands.length > 0) {\n\t\t\t\t\tgroup.commands.clear();\n\t\t\t\t\tcommands.forEach(c => {\n\t\t\t\t\t\tif (!c.group || c.group == groupId) group.addCommand(c);\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tthis.visibleItems = this.model.filter(null, this.showGroups, true);\n\t\t\t} else {\n\t\t\t\tthis.visibleItems = this.model.filter(this.filterValue, this.showGroups, true);\n\t\t\t}\n\t\t}\n\t\tthis.list.size = this.visibleItems.length;\n\t}\n\n\tprivate getSectionTitle(section: CommandsSection) {\n\t\treturn (section.title ?? section.id) + (section.triggerCommand ? ` (${section.triggerCommand})` : '');\n\t}\n\n\tlayout() {\n\t\tif (!this.listWrapper) return;\n\n\t\tthis.listWrapper.style.transition = `flex-basis 0.2s ease-in-out`;\n\t\tthis.listWrapper.style.flexBasis = dom.px(this.list.offsetHeight);\n\t\tdom.setSize(this.listWrapper, {h: this.list.offsetHeight});\n\t}\n\n\trenderTabs = () => this.sections?.length > 1 ? html`\n\t\t<og-container \n\t\t\t.horizontalSliderPosition=\"${this.sectionPosition == 'top' ? 'bottom' : 'top'}\"\n\t\t\tscrollMode=\"horizontal\" \n\t\t\tsliderSize=\"4\">\n\t\t\t<og-tabs\n\t\t\t\tslot=\"content\"\n\t\t\t\tclass=\"tabs\"\n\t\t\t\ttabSize=\"stretch\"\n\t\t\t\ttabAlign=\"center\"\n\t\t\t\tstyle=\"${styleMap({borderTop: this.sectionPosition == 'bottom' ? '1px solid var(--og-border)' : ''})}\"\n\t\t\t\t@tab.select=\"${this._onSectionSelect}\"\n\t\t\t\t.position=\"${this.sectionPosition == 'top' ? 'top' : 'bottom'}\"\n\t\t\t\t.selectedIndex=\"${this.activeSectionIndex}\"\n\t\t\t\t.items=\"${this.sections.map(section => ({...section, title: this.getSectionTitle(section)}))}\">\n\t\t\t</og-tabs>\n\t\t</og-container>\n\t` : ''\n\n\trenderDropdown = () => this.sections?.length > 1 ? html`\n\t\t<og-dropdown-list \n\t\t\tcolor=\"transparent\"\n\t\t\t.value=\"${this.activeSection?.id}\"\n\t\t\t@change=\"${this._onDropdownChange}\"\n\t\t\t.items=\"${this.sections.map(section => ({\n\t\t\t\tk: section.id as string,\n\t\t\t\tv: this.getSectionTitle(section),\n\t\t\t\ticon: section.icon\n\t\t\t}))}\">\n\t\t</og-dropdown-list>\n\t` : '';\n\n\trenderSwitches = () => this.activeSection?.switches?.length > 0 ? html`\n\t\t<div class=\"switches\">\n\t\t\t${this.activeSection.switches.map((s) => html`\n\t\t\t\t<og-button \n\t\t\t\t\ttype=\"toggle\"\n\t\t\t\t\t.text=\"${s.value}\"\n\t\t\t\t\t.state=\"${s.checked ? 'checked' : 'unchecked'}\"\n\t\t\t\t\t@click=\"${(e: PointerEvent) => {\n\t\t\t\t\t\ts.checked = (e.target as Button).state === 'checked';\n\t\t\t\t\t\tthis.focus();\n\t\t\t\t\t\tthis.updateCommands();\n\t\t\t\t\t}}\">\n\t\t\t\t</og-button>\n\t\t\t`)}\n\t\t</div>\n\t` : '';\n\n\trender = () => html`\n\t\t<div class=\"input\">\n\t\t\t${this.sectionPosition == 'left' ? this.renderDropdown() : ''}\n\t\t\t\n\t\t\t<input\n\t\t\t\ttype=\"text\"\n\t\t\t\t@input=\"${this._onInput}\"\n\t\t\t\t.placeholder=\"${this.placeholder}\"\n\t\t\t\t.value=\"${this.value ?? ''}\">\n\n\t\t\t${this.sectionPosition == 'right' ? this.renderDropdown() : ''}\n\t\t</div>\n\n\t\t${this.sectionPosition != 'bottom' ? this.renderSwitches() : ''}\n\n\t\t${this.text != null ? html`<div class=\"text\">${this.text}</div>` : ''}\n\n\t\t${this.sectionPosition == 'top' ? this.renderTabs() : ''}\n\n\t\t${this.noResults ? html`\n\t\t\t<div class=\"no-results\">${msg('No results found')}</div>\n\t\t` : ''}\n\n\t\t<div class=\"list\">\n\t\t\t<og-list\n\t\t\t\tanimations\n\t\t\t\tarrowEvents\n\t\t\t\tmaxHeight=\"300\"\n\t\t\t\t?dynamicItemHeight=\"${this.options?.commandRenderer != null}\"\n\t\t\t\t.customStyle=\"${[this.options?.itemStyle, itemStyle]}\"\n\t\t\t\t.lineHeight=\"${this.options.itemHeight - 2}\"\n\t\t\t\t.itemHeight=\"${this.options.itemHeight}\"\n\t\t\t\t.itemRenderer=\"${this._itemRenderer}\"\n\t\t\t\t@select=\"${this._onSelect}\"\n\t\t\t\t@render=\"${() => this.layout()}\">\n\t\t\t</og-list>\n\t\t</div>\n\n\t\t${this.sectionPosition == 'bottom' ? this.renderSwitches() : ''}\n\n\t\t${this.sectionPosition == 'bottom' ? this.renderTabs() : ''}\n\t`;\n\n}"]}
1
+ {"version":3,"file":"commandWindow.js","sourceRoot":"","sources":["../../src/ui/commandWindow.ts"],"names":[],"mappings":"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","sourcesContent":["import { Commands, Command, CommandGroup, CommandsSection, initOptions, CommandMode, CommandSource } from \"../model\";\nimport { CommandsAdapter} from \"../adapters\";\nimport { Button, DropdownList, events, List, ListItemRenderer, ListItemRendererOptions, ListSelectEvent, ListSelectTrigger } from \"@omegagrid/core\";\nimport { LitElement, html, TemplateResult, PropertyValues } from 'lit';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { debounce } from \"ts-debounce\";\nimport { style, itemStyle } from \"./commandWindow.style\";\nimport { styleMap } from \"lit-html/directives/style-map.js\";\nimport { TabEvent } from \"@omegagrid/tabs\";\nimport { msg } from \"@omegagrid/localize\";\n\nexport class CommandEvent extends Event {\n\n\treadonly command?: Command;\n\treadonly value?: string;\n\treadonly section?: CommandsSection;\n\n\tconstructor(type: string, args?: Partial<CommandEvent>) {\n\t\tsuper(`command.${type}`, {bubbles: true, composed: true})\n\t\tif (args) Object.assign(this, args);\n\t}\n}\n\nexport type CommandRenderer = (div: HTMLDivElement, command: Command, opts?: ListItemRendererOptions) => string | void | TemplateResult<1> | null;\nexport type GroupRenderer = (div: HTMLDivElement, group: CommandGroup, opts?: ListItemRendererOptions) => string | void | TemplateResult<1> | null;\n\n@customElement('og-commands')\nexport class CommandWindow extends LitElement {\n\n\tstatic styles = [style];\n\n\tprivate visibleItems: (Command|CommandGroup)[];\n\n\t@property({type: Object})\n\toptions = initOptions();\n\n\t/**\n\t * search = commands are filtered by input value\n\t * input = commands are not filtered, input is used to enter custom value\n\t * none = no input, only command list is shown\n\t */\n\t@property({type: String})\n\tmode: CommandMode = 'search';\n\n\t@property({type: String})\n\tvalue: string;\n\n\t@property({type: String, reflect: true})\n\tsectionPosition: 'top'|'bottom'|'left'|'right' = 'right';\n\n\t@property({type: String})\n\ttext: string;\n\n\t@property({type: Array})\n\tcommands: CommandSource[];\n\t\n\t@property({type: Object})\n\tadapter: CommandsAdapter;\n\n\t@property({type: Object})\n\ttarget: HTMLElement;\n\n\t@property({type: String})\n\tplaceholder = '';\n\t\n\t@property({type: Boolean})\n\tshowGroups = false\n\n\t@property({type: Object})\n\tmodel = new Commands();\n\n\t@state()\n\tsections: CommandsSection[] = [{id: 'default'}];\n\n\t@state()\n\tactiveSectionIndex = 0;\n\n\t@state()\n\tnoResults = false;\n\n\t@query('og-list')\n\tlist: List;\n\n\t@query('input')\n\tinput: HTMLInputElement;\n\n\t@query('og-dropdown-list')\n\tdropdown: DropdownList;\n\n\tget activeSection() { return this.sections?.[this.activeSectionIndex] }\n\n\tget inputValue() { return this.input?.value ?? '' }\n\tget parsedInput() {\n\t\tconst input = this.inputValue;\n\t\tconst chunks = input.split(' ', 2);\n\t\tif (chunks.length > 1) {\n\t\t\tconst section = (this.sections ?? []).findIndex(s => s?.triggerCommand == chunks[0]);\n\t\t\tconst value = section > -1 ? chunks[1] ?? '' : input;\n\t\t\treturn { section, value };\n\t\t} else {\n\t\t\treturn { section: -1, value: input};\n\t\t}\n\t}\n\n\tget filterValue() {\n\t\treturn this.mode == 'search' ? this.parsedInput?.value ?? '' : '';\n\t}\n\n\t_commandRenderer: CommandRenderer = (div: HTMLDivElement, command: Command) => {\n\t\treturn html`<div class=\"command\">${command.name}</div>`;\n\t};\n\n\t_groupRenderer: GroupRenderer = (div: HTMLDivElement, group: CommandGroup) => {\n\t\treturn html`\n\t\t\t<div class=\"group\" @mousedown=\"${(e: MouseEvent) => e.preventDefault()}\">\n\t\t\t\t<div class=\"group-toggle\">\n\t\t\t\t\t<og-icon icon=\"angle-${group.open ? 'down' : 'right'}\"></og-icon>\n\t\t\t\t</div>\n\t\t\t\t\n\t\t\t\t<div class=\"group-text\">\n\t\t\t\t\t${group.name}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`;\n\t};\n\n\tasync exec(dispatchEvent = true) {\n\t\tconst input = this.parsedInput;\n\t\tconst command = this.visibleItems[this.list.selectedIndex];\n\n\t\tif (!(command instanceof Command)) return;\n\t\t\n\t\tthis.clearFilter(false);\n\t\t\n\t\tcommand.exec(input.value);\n\t\tif (this.adapter) {\n\t\t\tthis.adapter.exec(command, input.value);\n\t\t}\n\t\t\n\t\tif (dispatchEvent) this.dispatchEvent(new CommandEvent('exec', { \n\t\t\tcommand: command,\n\t\t\tsection: this.sections.find(s => s.id === input.section),\n\t\t\tvalue: input.value\n\t\t}));\n\t}\n\n\t_onKeyDown = (e: KeyboardEvent) => {\n\t\tif (e.key != 'Escape') e.stopPropagation();\n\n\t\tswitch (e.key) {\n\t\t\tcase 'ArrowDown':\n\t\t\t\te.preventDefault();\n\t\t\t\tthis.list.moveDown();\n\t\t\t\tbreak;\n\t\t\tcase 'ArrowUp':\n\t\t\t\te.preventDefault();\n\t\t\t\tthis.list.moveUp();\n\t\t\t\tbreak;\n\t\t\tcase 'Enter':\n\t\t\t\te.preventDefault();\n\t\t\t\tif (this.visibleItems[this.list.selectedIndex] instanceof CommandGroup) \n\t\t\t\t\tthis.toggleGroup((this.visibleItems[this.list.selectedIndex] as CommandGroup).id);\n\t\t\t\telse this.exec();\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\t_debounceInput = debounce(() => {\n\t\tif (this.mode != 'search') return;\n\t\tconst input = this.parsedInput;\n\t\tif (input.section > -1) {\n\t\t\tthis.activeSectionIndex = input.section;\n\t\t\tthis.input.value = '';\n\t\t}\n\t\tthis.updateCommands();\n\t})\n\n\t_onInput = (e: InputEvent) => {\n\t\te.stopPropagation();\n\t\tthis._debounceInput();\n\t}\n\n\t_onSectionSelect = (e: TabEvent) => {\n\t\tif (this.activeSectionIndex == e.index) return;\n\t\tthis.activeSectionIndex = e.index;\n\t\tif (this.activeSection?.triggerCommand != null) {\n\t\t\t//this.input.value = this.activeSection?.triggerCommand + ' ';\n\t\t\tthis.updateCommands();\n\t\t}\n\t\tthis.focus();\n\t}\n\n\t_onDropdownChange = (e: events.ChangeEvent) => {\n\t\tthis.activeSectionIndex = this.sections.findIndex(s => s.id === this.dropdown.value);\n\t\tif (this.activeSection?.triggerCommand != null) {\n\t\t\t//this.input.value = this.activeSection?.triggerCommand + ' ';\n\t\t\tthis.updateCommands();\n\t\t}\n\t\tthis.focus();\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis.addEventListener('click', e => e.stopPropagation());\n\t\tthis.addEventListener('keydown', this._onKeyDown);\n\t}\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback();\n\t\tthis.tabIndex = 0;\n\t}\n\n\tfocus() {\n\t\tthis.input?.focus();\n\t}\n\n\tclearFilter(updateCommands = true) {\n\t\tthis.input.value = '';\n\t\tthis.focus();\n\t\tif (updateCommands) this.updateCommands();\n\t}\n\n\tasync willUpdate(props: PropertyValues) {\n\t\tif (props.has('adapter') && this.adapter) {\n\t\t\tthis.adapter.attach(this);\n\t\t\tconst [sections, options] = await Promise.all([this.adapter.getSections(), this.adapter.getOptions()]);\n\t\t\tthis.sections = sections;\n\t\t\tif (options) this.options = initOptions(options, this.options);\n\t\t} else if (props.has('commands') && this.commands) {\n\t\t\tthis.model.clear();\n\t\t\tthis.commands.forEach(c => this.model.register(c));\n\t\t}\n\n\t\tif (this.options) {\n\t\t\tif (this.options.commandRenderer) this._commandRenderer = this.options.commandRenderer;\n\t\t\tif (this.options.groupRenderer) this._groupRenderer = this.options.groupRenderer;\n\t\t}\n\t}\n\n\tasync updated(props: Map<PropertyKey, unknown>) {\n\t\tif (props.has('commands') || props.has('adapter') || props.has('model')) {\n\t\t\tawait this.updateCommands();\n\t\t}\n\t}\n\n\t_onSelect = (e: ListSelectEvent) => {\n\t\tconst item = this.visibleItems[e.index];\n\t\tif (item instanceof Command) {\n\t\t\tif (this.mode == 'search') this.input.value = item.name;\t\t\t\n\t\t\tif (e.trigger == ListSelectTrigger.Click || e.trigger == ListSelectTrigger.Enter) {\n\t\t\t\tthis.exec();\n\t\t\t}\n\t\t} else {\n\t\t\tthis.input.value = '';\n\t\t\tif (e.trigger == ListSelectTrigger.Click || e.trigger == ListSelectTrigger.Enter) {\n\t\t\t\tthis.toggleGroup((item as CommandGroup).id);\n\t\t\t}\n\t\t}\n\n\t\tsetTimeout(() => this.input.focus());\n\t}\n\n\t_itemRenderer: ListItemRenderer = (div: HTMLDivElement, index: number, opts?: ListItemRendererOptions) => {\n\t\treturn this.visibleItems[index] instanceof CommandGroup\n\t\t\t? this._groupRenderer(div, this.visibleItems[index] as CommandGroup, opts)\n\t\t\t: this._commandRenderer(div, this.visibleItems[index] as Command, opts);\n\t}\n\n\tasync updateCommands() {\n\t\tif (this.adapter) {\n\t\t\tthis.model.clear();\n\t\t\tconst switches = this.activeSection?.switches?.filter(s => s.checked).map(s => s.key) || [];\n\t\t\tconst [groups, commands] = (await Promise.all([this.adapter.getGroups({\n\t\t\t\tsectionId: this.activeSection?.id,\n\t\t\t\tfilter: this.filterValue,\n\t\t\t\tswitches\n\t\t\t}), this.adapter.getCommands({\n\t\t\t\tsectionId: this.activeSection?.id,\n\t\t\t\tfilter: this.filterValue,\n\t\t\t\tswitches\n\t\t\t})]));\n\t\t\tgroups?.forEach(group => this.model.registerGroup(group));\n\t\t\tcommands?.forEach(command => this.model.register(command));\n\t\t\tthis.visibleItems = this.model.filter(null, this.showGroups, true);\n\t\t} else {\n\t\t\tthis.visibleItems = this.model.filter(this.filterValue, this.showGroups);\n\t\t}\n\n\t\tthis.placeholder = this.activeSection?.placeholder || '';\n\t\tthis.list.reset();\n\t\tthis.list.size = this.visibleItems.length;\n\t\tthis.list.selectedIndex = this.visibleItems.findIndex(item => item instanceof Command) ?? 0;\n\t\tthis.list.renderItems(true);\n\n\t\tthis.noResults = this.visibleItems.length == 0;\n\t\tawait this.list.updateComplete;\n\t}\n\n\tasync toggleGroup(groupId: string) {\n\t\tconst group = this.model.groups.get(groupId);\n\t\tthis.list.reset();\n\t\t\n\t\tif (group.open) {\n\t\t\tgroup.open = false;\n\t\t\tthis.visibleItems = this.model.filter(this.filterValue, this.showGroups, true);\n\t\t\tthis.list.size = this.visibleItems.length;\n\t\t} else {\n\t\t\tgroup.open = true;\n\t\t\tif (this.adapter) {\n\t\t\t\tconst commands = (await Promise.all([this.adapter.getCommands({\n\t\t\t\t\tsectionId: this.activeSection?.id,\n\t\t\t\t\tgroupId, \n\t\t\t\t\tfilter: this.filterValue\n\t\t\t\t})]))[0];\n\n\t\t\t\tif (commands.length > 0) {\n\t\t\t\t\tgroup.commands.clear();\n\t\t\t\t\tcommands.forEach(c => {\n\t\t\t\t\t\tif (!c.group || c.group == groupId) group.addCommand(c);\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tthis.visibleItems = this.model.filter(null, this.showGroups, true);\n\t\t\t} else {\n\t\t\t\tthis.visibleItems = this.model.filter(this.filterValue, this.showGroups, true);\n\t\t\t}\n\t\t}\n\t\tthis.list.size = this.visibleItems.length;\n\t}\n\n\tprivate getSectionTitle(section: CommandsSection) {\n\t\treturn (section.title ?? section.id) + (section.triggerCommand ? ` (${section.triggerCommand})` : '');\n\t}\n\n\trenderTabs = () => this.sections?.length > 1 ? html`\n\t\t<og-container \n\t\t\t.horizontalSliderPosition=\"${this.sectionPosition == 'top' ? 'bottom' : 'top'}\"\n\t\t\tscrollMode=\"horizontal\" \n\t\t\tsliderSize=\"4\">\n\t\t\t<og-tabs\n\t\t\t\tslot=\"content\"\n\t\t\t\tclass=\"tabs\"\n\t\t\t\ttabSize=\"stretch\"\n\t\t\t\ttabAlign=\"center\"\n\t\t\t\tstyle=\"${styleMap({borderTop: this.sectionPosition == 'bottom' ? '1px solid var(--og-border)' : ''})}\"\n\t\t\t\t@tab.select=\"${this._onSectionSelect}\"\n\t\t\t\t.position=\"${this.sectionPosition == 'top' ? 'top' : 'bottom'}\"\n\t\t\t\t.selectedIndex=\"${this.activeSectionIndex}\"\n\t\t\t\t.items=\"${this.sections.map(section => ({...section, title: this.getSectionTitle(section)}))}\">\n\t\t\t</og-tabs>\n\t\t</og-container>\n\t` : ''\n\n\trenderDropdown = () => this.sections?.length > 1 ? html`\n\t\t<og-dropdown-list \n\t\t\tcolor=\"transparent\"\n\t\t\t.value=\"${this.activeSection?.id}\"\n\t\t\t@change=\"${this._onDropdownChange}\"\n\t\t\t.items=\"${this.sections.map(section => ({\n\t\t\t\tk: section.id as string,\n\t\t\t\tv: this.getSectionTitle(section),\n\t\t\t\ticon: section.icon\n\t\t\t}))}\">\n\t\t</og-dropdown-list>\n\t` : '';\n\n\trenderSwitches = () => this.activeSection?.switches?.length > 0 ? html`\n\t\t<div class=\"switches\">\n\t\t\t${this.activeSection.switches.map((s) => html`\n\t\t\t\t<og-button \n\t\t\t\t\ttype=\"toggle\"\n\t\t\t\t\t.text=\"${s.value}\"\n\t\t\t\t\t.state=\"${s.checked ? 'checked' : 'unchecked'}\"\n\t\t\t\t\t@click=\"${(e: PointerEvent) => {\n\t\t\t\t\t\ts.checked = (e.target as Button).state === 'checked';\n\t\t\t\t\t\tthis.focus();\n\t\t\t\t\t\tthis.updateCommands();\n\t\t\t\t\t}}\">\n\t\t\t\t</og-button>\n\t\t\t`)}\n\t\t</div>\n\t` : '';\n\n\trender = () => html`\n\t\t<div class=\"input\">\n\t\t\t${this.sectionPosition == 'left' ? this.renderDropdown() : ''}\n\t\t\t\n\t\t\t<input\n\t\t\t\ttype=\"text\"\n\t\t\t\t@input=\"${this._onInput}\"\n\t\t\t\t.placeholder=\"${this.placeholder}\"\n\t\t\t\t.value=\"${this.value ?? ''}\">\n\n\t\t\t${this.sectionPosition == 'right' ? this.renderDropdown() : ''}\n\t\t</div>\n\n\t\t${this.sectionPosition != 'bottom' ? this.renderSwitches() : ''}\n\n\t\t${this.text != null ? html`<div class=\"text\">${this.text}</div>` : ''}\n\n\t\t${this.sectionPosition == 'top' ? this.renderTabs() : ''}\n\n\t\t${this.noResults ? html`\n\t\t\t<div class=\"no-results\">${msg('No results found')}</div>\n\t\t` : ''}\n\n\t\t<div class=\"list\">\n\t\t\t<og-list\n\t\t\t\tarrowEvents\n\t\t\t\tmaxHeight=\"300\"\n\t\t\t\t?dynamicItemHeight=\"${this.options?.commandRenderer != null}\"\n\t\t\t\t.customStyle=\"${[this.options?.itemStyle, itemStyle]}\"\n\t\t\t\t.lineHeight=\"${this.options.itemHeight - 2}\"\n\t\t\t\t.itemHeight=\"${this.options.itemHeight}\"\n\t\t\t\t.itemRenderer=\"${this._itemRenderer}\"\n\t\t\t\t@select=\"${this._onSelect}\">\n\t\t\t</og-list>\n\t\t</div>\n\n\t\t${this.sectionPosition == 'bottom' ? this.renderSwitches() : ''}\n\n\t\t${this.sectionPosition == 'bottom' ? this.renderTabs() : ''}\n\t`;\n\n}"]}
@@ -25,7 +25,6 @@ export const style = css `
25
25
  width: 100%;
26
26
  padding: 6px;
27
27
  display: flex;
28
- flex: 0 0 40px;
29
28
  flex-direction: row;
30
29
  }
31
30
 
@@ -54,7 +53,7 @@ export const style = css `
54
53
  .input > og-dropdown-list {
55
54
  flex: 0 0 100px;
56
55
  height: 100%;
57
- border: 1px solid var(--og-accent-color);
56
+ border: 1px solid var(--og-border);
58
57
  padding-right: 5px;
59
58
  }
60
59
 
@@ -62,7 +61,7 @@ export const style = css `
62
61
  width: 100%;
63
62
  font-size: 16px;
64
63
  padding: 4px;
65
- border: 1px solid var(--og-accent-color);
64
+ border: 1px solid var(--og-border);
66
65
  border-radius: var(--og-base-radius);
67
66
  background-color: var(--og-commands-input-background);
68
67
  color: var(--og-commands-color);
@@ -75,9 +74,10 @@ export const style = css `
75
74
  }
76
75
 
77
76
  .list {
78
- flex: 0;
77
+ flex: 1;
79
78
  position: relative;
80
79
  overflow: hidden;
80
+ height: 100%;
81
81
  }
82
82
 
83
83
  og-container {
@@ -1 +1 @@
1
- {"version":3,"file":"commandWindow.style.js","sourceRoot":"","sources":["../../src/ui/commandWindow.style.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0GvB,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;iBA0BX,SAAS,CAAC,mBAAmB,GAAG,CAAC;;;;iBAIjC,SAAS,CAAC,mBAAmB,GAAG,CAAC;;;;;;;CAOjD,CAAC","sourcesContent":["import { css } from 'lit';\nimport constants from '../constants';\n\nexport const style = css`\n\t* {\n\t\tbox-sizing: border-box;\n\t}\n\n\t:host {\n\t\tbackground: var(--og-commands-background);\n\t\tcolor: var(--og-commands-color);\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tbox-shadow: 0px 0px 6px 1px var(--og-commands-shadow);\n\t\tborder: 1px solid var(--og-border);\n\t\tborder-radius: var(--og-base-radius);\n\t\tfont-family: var(--og-font-family);\n\t\tfont-size: var(--og-font-size);\n\t}\n\n\t.text {\n\t\tpadding: 4px 4px 8px 4px;\n\t}\n\n\t.input {\n\t\twidth: 100%;\n\t\tpadding: 6px;\n\t\tdisplay: flex;\n\t\tflex: 0 0 40px;\n\t\tflex-direction: row;\n\t}\n\n\t:host([sectionposition=\"left\"]) .input > input {\n\t\tborder-top-left-radius: 0;\n\t\tborder-bottom-left-radius: 0;\n\t}\n\n\t:host([sectionposition=\"right\"]) .input > input {\n\t\tborder-top-right-radius: 0;\n\t\tborder-bottom-right-radius: 0;\n\t}\n\n\t:host([sectionposition=\"left\"]) .input > og-dropdown-list {\n\t\tborder-right: none;\n\t\tborder-top-right-radius: 0;\n\t\tborder-bottom-right-radius: 0;\n\t}\n\n\t:host([sectionposition=\"right\"]) .input > og-dropdown-list {\n\t\tborder-left: none;\n\t\tborder-top-left-radius: 0;\n\t\tborder-bottom-left-radius: 0;\n\t}\n\n\t.input > og-dropdown-list {\n\t\tflex: 0 0 100px;\n\t\theight: 100%;\n\t\tborder: 1px solid var(--og-accent-color);\n\t\tpadding-right: 5px;\n\t}\n\n\t.input > input {\n\t\twidth: 100%;\n\t\tfont-size: 16px;\n\t\tpadding: 4px;\n\t\tborder: 1px solid var(--og-accent-color);\n\t\tborder-radius: var(--og-base-radius);\n\t\tbackground-color: var(--og-commands-input-background);\n\t\tcolor: var(--og-commands-color);\n\t\toutline: none;\n\t\tflex: 1;\n\t}\n\n\t.tabs {\n\t\tflex: 0;\n\t}\n\n\t.list {\n\t\tflex: 0;\n\t\tposition: relative;\n\t\toverflow: hidden;\n\t}\n\n\tog-container {\n\t\theight: 30px;\n\t}\n\n\tog-list {\n\t\theight: 250px;\n\t}\n\n\t.no-results {\n\t\tpadding: 0 10px 10px 10px;\n\t}\n\n\t:host([sectionposition=\"bottom\"]) .switches {\n\t\tpadding-top: 6px;\n\t}\n\n\t.switches {\n\t\tpadding: 0 6px 6px 6px;\n\t}\n\n\t.switches og-button {\n\t\tfont-size: 0.8em;\n\t\theight: 16px;\n\t\tborder: 1px solid var(--og-accent-color);\n\t\tborder-radius: 8px;\n\t}\n`;\n\nexport const itemStyle = css`\n\t.item {\n\t\tborder: 1px solid transparent;\n\t}\n\n\t.item.selected {\n\t\tborder: 1px solid var(--og-accent-color);\n\t}\n\n\t.item>div {\n\t\tdisplay: flex;\n\t\tflex-direction: row;\n\t\t\n\t\theight: 100%;\n\t\tpadding: 0 5px;\n\t}\n\n\t.item .group {\n\t\tbackground-color: var(--og-commands-header-background);\n\t}\n\n\t.item .group-toggle {\n\t\twidth: 15px;\n\t}\n\n\t.item .group-text {\n\t\tline-height: ${constants.COMMAND_ITEM_HEIGHT - 2}px;\n\t}\n\n\t.item .group og-icon {\n\t\tline-height: ${constants.COMMAND_ITEM_HEIGHT - 2}px;\n\t\tdisplay: inline;\n\t}\n\n\t.item .command {\n\t\tmargin-left: 10px;\n\t}\n`;"]}
1
+ {"version":3,"file":"commandWindow.style.js","sourceRoot":"","sources":["../../src/ui/commandWindow.style.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0GvB,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;iBA0BX,SAAS,CAAC,mBAAmB,GAAG,CAAC;;;;iBAIjC,SAAS,CAAC,mBAAmB,GAAG,CAAC;;;;;;;CAOjD,CAAC","sourcesContent":["import { css } from 'lit';\nimport constants from '../constants';\n\nexport const style = css`\n\t* {\n\t\tbox-sizing: border-box;\n\t}\n\n\t:host {\n\t\tbackground: var(--og-commands-background);\n\t\tcolor: var(--og-commands-color);\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tbox-shadow: 0px 0px 6px 1px var(--og-commands-shadow);\n\t\tborder: 1px solid var(--og-border);\n\t\tborder-radius: var(--og-base-radius);\n\t\tfont-family: var(--og-font-family);\n\t\tfont-size: var(--og-font-size);\n\t}\n\n\t.text {\n\t\tpadding: 4px 4px 8px 4px;\n\t}\n\n\t.input {\n\t\twidth: 100%;\n\t\tpadding: 6px;\n\t\tdisplay: flex;\n\t\tflex-direction: row;\n\t}\n\n\t:host([sectionposition=\"left\"]) .input > input {\n\t\tborder-top-left-radius: 0;\n\t\tborder-bottom-left-radius: 0;\n\t}\n\n\t:host([sectionposition=\"right\"]) .input > input {\n\t\tborder-top-right-radius: 0;\n\t\tborder-bottom-right-radius: 0;\n\t}\n\n\t:host([sectionposition=\"left\"]) .input > og-dropdown-list {\n\t\tborder-right: none;\n\t\tborder-top-right-radius: 0;\n\t\tborder-bottom-right-radius: 0;\n\t}\n\n\t:host([sectionposition=\"right\"]) .input > og-dropdown-list {\n\t\tborder-left: none;\n\t\tborder-top-left-radius: 0;\n\t\tborder-bottom-left-radius: 0;\n\t}\n\n\t.input > og-dropdown-list {\n\t\tflex: 0 0 100px;\n\t\theight: 100%;\n\t\tborder: 1px solid var(--og-border);\n\t\tpadding-right: 5px;\n\t}\n\n\t.input > input {\n\t\twidth: 100%;\n\t\tfont-size: 16px;\n\t\tpadding: 4px;\n\t\tborder: 1px solid var(--og-border);\n\t\tborder-radius: var(--og-base-radius);\n\t\tbackground-color: var(--og-commands-input-background);\n\t\tcolor: var(--og-commands-color);\n\t\toutline: none;\n\t\tflex: 1;\n\t}\n\n\t.tabs {\n\t\tflex: 0;\n\t}\n\n\t.list {\n\t\tflex: 1;\n\t\tposition: relative;\n\t\toverflow: hidden;\n\t\theight: 100%;\n\t}\n\n\tog-container {\n\t\theight: 30px;\n\t}\n\n\tog-list {\n\t\theight: 250px;\n\t}\n\n\t.no-results {\n\t\tpadding: 0 10px 10px 10px;\n\t}\n\n\t:host([sectionposition=\"bottom\"]) .switches {\n\t\tpadding-top: 6px;\n\t}\n\n\t.switches {\n\t\tpadding: 0 6px 6px 6px;\n\t}\n\n\t.switches og-button {\n\t\tfont-size: 0.8em;\n\t\theight: 16px;\n\t\tborder: 1px solid var(--og-accent-color);\n\t\tborder-radius: 8px;\n\t}\n`;\n\nexport const itemStyle = css`\n\t.item {\n\t\tborder: 1px solid transparent;\n\t}\n\n\t.item.selected {\n\t\tborder: 1px solid var(--og-accent-color);\n\t}\n\n\t.item>div {\n\t\tdisplay: flex;\n\t\tflex-direction: row;\n\t\t\n\t\theight: 100%;\n\t\tpadding: 0 5px;\n\t}\n\n\t.item .group {\n\t\tbackground-color: var(--og-commands-header-background);\n\t}\n\n\t.item .group-toggle {\n\t\twidth: 15px;\n\t}\n\n\t.item .group-text {\n\t\tline-height: ${constants.COMMAND_ITEM_HEIGHT - 2}px;\n\t}\n\n\t.item .group og-icon {\n\t\tline-height: ${constants.COMMAND_ITEM_HEIGHT - 2}px;\n\t\tdisplay: inline;\n\t}\n\n\t.item .command {\n\t\tmargin-left: 10px;\n\t}\n`;"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@omegagrid/commands",
3
- "version": "0.9.36",
3
+ "version": "0.9.38",
4
4
  "license": "UNLICENSED",
5
5
  "description": "Command window",
6
6
  "main": "./dist/index.js",
@@ -27,9 +27,9 @@
27
27
  "_prepublish": "yarn test && yarn lint"
28
28
  },
29
29
  "dependencies": {
30
- "@omegagrid/core": "^0.9.36",
31
- "@omegagrid/localize": "^0.9.36",
32
- "@omegagrid/tabs": "^0.9.36",
30
+ "@omegagrid/core": "^0.9.38",
31
+ "@omegagrid/localize": "^0.9.38",
32
+ "@omegagrid/tabs": "^0.9.38",
33
33
  "lit": "^3.1.1",
34
34
  "lit-html": "^3.1.1",
35
35
  "ts-debounce": "^4.0.0"