zova-module-a-command 5.1.34 → 5.1.36

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.
@@ -1,5 +1,5 @@
1
1
  /** monkey: begin */
2
- export * from '../monkey.js';
2
+ export * from '../monkey.ts';
3
3
  /** monkey: end */
4
4
  /** scope: begin */
5
5
  import { BeanScopeBase, type BeanScopeUtil } from 'zova';
@@ -1,3 +1,3 @@
1
1
  export declare const __ThisModule__ = "a-command";
2
- export { ScopeModuleACommand as ScopeModule } from './index.js';
2
+ export { ScopeModuleACommand as ScopeModule } from './index.ts';
3
3
  //# sourceMappingURL=this.d.ts.map
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export * from './.metadata/index.js';
2
- export * from './lib/index.js';
3
- export * from './types/index.js';
1
+ export * from './.metadata/index.ts';
2
+ export * from './lib/index.ts';
3
+ export * from './types/index.ts';
4
4
  //# sourceMappingURL=index.d.ts.map
package/dist/index.js CHANGED
@@ -41,9 +41,9 @@ var Monkey = class extends BeanSimple {
41
41
  };
42
42
  //#endregion
43
43
  //#region src/.metadata/index.ts
44
- /** monkey: end */
45
- /** scope: begin */
46
- var _dec, _dec2, _class;
44
+ var _dec;
45
+ var _dec2;
46
+ var _class;
47
47
  var ScopeModuleACommand = (_dec = Scope(), _dec2 = BeanInfo({ module: "a-command" }), _dec(_class = _dec2(_class = class ScopeModuleACommand extends BeanScopeBase {}) || _class) || _class);
48
48
  /** scope: end */
49
49
  //#endregion
@@ -78,6 +78,31 @@ var BeanCommandRowBase = class extends BeanBase {
78
78
  }
79
79
  };
80
80
  //#endregion
81
+ //#region src/lib/beanCommandSelectedBase.ts
82
+ var BeanCommandSelectedBase = class extends BeanBase {
83
+ getResourceAndIds(options, renderContext) {
84
+ let resource = options.resource;
85
+ let ids = options.ids;
86
+ if (renderContext.$scene === "page") {
87
+ const { $celScope } = renderContext;
88
+ resource = resource ?? $celScope.resource;
89
+ ids = ids ?? $celScope.selection?.ids;
90
+ }
91
+ if (isNil(resource) || !ids || ids.length === 0) throw new Error(`should specify resource and selected ids in scene: ${renderContext.$scene}`);
92
+ const keys = /* @__PURE__ */ new Set();
93
+ for (const id of ids) {
94
+ if (isNil(id) || id === "") throw new Error("selected row id cannot empty");
95
+ const key = String(id);
96
+ if (keys.has(key)) throw new Error(`duplicate selected row id: ${key}`);
97
+ keys.add(key);
98
+ }
99
+ return {
100
+ resource,
101
+ ids
102
+ };
103
+ }
104
+ };
105
+ //#endregion
81
106
  //#region src/lib/command.ts
