@ibiz-template/runtime 0.4.13 → 0.4.14

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 (36) hide show
  1. package/dist/index.esm.js +139 -45
  2. package/dist/index.system.min.js +2 -2
  3. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-form.controller.d.ts +13 -0
  4. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-form.controller.d.ts.map +1 -1
  5. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-form.controller.js +24 -3
  6. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-md.controller.d.ts +13 -0
  7. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-md.controller.d.ts.map +1 -1
  8. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-md.controller.js +26 -2
  9. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-repeater.controller.d.ts +0 -8
  10. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-repeater.controller.d.ts.map +1 -1
  11. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-repeater.controller.js +0 -10
  12. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl.controller.d.ts +8 -0
  13. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl.controller.d.ts.map +1 -1
  14. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl.controller.js +10 -0
  15. package/out/controller/control/tree/tree.controller.d.ts +15 -2
  16. package/out/controller/control/tree/tree.controller.d.ts.map +1 -1
  17. package/out/controller/control/tree/tree.controller.js +32 -2
  18. package/out/interface/controller/controller/control/i-tree.controller.d.ts +1 -1
  19. package/out/interface/controller/controller/control/i-tree.controller.d.ts.map +1 -1
  20. package/out/model/index.d.ts +1 -0
  21. package/out/model/index.d.ts.map +1 -1
  22. package/out/model/index.js +1 -0
  23. package/out/model/toolbar/toolbar.d.ts +12 -0
  24. package/out/model/toolbar/toolbar.d.ts.map +1 -0
  25. package/out/model/toolbar/toolbar.js +22 -0
  26. package/out/service/dto/method.dto.js +1 -1
  27. package/package.json +2 -2
  28. package/src/controller/control/form/form-detail/form-mdctrl/form-mdctrl-form.controller.ts +27 -3
  29. package/src/controller/control/form/form-detail/form-mdctrl/form-mdctrl-md.controller.ts +26 -2
  30. package/src/controller/control/form/form-detail/form-mdctrl/form-mdctrl-repeater.controller.ts +0 -11
  31. package/src/controller/control/form/form-detail/form-mdctrl/form-mdctrl.controller.ts +11 -0
  32. package/src/controller/control/tree/tree.controller.ts +46 -3
  33. package/src/interface/controller/controller/control/i-tree.controller.ts +1 -1
  34. package/src/model/index.ts +1 -0
  35. package/src/model/toolbar/toolbar.ts +35 -0
  36. package/src/service/dto/method.dto.ts +1 -1
@@ -4,7 +4,12 @@ import {
4
4
  RuntimeModelError,
5
5
  recursiveIterate,
6
6
  } from '@ibiz-template/core';
7
- import { IDETree, IDETreeDataSetNode, IDETreeNode } from '@ibiz/model-core';
7
+ import {
8
+ IDETBUIActionItem,
9
+ IDETree,
10
+ IDETreeDataSetNode,
11
+ IDETreeNode,
12
+ } from '@ibiz/model-core';
8
13
  import {
9
14
  ITreeState,
10
15
  ITreeEvent,
@@ -16,7 +21,11 @@ import { UIActionUtil } from '../../../ui-action';
16
21
  import { MDControlController } from '../../common';
17
22
  import { ContextMenuController } from '../context-menu';
18
23
  import { TreeService } from './tree.service';
19
- import { calcDeCodeNameById, getChildNodeRSs } from '../../../model';
24
+ import {
25
+ calcDeCodeNameById,
26
+ getChildNodeRSs,
27
+ getUIActionItemsByActionLevel,
28
+ } from '../../../model';
20
29
 
21
30
  export type DropNodeRS = {
22
31
  minorEntityId: string;
@@ -62,6 +71,13 @@ export class TreeController
62
71
  */
63
72
  dropNodeRss = new Map<string, DropNodeRS[]>();
64
73
 
74
+ /**
75
+ * 节点对应的上下文菜单里第一个行为级别为常用操作的项
76
+ * @author lxm
77
+ * @date 2023-12-19 03:14:03
78
+ */
79
+ nodeClickTBUIActionItem = new Map<string, IDETBUIActionItem>();
80
+
65
81
  protected initState(): void {
66
82
  super.initState();
67
83
  // 根节点初始化
@@ -106,6 +122,7 @@ export class TreeController
106
122
  }
107
123
 
108
124
  this.initDropNodeRss();
125
+ this.initNodeClickTBUIActionItem();
109
126
 
110
127
  this.service = new TreeService(this.model);
111
128
  await this.service.init(this.context);
@@ -163,6 +180,23 @@ export class TreeController
163
180
  });
