@ibiz-template/runtime 0.1.26 → 0.1.28

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 (103) hide show
  1. package/dist/index.esm.js +654 -355
  2. package/dist/index.system.min.js +1 -1
  3. package/dist/index.system.min.js.map +1 -1
  4. package/out/controller/common/control/md-control.controller.d.ts +1 -0
  5. package/out/controller/common/control/md-control.controller.d.ts.map +1 -1
  6. package/out/controller/common/control/md-control.controller.js +7 -0
  7. package/out/controller/control/data-view/data-view.controller.d.ts +42 -1
  8. package/out/controller/control/data-view/data-view.controller.d.ts.map +1 -1
  9. package/out/controller/control/data-view/data-view.controller.js +131 -4
  10. package/out/controller/control/exp-bar/exp-bar.controller.d.ts.map +1 -1
  11. package/out/controller/control/exp-bar/exp-bar.controller.js +4 -1
  12. package/out/controller/control/form/edit-form/edit-form.controller.d.ts +1 -0
  13. package/out/controller/control/form/edit-form/edit-form.controller.d.ts.map +1 -1
  14. package/out/controller/control/form/edit-form/edit-form.controller.js +7 -0
  15. package/out/controller/control/form/form-detail/form-item/form-item.controller.d.ts.map +1 -1
  16. package/out/controller/control/form/form-detail/form-item/form-item.controller.js +10 -68
  17. package/out/controller/control/form/search-form/search-form.controller.d.ts +1 -0
  18. package/out/controller/control/form/search-form/search-form.controller.d.ts.map +1 -1
  19. package/out/controller/control/form/search-form/search-form.controller.js +7 -0
  20. package/out/controller/control/grid/grid/grid-row.state.d.ts +1 -0
  21. package/out/controller/control/grid/grid/grid-row.state.d.ts.map +1 -1
  22. package/out/controller/control/grid/grid/grid.controller.d.ts +10 -0
  23. package/out/controller/control/grid/grid/grid.controller.d.ts.map +1 -1
  24. package/out/controller/control/grid/grid/grid.controller.js +61 -17
  25. package/out/controller/control/kanban/kanban.controller.d.ts +1 -34
  26. package/out/controller/control/kanban/kanban.controller.d.ts.map +1 -1
  27. package/out/controller/control/kanban/kanban.controller.js +0 -83
  28. package/out/controller/control/panel/panel/panel-item.controller.d.ts +34 -2
  29. package/out/controller/control/panel/panel/panel-item.controller.d.ts.map +1 -1
  30. package/out/controller/control/panel/panel/panel-item.controller.js +84 -5
  31. package/out/controller/control/panel/panel/panel.controller.d.ts +2 -1
  32. package/out/controller/control/panel/panel/panel.controller.d.ts.map +1 -1
  33. package/out/controller/control/panel/panel/panel.controller.js +11 -1
  34. package/out/controller/control/tab-exp-panel/tab-exp-panel.controller.d.ts +20 -0
  35. package/out/controller/control/tab-exp-panel/tab-exp-panel.controller.d.ts.map +1 -1
  36. package/out/controller/control/tab-exp-panel/tab-exp-panel.controller.js +45 -0
  37. package/out/controller/control/toolbar/toolbar.controllerr.d.ts.map +1 -1
  38. package/out/controller/control/toolbar/toolbar.controllerr.js +33 -21
  39. package/out/controller/utils/index.d.ts +1 -0
  40. package/out/controller/utils/index.d.ts.map +1 -1
  41. package/out/controller/utils/index.js +1 -0
  42. package/out/controller/utils/value-default/value-default.d.ts +37 -0
  43. package/out/controller/utils/value-default/value-default.d.ts.map +1 -0
  44. package/out/controller/utils/value-default/value-default.js +65 -0
  45. package/out/de-logic/de-logic-node/end-node/end-node.d.ts.map +1 -1
  46. package/out/de-logic/de-logic-node/end-node/end-node.js +4 -0
  47. package/out/engine/md-view.engine.d.ts.map +1 -1
  48. package/out/engine/md-view.engine.js +7 -0
  49. package/out/interface/controller/controller/control/panel-item/i-panel-item.controller.d.ts +2 -2
  50. package/out/interface/controller/controller/control/panel-item/i-panel-item.controller.d.ts.map +1 -1
  51. package/out/interface/controller/state/control/i-control.state.d.ts +7 -0
  52. package/out/interface/controller/state/control/i-control.state.d.ts.map +1 -1
  53. package/out/interface/controller/state/control/i-data-view-control.state.d.ts +8 -0
  54. package/out/interface/controller/state/control/i-data-view-control.state.d.ts.map +1 -1
  55. package/out/interface/controller/state/control/i-grid.state.d.ts +7 -0
  56. package/out/interface/controller/state/control/i-grid.state.d.ts.map +1 -1
  57. package/out/interface/controller/state/control/i-kanban.state.d.ts +0 -8
  58. package/out/interface/controller/state/control/i-kanban.state.d.ts.map +1 -1
  59. package/out/interface/controller/state/control/i-md-control.state.d.ts +14 -0
  60. package/out/interface/controller/state/control/i-md-control.state.d.ts.map +1 -1
  61. package/out/interface/controller/state/control/i-tab-exp-panel.state.d.ts +8 -0
  62. package/out/interface/controller/state/control/i-tab-exp-panel.state.d.ts.map +1 -1
  63. package/out/logic-scheduler/trigger/item-dyna-logic-trigger.d.ts.map +1 -1
  64. package/out/logic-scheduler/trigger/item-dyna-logic-trigger.js +4 -1
  65. package/out/model/layout/layout.d.ts.map +1 -1
  66. package/out/model/layout/layout.js +17 -1
  67. package/out/service/service/entity/method/method.d.ts.map +1 -1
  68. package/out/service/service/entity/method/method.js +2 -2
  69. package/out/service/utils/dynamic-code-list/dynamic-code-list.js +4 -4
  70. package/out/ui-logic/ui-logic-node/end-node/end-node.d.ts.map +1 -1
  71. package/out/ui-logic/ui-logic-node/end-node/end-node.js +4 -0
  72. package/out/utils/wf-helper/wf-helper.js +2 -2
  73. package/package.json +5 -5
  74. package/src/controller/common/control/md-control.controller.ts +9 -0
  75. package/src/controller/control/data-view/data-view.controller.ts +152 -4
  76. package/src/controller/control/exp-bar/exp-bar.controller.ts +5 -1
  77. package/src/controller/control/form/edit-form/edit-form.controller.ts +9 -0
  78. package/src/controller/control/form/form-detail/form-item/form-item.controller.ts +13 -67
  79. package/src/controller/control/form/search-form/search-form.controller.ts +9 -0
  80. package/src/controller/control/grid/grid/grid-row.state.ts +2 -0
  81. package/src/controller/control/grid/grid/grid.controller.ts +69 -18
  82. package/src/controller/control/kanban/kanban.controller.ts +1 -98
  83. package/src/controller/control/panel/panel/panel-item.controller.ts +105 -5
  84. package/src/controller/control/panel/panel/panel.controller.ts +17 -1
  85. package/src/controller/control/tab-exp-panel/tab-exp-panel.controller.ts +45 -0
  86. package/src/controller/control/toolbar/toolbar.controllerr.ts +40 -24
  87. package/src/controller/utils/index.ts +1 -0
  88. package/src/controller/utils/value-default/value-default.ts +110 -0
  89. package/src/de-logic/de-logic-node/end-node/end-node.ts +6 -0
  90. package/src/engine/md-view.engine.ts +8 -0
  91. package/src/interface/controller/controller/control/panel-item/i-panel-item.controller.ts +2 -2
  92. package/src/interface/controller/state/control/i-control.state.ts +8 -0
  93. package/src/interface/controller/state/control/i-data-view-control.state.ts +10 -1
  94. package/src/interface/controller/state/control/i-grid.state.ts +8 -0
  95. package/src/interface/controller/state/control/i-kanban.state.ts +0 -9
  96. package/src/interface/controller/state/control/i-md-control.state.ts +16 -0
  97. package/src/interface/controller/state/control/i-tab-exp-panel.state.ts +9 -0
  98. package/src/logic-scheduler/trigger/item-dyna-logic-trigger.ts +5 -1
  99. package/src/model/layout/layout.ts +16 -2
  100. package/src/service/service/entity/method/method.ts +5 -2
  101. package/src/service/utils/dynamic-code-list/dynamic-code-list.ts +4 -4
  102. package/src/ui-logic/ui-logic-node/end-node/end-node.ts +6 -0
  103. package/src/utils/wf-helper/wf-helper.ts +2 -2
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable no-param-reassign */
2
- import { awaitTimeout, debounceAndAsyncMerge, recursiveIterate, RuntimeError, RuntimeModelError, } from '@ibiz-template/core';
2
+ import { awaitTimeout, debounceAndAsyncMerge, mergeDefaultInLeft, recursiveIterate, RuntimeError, RuntimeModelError, } from '@ibiz-template/core';
3
3
  import { clone } from 'ramda';