82
107
  function Command(options) {
83
108
  return createBeanDecorator("command", "sys", true, options);
@@ -86,6 +111,6 @@ function Command(options) {
86
111
  //#region src/types/command.ts
87
112
  var SymbolCommandResult = Symbol("SymbolCommandResult");
88
113
  //#endregion
89
- export { $performCommand, BeanCommandBulkBase, BeanCommandRowBase, Command, Monkey, ScopeModuleACommand, SymbolCommandResult };
114
+ export { $performCommand, BeanCommandBulkBase, BeanCommandRowBase, BeanCommandSelectedBase, Command, Monkey, ScopeModuleACommand, SymbolCommandResult };
90
115
 
91
116
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../src/lib/performCommand.ts","../src/monkey.ts","../src/.metadata/index.ts","../src/lib/beanCommandBulkBase.ts","../src/lib/beanCommandRowBase.ts","../src/lib/command.ts","../src/types/command.ts"],"sourcesContent":["import { beanFullNameFromOnionName, deepExtend } from 'zova';\nexport function $performCommand(sys, commandName, options, renderContext, next) {\n if (!next) {\n next = commandRes => {\n return commandRes;\n };\n }\n // command\n const beanFullName = beanFullNameFromOnionName(commandName, 'command');\n const beanInstance = sys.bean._getBeanSyncOnly(beanFullName);\n if (beanInstance) {\n // sync\n return _renderEventCommandNormal_inner(beanInstance, options, renderContext, next);\n }\n // async\n return sys.bean._getBean(beanFullName, false).then(beanInstance => {\n return _renderEventCommandNormal_inner(beanInstance, options, renderContext, next);\n });\n}\nfunction _renderEventCommandNormal_inner(beanInstance, options, renderContext, next) {\n const onionOptions = beanInstance.$onionOptions;\n // props\n const props = onionOptions ? deepExtend({}, onionOptions, options) : options ?? {};\n return beanInstance.execute(props, renderContext, next);\n}","import { BeanSimple, cast } from 'zova';\nimport { $performCommand } from './lib/performCommand.js';\nexport class Monkey extends BeanSimple {\n async beanInit(bean, beanInstance) {\n const self = this;\n bean.defineProperty(beanInstance, '$performCommand', {\n enumerable: false,\n configurable: true,\n get() {\n return function (commandName, options, renderContext, next) {\n renderContext = Object.assign({\n app: cast(beanInstance).app,\n ctx: cast(beanInstance).ctx,\n $host: beanInstance\n }, renderContext);\n return $performCommand(self.sys, commandName, options, renderContext, next);\n };\n }\n });\n }\n}","var _dec, _dec2, _class;\nimport { \"BeanInfo\" as __z_BeanInfo } from \"zova\";\n// eslint-disable\n/** monkey: begin */\nexport * from '../monkey.js';\n/** monkey: end */\n/** scope: begin */\nimport { BeanScopeBase } from 'zova';\nimport { Scope } from 'zova-module-a-bean';\nexport let ScopeModuleACommand = (_dec = Scope(), _dec2 = __z_BeanInfo({\n module: \"a-command\"\n}), _dec(_class = _dec2(_class = class ScopeModuleACommand extends BeanScopeBase {}) || _class) || _class);\nimport 'zova';\n\n/** scope: end */","import { BeanBase } from 'zova';\nexport class BeanCommandBulkBase extends BeanBase {\n getResource(options, renderContext) {\n let resource = options.resource;\n if (renderContext.$scene === 'page') {\n const {\n $celScope\n } = renderContext;\n resource = resource ?? $celScope.resource;\n }\n if (!resource) {\n throw new Error(`should specify resource in scene: ${renderContext.$scene}`);\n }\n return {\n resource\n };\n }\n}","import { isNil } from '@cabloy/utils';\nimport { BeanBase } from 'zova';\nexport class BeanCommandRowBase extends BeanBase {\n getResourceAndId(options, renderContext) {\n let resource = options.resource;\n let id = options.id;\n if (renderContext.$scene === 'tableCell') {\n const {\n $celScope,\n cellContext\n } = renderContext;\n resource = resource ?? $celScope.resource;\n id = id ?? cellContext.row.id;\n }\n if (isNil(resource) || isNil(id)) {\n throw new Error(`should specify resource or id in scene: ${renderContext.$scene}`);\n }\n return {\n resource,\n id\n };\n }\n}","import { createBeanDecorator } from 'zova';\nexport function Command(options) {\n return createBeanDecorator('command', 'sys', true, options);\n}","export const SymbolCommandResult = Symbol('SymbolCommandResult');"],"mappings":";;;;AACA,SAAgB,gBAAgB,KAAK,aAAa,SAAS,eAAe,MAAM;CAC9E,IAAI,CAAC,MACH,QAAO,eAAc;EACnB,OAAO;CACT;CAGF,MAAM,eAAe,0BAA0B,aAAa,SAAS;CACrE,MAAM,eAAe,IAAI,KAAK,iBAAiB,YAAY;CAC3D,IAAI,cAEF,OAAO,gCAAgC,cAAc,SAAS,eAAe,IAAI;CAGnF,OAAO,IAAI,KAAK,SAAS,cAAc,KAAK,CAAC,CAAC,MAAK,iBAAgB;EACjE,OAAO,gCAAgC,cAAc,SAAS,eAAe,IAAI;CACnF,CAAC;AACH;AACA,SAAS,gCAAgC,cAAc,SAAS,eAAe,MAAM;CACnF,MAAM,eAAe,aAAa;CAElC,MAAM,QAAQ,eAAe,WAAW,CAAC,GAAG,cAAc,OAAO,IAAI,WAAW,CAAC;CACjF,OAAO,aAAa,QAAQ,OAAO,eAAe,IAAI;AACxD;;;ACtBA,IAAa,SAAb,cAA4B,WAAW;CACrC,MAAM,SAAS,MAAM,cAAc;EACjC,MAAM,OAAO;EACb,KAAK,eAAe,cAAc,mBAAmB;GACnD,YAAY;GACZ,cAAc;GACd,MAAM;IACJ,OAAO,SAAU,aAAa,SAAS,eAAe,MAAM;KAC1D,gBAAgB,OAAO,OAAO;MAC5B,KAAK,KAAK,YAAY,CAAC,CAAC;MACxB,KAAK,KAAK,YAAY,CAAC,CAAC;MACxB,OAAO;KACT,GAAG,aAAa;KAChB,OAAO,gBAAgB,KAAK,KAAK,aAAa,SAAS,eAAe,IAAI;IAC5E;GACF;EACF,CAAC;CACH;AACF;;;;;ACpBA,IAAI,MAAM,OAAO;AASjB,IAAW,uBAAuB,OAAO,MAAM,GAAG,QAAQ,SAAa,EACrE,QAAQ,YACV,CAAC,GAAG,KAAK,SAAS,MAAM,SAAS,MAAM,4BAA4B,cAAc,CAAC,CAAC,KAAK,MAAM,KAAK;;;;ACVnG,IAAa,sBAAb,cAAyC,SAAS;CAChD,YAAY,SAAS,eAAe;EAClC,IAAI,WAAW,QAAQ;EACvB,IAAI,cAAc,WAAW,QAAQ;GACnC,MAAM,EACJ,cACE;GACJ,WAAW,YAAY,UAAU;EACnC;EACA,IAAI,CAAC,UACH,MAAM,IAAI,MAAM,qCAAqC,cAAc,QAAQ;EAE7E,OAAO,EACL,SACF;CACF;AACF;;;ACfA,IAAa,qBAAb,cAAwC,SAAS;CAC/C,iBAAiB,SAAS,eAAe;EACvC,IAAI,WAAW,QAAQ;EACvB,IAAI,KAAK,QAAQ;EACjB,IAAI,cAAc,WAAW,aAAa;GACxC,MAAM,EACJ,WACA,gBACE;GACJ,WAAW,YAAY,UAAU;GACjC,KAAK,MAAM,YAAY,IAAI;EAC7B;EACA,IAAI,MAAM,QAAQ,KAAK,MAAM,EAAE,GAC7B,MAAM,IAAI,MAAM,2CAA2C,cAAc,QAAQ;EAEnF,OAAO;GACL;GACA;EACF;CACF;AACF;;;ACrBA,SAAgB,QAAQ,SAAS;CAC/B,OAAO,oBAAoB,WAAW,OAAO,MAAM,OAAO;AAC5D;;;ACHA,IAAa,sBAAsB,OAAO,qBAAqB"}
1
+ {"version":3,"file":"index.js","names":["__z_BeanInfo"],"sources":["../src/lib/performCommand.ts","../src/monkey.ts","../src/.metadata/index.ts","../src/lib/beanCommandBulkBase.ts","../src/lib/beanCommandRowBase.ts","../src/lib/beanCommandSelectedBase.ts","../src/lib/command.ts","../src/types/command.ts"],"sourcesContent":["import { beanFullNameFromOnionName, deepExtend } from 'zova';\nexport function $performCommand(sys, commandName, options, renderContext, next) {\n if (!next) {\n next = commandRes => {\n return commandRes;\n };\n }\n // command\n const beanFullName = beanFullNameFromOnionName(commandName, 'command');\n const beanInstance = sys.bean._getBeanSyncOnly(beanFullName);\n if (beanInstance) {\n // sync\n return _renderEventCommandNormal_inner(beanInstance, options, renderContext, next);\n }\n // async\n return sys.bean._getBean(beanFullName, false).then(beanInstance => {\n return _renderEventCommandNormal_inner(beanInstance, options, renderContext, next);\n });\n}\nfunction _renderEventCommandNormal_inner(beanInstance, options, renderContext, next) {\n const onionOptions = beanInstance.$onionOptions;\n // props\n const props = onionOptions ? deepExtend({}, onionOptions, options) : options ?? {};\n return beanInstance.execute(props, renderContext, next);\n}","import { BeanSimple, cast } from 'zova';\nimport { $performCommand } from './lib/performCommand.ts';\nexport class Monkey extends BeanSimple {\n async beanInit(bean, beanInstance) {\n const self = this;\n bean.defineProperty(beanInstance, '$performCommand', {\n enumerable: false,\n configurable: true,\n get() {\n return function (commandName, options, renderContext, next) {\n renderContext = Object.assign({\n app: cast(beanInstance).app,\n ctx: cast(beanInstance).ctx,\n $host: beanInstance\n }, renderContext);\n return $performCommand(self.sys, commandName, options, renderContext, next);\n };\n }\n });\n }\n}","var _dec, _dec2, _class;\nimport { \"BeanInfo\" as __z_BeanInfo } from \"zova\";\n// eslint-disable\n/** monkey: begin */\nexport * from '../monkey.ts';\n/** monkey: end */\n/** scope: begin */\nimport { BeanScopeBase } from 'zova';\nimport { Scope } from 'zova-module-a-bean';\nexport let ScopeModuleACommand = (_dec = Scope(), _dec2 = __z_BeanInfo({\n module: \"a-command\"\n}), _dec(_class = _dec2(_class = class ScopeModuleACommand extends BeanScopeBase {}) || _class) || _class);\nimport 'zova';\n\n/** scope: end */","import { BeanBase } from 'zova';\nexport class BeanCommandBulkBase extends BeanBase {\n getResource(options, renderContext) {\n let resource = options.resource;\n if (renderContext.$scene === 'page') {\n const {\n $celScope\n } = renderContext;\n resource = resource ?? $celScope.resource;\n }\n if (!resource) {\n throw new Error(`should specify resource in scene: ${renderContext.$scene}`);\n }\n return {\n resource\n };\n }\n}","import { isNil } from '@cabloy/utils';\nimport { BeanBase } from 'zova';\nexport class BeanCommandRowBase extends BeanBase {\n getResourceAndId(options, renderContext) {\n let resource = options.resource;\n let id = options.id;\n if (renderContext.$scene === 'tableCell') {\n const {\n $celScope,\n cellContext\n } = renderContext;\n resource = resource ?? $celScope.resource;\n id = id ?? cellContext.row.id;\n }\n if (isNil(resource) || isNil(id)) {\n throw new Error(`should specify resource or id in scene: ${renderContext.$scene}`);\n }\n return {\n resource,\n id\n };\n }\n}","import { isNil } from '@cabloy/utils';\nimport { BeanBase } from 'zova';\nexport class BeanCommandSelectedBase extends BeanBase {\n getResourceAndIds(options, renderContext) {\n let resource = options.resource;\n let ids = options.ids;\n if (renderContext.$scene === 'page') {\n const {\n $celScope\n } = renderContext;\n resource = resource ?? $celScope.resource;\n ids = ids ?? $celScope.selection?.ids;\n }\n if (isNil(resource) || !ids || ids.length === 0) {\n throw new Error(`should specify resource and selected ids in scene: ${renderContext.$scene}`);\n }\n const keys = new Set();\n for (const id of ids) {\n if (isNil(id) || id === '') throw new Error('selected row id cannot empty');\n const key = String(id);\n if (keys.has(key)) throw new Error(`duplicate selected row id: ${key}`);\n keys.add(key);\n }\n return {\n resource,\n ids\n };\n }\n}","import { createBeanDecorator } from 'zova';\nexport function Command(options) {\n return createBeanDecorator('command', 'sys', true, options);\n}","export const SymbolCommandResult = Symbol('SymbolCommandResult');"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { IJsxRenderContextBase } from 'zova-module-a-openapi';
2
2
  import { BeanBase } from 'zova';
3
- import type { ICommandBulkOptionsBase } from '../types/command.js';
3
+ import type { ICommandBulkOptionsBase } from '../types/command.ts';
4
4
  export declare class BeanCommandBulkBase extends BeanBase {
5
5
  getResource(options: ICommandBulkOptionsBase, renderContext: IJsxRenderContextBase): {
6
6
  resource: string;
@@ -1,7 +1,7 @@
1
1
  import type { IJsxRenderContextBase } from 'zova-module-a-openapi';
2
2
  import { TableIdentity } from 'table-identity';
3
3
  import { BeanBase } from 'zova';
4
- import type { ICommandRowOptionsBase } from '../types/command.js';
4
+ import type { ICommandRowOptionsBase } from '../types/command.ts';
5
5
  export declare class BeanCommandRowBase extends BeanBase {
6
6
  getResourceAndId(options: ICommandRowOptionsBase, renderContext: IJsxRenderContextBase): {
7
7
  resource: string;
@@ -0,0 +1,11 @@
1
+ import type { TableIdentity } from 'table-identity';
2
+ import type { IJsxRenderContextBase } from 'zova-module-a-openapi';
3
+ import { BeanBase } from 'zova';
4
+ import type { ICommandSelectedOptionsBase } from '../types/command.ts';
5
+ export declare class BeanCommandSelectedBase extends BeanBase {
6
+ getResourceAndIds(options: ICommandSelectedOptionsBase, renderContext: IJsxRenderContextBase): {
7
+ resource: string;
8
+ ids: readonly TableIdentity[];
9
+ };
10
+ }
11
+ //# sourceMappingURL=beanCommandSelectedBase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"beanCommandSelectedBase.d.ts","sourceRoot":"","sources":["../../src/lib/beanCommandSelectedBase.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EAAE,qBAAqB,EAAyB,MAAM,uBAAuB,CAAC;AAG1F,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAEhC,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAEvE,qBAAa,uBAAwB,SAAQ,QAAQ;IACnD,iBAAiB,CACf,OAAO,EAAE,2BAA2B,EACpC,aAAa,EAAE,qBAAqB,GACnC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,SAAS,aAAa,EAAE,CAAA;KAAE;CAoBvD"}
@@ -1,4 +1,4 @@
1
1
  import type { PowerPartial } from 'zova';
2
- import type { IDecoratorCommandOptions } from '../types/command.js';
2
+ import type { IDecoratorCommandOptions } from '../types/command.ts';
3
3
  export declare function Command<T extends IDecoratorCommandOptions>(options?: PowerPartial<T>): ClassDecorator;
4
4
  //# sourceMappingURL=command.d.ts.map
@@ -1,5 +1,6 @@
1
- export * from './beanCommandBulkBase.js';
2
- export * from './beanCommandRowBase.js';
3
- export * from './command.js';
4
- export * from './performCommand.js';
1
+ export * from './beanCommandBulkBase.ts';
2
+ export * from './beanCommandRowBase.ts';
3
+ export * from './beanCommandSelectedBase.ts';
4
+ export * from './command.ts';
5
+ export * from './performCommand.ts';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { ZovaSys } from 'zova';
2
2
  import type { IJsxRenderContextBase } from 'zova-module-a-openapi';
3
- import type { ICommandRecord, SymbolCommandResult } from '../types/command.js';
3
+ import type { ICommandRecord, SymbolCommandResult } from '../types/command.ts';
4
4
  export declare function $performCommand<T extends keyof ICommandRecord>(sys: ZovaSys, commandName: T, options: Partial<ICommandRecord[T]> | undefined, renderContext: IJsxRenderContextBase, next?: Function): ICommandRecord[T][typeof SymbolCommandResult];
5
5
  //# sourceMappingURL=performCommand.d.ts.map
@@ -26,6 +26,10 @@ export interface ICommandRowOptionsBase<Result = any> extends ICommandOptionsBas
26
26
  resource?: string;
27
27
  id?: TableIdentity;
28
28
  }
29
+ export interface ICommandSelectedOptionsBase<Result = any> extends ICommandOptionsBase<Result> {
30
+ resource?: string;
31
+ ids?: readonly TableIdentity[];
32
+ }
29
33
  export interface ICommandDetailsRowOptionsBase<Result = any> extends ICommandOptionsBase<Result> {
30
34
  }
31
35
  declare module 'zova-module-a-bean' {
@@ -1 +1 @@
1
- {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/types/command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAEnE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,eAAO,MAAM,mBAAmB,eAAgC,CAAC;AAEjE,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,MAAM,cAAc,IAAI;IAC/D,IAAI,EAAE,CAAC,CAAC;IACR,OAAO,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,mBAAmB,CAAC,CAAC;IAC9D,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;AAEnE,MAAM,WAAW,cAAc;CAAG;AAElC,MAAM,WAAW,eAAe;IAC9B,OAAO,CACL,OAAO,EAAE,wBAAwB,EACjC,aAAa,EAAE,qBAAqB,EACpC,IAAI,EAAE,kBAAkB,GACvB,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;CACvB;AAED,MAAM,WAAW,wBAAwB,CAAC,MAAM,GAAG,GAAG;IACpD,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAE/B;AAED,MAAM,WAAW,mBAAmB,CAAC,MAAM,GAAG,GAAG,CAAE,SAAQ,wBAAwB,CAAC,MAAM,CAAC;CAAG;AAE9F,MAAM,WAAW,uBAAuB,CAAC,MAAM,GAAG,GAAG,CAAE,SAAQ,mBAAmB,CAAC,MAAM,CAAC;IACxF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB,CAAC,MAAM,GAAG,GAAG,CAAE,SAAQ,mBAAmB,CAAC,MAAM,CAAC;IACvF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,EAAE,CAAC,EAAE,aAAa,CAAC;CACpB;AAED,MAAM,WAAW,6BAA6B,CAAC,MAAM,GAAG,GAAG,CAAE,SAAQ,mBAAmB,CAAC,MAAM,CAAC;CAAG;AAEnG,OAAO,QAAQ,oBAAoB,CAAC;IAClC,UAAiB,QAAQ;QACvB,OAAO,EAAE,YAAY,CAAC,wBAAwB,EAAE,MAAM,cAAc,CAAC,CAAC;KACvE;CACF;AAED,OAAO,QAAQ,MAAM,CAAC;IACpB,UAAiB,YAAY;QAC3B,OAAO,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;KACpC;IAED,UAAiB,gBAAgB;QAC/B,OAAO,EAAE,KAAK,CAAC;KAChB;CACF"}
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/types/command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAEnE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,eAAO,MAAM,mBAAmB,eAAgC,CAAC;AAEjE,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,MAAM,cAAc,IAAI;IAC/D,IAAI,EAAE,CAAC,CAAC;IACR,OAAO,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,mBAAmB,CAAC,CAAC;IAC9D,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;AAEnE,MAAM,WAAW,cAAc;CAAG;AAElC,MAAM,WAAW,eAAe;IAC9B,OAAO,CACL,OAAO,EAAE,wBAAwB,EACjC,aAAa,EAAE,qBAAqB,EACpC,IAAI,EAAE,kBAAkB,GACvB,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;CACvB;AAED,MAAM,WAAW,wBAAwB,CAAC,MAAM,GAAG,GAAG;IACpD,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAE/B;AAED,MAAM,WAAW,mBAAmB,CAAC,MAAM,GAAG,GAAG,CAAE,SAAQ,wBAAwB,CAAC,MAAM,CAAC;CAAG;AAE9F,MAAM,WAAW,uBAAuB,CAAC,MAAM,GAAG,GAAG,CAAE,SAAQ,mBAAmB,CAAC,MAAM,CAAC;IACxF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB,CAAC,MAAM,GAAG,GAAG,CAAE,SAAQ,mBAAmB,CAAC,MAAM,CAAC;IACvF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,EAAE,CAAC,EAAE,aAAa,CAAC;CACpB;AAED,MAAM,WAAW,2BAA2B,CAAC,MAAM,GAAG,GAAG,CAAE,SAAQ,mBAAmB,CAAC,MAAM,CAAC;IAC5F,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,6BAA6B,CAAC,MAAM,GAAG,GAAG,CAAE,SAAQ,mBAAmB,CAAC,MAAM,CAAC;CAAG;AAEnG,OAAO,QAAQ,oBAAoB,CAAC;IAClC,UAAiB,QAAQ;QACvB,OAAO,EAAE,YAAY,CAAC,wBAAwB,EAAE,MAAM,cAAc,CAAC,CAAC;KACvE;CACF;AAED,OAAO,QAAQ,MAAM,CAAC;IACpB,UAAiB,YAAY;QAC3B,OAAO,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;KACpC;IAED,UAAiB,gBAAgB;QAC/B,OAAO,EAAE,KAAK,CAAC;KAChB;CACF"}
@@ -1,4 +1,4 @@
1
- export * from './command.js';
2
- export * from './commandJsx.js';
3
- export * from './performCommand.js';
1
+ export * from './command.ts';
2
+ export * from './commandJsx.ts';
3
+ export * from './performCommand.ts';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1,5 +1,5 @@
1
1
  import type { IJsxRenderContextBase } from 'zova-module-a-openapi';
2
- import type { ICommandRecord, SymbolCommandResult } from './command.js';
2
+ import type { ICommandRecord, SymbolCommandResult } from './command.ts';
3
3
  import 'zova';
4
4
  declare module 'zova' {
5
5
  interface BeanBase {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "zova-module-a-command",
3
- "version": "5.1.34",
4
- "gitHead": "eb85d771ef75776a439e56df3af8be6a3a36c1c2",
3
+ "version": "5.1.36",
4
+ "gitHead": "c27fb3b5f3566b676b7d635e2e26545c6d389ad7",
5
5
  "description": "",
6
6
  "keywords": [
7
7
  "Zova Module"
@@ -1,6 +1,6 @@
1
1
  // eslint-disable
2
2
  /** monkey: begin */
3
- export * from '../monkey.js';
3
+ export * from '../monkey.ts';
4
4
  /** monkey: end */
5
5
  /** scope: begin */
6
6
  import { BeanScopeBase, type BeanScopeUtil } from 'zova';
@@ -1,2 +1,2 @@
1
1
  export const __ThisModule__ = 'a-command';
2
- export { ScopeModuleACommand as ScopeModule } from './index.js';
2
+ export { ScopeModuleACommand as ScopeModule } from './index.ts';
package/src/index.ts CHANGED
@@ -1,3 +1,3 @@
1
- export * from './.metadata/index.js';
2
- export * from './lib/index.js';
3
- export * from './types/index.js';
1
+ export * from './.metadata/index.ts';
2
+ export * from './lib/index.ts';
3
+ export * from './types/index.ts';
@@ -2,7 +2,7 @@ import type { IJsxRenderContextBase, IJsxRenderContextPage } from 'zova-module-a
2
2
 
3
3
  import { BeanBase } from 'zova';
4
4
 
5
- import type { ICommandBulkOptionsBase } from '../types/command.js';
5
+ import type { ICommandBulkOptionsBase } from '../types/command.ts';
6
6
 
7
7
  export class BeanCommandBulkBase extends BeanBase {
8
8
  getResource(options: ICommandBulkOptionsBase, renderContext: IJsxRenderContextBase) {
@@ -5,7 +5,7 @@ import { isNil } from '@cabloy/utils';
5
5
  import { TableIdentity } from 'table-identity';
6
6
  import { BeanBase } from 'zova';
7
7
 
8
- import type { ICommandRowOptionsBase } from '../types/command.js';
8
+ import type { ICommandRowOptionsBase } from '../types/command.ts';
9
9
 
10
10
  export class BeanCommandRowBase extends BeanBase {
11
11
  getResourceAndId(options: ICommandRowOptionsBase, renderContext: IJsxRenderContextBase) {
@@ -0,0 +1,33 @@
1
+ import type { TableIdentity } from 'table-identity';
2
+ import type { IJsxRenderContextBase, IJsxRenderContextPage } from 'zova-module-a-openapi';
3
+
4
+ import { isNil } from '@cabloy/utils';
5
+ import { BeanBase } from 'zova';
6
+
7
+ import type { ICommandSelectedOptionsBase } from '../types/command.ts';
8
+
9
+ export class BeanCommandSelectedBase extends BeanBase {
10
+ getResourceAndIds(
11
+ options: ICommandSelectedOptionsBase,
12
+ renderContext: IJsxRenderContextBase,
13
+ ): { resource: string; ids: readonly TableIdentity[] } {
14
+ let resource: string | undefined = options.resource;
15
+ let ids = options.ids;
16
+ if (renderContext.$scene === 'page') {
17
+ const { $celScope } = renderContext as IJsxRenderContextPage;
18
+ resource = resource ?? $celScope.resource;
19
+ ids = ids ?? $celScope.selection?.ids;
20
+ }
21
+ if (isNil(resource) || !ids || ids.length === 0) {
22
+ throw new Error(`should specify resource and selected ids in scene: ${renderContext.$scene}`);
23
+ }
24
+ const keys = new Set<string>();
25
+ for (const id of ids) {
26
+ if (isNil(id) || id === '') throw new Error('selected row id cannot empty');
27
+ const key = String(id);
28
+ if (keys.has(key)) throw new Error(`duplicate selected row id: ${key}`);
29
+ keys.add(key);
30
+ }
31
+ return { resource, ids };
32
+ }
33
+ }
@@ -2,7 +2,7 @@ import type { PowerPartial } from 'zova';
2
2
 
3
3
  import { createBeanDecorator } from 'zova';
4
4
 
5
- import type { IDecoratorCommandOptions } from '../types/command.js';
5
+ import type { IDecoratorCommandOptions } from '../types/command.ts';
6
6
 
7
7
  export function Command<T extends IDecoratorCommandOptions>(
8
8
  options?: PowerPartial<T>,
package/src/lib/index.ts CHANGED
@@ -1,4 +1,5 @@
1
- export * from './beanCommandBulkBase.js';
2
- export * from './beanCommandRowBase.js';
3
- export * from './command.js';
4
- export * from './performCommand.js';
1
+ export * from './beanCommandBulkBase.ts';
2
+ export * from './beanCommandRowBase.ts';
3
+ export * from './beanCommandSelectedBase.ts';
4
+ export * from './command.ts';
5
+ export * from './performCommand.ts';
@@ -3,7 +3,7 @@ import type { IJsxRenderContextBase } from 'zova-module-a-openapi';
3
3
 
4
4
  import { beanFullNameFromOnionName, deepExtend } from 'zova';
5
5
 
6
- import type { ICommandRecord, SymbolCommandResult } from '../types/command.js';
6
+ import type { ICommandRecord, SymbolCommandResult } from '../types/command.ts';
7
7
 
8
8
  export function $performCommand<T extends keyof ICommandRecord>(
9
9
  sys: ZovaSys,
package/src/monkey.ts CHANGED
@@ -3,9 +3,9 @@ import type { IJsxRenderContextBase } from 'zova-module-a-openapi';
3
3
 
4
4
  import { BeanSimple, cast } from 'zova';
5
5
 
6
- import type { ICommandRecord } from './types/command.js';
6
+ import type { ICommandRecord } from './types/command.ts';
7
7
 
8
- import { $performCommand } from './lib/performCommand.js';
8
+ import { $performCommand } from './lib/performCommand.ts';
9
9
 
10
10
  export class Monkey extends BeanSimple implements IMonkeyBeanInit {
11
11
  async beanInit(bean: BeanContainer, beanInstance: BeanBase) {
@@ -40,6 +40,11 @@ export interface ICommandRowOptionsBase<Result = any> extends ICommandOptionsBas
40
40
  id?: TableIdentity;
41
41
  }
42
42
 
43
+ export interface ICommandSelectedOptionsBase<Result = any> extends ICommandOptionsBase<Result> {
44
+ resource?: string;
45
+ ids?: readonly TableIdentity[];
46
+ }
47
+
43
48
  export interface ICommandDetailsRowOptionsBase<Result = any> extends ICommandOptionsBase<Result> {}
44
49
 
45
50
  declare module 'zova-module-a-bean' {
@@ -1,3 +1,3 @@
1
- export * from './command.js';
2
- export * from './commandJsx.js';
3
- export * from './performCommand.js';
1
+ export * from './command.ts';
2
+ export * from './commandJsx.ts';
3
+ export * from './performCommand.ts';
@@ -1,6 +1,6 @@
1
1
  import type { IJsxRenderContextBase } from 'zova-module-a-openapi';
2
2
 
3
- import type { ICommandRecord, SymbolCommandResult } from './command.js';
3
+ import type { ICommandRecord, SymbolCommandResult } from './command.ts';
4
4
  import 'zova';
5
5
 
6
6
  declare module 'zova' {