@ibiz-template/runtime 0.1.15 → 0.1.16

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.
Files changed (33) hide show
  1. package/dist/index.esm.js +76 -27
  2. package/dist/index.system.min.js +1 -1
  3. package/dist/index.system.min.js.map +1 -1
  4. package/out/command/app/open-app-view/open-app-view.js +1 -1
  5. package/out/controller/control/exp-bar/exp-bar.controller.d.ts.map +1 -1
  6. package/out/controller/control/exp-bar/exp-bar.controller.js +2 -6
  7. package/out/controller/control/grid/grid/grid.controller.d.ts +7 -0
  8. package/out/controller/control/grid/grid/grid.controller.d.ts.map +1 -1
  9. package/out/controller/control/grid/grid/grid.controller.js +24 -0
  10. package/out/controller/control/grid/grid-column/grid-field-column/grid-field-column.controller.d.ts.map +1 -1
  11. package/out/controller/control/grid/grid-column/grid-field-column/grid-field-column.controller.js +14 -9
  12. package/out/engine/md-view.engine.d.ts +10 -1
  13. package/out/engine/md-view.engine.d.ts.map +1 -1
  14. package/out/engine/md-view.engine.js +12 -3
  15. package/out/interface/controller/state/control/i-grid.state.d.ts +14 -0
  16. package/out/interface/controller/state/control/i-grid.state.d.ts.map +1 -1
  17. package/out/interface/service/code-list-item/code-list-item.d.ts +5 -0
  18. package/out/interface/service/code-list-item/code-list-item.d.ts.map +1 -1
  19. package/out/service/service/code-list/code-list.service.d.ts.map +1 -1
  20. package/out/service/service/code-list/code-list.service.js +1 -0
  21. package/out/utils/text-util/text-util.d.ts +12 -3
  22. package/out/utils/text-util/text-util.d.ts.map +1 -1
  23. package/out/utils/text-util/text-util.js +23 -4
  24. package/package.json +2 -2
  25. package/src/command/app/open-app-view/open-app-view.ts +1 -1
  26. package/src/controller/control/exp-bar/exp-bar.controller.ts +2 -6
  27. package/src/controller/control/grid/grid/grid.controller.ts +25 -0
  28. package/src/controller/control/grid/grid-column/grid-field-column/grid-field-column.controller.ts +16 -12
  29. package/src/engine/md-view.engine.ts +14 -3
  30. package/src/interface/controller/state/control/i-grid.state.ts +16 -0
  31. package/src/interface/service/code-list-item/code-list-item.ts +6 -0
  32. package/src/service/service/code-list/code-list.service.ts +1 -0
  33. package/src/utils/text-util/text-util.ts +22 -4