4
4
  import { GridRowState } from './grid-row.state';
5
5
  import { GridService } from './grid.service';
@@ -8,7 +8,7 @@ import { getGridColumnProvider } from '../../../../register';
8
8
  import { Srfuf } from '../../../../service';
9
9
  import { MDControlController } from '../../../common';
10
10
  import { GridNotifyState } from '../../../constant';
11
- import { isValueChange } from '../../../utils';
11
+ import { getDefaultValue, isValueChange } from '../../../utils';
12
12
  import { ScriptFactory } from '../../../../utils';
13
13
  /**
14
14
  * 表格控制器
@@ -324,9 +324,12 @@ export class GridController extends MDControlController {
324
324
  if (editingRow) {
325
325
  throw new RuntimeError('请先完成当前行编辑中的行的操作');
326
326
  }
327
+ const queryParams = Object.assign({}, this.params);
328
+ const defaultData = this.calcDefaultValue({}, true); // 新建默认值
329
+ Object.assign(queryParams, defaultData);
327
330
  let res;
328
331
  try {
329
- res = await this.service.getDraft(this.context, this.params);
332
+ res = await this.service.getDraft(this.context, queryParams);
330
333
  }
331
334
  catch (error) {
332
335
  this.actionNotification('GETDRAFTERROR', {
@@ -334,13 +337,16 @@ export class GridController extends MDControlController {
334
337
  });
335
338
  throw error;
336
339
  }
340
+ const draftData = res.data;
341
+ // 处理后台导致的新建默认值丢失
342
+ mergeDefaultInLeft(draftData, defaultData);
337
343
  // 加载完后续处理
338
- this.state.items.unshift(res.data);
339
- const newRow = new GridRowState(res.data, this);
344
+ this.state.items.unshift(draftData);
345
+ const newRow = new GridRowState(draftData, this);
340
346
  this.state.rows.unshift(newRow);
341
347
  this.gridStateNotify(newRow, GridNotifyState.DRAFT);
342
348
  this.switchRowEdit(this.state.rows[0], true);
343
- this.actionNotification('GETDRAFTSUCCESS', { data: res.data });
349
+ this.actionNotification('GETDRAFTSUCCESS', { data: draftData });
344
350
  }
345
351
  /**
346
352
  * 保存
@@ -606,26 +612,37 @@ export class GridController extends MDControlController {
606
612
  return;
607
613
  }
608
614
  if (toState === false) {
609
- // 校验并保存
615
+ // * 处理关闭行编辑
610
616
  if (isSave) {
617
+ // 校验并保存
611
618
  await this.save(row.data);
612
619
  }
613
- else {
614
- // eslint-disable-next-line no-lonely-if
615
- if (row.data.srfuf === Srfuf.CREATE) {
616
- row.showRowEdit = false;
617
- this.evt.emit('onRowEditChange', { row });
618
- return this.remove({ data: [row.data], silent: true });
619
- }
620
- // todo 不保存的时候还原已经修改的数据
620
+ else if (row.data.srfuf === Srfuf.CREATE) {
621
+ // 新建的行取消时删除这一行的数据
622
+ row.showRowEdit = false;
623
+ this.evt.emit('onRowEditChange', { row });
624
+ return this.remove({ data: [row.data], silent: true });
625
+ }
626
+ else if (row.cacheData) {
627
+ // 取消的时候,还原编辑前的数据
628
+ row.data = row.cacheData;
629
+ delete row.cacheData;
621
630
  }
622
631
  }
623
- // 如果已经有一行处于行编辑了,不开起另一行。
624
- if (toState === true) {
632
+ else {
633
+ // * 处理显示行编辑
634
+ // 如果已经有一行处于行编辑了,不开起另一行。
625
635
  const editingRow = this.state.rows.find(item => item.showRowEdit);
626
636
  if (editingRow) {
627
637
  throw new RuntimeError('同时只能有一行开启行编辑');
628
638
  }
639
+ if (row.data.srfuf === Srfuf.UPDATE) {
640
+ // 打开时先缓存一下
641
+ row.cacheData = clone(row.data);
642
+ // 填充更新默认值
643
+ const defaultVal = this.calcDefaultValue(row.data, false);
644
+ Object.assign(row.data, defaultVal);
645
+ }
629
646
  }
630
647
  // 修改行的编辑状态和编辑列的编辑状态。
631
648
  row.showRowEdit = toState;
@@ -809,4 +826,31 @@ export class GridController extends MDControlController {
809
826
  autoWidth: true, // 单元格是否自适应
810
827
  });
811
828
  }
829
+ /**
830
+ * 计算默认值并返回一个对象,对象里的属性就是要填充的默认值
831
+ * 没有的属性就是不需要填充默认值的属性
832
+ * @author lxm
833
+ * @date 2023-09-18 04:01:06
834
+ * @param {IData} data
835
+ * @param {boolean} isCreate
836
+ * @return {*} {IData}
837
+ */
838
+ calcDefaultValue(data, isCreate) {
839
+ const result = {};
840
+ Object.values(this.editColumns).forEach(c => {
841
+ const { createDV, createDVT, updateDV, updateDVT } = c.editItem;
842
+ const valueType = isCreate ? createDVT : updateDVT;
843
+ const defaultValue = isCreate ? createDV : updateDV;
844
+ const defaultVal = getDefaultValue({
845
+ name: c.fieldName,
846
+ valueType,
847
+ defaultValue,
848
+ valueFormat: c.valueFormat,
849
+ }, { data, context: this.context, params: this.params });
850
+ if (defaultVal !== undefined) {
851
+ result[c.fieldName] = defaultVal;
852
+ }
853
+ });
854
+ return result;
855
+ }
812
856
  }