164
181
  }
165
182
 
183
+ /**
184
+ * 初始化节点点击后触发的第一个常用操作的上下文菜单项
185
+ * @author lxm
186
+ * @date 2023-12-19 03:18:43
187
+ * @protected
188
+ */
189
+ protected initNodeClickTBUIActionItem(): void {
190
+ this.model.detreeNodes?.forEach(node => {
191
+ if (node.decontextMenu?.detoolbarItems?.length) {
192
+ const items = getUIActionItemsByActionLevel(node.decontextMenu, 200);
193
+ if (items.length > 0) {
194
+ this.nodeClickTBUIActionItem.set(node.id!, items[0]);
195
+ }
196
+ }
197
+ });
198
+ }
199
+
166
200
  /**
167
201
  * 树部件加载,从根节点开始重新加载
168
202
  *
@@ -254,7 +288,16 @@ export class TreeController
254
288
  * @returns {*} {Promise<void>}
255
289
  * @memberof TreeController
256
290
  */
257
- async onTreeNodeClick(nodeData: ITreeNodeData): Promise<void> {
291
+ async onTreeNodeClick(
292
+ nodeData: ITreeNodeData,
293
+ event: MouseEvent,
294
+ ): Promise<void> {
295
+ // 节点有配置常用操作的上下文菜单时,触发界面行为,后续逻辑都不走
296
+ if (this.nodeClickTBUIActionItem.has(nodeData.nodeId)) {
297
+ const item = this.nodeClickTBUIActionItem.get(nodeData.nodeId)!;
298
+ return this.doUIAction(item.uiactionId!, nodeData, event, item.appId);
299
+ }
300
+
258
301
  // 导航的时候,没有导航视图的时候,节点后续点击逻辑都不走,也不选中
259
302
  if (this.state.navigational) {
260
303
  const nodeModel = this.getNodeModel(nodeData.nodeId);
@@ -20,7 +20,7 @@ export interface ITreeController
20
20
  * @returns {*} {Promise<void>}
21
21
  * @memberof ITreeController
22
22
  */
23
- onTreeNodeClick(nodeData: ITreeNodeData): Promise<void>;
23
+ onTreeNodeClick(nodeData: ITreeNodeData, event: MouseEvent): Promise<void>;
24
24
 
25
25
  /**
26
26
  * 树节点双击事件
@@ -8,3 +8,4 @@ export * from './grid/index';
8
8
  export * from './form/index';
9
9
  export * from './view/view';
10
10
  export * from './panel/index';
11
+ export * from './toolbar/toolbar';
@@ -0,0 +1,35 @@
1
+ import { recursiveIterate } from '@ibiz-template/core';
2
+ import {
3
+ IDETBUIActionItem,
4
+ IDEToolbar,
5
+ IDEToolbarItem,
6
+ } from '@ibiz/model-core';
7
+
8
+ /**
9
+ * 获取工具栏里面指定行为级别的界面行为项
10
+ * @author lxm
11
+ * @date 2023-12-19 03:07:51
12
+ * @export
13
+ * @param {IDEToolbar} toolbar 工具栏
14
+ * @param {number} actionLevel 行为级别 {50:不常用、 100:一般操作、 200:常用操作、 250:关键操作 }
15
+ * @return {*} {IDETBUIActionItem[]}
16
+ */
17
+ export function getUIActionItemsByActionLevel(
18
+ toolbar: IDEToolbar,
19
+ actionLevel: number,
20
+ ): IDETBUIActionItem[] {
21
+ const result: IDETBUIActionItem[] = [];
22
+ recursiveIterate(
23
+ toolbar,
24
+ (item: IDEToolbarItem) => {
25
+ if (item.itemType === 'DEUIACTION') {
26
+ const uiItem = item as IDETBUIActionItem;
27
+ if (uiItem.actionLevel === actionLevel) {
28
+ result.push(uiItem);
29
+ }
30
+ }
31
+ },
32
+ { childrenFields: ['detoolbarItems'] },
33
+ );
34
+ return result;
35
+ }
@@ -112,7 +112,7 @@ export class MethodDto {
112
112
  field.refAppDataEntityId!,
113
113
  );
114
114
  const items = await service.selectLocal(context, {
115
- srfpkey: data[this.entity.keyAppDEFieldId!],
115
+ // srfpkey: data[this.entity.keyAppDEFieldId!],
116
116
  });
117
117
  if (items) {
118
118
  const arr = [];