@@ -44,7 +44,7 @@ export class OpenAppViewCommand {
44
44
  case 'INDEXVIEWTAB':
45
45
  if (opts.noWaitRoute) {
46
46
  this.openIndexViewTab(appView, context, params);
47
- return;
47
+ return { ok: true };
48
48
  }
49
49
  return this.openIndexViewTab(appView, context, params);
50
50
  case 'POPUP':
@@ -1 +1 @@
1
- {"version":3,"file":"exp-bar.controller.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/exp-bar/exp-bar.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,OAAO,EAEP,OAAO,EACP,OAAO,EACP,WAAW,EACX,YAAY,EACb,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,wBAAwB,EACxB,oBAAoB,EACpB,kBAAkB,EAClB,SAAS,EACT,SAAS,EACT,WAAW,EACX,0BAA0B,EAC3B,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,KAAK,iBAAiB,GAAG,OAAO,GAAG,OAAO,GAAG,WAAW,CAAC;AAEzD;;;;;;;;;;;;GAYG;AACH,qBAAa,uBAAuB,CAChC,CAAC,SAAS,OAAO,GAAG,OAAO,EAC3B,CAAC,SAAS,mBAAmB,GAAG,mBAAmB,EACnD,CAAC,SAAS,mBAAmB,GAAG,mBAAmB,CAErD,SAAQ,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CACjC,YAAW,wBAAwB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAE5C,SAAS,KAAK,IAAI,IAAI,eAAe,CAAC,mBAAmB,CAAC,CAEzD;IAED;;;;;;;;OAQG;IACH,IAAI,UAAU,IAAI,MAAM,GAAG,SAAS,CAEnC;IAED;;;;;;;OAOG;IACH,SAAS,EAAG,MAAM,CAAC;IAEnB;;;;;;OAMG;IACH,UAAU,SAAY;IAEtB,SAAS,CAAC,SAAS,IAAI,IAAI;IAK3B;;;;;;;OAOG;IACH,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;IAIxB;;;;;;;;OAQG;IACH,IAAI,eAAe,IAAI,oBAAoB,CAS1C;IAED;;;;;;OAMG;IACH,IAAI,iBAAiB,IAAI,kBAAkB,GAAG,SAAS,CAKtD;IAED;;;;;;;;OAQG;IACH,IAAI,UAAU,IAAI,iBAAiB,GAAG,SAAS,CAO9C;IAED;;;;;;;;OAQG;cACa,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IA8B1C;;;;;;;;OAQG;cACa,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IA6B1C;;;;;;OAMG;IACH,gBAAgB,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAaxC;;;;;OAKG;IACH,SAAS,CAAC,kBAAkB,IAAI,IAAI;IAgBpC;;;;;;;OAOG;IACH,SAAS,CAAC,qBAAqB,IAAI,IAAI;IAUvC;;;;;;;OAOG;IACH,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAMnC;;;;;;;;OAQG;IACH,aAAa,CACX,UAAU,EAAE,YAAY,GAAG;QAAE,eAAe,CAAC,EAAE,MAAM,CAAA;KAAE,EACvD,IAAI,EAAE,KAAK,EACX,OAAO,EAAE,QAAQ,EACjB,MAAM,EAAE,OAAO,GACd;QAAE,OAAO,EAAE,QAAQ,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE;IA6BzC;;;;;;;OAOG;IACI,eAAe,IAAI,MAAM,GAAG,SAAS;IAS5C;;;;;;;;OAQG;IACI,aAAa,CAClB,IAAI,EAAE,KAAK,EACX,OAAO,EAAE,QAAQ,EACjB,MAAM,EAAE,OAAO,GACd,WAAW;IAWd;;;;;;OAMG;IACH,SAAS,CAAC,wBAAwB,IAAI,OAAO;IAe7C,cAAc,CAAC,KAAK,EAAE,0BAA0B,GAAG,IAAI;CAaxD"}
1
+ {"version":3,"file":"exp-bar.controller.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/exp-bar/exp-bar.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,OAAO,EAEP,OAAO,EACP,OAAO,EACP,WAAW,EACX,YAAY,EACb,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,wBAAwB,EACxB,oBAAoB,EACpB,kBAAkB,EAClB,SAAS,EACT,SAAS,EACT,WAAW,EACX,0BAA0B,EAC3B,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,KAAK,iBAAiB,GAAG,OAAO,GAAG,OAAO,GAAG,WAAW,CAAC;AAEzD;;;;;;;;;;;;GAYG;AACH,qBAAa,uBAAuB,CAChC,CAAC,SAAS,OAAO,GAAG,OAAO,EAC3B,CAAC,SAAS,mBAAmB,GAAG,mBAAmB,EACnD,CAAC,SAAS,mBAAmB,GAAG,mBAAmB,CAErD,SAAQ,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CACjC,YAAW,wBAAwB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAE5C,SAAS,KAAK,IAAI,IAAI,eAAe,CAAC,mBAAmB,CAAC,CAEzD;IAED;;;;;;;;OAQG;IACH,IAAI,UAAU,IAAI,MAAM,GAAG,SAAS,CAEnC;IAED;;;;;;;OAOG;IACH,SAAS,EAAG,MAAM,CAAC;IAEnB;;;;;;OAMG;IACH,UAAU,SAAY;IAEtB,SAAS,CAAC,SAAS,IAAI,IAAI;IAK3B;;;;;;;OAOG;IACH,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;IAIxB;;;;;;;;OAQG;IACH,IAAI,eAAe,IAAI,oBAAoB,CAS1C;IAED;;;;;;OAMG;IACH,IAAI,iBAAiB,IAAI,kBAAkB,GAAG,SAAS,CAKtD;IAED;;;;;;;;OAQG;IACH,IAAI,UAAU,IAAI,iBAAiB,GAAG,SAAS,CAO9C;IAED;;;;;;;;OAQG;cACa,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IA8B1C;;;;;;;;OAQG;cACa,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAyB1C;;;;;;OAMG;IACH,gBAAgB,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAaxC;;;;;OAKG;IACH,SAAS,CAAC,kBAAkB,IAAI,IAAI;IAgBpC;;;;;;;OAOG;IACH,SAAS,CAAC,qBAAqB,IAAI,IAAI;IAUvC;;;;;;;OAOG;IACH,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAMnC;;;;;;;;OAQG;IACH,aAAa,CACX,UAAU,EAAE,YAAY,GAAG;QAAE,eAAe,CAAC,EAAE,MAAM,CAAA;KAAE,EACvD,IAAI,EAAE,KAAK,EACX,OAAO,EAAE,QAAQ,EACjB,MAAM,EAAE,OAAO,GACd;QAAE,OAAO,EAAE,QAAQ,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE;IA6BzC;;;;;;;OAOG;IACI,eAAe,IAAI,MAAM,GAAG,SAAS;IAS5C;;;;;;;;OAQG;IACI,aAAa,CAClB,IAAI,EAAE,KAAK,EACX,OAAO,EAAE,QAAQ,EACjB,MAAM,EAAE,OAAO,GACd,WAAW;IAWd;;;;;;OAMG;IACH,SAAS,CAAC,wBAAwB,IAAI,OAAO;IAe7C,cAAc,CAAC,KAAK,EAAE,0BAA0B,GAAG,IAAI;CAaxD"}
@@ -150,12 +150,8 @@ export class ExpBarControlController extends ControlController {
150
150
  this.xDataController.evt.on('onLoadSuccess', event => {
151
151
  this.xDataLoadSuccess(event);
152
152
  });
153
- this.xDataController.evt.on('onBeforeLoad', () => {
154
- const searchParams = {};
155
- if (this.state.query) {
156
- searchParams.query = this.state.query;
157
- }
158
- this.xDataController.state.searchParams = searchParams;
153
+ this.xDataController.evt.on('onRemoveSuccess', () => {
154
+ this.defaultNavByFirstItem();
159
155
  });
160
156
  }
161
157
  if (this.toolbarController) {
@@ -211,6 +211,13 @@ export declare class GridController extends MDControlController<IDEGrid, IGridSt
211
211
  * @return {*} {Promise<void>}
212
212
  */
213
213
  protected initColumnStates(): void;
214
+ /**
215
+ * 计算列的固定状态
216
+ * @author lxm
217
+ * @date 2023-08-31 05:12:27
218
+ * @protected
219
+ */
220
+ protected calcColumnFixed(): void;
214
221
  /**
215
222
  * 初始化表格属性列,操作列,编辑项控制器
216
223
  *
@@ -1 +1 @@
1
- {"version":3,"file":"grid.controller.d.ts","sourceRoot":"","sources":["../../../../../src/controller/control/grid/grid/grid.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"grid.controller.d.ts","sourceRoot":"","sources":["../../../../../src/controller/control/grid/grid/grid.controller.ts"],"names":[],"mappings":"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"}
@@ -445,9 +445,33 @@ export class GridController extends MDControlController {
445
445
  key: column.codeName,
446
446
  caption: column.caption,
447
447
  hidden: !!column.hideDefault,
448
+ uaColumn: column.columnType === 'UAGRIDCOLUMN',
448
449
  });
449
450
  }
450
451
  }, { childrenFields: ['degridColumns'] });
452
+ this.calcColumnFixed();
453
+ }
454
+ /**
455
+ * 计算列的固定状态
456
+ * @author lxm
457
+ * @date 2023-08-31 05:12:27
458
+ * @protected
459
+ */
460
+ calcColumnFixed() {
461
+ const showColumns = this.state.columnStates.filter(column => !column.hidden);
462
+ const allNum = showColumns.length;
463
+ const { frozenFirstColumn, frozenLastColumn } = this.model;
464
+ showColumns.forEach((column, index) => {
465
+ if (column.uaColumn) {
466
+ column.fixed = index + 1 <= Math.floor(allNum / 2) ? 'left' : 'right';
467
+ }
468
+ else if (frozenFirstColumn && index < frozenFirstColumn) {
469
+ column.fixed = 'left';
470
+ }
471
+ else if (frozenLastColumn && index >= allNum - frozenLastColumn) {
472
+ column.fixed = 'right';
473
+ }
474
+ });
451
475
  }
452
476
  /**
453
477
  * 初始化表格属性列,操作列,编辑项控制器
@@ -1 +1 @@
1
- {"version":3,"file":"grid-field-column.controller.d.ts","sourceRoot":"","sources":["../../../../../../src/controller/control/grid/grid-column/grid-field-column/grid-field-column.controller.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAIpE,OAAO,EAAE,YAAY,EAAc,MAAM,0BAA0B,CAAC;AAKpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD;;;;;GAKG;AACH,qBAAa,yBAA0B,SAAQ,oBAAoB,CAAC,kBAAkB,CAAC;IACrF;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IAExC;;;;;OAKG;IACH,QAAQ,EAAE,YAAY,GAAG,SAAS,CAAa;IAE/C;;;;;;OAMG;IACH,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED;;;;;;;OAOG;IACH,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED;;;;;;OAMG;IACH,SAAS,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO;IAKrC;;;;;OAKG;IACI,kBAAkB,CACvB,IAAI,EAAE,KAAK,EACX,OAAO,EAAE,QAAQ,EACjB,MAAM,EAAE,OAAO,GACd;QAAE,OAAO,EAAE,QAAQ,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE;IAoBzC;;;;;;;;OAQG;IACG,YAAY,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAuCvE;;;;;;;;OAQG;IACG,aAAa,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAWxE;;;;;;OAMG;IACG,YAAY,IAAI,OAAO,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,GAAG,SAAS,CAAC;IAqBnE;;;;;;;OAOG;IACH,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,MAAM,GAAG,SAAS;IA6DhD;;;;;;OAMG;IACH,WAAW,CAAC,KAAK,GAAE,OAAY,GAAG,MAAM;CAiBzC"}
1
+ {"version":3,"file":"grid-field-column.controller.d.ts","sourceRoot":"","sources":["../../../../../../src/controller/control/grid/grid-column/grid-field-column/grid-field-column.controller.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAIpE,OAAO,EAAE,YAAY,EAAc,MAAM,0BAA0B,CAAC;AAKpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD;;;;;GAKG;AACH,qBAAa,yBAA0B,SAAQ,oBAAoB,CAAC,kBAAkB,CAAC;IACrF;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IAExC;;;;;OAKG;IACH,QAAQ,EAAE,YAAY,GAAG,SAAS,CAAa;IAE/C;;;;;;OAMG;IACH,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED;;;;;;;OAOG;IACH,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED;;;;;;OAMG;IACH,SAAS,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO;IAKrC;;;;;OAKG;IACI,kBAAkB,CACvB,IAAI,EAAE,KAAK,EACX,OAAO,EAAE,QAAQ,EACjB,MAAM,EAAE,OAAO,GACd;QAAE,OAAO,EAAE,QAAQ,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE;IAoBzC;;;;;;;;OAQG;IACG,YAAY,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAuCvE;;;;;;;;OAQG;IACG,aAAa,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAWxE;;;;;;OAMG;IACG,YAAY,IAAI,OAAO,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,GAAG,SAAS,CAAC;IAqBnE;;;;;;;OAOG;IACH,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,MAAM,GAAG,SAAS;IAiEhD;;;;;;OAMG;IACH,WAAW,CAAC,KAAK,GAAE,OAAY,GAAG,MAAM;CAiBzC"}
@@ -165,7 +165,7 @@ export class GridFieldColumnController extends GridColumnController {
165
165
  * @return {*} {(string | undefined)}
166
166
  */
167
167
  calcFieldAgg(items) {
168
- const { aggField, aggMode, aggValueFormat } = this.model;
168
+ const { aggField, aggMode, aggValueFormat, unitName } = this.model;
169
169
  // 无聚合配置的列,返回undefined
170
170
  if (aggMode === 'NONE') {
171
171
  return;
@@ -208,16 +208,21 @@ export class GridFieldColumnController extends GridColumnController {
208
208
  else {
209
209
  throw new ModelError(this.grid.model, `暂未支持聚合模式${this.grid.model.aggMode}`);
210
210
  }
211
- if (!aggValueFormat) {
212
- return `${aggValue}`;
213
- }
211
+ let value = `${aggValue}`;
214
212
  // 聚合值格式化
215
- const formatValue = '';
216
- switch (aggValueFormat) {
217
- default:
218
- throw new ModelError(this.model, `暂未支持${aggValueFormat}的聚合值格式化`);
213
+ if (aggValueFormat) {
214
+ try {
215
+ value = ibiz.util.text.format(`${aggValue}`, aggValueFormat);
216
+ }
217
+ catch (error) {
218
+ ibiz.log.error(`${aggValue} 值格式化错误`);
219
+ }
220
+ }
221
+ // 添加单位
222
+ if (value && unitName) {
223
+ value += unitName;
219
224
  }
220
- return formatValue;
225
+ return value;
221
226
  }
222
227
  /**
223
228
  * 值格式化
@@ -1,6 +1,6 @@
1
1
  import { IAppDEMultiDataView } from '@ibiz/model-core';
2
2
  import { ViewController } from '../controller';
3
- import { IMDViewEvent, IMDViewState, IMDControlController, ISearchFormController, MDCtrlRemoveParams, ISearchBarController, MDCtrlLoadParams } from '../interface';
3
+ import { IMDViewEvent, IMDViewState, IMDControlController, ISearchFormController, MDCtrlRemoveParams, ISearchBarController, MDCtrlLoadParams, EventBase } from '../interface';
4
4
  import { ViewEngineBase } from './view-base.engine';
5
5
  /**
6
6
  * 多数据视图引擎
@@ -44,6 +44,15 @@ export declare class MDViewEngine extends ViewEngineBase {
44
44
  protected get xdataControl(): IMDControlController;
45
45
  onCreated(): Promise<void>;
46
46
  onMounted(): Promise<void>;
47
+ /**
48
+ * 多数据部件激活事件处理
49
+ * @author lxm
50
+ * @date 2023-08-31 02:53:37
51
+ * @protected
52
+ * @param {EventBase} event
53
+ * @return {*} {Promise<void>}
54
+ */
55
+ protected onXDataActive(event: EventBase): Promise<void>;
47
56
  call(key: string, args: any): Promise<IData | null | undefined>;
48
57
  protected getData(): IData[];
49
58
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"md-view.engine.d.ts","sourceRoot":"","sources":["../../src/engine/md-view.engine.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EACjB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD;;;;;;;GAOG;AACH,qBAAa,YAAa,SAAQ,cAAc;IAC9C,UAAkB,IAAI,EAAE,cAAc,CACpC,mBAAmB,EACnB,YAAY,EACZ,YAAY,CACb,CAAC;IAEF;;;;;;OAMG;IACH,IAAI,gBAAgB,IAAI,MAAM,CAE7B;IAED;;;;;OAKG;IACH,SAAS,KAAK,UAAU,IAAI,qBAAqB,CAEhD;IAED;;;;;OAKG;IACH,SAAS,KAAK,SAAS,IAAI,oBAAoB,CAE9C;IAED;;;;;;OAMG;IACH,SAAS,KAAK,YAAY,IAAI,oBAAoB,CAIjD;IAEK,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAM1B,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAyD1B,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC;IAwCrE,SAAS,CAAC,OAAO,IAAI,KAAK,EAAE;IAI5B;;;;;;;;OAQG;cACa,QAAQ,CAAC,IAAI,EAAE;QAC7B,IAAI,EAAE,KAAK,EAAE,CAAC;QACd,KAAK,CAAC,EAAE,UAAU,CAAC;QACnB,OAAO,CAAC,EAAE,QAAQ,CAAC;QACnB,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BjB;;;;;;;;OAQG;cACa,OAAO,CAAC,IAAI,EAAE;QAC5B,IAAI,EAAE,KAAK,EAAE,CAAC;QACd,KAAK,CAAC,EAAE,UAAU,CAAC;QACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BjB;;;;;;OAMG;cACa,MAAM,CAAC,IAAI,CAAC,EAAE,kBAAkB,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5E;;;;;OAKG;cACa,IAAI,CAAC,IAAI,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhE;;;;;OAKG;cACa,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxC;;;;;OAKG;IACH,SAAS,CAAC,eAAe,IAAI,OAAO;IAsCpC;;;;;OAKG;cACa,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3C;;;;;;OAMG;cACa,UAAU,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,UAAU,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAItE;;;;;;OAMG;IACG,IAAI,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,KAAK,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,UAAU,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAItE,SAAS,CAAC,qBAAqB,IAAI,OAAO;IAc1C;;;;;OAKG;IACH,SAAS,CAAC,YAAY,IAAI,IAAI;CAS/B"}
1
+ {"version":3,"file":"md-view.engine.d.ts","sourceRoot":"","sources":["../../src/engine/md-view.engine.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,SAAS,EACV,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD;;;;;;;GAOG;AACH,qBAAa,YAAa,SAAQ,cAAc;IAC9C,UAAkB,IAAI,EAAE,cAAc,CACpC,mBAAmB,EACnB,YAAY,EACZ,YAAY,CACb,CAAC;IAEF;;;;;;OAMG;IACH,IAAI,gBAAgB,IAAI,MAAM,CAE7B;IAED;;;;;OAKG;IACH,SAAS,KAAK,UAAU,IAAI,qBAAqB,CAEhD;IAED;;;;;OAKG;IACH,SAAS,KAAK,SAAS,IAAI,oBAAoB,CAE9C;IAED;;;;;;OAMG;IACH,SAAS,KAAK,YAAY,IAAI,oBAAoB,CAIjD;IAEK,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAM1B,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAsDhC;;;;;;;OAOG;cACa,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAKxD,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC;IAwCrE,SAAS,CAAC,OAAO,IAAI,KAAK,EAAE;IAI5B;;;;;;;;OAQG;cACa,QAAQ,CAAC,IAAI,EAAE;QAC7B,IAAI,EAAE,KAAK,EAAE,CAAC;QACd,KAAK,CAAC,EAAE,UAAU,CAAC;QACnB,OAAO,CAAC,EAAE,QAAQ,CAAC;QACnB,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BjB;;;;;;;;OAQG;cACa,OAAO,CAAC,IAAI,EAAE;QAC5B,IAAI,EAAE,KAAK,EAAE,CAAC;QACd,KAAK,CAAC,EAAE,UAAU,CAAC;QACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BjB;;;;;;OAMG;cACa,MAAM,CAAC,IAAI,CAAC,EAAE,kBAAkB,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5E;;;;;OAKG;cACa,IAAI,CAAC,IAAI,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhE;;;;;OAKG;cACa,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxC;;;;;OAKG;IACH,SAAS,CAAC,eAAe,IAAI,OAAO;IAsCpC;;;;;OAKG;cACa,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3C;;;;;;OAMG;cACa,UAAU,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,UAAU,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAItE;;;;;;OAMG;IACG,IAAI,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,KAAK,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,UAAU,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAItE,SAAS,CAAC,qBAAqB,IAAI,OAAO;IAc1C;;;;;OAKG;IACH,SAAS,CAAC,YAAY,IAAI,IAAI;CAS/B"}
@@ -57,9 +57,7 @@ export class MDViewEngine extends ViewEngineBase {
57
57
  async onMounted() {
58
58
  await super.onMounted();
59
59
  const { model } = this.view;
60
- this.xdataControl.evt.on('onActive', async (event) => {
61
- await this.openData(event);
62
- });
60
+ this.xdataControl.evt.on('onActive', this.onXDataActive.bind(this));
63
61
  this.xdataControl.evt.on('onSelectionChange', async (event) => {
64
62
  var _a;
65
63
  // 更新工具栏状态
@@ -102,6 +100,17 @@ export class MDViewEngine extends ViewEngineBase {
102
100
  this.load();
103
101
  }
104
102
  }
103
+ /**
104
+ * 多数据部件激活事件处理
105
+ * @author lxm
106
+ * @date 2023-08-31 02:53:37
107
+ * @protected
108
+ * @param {EventBase} event
109
+ * @return {*} {Promise<void>}
110
+ */
111
+ async onXDataActive(event) {
112
+ await this.openData(event);
113
+ }
105
114
  // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types
106
115
  async call(key, args) {
107
116
  if (key === SysUIActionTag.TOGGLE_FILTER) {
@@ -137,5 +137,19 @@ export interface IColumnState {
137
137
  * @type {boolean}
138
138
  */
139
139
  hidden: boolean;
140
+ /**
141
+ * 是否是操作列
142
+ * @author lxm
143
+ * @date 2023-08-31 04:54:58
144
+ * @type {boolean}
145
+ */
146
+ uaColumn: boolean;
147
+ /**
148
+ * 是否是固定列,固定在左侧还是右侧
149
+ * @author lxm
150
+ * @date 2023-08-31 04:55:24
151
+ * @type {('left' | 'right')}
152
+ */
153
+ fixed?: 'left' | 'right';
140
154
  }
141
155
  //# sourceMappingURL=i-grid.state.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"i-grid.state.d.ts","sourceRoot":"","sources":["../../../../../src/interface/controller/state/control/i-grid.state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,WAAW,UAAW,SAAQ,eAAe;IACjD;;;;;;OAMG;IACH,IAAI,EAAE,aAAa,EAAE,CAAC;IAEtB;;;;;;OAMG;IACH,YAAY,EAAE,YAAY,EAAE,CAAC;IAE7B;;;;;OAKG;IACH,SAAS,EAAE,KAAK,CAAC;IAEjB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,KAAK,CAAC;IAExB;;;;;OAKG;IACH,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B;;;;;OAKG;IACH,IAAI,EAAE,SAAS,CAAC;IAEhB;;;;;;OAMG;IACH,MAAM,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAEvC;;;;;;OAMG;IACH,WAAW,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,qBAAqB,CAAA;KAAE,CAAC;IAEpD;;;;;;OAMG;IACH,aAAa,EAAE;QACb,CAAC,CAAC,EAAE,MAAM,GAAG;YACX,QAAQ,EAAE,OAAO,CAAC;YAClB,QAAQ,EAAE,OAAO,CAAC;YAClB,QAAQ,EAAE,OAAO,CAAC;YAClB,QAAQ,EAAE,OAAO,CAAC;SACnB,CAAC;KACH,CAAC;IAEF;;;;;;OAMG;IACH,WAAW,EAAE,OAAO,CAAC;IAErB;;;;;;OAMG;IACH,QAAQ,EAAE,OAAO,CAAC;IAElB;;;;;;OAMG;IACH,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;;OAKG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;;;;OAKG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;;;OAKG;IACH,MAAM,EAAE,OAAO,CAAC;CACjB"}
1
+ {"version":3,"file":"i-grid.state.d.ts","sourceRoot":"","sources":["../../../../../src/interface/controller/state/control/i-grid.state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,WAAW,UAAW,SAAQ,eAAe;IACjD;;;;;;OAMG;IACH,IAAI,EAAE,aAAa,EAAE,CAAC;IAEtB;;;;;;OAMG;IACH,YAAY,EAAE,YAAY,EAAE,CAAC;IAE7B;;;;;OAKG;IACH,SAAS,EAAE,KAAK,CAAC;IAEjB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,KAAK,CAAC;IAExB;;;;;OAKG;IACH,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B;;;;;OAKG;IACH,IAAI,EAAE,SAAS,CAAC;IAEhB;;;;;;OAMG;IACH,MAAM,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAEvC;;;;;;OAMG;IACH,WAAW,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,qBAAqB,CAAA;KAAE,CAAC;IAEpD;;;;;;OAMG;IACH,aAAa,EAAE;QACb,CAAC,CAAC,EAAE,MAAM,GAAG;YACX,QAAQ,EAAE,OAAO,CAAC;YAClB,QAAQ,EAAE,OAAO,CAAC;YAClB,QAAQ,EAAE,OAAO,CAAC;YAClB,QAAQ,EAAE,OAAO,CAAC;SACnB,CAAC;KACH,CAAC;IAEF;;;;;;OAMG;IACH,WAAW,EAAE,OAAO,CAAC;IAErB;;;;;;OAMG;IACH,QAAQ,EAAE,OAAO,CAAC;IAElB;;;;;;OAMG;IACH,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;;OAKG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;;;;OAKG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;;;OAKG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;;;;OAKG;IACH,QAAQ,EAAE,OAAO,CAAC;IAElB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B"}
@@ -32,5 +32,10 @@ export interface CodeListItem {
32
32
  * @type {CodeListItem[]}
33
33
  */
34
34
  children?: CodeListItem[];
35
+ /**
36
+ * 文本样式
37
+ * @type {string}
38
+ */
39
+ textCls?: string;
35
40
  }
36
41
  //# sourceMappingURL=code-list-item.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"code-list-item.d.ts","sourceRoot":"","sources":["../../../../src/interface/service/code-list-item/code-list-item.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAEvB;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;CAC3B"}
1
+ {"version":3,"file":"code-list-item.d.ts","sourceRoot":"","sources":["../../../../src/interface/service/code-list-item/code-list-item.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAEvB;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAE1B;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB"}
@@ -1 +1 @@
1
- {"version":3,"file":"code-list.service.d.ts","sourceRoot":"","sources":["../../../../src/service/service/code-list/code-list.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnD;;;;;;;GAOG;AACH,qBAAa,eAAe;IAoBd,SAAS,CAAC,QAAQ,EAAE,YAAY;IAnB5C;;;;;OAKG;IACH,SAAS,CAAC,YAAY,4BAAmC;IAEzD;;;;;;;OAOG;IACH,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,GAAG,oBAAoB,CAAC,CAChE;gBAEU,QAAQ,EAAE,YAAY;IAE5C;;;;;;;OAOG;IACH,SAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,YAAY,GAAG,YAAY,EAAE;IAc3D;;;;;;;;OAQG;IACH,WAAW,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAMzC;;;;;;;;OAQG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAIlD;;;;;;;;;OASG;IACH,SAAS,CAAC,iBAAiB,CACzB,SAAS,EAAE,SAAS,EAAE,EACtB,aAAa,EAAE,OAAO,GACrB,QAAQ,CAAC,YAAY,CAAC,EAAE;IAuB3B;;;;;;;;OAQG;cACa,kBAAkB,CAChC,QAAQ,EAAE,YAAY,EACtB,OAAO,GAAE,OAAY,EACrB,MAAM,GAAE,OAAY,GACnB,OAAO,CAAC,YAAY,EAAE,CAAC;IAa1B;;;;;;;;;OASG;IACG,GAAG,CACP,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,OAAO,EACjB,MAAM,CAAC,EAAE,OAAO,GACf,OAAO,CAAC,SAAS,YAAY,EAAE,CAAC;CAcpC"}
1
+ {"version":3,"file":"code-list.service.d.ts","sourceRoot":"","sources":["../../../../src/service/service/code-list/code-list.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnD;;;;;;;GAOG;AACH,qBAAa,eAAe;IAoBd,SAAS,CAAC,QAAQ,EAAE,YAAY;IAnB5C;;;;;OAKG;IACH,SAAS,CAAC,YAAY,4BAAmC;IAEzD;;;;;;;OAOG;IACH,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,GAAG,oBAAoB,CAAC,CAChE;gBAEU,QAAQ,EAAE,YAAY;IAE5C;;;;;;;OAOG;IACH,SAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,YAAY,GAAG,YAAY,EAAE;IAc3D;;;;;;;;OAQG;IACH,WAAW,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAMzC;;;;;;;;OAQG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAIlD;;;;;;;;;OASG;IACH,SAAS,CAAC,iBAAiB,CACzB,SAAS,EAAE,SAAS,EAAE,EACtB,aAAa,EAAE,OAAO,GACrB,QAAQ,CAAC,YAAY,CAAC,EAAE;IAwB3B;;;;;;;;OAQG;cACa,kBAAkB,CAChC,QAAQ,EAAE,YAAY,EACtB,OAAO,GAAE,OAAY,EACrB,MAAM,GAAE,OAAY,GACnB,OAAO,CAAC,YAAY,EAAE,CAAC;IAa1B;;;;;;;;;OASG;IACG,GAAG,CACP,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,OAAO,EACjB,MAAM,CAAC,EAAE,OAAO,GACf,OAAO,CAAC,SAAS,YAAY,EAAE,CAAC;CAcpC"}
@@ -98,6 +98,7 @@ export class CodeListService {
98
98
  value: isValueNumber ? Number(codeItem.value) : codeItem.value,
99
99
  color: codeItem.color,
100
100
  id: codeItem.codeName,
101
+ textCls: codeItem.textCls,
101
102
  };
102
103
  if ((_a = codeItem.codeItems) === null || _a === void 0 ? void 0 : _a.length) {
103
104
  _codeItem.children = this.formatStaticItems(codeItem.codeItems, isValueNumber);
@@ -7,6 +7,15 @@
7
7
  * @class TextUtil
8
8
  */
9
9
  export declare class TextUtil {
10
+ /**
11
+ * input元素,用于存储拷贝的文本
12
+ *
13
+ * @author zhanghengfeng
14
+ * @date 2023-08-31 20:08:06
15
+ * @private
16
+ * @type {(HTMLInputElement | null)}
17
+ */
18
+ private inputElement;
10
19
  /**
11
20
  * 值格式化
12
21
  *
@@ -21,10 +30,10 @@ export declare class TextUtil {
21
30
  * 拷贝文本
22
31
  *
23
32
  * @author zhanghengfeng
24
- * @date 2023-08-28 14:08:57
33
+ * @date 2023-08-31 11:08:51
25
34
  * @param {string} value
26
- * @return {*} {Promise<void>}
35
+ * @return {*} {boolean}
27
36
  */
28
- copy(value: string): Promise<void>;
37
+ copy(value: string): boolean;
29
38
  }
30
39
  //# sourceMappingURL=text-util.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"text-util.d.ts","sourceRoot":"","sources":["../../../src/utils/text-util/text-util.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,qBAAa,QAAQ;IACnB;;;;;;;;OAQG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAI5C;;;;;;;OAOG;IACG,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGzC"}
1
+ {"version":3,"file":"text-util.d.ts","sourceRoot":"","sources":["../../../src/utils/text-util/text-util.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,qBAAa,QAAQ;IACnB;;;;;;;OAOG;IACH,OAAO,CAAC,YAAY,CAAiC;IAErD;;;;;;;;OAQG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAI5C;;;;;;;OAOG;IACH,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;CAW7B"}
@@ -7,6 +7,17 @@
7
7
  * @class TextUtil
8
8
  */
9
9
  export class TextUtil {
10
+ constructor() {
11
+ /**
12
+ * input元素,用于存储拷贝的文本
13
+ *
14
+ * @author zhanghengfeng
15
+ * @date 2023-08-31 20:08:06
16
+ * @private
17
+ * @type {(HTMLInputElement | null)}
18
+ */
19
+ this.inputElement = null;
20
+ }
10
21
  /**
11
22
  * 值格式化
12
23
  *
@@ -23,11 +34,19 @@ export class TextUtil {
23
34
  * 拷贝文本
24
35
  *
25
36
  * @author zhanghengfeng
26
- * @date 2023-08-28 14:08:57
37
+ * @date 2023-08-31 11:08:51
27
38
  * @param {string} value
28
- * @return {*} {Promise<void>}
39
+ * @return {*} {boolean}
29
40
  */
30
- async copy(value) {
31
- return navigator.clipboard.writeText(value);
41
+ copy(value) {
42
+ if (!this.inputElement) {
43
+ this.inputElement = document.createElement('input');
44
+ this.inputElement.style.position = 'absolute';
45
+ this.inputElement.style.left = '-9999px';
46
+ document.body.appendChild(this.inputElement);
47
+ }
48
+ this.inputElement.value = value;
49
+ this.inputElement.select();
50
+ return document.execCommand('copy');
32
51
  }
33
52
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ibiz-template/runtime",
3
- "version": "0.1.15",
3
+ "version": "0.1.16",
4
4
  "description": "控制器包",
5
5
  "type": "module",
6
6
  "main": "out/index.js",
@@ -57,5 +57,5 @@
57
57
  "qx-util": "^0.4.8",
58
58
  "ramda": "^0.29.0"
59
59
  },
60
- "gitHead": "7410b8ff7fb415b221b9eab24fd0e4f2ce1f16c6"
60
+ "gitHead": "f81037350c49620b4172e520bc4b156d97e9d718"
61
61
  }
@@ -62,7 +62,7 @@ export class OpenAppViewCommand {
62
62
  case 'INDEXVIEWTAB':
63
63
  if (opts.noWaitRoute) {
64
64
  this.openIndexViewTab(appView, context, params);
65
- return;
65
+ return { ok: true };
66
66
  }
67
67
  return this.openIndexViewTab(appView, context, params);
68
68
  case 'POPUP':
@@ -209,12 +209,8 @@ export class ExpBarControlController<
209
209
  this.xDataController.evt.on('onLoadSuccess', event => {
210
210
  this.xDataLoadSuccess(event);
211
211
  });
212
- this.xDataController.evt.on('onBeforeLoad', () => {
213
- const searchParams: IParams = {};
214
- if (this.state.query) {
215
- searchParams.query = this.state.query;
216
- }
217
- this.xDataController.state.searchParams = searchParams;
212
+ this.xDataController.evt.on('onRemoveSuccess', () => {
213
+ this.defaultNavByFirstItem();
218
214
  });
219
215
  }
220
216
 
@@ -567,11 +567,36 @@ export class GridController
567
567
  key: column.codeName!,
568
568
  caption: column.caption!,
569
569
  hidden: !!column.hideDefault,
570
+ uaColumn: column.columnType === 'UAGRIDCOLUMN',
570
571
  });
571
572
  }
572
573
  },
573
574
  { childrenFields: ['degridColumns'] },
574
575
  );
576
+ this.calcColumnFixed();
577
+ }
578
+
579
+ /**
580
+ * 计算列的固定状态
581
+ * @author lxm
582
+ * @date 2023-08-31 05:12:27
583
+ * @protected
584
+ */
585
+ protected calcColumnFixed(): void {
586
+ const showColumns = this.state.columnStates.filter(
587
+ column => !column.hidden,
588
+ );
589
+ const allNum = showColumns.length;
590
+ const { frozenFirstColumn, frozenLastColumn } = this.model;
591
+ showColumns.forEach((column, index) => {
592
+ if (column.uaColumn) {
593
+ column.fixed = index + 1 <= Math.floor(allNum / 2) ? 'left' : 'right';
594
+ } else if (frozenFirstColumn && index < frozenFirstColumn) {
595
+ column.fixed = 'left';
596
+ } else if (frozenLastColumn && index >= allNum - frozenLastColumn) {
597
+ column.fixed = 'right';
598
+ }
599
+ });
575
600
  }
576
601
 
577
602
  /**
@@ -206,7 +206,7 @@ export class GridFieldColumnController extends GridColumnController<IDEGridField
206
206
  * @return {*} {(string | undefined)}
207
207
  */
208
208
  calcFieldAgg(items: IData[]): string | undefined {
209
- const { aggField, aggMode, aggValueFormat } = this.model;
209
+ const { aggField, aggMode, aggValueFormat, unitName } = this.model;
210
210
  // 无聚合配置的列,返回undefined
211
211
  if (aggMode === 'NONE') {
212
212
  return;
@@ -250,20 +250,24 @@ export class GridFieldColumnController extends GridColumnController<IDEGridField
250
250
  `暂未支持聚合模式${this.grid.model.aggMode}`,
251
251
  );
252
252
  }
253
- if (!aggValueFormat) {
254
- return `${aggValue}`;
255
- }
253
+
254
+ let value = `${aggValue}`;
256
255
 
257
256
  // 聚合值格式化
258
- const formatValue: string = '';
259
- switch (aggValueFormat) {
260
- default:
261
- throw new ModelError(
262
- this.model,
263
- `暂未支持${aggValueFormat}的聚合值格式化`,
264
- );
257
+ if (aggValueFormat) {
258
+ try {
259
+ value = ibiz.util.text.format(`${aggValue}`, aggValueFormat);
260
+ } catch (error) {
261
+ ibiz.log.error(`${aggValue} 值格式化错误`);
262
+ }
265
263
  }
266
- return formatValue;
264
+
265
+ // 添加单位
266
+ if (value && unitName) {
267
+ value += unitName;
268
+ }
269
+
270
+ return value;
267
271
  }
268
272
 
269
273
  /**
@@ -10,6 +10,7 @@ import {
10
10
  MDCtrlRemoveParams,
11
11
  ISearchBarController,
12
12
  MDCtrlLoadParams,
13
+ EventBase,
13
14
  } from '../interface';
14
15
  import { calcDeCodeNameById } from '../model';
15
16
  import { ViewEngineBase } from './view-base.engine';
@@ -82,9 +83,7 @@ export class MDViewEngine extends ViewEngineBase {
82
83
  async onMounted(): Promise<void> {
83
84
  await super.onMounted();
84
85
  const { model } = this.view;
85
- this.xdataControl.evt.on('onActive', async event => {
86
- await this.openData(event);
87
- });
86
+ this.xdataControl.evt.on('onActive', this.onXDataActive.bind(this));
88
87
  this.xdataControl.evt.on('onSelectionChange', async event => {
89
88
  // 更新工具栏状态
90
89
  this.toolbar?.calcButtonState(
@@ -135,6 +134,18 @@ export class MDViewEngine extends ViewEngineBase {
135
134
  }
136
135
  }
137
136
 
137
+ /**
138
+ * 多数据部件激活事件处理
139
+ * @author lxm
140
+ * @date 2023-08-31 02:53:37
141
+ * @protected
142
+ * @param {EventBase} event
143
+ * @return {*} {Promise<void>}
144
+ */
145
+ protected async onXDataActive(event: EventBase): Promise<void> {
146
+ await this.openData(event);
147
+ }
148
+
138
149
  // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types
139
150
  async call(key: string, args: any): Promise<IData | null | undefined> {
140
151
  if (key === SysUIActionTag.TOGGLE_FILTER) {
@@ -148,4 +148,20 @@ export interface IColumnState {
148
148
  * @type {boolean}
149
149
  */
150
150
  hidden: boolean;
151
+
152
+ /**
153
+ * 是否是操作列
154
+ * @author lxm
155
+ * @date 2023-08-31 04:54:58
156
+ * @type {boolean}
157
+ */
158
+ uaColumn: boolean;
159
+
160
+ /**
161
+ * 是否是固定列,固定在左侧还是右侧
162
+ * @author lxm
163
+ * @date 2023-08-31 04:55:24
164
+ * @type {('left' | 'right')}
165
+ */
166
+ fixed?: 'left' | 'right';
151
167
  }
@@ -36,4 +36,10 @@ export interface CodeListItem {
36
36
  * @type {CodeListItem[]}
37
37
  */
38
38
  children?: CodeListItem[];
39
+
40
+ /**
41
+ * 文本样式
42
+ * @type {string}
43
+ */
44
+ textCls?: string;
39
45
  }
@@ -108,6 +108,7 @@ export class CodeListService {
108
108
  value: isValueNumber ? Number(codeItem.value) : codeItem.value!,
109
109
  color: codeItem.color,
110
110
  id: codeItem.codeName!,
111
+ textCls: codeItem.textCls,
111
112
  };
112
113
  if (codeItem.codeItems?.length) {
113
114
  _codeItem.children = this.formatStaticItems(
@@ -7,6 +7,16 @@
7
7
  * @class TextUtil
8
8
  */
9
9
  export class TextUtil {
10
+ /**
11
+ * input元素,用于存储拷贝的文本
12
+ *
13
+ * @author zhanghengfeng
14
+ * @date 2023-08-31 20:08:06
15
+ * @private
16
+ * @type {(HTMLInputElement | null)}
17
+ */
18
+ private inputElement: HTMLInputElement | null = null;
19
+
10
20
  /**
11
21
  * 值格式化
12
22
  *
@@ -24,11 +34,19 @@ export class TextUtil {
24
34
  * 拷贝文本
25
35
  *
26
36
  * @author zhanghengfeng
27
- * @date 2023-08-28 14:08:57
37
+ * @date 2023-08-31 11:08:51
28
38
  * @param {string} value
29
- * @return {*} {Promise<void>}
39
+ * @return {*} {boolean}
30
40
  */
31
- async copy(value: string): Promise<void> {
32
- return navigator.clipboard.writeText(value);
41
+ copy(value: string): boolean {
42
+ if (!this.inputElement) {
43
+ this.inputElement = document.createElement('input');
44
+ this.inputElement.style.position = 'absolute';
45
+ this.inputElement.style.left = '-9999px';
46
+ document.body.appendChild(this.inputElement);
47
+ }
48
+ this.inputElement.value = value;
49
+ this.inputElement.select();
50
+ return document.execCommand('copy');
33
51
  }
34
52
  }