@@ -1,4 +1,4 @@
1
- import { IDEKanban, IUIActionGroupDetail } from '@ibiz/model-core';
1
+ import { IDEKanban } from '@ibiz/model-core';
2
2
  import { IDragChangeInfo, IKanbanController, IKanbanEvent, IKanbanState, MDCtrlLoadParams } from '../../../interface';
3
3
  import { ControlVO } from '../../../service';
4
4
  import { DataViewControlController } from '../data-view';
@@ -27,14 +27,6 @@ export declare class KanbanController extends DataViewControlController<IDEKanba
27
27
  * @type {boolean}
28
28
  */
29
29
  get enableEditGroup(): boolean;
30
- /**
31
- * 是否允许新建
32
- * @author lxm
33
- * @date 2023-09-11 04:05:25
34
- * @readonly
35
- * @type {boolean}
36
- */
37
- get enableNew(): boolean;
38
30
  protected initControlService(): Promise<void>;
39
31
  protected initState(): void;
40
32
  /**
@@ -45,14 +37,6 @@ export declare class KanbanController extends DataViewControlController<IDEKanba
45
37
  * @memberof KanbanController
46
38
  */
47
39
  protected onCreated(): Promise<void>;
48
- /**
49
- * 初始化分组右侧界面行为按钮的状态
50
- *
51
- * @author chitanda
52
- * @date 2023-08-02 17:08:04
53
- * @return {*} {Promise<void>}
54
- */
55
- initGroupActionStates(): Promise<void>;
56
40
  /**
57
41
  * 本地排序items
58
42
  * @author lxm
@@ -78,22 +62,5 @@ export declare class KanbanController extends DataViewControlController<IDEKanba
78
62
  * @return {*} {Promise<void>}
79
63
  */
80
64
  updateChangedItems(changedItems: ControlVO[]): Promise<void>;
81
- /**
82
- * 点击新建
83
- * @author lxm
84
- * @date 2023-09-11 07:22:33
85
- * @param {MouseEvent} event
86
- * @param {(string | number)} group 分组标识
87
- */
88
- onClickNew(event: MouseEvent, group: string | number): void;
89
- /**
90
- * 分组工具栏点击处理回调
91
- * @author lxm
92
- * @date 2023-09-11 04:48:06
93
- * @param {IUIActionGroupDetail} detail
94
- * @param {MouseEvent} event
95
- * @return {*} {Promise<void>}
96
- */
97
- onGroupToolbarClick(detail: IUIActionGroupDetail, event: MouseEvent, group: string | number): Promise<void>;
98
65
  }
99
66
  //# sourceMappingURL=kanban.controller.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"kanban.controller.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/kanban/kanban.controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAEnE,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,gBAAgB,EACjB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG7C,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,qBAAa,gBACX,SAAQ,yBAAyB,CAAC,SAAS,EAAE,YAAY,EAAE,YAAY,CACvE,YAAW,iBAAiB;IAE5B;;;;;OAKG;IACK,OAAO,EAAE,aAAa,CAAC;IAE/B;;;;;;OAMG;IACH,IAAI,eAAe,IAAI,OAAO,CAE7B;IAED;;;;;;OAMG;IACH,IAAI,eAAe,IAAI,OAAO,CAE7B;IAED;;;;;;OAMG;IACH,IAAI,SAAS,IAAI,OAAO,CAEvB;cAEe,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAKnD,SAAS,CAAC,SAAS,IAAI,IAAI;IAQ3B;;;;;;OAMG;cACa,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAK1C;;;;;;OAMG;IACG,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;IAkC5C;;;;;OAKG;IACH,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI;IAgCzB,SAAS,CAAC,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAMzE,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAOhC;;;;;;OAMG;IACG,YAAY,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IA2GxD;;;;;;OAMG;IACG,kBAAkB,CAAC,YAAY,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BlE;;;;;;OAMG;IACH,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAW3D;;;;;;;OAOG;IACG,mBAAmB,CACvB,MAAM,EAAE,oBAAoB,EAC5B,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,MAAM,GAAG,MAAM,GACrB,OAAO,CAAC,IAAI,CAAC;CAWjB"}
1
+ {"version":3,"file":"kanban.controller.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/kanban/kanban.controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,gBAAgB,EACjB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,qBAAa,gBACX,SAAQ,yBAAyB,CAAC,SAAS,EAAE,YAAY,EAAE,YAAY,CACvE,YAAW,iBAAiB;IAE5B;;;;;OAKG;IACK,OAAO,EAAE,aAAa,CAAC;IAE/B;;;;;;OAMG;IACH,IAAI,eAAe,IAAI,OAAO,CAE7B;IAED;;;;;;OAMG;IACH,IAAI,eAAe,IAAI,OAAO,CAE7B;cAEe,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAKnD,SAAS,CAAC,SAAS,IAAI,IAAI;IAQ3B;;;;;;OAMG;cACa,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAI1C;;;;;OAKG;IACH,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI;IAgCzB,SAAS,CAAC,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAMzE,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAOhC;;;;;;OAMG;IACG,YAAY,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IA2GxD;;;;;;OAMG;IACG,kBAAkB,CAAC,YAAY,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CA2BnE"}
@@ -1,9 +1,6 @@
1
1
  import { RuntimeError, RuntimeModelError } from '@ibiz-template/core';
2
2
  import { isNil } from 'ramda';
3
3
  import { calcDeCodeNameById } from '../../../model';
4
- import { ControlVO } from '../../../service';
5
- import { UIActionUtil } from '../../../ui-action';
6
- import { ButtonContainerState, UIActionButtonState } from '../../utils';
7
4
  import { DataViewControlController } from '../data-view';
8
5
  import { KanbanService } from './kanban.service';
9
6
  export class KanbanController extends DataViewControlController {
@@ -27,16 +24,6 @@ export class KanbanController extends DataViewControlController {
27
24
  get enableEditGroup() {
28
25
  return this.model.enableCardEditGroup === true;
29
26
  }
30
- /**
31
- * 是否允许新建
32
- * @author lxm
33
- * @date 2023-09-11 04:05:25
34
- * @readonly
35
- * @type {boolean}
36
- */
37
- get enableNew() {
38
- return this.model.enableCardNew === true;
39
- }
40
27
  async initControlService() {
41
28
  this.service = new KanbanService(this.model);
42
29
  await this.service.init(this.context);
@@ -57,40 +44,6 @@ export class KanbanController extends DataViewControlController {
57
44
  */
58
45
  async onCreated() {
59
46
  await super.onCreated();
60
- await this.initGroupActionStates();
61
- }
62
- /**
63
- * 初始化分组右侧界面行为按钮的状态
64
- *
65
- * @author chitanda
66
- * @date 2023-08-02 17:08:04
67
- * @return {*} {Promise<void>}
68
- */
69
- async initGroupActionStates() {
70
- var _a;
71
- const { groupUIActionGroup } = this.model;
72
- if (!((_a = groupUIActionGroup === null || groupUIActionGroup === void 0 ? void 0 : groupUIActionGroup.uiactionGroupDetails) === null || _a === void 0 ? void 0 : _a.length)) {
73
- return;
74
- }
75
- const containerState = new ButtonContainerState();
76
- groupUIActionGroup.uiactionGroupDetails.forEach(detail => {
77
- const actionid = detail.uiactionId;
78
- if (actionid) {
79
- const buttonState = new UIActionButtonState(detail.id, this.context.srfappid, actionid);
80
- containerState.addState(detail.id, buttonState);
81
- }
82
- });
83
- await containerState.update();
84
- this.state.groupActionGroupState = containerState;
85
- this.evt.on('onSelectionChange', event => {
86
- let data = event.data[0];
87
- if (data && data instanceof ControlVO) {
88
- data = data.getOrigin();
89
- }
90
- if (data) {
91
- this.state.groupActionGroupState.update(data, this.model.appDataEntityId);
92
- }
93
- });
94
47
  }
95
48
  /**
96
49
  * 本地排序items
@@ -271,40 +224,4 @@ export class KanbanController extends DataViewControlController {
271
224
  await this.afterLoad({}, this.state.items);
272
225
  }
273
226
  }
274
- /**
275
- * 点击新建
276
- * @author lxm
277
- * @date 2023-09-11 07:22:33
278
- * @param {MouseEvent} event
279
- * @param {(string | number)} group 分组标识
280
- */
281
- onClickNew(event, group) {
282
- const params = Object.assign(Object.assign({}, this.params), { srfgroup: group });
283
- UIActionUtil.execAndResolved('new', {
284
- context: this.context,
285
- params,
286
- data: [],
287
- view: this.view,
288
- event,
289
- });
290
- }
291
- /**
292
- * 分组工具栏点击处理回调
293
- * @author lxm
294
- * @date 2023-09-11 04:48:06
295
- * @param {IUIActionGroupDetail} detail
296
- * @param {MouseEvent} event
297
- * @return {*} {Promise<void>}
298
- */
299
- async onGroupToolbarClick(detail, event, group) {
300
- const actionId = detail.uiactionId;
301
- const params = Object.assign(Object.assign({}, this.params), { srfgroup: group });
302
- await UIActionUtil.execAndResolved(actionId, {
303
- context: this.context,
304
- params,
305
- data: this.state.selectedData,
306
- view: this.view,
307
- event,
308
- });
309
- }
310
227
  }
@@ -81,14 +81,46 @@ export declare class PanelItemController<T extends IPanelItem = IPanelItem> impl
81
81
  * @date 2022-09-20 18:09:56
82
82
  * @param {string[]} names
83
83
  */
84
- dataChangeNotify(names: string[]): void;
84
+ dataChangeNotify(names: string[]): Promise<void>;
85
85
  /**
86
86
  * 面板状态变更通知
87
87
  *
88
88
  * @author lxm
89
89
  * @date 2022-09-20 18:09:07
90
90
  */
91
- panelStateNotify(_state: PanelNotifyState): void;
91
+ panelStateNotify(_state: PanelNotifyState): Promise<void>;
92
+ /**
93
+ * 计算项的禁用状态
94
+ * @author lxm
95
+ * @date 2023-06-26 06:19:00
96
+ * @param {IData} data
97
+ */
98
+ calcItemDisabled(data: IData): void;
99
+ /**
100
+ * 计算项的显示状态
101
+ * @author lxm
102
+ * @date 2023-06-26 06:19:00
103
+ * @param {IData} data
104
+ */
105
+ calcItemVisible(data: IData): void;
106
+ /**
107
+ * 计算项的必填状态
108
+ * @author lxm
109
+ * @date 2023-06-26 06:19:00
110
+ * @param {IData} data
111
+ */
112
+ calcItemRequired(data: IData): void;
113
+ /**
114
+ * 动态逻辑结果
115
+ * @author lxm
116
+ * @date 2023-09-21 03:36:37
117
+ * @protected
118
+ */
119
+ protected dynaLogicResult: {
120
+ visible: boolean;
121
+ disabled: boolean;
122
+ required: boolean;
123
+ };
92
124
  /**
93
125
  * 计算动态逻辑
94
126
  *
@@ -1 +1 @@
1
- {"version":3,"file":"panel-item.controller.d.ts","sourceRoot":"","sources":["../../../../../src/controller/control/panel/panel/panel-item.controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,6BAA6B,EAC9B,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,qBAAa,mBAAmB,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,CAChE,YAAW,oBAAoB;aAgEb,KAAK,EAAE,CAAC;aACR,KAAK,EAAE,eAAe;aACtB,MAAM,CAAC;IAhEzB;;;;;;OAMG;IACH,KAAK,EAAE,cAAc,CAAC;IAEtB;;;;;;OAMG;IACH,IAAI,UAAU,IAAI,gBAAgB,GAAG,6BAA6B,CAEjE;IAED;;;;;;OAMG;IACH,IAAI,IAAI,IAAI,KAAK,CAEhB;IAED;;;;;;OAMG;IACH,IAAI,cAAc,IAAI,MAAM,EAAE,CAE7B;IAED;;;;;;OAMG;IACH,IAAI,UAAU,IAAI,MAAM,EAAE,CAEzB;IAED;;;;;;;OAOG;gBAEe,KAAK,EAAE,CAAC,EACR,KAAK,EAAE,eAAe,EACtB,MAAM,CAAC,6CAAqB;IAK9C;;;;;;OAMG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;cAIX,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBvC;;;;;;;OAOG;IACH,SAAS,CAAC,WAAW,IAAI,cAAc;IAIvC;;;;;;OAMG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAQvC;;;;;OAKG;IACH,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAQhD;;;;;;;;;;OAUG;IACH,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,GAAE,OAAe,GAAG,IAAI;IAmC5E;;;;;;OAMG;IACH,cAAc,CACZ,KAAK,EAAE,oBAAoB,GAC1B,gBAAgB,GAAG,6BAA6B;IAWnD;;;;;OAKG;IACH,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI;CAc3C"}
1
+ {"version":3,"file":"panel-item.controller.d.ts","sourceRoot":"","sources":["../../../../../src/controller/control/panel/panel/panel-item.controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,6BAA6B,EAC9B,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,qBAAa,mBAAmB,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,CAChE,YAAW,oBAAoB;aAgEb,KAAK,EAAE,CAAC;aACR,KAAK,EAAE,eAAe;aACtB,MAAM,CAAC;IAhEzB;;;;;;OAMG;IACH,KAAK,EAAE,cAAc,CAAC;IAEtB;;;;;;OAMG;IACH,IAAI,UAAU,IAAI,gBAAgB,GAAG,6BAA6B,CAEjE;IAED;;;;;;OAMG;IACH,IAAI,IAAI,IAAI,KAAK,CAEhB;IAED;;;;;;OAMG;IACH,IAAI,cAAc,IAAI,MAAM,EAAE,CAE7B;IAED;;;;;;OAMG;IACH,IAAI,UAAU,IAAI,MAAM,EAAE,CAEzB;IAED;;;;;;;OAOG;gBAEe,KAAK,EAAE,CAAC,EACR,KAAK,EAAE,eAAe,EACtB,MAAM,CAAC,6CAAqB;IAK9C;;;;;;OAMG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;cAIX,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBvC;;;;;;;OAOG;IACH,SAAS,CAAC,WAAW,IAAI,cAAc;IAIvC;;;;;;OAMG;IACG,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAatD;;;;;OAKG;IACG,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAa/D;;;;;OAKG;IACH,gBAAgB,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI;IAoBnC;;;;;OAKG;IACH,eAAe,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI;IAoBlC;;;;;OAKG;IACH,gBAAgB,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI;IAoBnC;;;;;OAKG;IACH,SAAS,CAAC,eAAe;;;;MAIvB;IAEF;;;;;;;;;;OAUG;IACH,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,GAAE,OAAe,GAAG,IAAI;IAmC5E;;;;;;OAMG;IACH,cAAc,CACZ,KAAK,EAAE,oBAAoB,GAC1B,gBAAgB,GAAG,6BAA6B;IAWnD;;;;;OAKG;IACH,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI;CAc3C"}
@@ -55,6 +55,17 @@ export class PanelItemController {
55
55
  this.model = model;
56
56
  this.panel = panel;
57
57
  this.parent = parent;
58
+ /**
59
+ * 动态逻辑结果
60
+ * @author lxm
61
+ * @date 2023-09-21 03:36:37
62
+ * @protected
63
+ */
64
+ this.dynaLogicResult = {
65
+ visible: true,
66
+ disabled: false,
67
+ required: false,
68
+ };
58
69
  this.state = this.createState();
59
70
  }
60
71
  /**
@@ -102,9 +113,13 @@ export class PanelItemController {
102
113
  * @date 2022-09-20 18:09:56
103
114
  * @param {string[]} names
104
115
  */
105
- dataChangeNotify(names) {
116
+ async dataChangeNotify(names) {
106
117
  // 计算动态控制逻辑
107
118
  this.calcDynamicLogic(names);
119
+ // 计算显示,禁用,必填状态
120
+ this.calcItemDisabled(this.data);
121
+ this.calcItemVisible(this.data);
122
+ this.calcItemRequired(this.data);
108
123
  // 计算动态样式表
109
124
  this.calcDynaClass(this.data);
110
125
  }
@@ -114,12 +129,76 @@ export class PanelItemController {
114
129
  * @author lxm
115
130
  * @date 2022-09-20 18:09:07
116
131
  */
117
- panelStateNotify(_state) {
132
+ async panelStateNotify(_state) {
118
133
  // 计算动态控制逻辑
119
134
  this.calcDynamicLogic([], true);
135
+ // 计算显示,禁用,必填状态
136
+ this.calcItemDisabled(this.data);
137
+ this.calcItemVisible(this.data);
138
+ this.calcItemRequired(this.data);
120
139
  // 计算动态样式表
121
140
  this.calcDynaClass(this.data);
122
141
  }
142
+ /**
143
+ * 计算项的禁用状态
144
+ * @author lxm
145
+ * @date 2023-06-26 06:19:00
146
+ * @param {IData} data
147
+ */
148
+ calcItemDisabled(data) {
149
+ let enable = !this.dynaLogicResult.disabled;
150
+ // 上层计算为启用时计算预定义项启用逻辑
151
+ if (enable && this.panel.scheduler) {
152
+ const itemEnable = this.panel.scheduler.triggerItemEnable(this.model.id, {
153
+ data: [data],
154
+ });
155
+ if (itemEnable !== undefined) {
156
+ enable = itemEnable;
157
+ }
158
+ }
159
+ // 修改state
160
+ this.state.disabled = !enable;
161
+ }
162
+ /**
163
+ * 计算项的显示状态
164
+ * @author lxm
165
+ * @date 2023-06-26 06:19:00
166
+ * @param {IData} data
167
+ */
168
+ calcItemVisible(data) {
169
+ let { visible } = this.dynaLogicResult;
170
+ // 上层计算为显示时计算预定义项显示逻辑
171
+ if (visible && this.panel.scheduler) {
172
+ const itemVIsible = this.panel.scheduler.triggerItemVisible(this.model.id, {
173
+ data: [data],
174
+ });
175
+ if (itemVIsible !== undefined) {
176
+ visible = itemVIsible;
177
+ }
178
+ }
179
+ // 修改state
180
+ this.state.visible = visible;
181
+ }
182
+ /**
183
+ * 计算项的必填状态
184
+ * @author lxm
185
+ * @date 2023-06-26 06:19:00
186
+ * @param {IData} data
187
+ */
188
+ calcItemRequired(data) {
189
+ let allowEmpty = !this.dynaLogicResult.required;
190
+ // 上层计算为启用时计算预定义项启用逻辑
191
+ if (allowEmpty && this.panel.scheduler) {
192
+ const itemAllowEmpty = this.panel.scheduler.triggerItemBlank(this.model.id, {
193
+ data: [data],
194
+ });
195
+ if (itemAllowEmpty !== undefined) {
196
+ allowEmpty = itemAllowEmpty;
197
+ }
198
+ }
199
+ // 修改state
200
+ this.state.required = !allowEmpty;
201
+ }
123
202
  /**
124
203
  * 计算动态逻辑
125
204
  *
@@ -147,15 +226,15 @@ export class PanelItemController {
147
226
  switch (logic.logicCat) {
148
227
  // 动态空输入,不满足则必填
149
228
  case 'ITEMBLANK':
150
- this.state.required = !ok;
229
+ this.dynaLogicResult.required = !ok;
151
230
  break;
152
231
  // 动态启用,满足则启用
153
232
  case 'ITEMENABLE':
154
- this.state.disabled = !ok;
233
+ this.dynaLogicResult.disabled = !ok;
155
234
  break;
156
235
  // 动态显示,满足则显示
157
236
  case 'PANELVISIBLE':
158
- this.state.visible = ok;
237
+ this.dynaLogicResult.visible = ok;
159
238
  break;
160
239
  default:
161
240
  }
@@ -1,4 +1,4 @@
1
- import { IPanel, IPanelItem } from '@ibiz/model-core';
1
+ import { IControlLogic, IPanel, IPanelItem } from '@ibiz/model-core';
2
2
  import { IPanelState, IPanelEvent, IPanelController, IPanelItemController, IPanelItemProvider, IControlProvider, IPanelItemContainerController } from '../../../../interface';
3
3
  import { ControlController } from '../../../common';
4
4
  import { PanelNotifyState } from '../../../constant';
@@ -111,5 +111,6 @@ export declare class PanelController<T extends IPanel = IPanel, S extends IPanel
111
111
  * @param {unknown} value 要设置的值
112
112
  */
113
113
  setDataValue(name: string, value: unknown): Promise<void>;
114
+ protected initControlScheduler(logics?: IControlLogic[]): void;
114
115
  }
115
116
  //# sourceMappingURL=panel.controller.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"panel.controller.d.ts","sourceRoot":"","sources":["../../../../../src/controller/control/panel/panel/panel.controller.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,MAAM,EAEN,UAAU,EAEX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,6BAA6B,EAC9B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD;;;;;;;;GAQG;AACH,qBAAa,eAAe,CACxB,CAAC,SAAS,MAAM,GAAG,MAAM,EACzB,CAAC,SAAS,WAAW,GAAG,WAAW,EACnC,CAAC,SAAS,WAAW,GAAG,WAAW,CAErC,SAAQ,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CACjC,YAAW,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAEpC;;;;;;OAMG;IACH,UAAU,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,oBAAoB,CAAA;KAAE,CAAM;IAEzD;;;;;;OAMG;IACH,SAAS,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,GAAG,gBAAgB,CAAA;KAAE,CAAM;IAEzE;;;;;;;OAOG;IACH,SAAS,EAAE,KAAK,GAAG,SAAS,CAAC;IAE7B;;;;;;;OAOG;IACH,IAAI,IAAI,IAAI,KAAK,CAEhB;IAED,SAAS,CAAC,SAAS,IAAI,IAAI;IAK3B,YAAY,CAAC,IAAI,EAAE,KAAK,GAAG,SAAS,GAAG,IAAI;cAI3B,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;cAK1B,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAI1C;;;;;;OAMG;cACa,wBAAwB,CACtC,UAAU,GAAE,UAAU,EAAE,GAAG,SAAqC,EAChE,KAAK,GAAE,eAAsB,EAC7B,MAAM,GAAE,6BAA6B,GAAG,SAAqB,GAC5D,OAAO,CAAC,IAAI,CAAC;IAyChB;;;;;;OAMG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAa3B;;;;;;;OAOG;IACG,WAAW,IAAI,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;IAiB/C;;;;;;;;OAQG;IACH,WAAW,CAAC,IAAI,EAAE,KAAK,GAAG,KAAK;IAwB/B;;;;;;OAMG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAMvC;;;;;OAKG;IACH,gBAAgB,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAM/C;;;;;OAKG;IACG,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CAahE"}
1
+ {"version":3,"file":"panel.controller.d.ts","sourceRoot":"","sources":["../../../../../src/controller/control/panel/panel/panel.controller.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,aAAa,EACb,MAAM,EAEN,UAAU,EAEX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,6BAA6B,EAC9B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD;;;;;;;;GAQG;AACH,qBAAa,eAAe,CACxB,CAAC,SAAS,MAAM,GAAG,MAAM,EACzB,CAAC,SAAS,WAAW,GAAG,WAAW,EACnC,CAAC,SAAS,WAAW,GAAG,WAAW,CAErC,SAAQ,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CACjC,YAAW,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAEpC;;;;;;OAMG;IACH,UAAU,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,oBAAoB,CAAA;KAAE,CAAM;IAEzD;;;;;;OAMG;IACH,SAAS,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,GAAG,gBAAgB,CAAA;KAAE,CAAM;IAEzE;;;;;;;OAOG;IACH,SAAS,EAAE,KAAK,GAAG,SAAS,CAAC;IAE7B;;;;;;;OAOG;IACH,IAAI,IAAI,IAAI,KAAK,CAEhB;IAED,SAAS,CAAC,SAAS,IAAI,IAAI;IAK3B,YAAY,CAAC,IAAI,EAAE,KAAK,GAAG,SAAS,GAAG,IAAI;cAI3B,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;cAK1B,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAI1C;;;;;;OAMG;cACa,wBAAwB,CACtC,UAAU,GAAE,UAAU,EAAE,GAAG,SAAqC,EAChE,KAAK,GAAE,eAAsB,EAC7B,MAAM,GAAE,6BAA6B,GAAG,SAAqB,GAC5D,OAAO,CAAC,IAAI,CAAC;IAyChB;;;;;;OAMG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAa3B;;;;;;;OAOG;IACG,WAAW,IAAI,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;IAiB/C;;;;;;;;OAQG;IACH,WAAW,CAAC,IAAI,EAAE,KAAK,GAAG,KAAK;IAwB/B;;;;;;OAMG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAMvC;;;;;OAKG;IACH,gBAAgB,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAM/C;;;;;OAKG;IACG,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAc/D,SAAS,CAAC,oBAAoB,CAAC,MAAM,GAAE,aAAa,EAAO,GAAG,IAAI;CAcnE"}
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable no-param-reassign */
2
- import { RuntimeError } from '@ibiz-template/core';
2
+ import { recursiveIterate, RuntimeError } from '@ibiz-template/core';
3
3
  import { getPanelItemProvider } from '../../../../register';
4
4
  import { ControlController } from '../../../common';
5
5
  import { PanelNotifyState } from '../../../constant';
@@ -201,4 +201,14 @@ export class PanelController extends ControlController {
201
201
  this.state.data[name] = value;
202
202
  this.dataChangeNotify([name]);
203
203
  }
204
+ initControlScheduler(logics = []) {
205
+ const actualLogics = [...logics];
206
+ // 遍历所有的项,如果有逻辑的话加入
207
+ recursiveIterate(this.model, (item) => {
208
+ if (item.controlLogics) {
209
+ actualLogics.push(...item.controlLogics);
210
+ }
211
+ }, { childrenFields: ['rootPanelItems', 'panelItems', 'panelTabPages'] });
212
+ super.initControlScheduler(actualLogics);
213
+ }
204
214
  }
@@ -10,6 +10,20 @@ import { ControlController } from '../../common';
10
10
  * @implements {ITabExpPanelController}
11
11
  */
12
12
  export declare class TabExpPanelController extends ControlController<ITabExpPanel, ITabExpPanelState, ITabExpPanelEvent> implements ITabExpPanelController {
13
+ /**
14
+ * 是否显示文本
15
+ * @return {*}
16
+ * @author: zhujiamin
17
+ * @Date: 2023-09-20 10:36:35
18
+ */
19
+ isShowCaption: boolean;
20
+ /**
21
+ * 是否显示图标
22
+ * @return {*}
23
+ * @author: zhujiamin
24
+ * @Date: 2023-09-20 10:36:46
25
+ */
26
+ isShowIcon: boolean;
13
27
  /**
14
28
  * 初始化state的属性
15
29
  *
@@ -31,6 +45,12 @@ export declare class TabExpPanelController extends ControlController<ITabExpPane
31
45
  * @memberof TabExpPanelController
32
46
  */
33
47
  initTabPages(): void;
48
+ /**
49
+ * 初始化图标和文本显示
50
+ *
51
+ * @memberof TabExpPanelController
52
+ */
53
+ initIconCaption(): void;
34
54
  /**
35
55
  * 初始化默认分页
36
56
  *
@@ -1 +1 @@
1
- {"version":3,"file":"tab-exp-panel.controller.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/tab-exp-panel/tab-exp-panel.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,eAAe,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EAEtB,WAAW,EACZ,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD;;;;;;;GAOG;AACH,qBAAa,qBACX,SAAQ,iBAAiB,CAAC,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,CAC5E,YAAW,sBAAsB;IAEjC;;;;;OAKG;IACH,SAAS,CAAC,SAAS,IAAI,IAAI;IAM3B;;;;;;OAMG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAOhC;;;;OAIG;IACH,YAAY,IAAI,IAAI;IAgBpB;;;;;;OAMG;IACH,eAAe,IAAI,IAAI;IAoBvB;;;;;;OAMG;IACH,SAAS,CAAC,WAAW,CACnB,GAAG,GAAE,eAA+C,GACnD,IAAI;IAKP;;;;;;;;OAQG;IACH,IAAI,uBAAuB,IAAI,eAAe,CAI7C;IAED;;;;OAIG;IACG,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAMtC;;;;;OAKG;IACH,aAAa,CAAC,YAAY,EAAE,eAAe,GAAG;QAC5C,OAAO,EAAE,QAAQ,CAAC;QAClB,MAAM,EAAE,OAAO,CAAC;KACjB;IA6BD;;;;;;;;OAQG;IACI,aAAa,CAAC,YAAY,EAAE,eAAe,GAAG,WAAW;CASjE"}
1
+ {"version":3,"file":"tab-exp-panel.controller.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/tab-exp-panel/tab-exp-panel.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,eAAe,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EAEtB,WAAW,EACZ,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD;;;;;;;GAOG;AACH,qBAAa,qBACX,SAAQ,iBAAiB,CAAC,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,CAC5E,YAAW,sBAAsB;IAEjC;;;;;OAKG;IACH,aAAa,UAAQ;IAErB;;;;;OAKG;IACH,UAAU,UAAS;IAEnB;;;;;OAKG;IACH,SAAS,CAAC,SAAS,IAAI,IAAI;IAM3B;;;;;;OAMG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAQhC;;;;OAIG;IACH,YAAY,IAAI,IAAI;IAiBpB;;;;OAIG;IACH,eAAe,IAAI,IAAI;IAsBvB;;;;;;OAMG;IACH,eAAe,IAAI,IAAI;IAoBvB;;;;;;OAMG;IACH,SAAS,CAAC,WAAW,CACnB,GAAG,GAAE,eAA+C,GACnD,IAAI;IAKP;;;;;;;;OAQG;IACH,IAAI,uBAAuB,IAAI,eAAe,CAI7C;IAED;;;;OAIG;IACG,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAMtC;;;;;OAKG;IACH,aAAa,CAAC,YAAY,EAAE,eAAe,GAAG;QAC5C,OAAO,EAAE,QAAQ,CAAC;QAClB,MAAM,EAAE,OAAO,CAAC;KACjB;IA6BD;;;;;;;;OAQG;IACI,aAAa,CAAC,YAAY,EAAE,eAAe,GAAG,WAAW;CASjE"}
@@ -10,6 +10,23 @@ import { ControlController } from '../../common';
10
10
  * @implements {ITabExpPanelController}
11
11
  */
12
12
  export class TabExpPanelController extends ControlController {
13
+ constructor() {
14
+ super(...arguments);
15
+ /**
16
+ * 是否显示文本
17
+ * @return {*}
18
+ * @author: zhujiamin
19
+ * @Date: 2023-09-20 10:36:35
20
+ */
21
+ this.isShowCaption = true;
22
+ /**
23
+ * 是否显示图标
24
+ * @return {*}
25
+ * @author: zhujiamin
26
+ * @Date: 2023-09-20 10:36:46
27
+ */
28
+ this.isShowIcon = false;
29
+ }
13
30
  /**
14
31
  * 初始化state的属性
15
32
  *
@@ -32,6 +49,7 @@ export class TabExpPanelController extends ControlController {
32
49
  await super.onCreated();
33
50
  this.layoutPanel = this.view.layoutPanel;
34
51
  this.initTabPages();
52
+ this.initIconCaption();
35
53
  }
36
54
  /**
37
55
  * 初始化分页数据
@@ -46,6 +64,7 @@ export class TabExpPanelController extends ControlController {
46
64
  caption: panel.caption,
47
65
  tabTag: panel.id,
48
66
  class: panel.sysCss ? [panel.sysCss.cssName] : [],
67
+ sysImage: panel.sysImage,
49
68
  });
50
69
  });
51
70
  this.state.tabPages = tabPages;
@@ -53,6 +72,32 @@ export class TabExpPanelController extends ControlController {
53
72
  this.initDefaultPage();
54
73
  }
55
74
  }
75
+ /**
76
+ * 初始化图标和文本显示
77
+ *
78
+ * @memberof TabExpPanelController
79
+ */
80
+ initIconCaption() {
81
+ // 临时处理,视图参数那边配置showMode决定显示
82
+ if (this.params.showmode) {
83
+ switch (this.params.showmode) {
84
+ case 'ICONANDSHORTWORD':
85
+ this.isShowIcon = true;
86
+ this.isShowCaption = true;
87
+ break;
88
+ case 'ICON':
89
+ this.isShowIcon = true;
90
+ this.isShowCaption = false;
91
+ break;
92
+ case 'SHORTWORD':
93
+ this.isShowIcon = false;
94
+ this.isShowCaption = true;
95
+ break;
96
+ default:
97
+ break;
98
+ }
99
+ }
100
+ }
56
101
  /**
57
102
  * 初始化默认分页
58
103
  *
@@ -1 +1 @@
1
- {"version":3,"file":"toolbar.controllerr.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/toolbar/toolbar.controllerr.ts"],"names":[],"mappings":"AACA,OAAO,EACL,UAAU,EACV,cAAc,EAEd,aAAa,EACd,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,YAAY,EAEb,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EACL,eAAe,EAGhB,MAAM,aAAa,CAAC;AAErB;;;;;;;GAOG;AACH,qBAAa,iBAAiB,CAC1B,CAAC,SAAS,UAAU,GAAG,UAAU,EACjC,CAAC,SAAS,aAAa,GAAG,aAAa,EACvC,CAAC,SAAS,aAAa,GAAG,aAAa,CAEzC,SAAQ,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CACjC,YAAW,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAEtC,SAAS,KAAK,IAAI,IAAI,eAAe,CAAC,aAAa,CAAC,CAEnD;IAED,SAAS,CAAC,SAAS,IAAI,IAAI;IAO3B;;;;;;;;;;;OAWG;cACa,UAAU,CACxB,IAAI,EAAE,cAAc,EACpB,KAAK,EAAE,UAAU,EACjB,KAAK,GAAE,KAAU,GAChB,OAAO,CAAC,IAAI,CAAC;cAgBA,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAyB1C;;;;;;;;;;OAUG;IACG,WAAW,CACf,IAAI,EAAE,cAAc,GAAG,YAAY,EACnC,KAAK,EAAE,UAAU,EACjB,MAAM,CAAC,EAAE,KAAK,GACb,OAAO,CAAC,IAAI,CAAC;IAmBV,eAAe,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuCpE,eAAe,CACb,QAAQ,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,EACrC,OAAO,EAAE,YAAY,EAAE,GACtB,IAAI;IAOP,iBAAiB,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,IAAI;IAS/D,SAAS,CAAC,oBAAoB,CAAC,MAAM,GAAE,aAAa,EAAO,GAAG,IAAI;CAcnE"}
1
+ {"version":3,"file":"toolbar.controllerr.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/toolbar/toolbar.controllerr.ts"],"names":[],"mappings":"AACA,OAAO,EACL,UAAU,EACV,cAAc,EAEd,aAAa,EACd,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,YAAY,EAEb,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EACL,eAAe,EAGhB,MAAM,aAAa,CAAC;AAErB;;;;;;;GAOG;AACH,qBAAa,iBAAiB,CAC1B,CAAC,SAAS,UAAU,GAAG,UAAU,EACjC,CAAC,SAAS,aAAa,GAAG,aAAa,EACvC,CAAC,SAAS,aAAa,GAAG,aAAa,CAEzC,SAAQ,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CACjC,YAAW,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAEtC,SAAS,KAAK,IAAI,IAAI,eAAe,CAAC,aAAa,CAAC,CAEnD;IAED,SAAS,CAAC,SAAS,IAAI,IAAI;IAO3B;;;;;;;;;;;OAWG;cACa,UAAU,CACxB,IAAI,EAAE,cAAc,EACpB,KAAK,EAAE,UAAU,EACjB,KAAK,GAAE,KAAU,GAChB,OAAO,CAAC,IAAI,CAAC;cAoCA,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAyB1C;;;;;;;;;;OAUG;IACG,WAAW,CACf,IAAI,EAAE,cAAc,GAAG,YAAY,EACnC,KAAK,EAAE,UAAU,EACjB,MAAM,CAAC,EAAE,KAAK,GACb,OAAO,CAAC,IAAI,CAAC;IAcV,eAAe,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuCpE,eAAe,CACb,QAAQ,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,EACrC,OAAO,EAAE,YAAY,EAAE,GACtB,IAAI;IAOP,iBAAiB,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,IAAI;IAS/D,SAAS,CAAC,oBAAoB,CAAC,MAAM,GAAE,aAAa,EAAO,GAAG,IAAI;CAcnE"}