@ibiz-template/runtime 0.6.17 → 0.7.0

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 (114) hide show
  1. package/dist/index.esm.js +1083 -331
  2. package/dist/index.system.min.js +1 -1
  3. package/out/app-hub.d.ts +7 -0
  4. package/out/app-hub.d.ts.map +1 -1
  5. package/out/app-hub.js +11 -0
  6. package/out/application.d.ts +7 -0
  7. package/out/application.d.ts.map +1 -1
  8. package/out/application.js +9 -0
  9. package/out/controller/common/control/md-control.controller.d.ts.map +1 -1
  10. package/out/controller/common/control/md-control.controller.js +3 -0
  11. package/out/controller/control/chart/chart.controller.d.ts +38 -0
  12. package/out/controller/control/chart/chart.controller.d.ts.map +1 -1
  13. package/out/controller/control/chart/chart.controller.js +183 -0
  14. package/out/controller/control/chart/generator/base-series-generator.js +1 -1
  15. package/out/controller/control/form/edit-form/edit-form.controller.d.ts.map +1 -1
  16. package/out/controller/control/form/edit-form/edit-form.controller.js +8 -6
  17. package/out/controller/control/form/form/form.controller.d.ts +16 -0
  18. package/out/controller/control/form/form/form.controller.d.ts.map +1 -1
  19. package/out/controller/control/form/form/form.controller.js +32 -3
  20. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-form.state.d.ts +2 -2
  21. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-form.state.d.ts.map +1 -1
  22. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-form.state.js +2 -2
  23. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl.controller.d.ts +32 -1
  24. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl.controller.d.ts.map +1 -1
  25. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl.controller.js +63 -0
  26. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl.state.d.ts +12 -0
  27. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl.state.d.ts.map +1 -0
  28. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl.state.js +13 -0
  29. package/out/controller/control/grid/grid/grid.controller.d.ts +14 -0
  30. package/out/controller/control/grid/grid/grid.controller.d.ts.map +1 -1
  31. package/out/controller/control/grid/grid/grid.controller.js +20 -1
  32. package/out/controller/control/search-bar/index.d.ts +3 -1
  33. package/out/controller/control/search-bar/index.d.ts.map +1 -1
  34. package/out/controller/control/search-bar/index.js +3 -1
  35. package/out/controller/control/search-bar/interface-util.d.ts +75 -0
  36. package/out/controller/control/search-bar/interface-util.d.ts.map +1 -0
  37. package/out/controller/control/search-bar/interface-util.js +274 -0
  38. package/out/controller/control/search-bar/search-bar-filter-items.controller.d.ts +1 -2
  39. package/out/controller/control/search-bar/search-bar-filter-items.controller.d.ts.map +1 -1
  40. package/out/controller/control/search-bar/search-bar-filter-items.controller.js +13 -10
  41. package/out/controller/control/search-bar/search-bar-filter-simple-items.controller.d.ts +37 -0
  42. package/out/controller/control/search-bar/search-bar-filter-simple-items.controller.d.ts.map +1 -0
  43. package/out/controller/control/search-bar/search-bar-filter-simple-items.controller.js +47 -0
  44. package/out/controller/control/search-bar/search-bar-filter.controller.d.ts +20 -5
  45. package/out/controller/control/search-bar/search-bar-filter.controller.d.ts.map +1 -1
  46. package/out/controller/control/search-bar/search-bar-filter.controller.js +13 -2
  47. package/out/controller/control/search-bar/search-bar.controller.d.ts +15 -2
  48. package/out/controller/control/search-bar/search-bar.controller.d.ts.map +1 -1
  49. package/out/controller/control/search-bar/search-bar.controller.js +80 -30
  50. package/out/controller/control/search-bar/util.d.ts +35 -0
  51. package/out/controller/control/search-bar/util.d.ts.map +1 -0
  52. package/out/controller/control/search-bar/util.js +45 -0
  53. package/out/global/global-util/global-util.d.ts +14 -0
  54. package/out/global/global-util/global-util.d.ts.map +1 -1
  55. package/out/global/global-util/global-util.js +19 -0
  56. package/out/interface/common/i-app-hub-service/i-app-hub-service.d.ts +7 -0
  57. package/out/interface/common/i-app-hub-service/i-app-hub-service.d.ts.map +1 -1
  58. package/out/interface/common/i-app-service/i-app-service.d.ts +7 -0
  59. package/out/interface/common/i-app-service/i-app-service.d.ts.map +1 -1
  60. package/out/interface/controller/controller/control/i-app-menu.controller.d.ts +8 -1
  61. package/out/interface/controller/controller/control/i-app-menu.controller.d.ts.map +1 -1
  62. package/out/interface/controller/state/control/i-chart.state.d.ts +28 -0
  63. package/out/interface/controller/state/control/i-chart.state.d.ts.map +1 -1
  64. package/out/interface/controller/state/control/i-md-control.state.d.ts +4 -0
  65. package/out/interface/controller/state/control/i-md-control.state.d.ts.map +1 -1
  66. package/out/interface/controller/state/control/index.d.ts +1 -1
  67. package/out/interface/controller/state/control/index.d.ts.map +1 -1
  68. package/out/interface/controller/state/control/index.js +1 -1
  69. package/out/interface/controller/state/control/search-bar/i-filter-node.d.ts +157 -0
  70. package/out/interface/controller/state/control/search-bar/i-filter-node.d.ts.map +1 -0
  71. package/out/interface/controller/state/control/search-bar/i-quick-search.d.ts +24 -0
  72. package/out/interface/controller/state/control/search-bar/i-quick-search.d.ts.map +1 -0
  73. package/out/interface/controller/state/control/search-bar/i-quick-search.js +1 -0
  74. package/out/interface/controller/state/control/search-bar/i-search-bar-group.d.ts +89 -0
  75. package/out/interface/controller/state/control/search-bar/i-search-bar-group.d.ts.map +1 -0
  76. package/out/interface/controller/state/control/search-bar/i-search-bar-group.js +1 -0
  77. package/out/interface/controller/state/control/search-bar/i-search-bar.state.d.ts +78 -0
  78. package/out/interface/controller/state/control/search-bar/i-search-bar.state.d.ts.map +1 -0
  79. package/out/interface/controller/state/control/search-bar/i-search-bar.state.js +1 -0
  80. package/out/interface/controller/state/control/search-bar/i-search-cond-ex.d.ts +65 -0
  81. package/out/interface/controller/state/control/search-bar/i-search-cond-ex.d.ts.map +1 -0
  82. package/out/interface/controller/state/control/search-bar/i-search-cond-ex.js +1 -0
  83. package/out/interface/controller/state/control/search-bar/i-search-cond.d.ts +43 -0
  84. package/out/interface/controller/state/control/search-bar/i-search-cond.d.ts.map +1 -0
  85. package/out/interface/controller/state/control/search-bar/i-search-cond.js +1 -0
  86. package/out/interface/controller/state/control/search-bar/index.d.ts +7 -0
  87. package/out/interface/controller/state/control/search-bar/index.d.ts.map +1 -0
  88. package/out/interface/controller/state/control/search-bar/index.js +1 -0
  89. package/out/service/service/code-list/code-list.service.d.ts +14 -0
  90. package/out/service/service/code-list/code-list.service.d.ts.map +1 -1
  91. package/out/service/service/code-list/code-list.service.js +39 -0
  92. package/out/service/service/control/md-control.service.d.ts.map +1 -1
  93. package/out/service/service/control/md-control.service.js +3 -0
  94. package/out/service/service/counter/counter.service.d.ts.map +1 -1
  95. package/out/service/service/counter/counter.service.js +5 -1
  96. package/out/service/utils/app-counter/app-counter.d.ts.map +1 -1
  97. package/out/service/utils/app-counter/app-counter.js +4 -2
  98. package/out/service/utils/dynamic-code-list/dynamic-code-list.d.ts +81 -0
  99. package/out/service/utils/dynamic-code-list/dynamic-code-list.d.ts.map +1 -1
  100. package/out/service/utils/dynamic-code-list/dynamic-code-list.js +127 -2
  101. package/out/ui-action/provider/front-ui-action-provider.d.ts.map +1 -1
  102. package/out/ui-action/provider/front-ui-action-provider.js +0 -1
  103. package/out/ui-logic/ui-logic-context.d.ts +7 -0
  104. package/out/ui-logic/ui-logic-context.d.ts.map +1 -1
  105. package/out/ui-logic/ui-logic-context.js +7 -0
  106. package/out/ui-logic/ui-logic-param/ui-logic-param.d.ts.map +1 -1
  107. package/out/ui-logic/ui-logic-param/ui-logic-param.js +16 -3
  108. package/package.json +4 -4
  109. package/out/controller/control/search-bar/use-searchcond.d.ts +0 -33
  110. package/out/controller/control/search-bar/use-searchcond.d.ts.map +0 -1
  111. package/out/controller/control/search-bar/use-searchcond.js +0 -117
  112. package/out/interface/controller/state/control/i-search-bar.state.d.ts +0 -224
  113. package/out/interface/controller/state/control/i-search-bar.state.d.ts.map +0 -1
  114. /package/out/interface/controller/state/control/{i-search-bar.state.js → search-bar/i-filter-node.js} +0 -0
@@ -1,5 +1,8 @@
1
1
  import { BitMask } from '@ibiz-template/core';
2
2
  import { FormDetailController } from '../form-detail';
3
+ import { FormMDCtrlState } from './form-mdctrl.state';
4
+ import { ButtonContainerState, UIActionButtonState } from '../../../../utils';
5
+ import { UIActionUtil } from '../../../../../ui-action';
3
6
  /**
4
7
  * 表单多数据部件控制器
5
8
  *
@@ -10,6 +13,10 @@ import { FormDetailController } from '../form-detail';
10
13
  * @extends {FormDetailController<IDEFormMDCtrl>}
11
14
  */
12
15
  export class FormMDCtrlController extends FormDetailController {
16
+ createState() {
17
+ var _a;
18
+ return new FormMDCtrlState((_a = this.parent) === null || _a === void 0 ? void 0 : _a.state);
19
+ }
13
20
  /**
14
21
  * 名称
15
22
  * @author lxm
@@ -86,6 +93,62 @@ export class FormMDCtrlController extends FormDetailController {
86
93
  await this.form.updateFormItem(this.model.deformItemUpdateId);
87
94
  }
88
95
  }
96
+ async formStateNotify(state) {
97
+ super.formStateNotify(state);
98
+ // 只在加载后台数据之后,更新界面行为组状态
99
+ if (this.state.actionGroupState) {
100
+ const deData = this.data.getOrigin ? this.data.getOrigin() : this.data;
101
+ this.state.actionGroupState.update(this.form.context, deData);
102
+ }
103
+ }
104
+ /**
105
+ * 初始化
106
+ *
107
+ * @author zk
108
+ * @date 2023-07-25 10:07:11
109
+ * @return {*} {Promise<void>}
110
+ * @memberof FormMDCtrlController
111
+ */
112
+ async onInit() {
113
+ super.onInit();
114
+ await this.initActionStates();
115
+ }
116
+ async initActionStates() {
117
+ var _a;
118
+ // 操作列按钮状态控制
119
+ const { uiactionGroup } = this.model;
120
+ if (!((_a = uiactionGroup === null || uiactionGroup === void 0 ? void 0 : uiactionGroup.uiactionGroupDetails) === null || _a === void 0 ? void 0 : _a.length)) {
121
+ return;
122
+ }
123
+ const containerState = new ButtonContainerState();
124
+ uiactionGroup.uiactionGroupDetails.forEach(detail => {
125
+ const actionid = detail.uiactionId;
126
+ if (actionid) {
127
+ const buttonState = new UIActionButtonState(detail.id, this.form.context.srfappid, actionid);
128
+ containerState.addState(detail.id, buttonState);
129
+ }
130
+ });
131
+ await containerState.update(this.form.context);
132
+ this.state.actionGroupState = containerState;
133
+ }
134
+ /**
135
+ * 触发操作列点击事件
136
+ *
137
+ * @author lxm
138
+ * @date 2022-09-07 22:09:46
139
+ * @param {IPSUIActionGroupDetail} detail
140
+ * @param {MouseEvent} event
141
+ */
142
+ async onActionClick(detail, event) {
143
+ const actionId = detail.uiactionId;
144
+ await UIActionUtil.execAndResolved(actionId, {
145
+ context: this.context,
146
+ params: this.params,
147
+ data: [this.data],
148
+ view: this.form.view,
149
+ event,
150
+ }, detail.appId);
151
+ }
89
152
  /**
90
153
  * 刷新
91
154
  * @author lxm
@@ -0,0 +1,12 @@
1
+ import { IButtonContainerState } from '../../../../../interface';
2
+ import { FormDetailState } from '../form-detail';
3
+ export declare class FormMDCtrlState extends FormDetailState {
4
+ /**
5
+ * 界面行为组状态
6
+ *
7
+ * @type {(IButtonContainerState | null)}
8
+ * @memberof PortletPartState
9
+ */
10
+ actionGroupState: IButtonContainerState | null;
11
+ }
12
+ //# sourceMappingURL=form-mdctrl.state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-mdctrl.state.d.ts","sourceRoot":"","sources":["../../../../../../src/controller/control/form/form-detail/form-mdctrl/form-mdctrl.state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,qBAAa,eAAgB,SAAQ,eAAe;IAClD;;;;;OAKG;IACH,gBAAgB,EAAE,qBAAqB,GAAG,IAAI,CAAQ;CACvD"}
@@ -0,0 +1,13 @@
1
+ import { FormDetailState } from '../form-detail';
2
+ export class FormMDCtrlState extends FormDetailState {
3
+ constructor() {
4
+ super(...arguments);
5
+ /**
6
+ * 界面行为组状态
7
+ *
8
+ * @type {(IButtonContainerState | null)}
9
+ * @memberof PortletPartState
10
+ */
11
+ this.actionGroupState = null;
12
+ }
13
+ }
@@ -479,5 +479,19 @@ export declare class GridController<T extends IDEGrid = IDEGrid, S extends IGrid
479
479
  * @Date: 2024-01-05 13:45:36
480
480
  */
481
481
  saveColumnStates(): void;
482
+ /**
483
+ * 执行对应部件行为消息提示
484
+ * @author zzq
485
+ * @date 2024-04-03 15:51:21
486
+ * @param {string} tag
487
+ * @param {({ default?: string; data?: IData | IData[]; error?: Error; rowState?: IGridRowState })} [opts]
488
+ * @return {*} {void}
489
+ */
490
+ actionNotification(tag: string, opts?: {
491
+ default?: string;
492
+ data?: IData | IData[];
493
+ error?: Error;
494
+ rowState?: IGridRowState;
495
+ }): void;
482
496
  }
483
497
  //# sourceMappingURL=grid.controller.d.ts.map
@@ -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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"}
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable no-param-reassign */
2
- import { awaitTimeout, debounceAndAsyncMerge, mergeDefaultInLeft, recursiveIterate, RuntimeError, RuntimeModelError, } from '@ibiz-template/core';
2
+ import { awaitTimeout, debounceAndAsyncMerge, EntityError, mergeDefaultInLeft, recursiveIterate, RuntimeError, RuntimeModelError, } from '@ibiz-template/core';
3
3
  import { clone } from 'ramda';
4
4
  import dayjs from 'dayjs';
5
5
  import { GridRowState } from './grid-row.state';
@@ -546,6 +546,7 @@ export class GridController extends MDControlController {
546
546
  this.actionNotification(`${isCreate ? 'CREATE' : 'UPDATE'}ERROR`, {
547
547
  error: error,
548
548
  data: rowState.data,
549
+ rowState,
549
550
  });
550
551
  throw error;
551
552
  }
@@ -1173,4 +1174,22 @@ export class GridController extends MDControlController {
1173
1174
  }
1174
1175
  localStorage.setItem(`${this.view.model.id}.${this.model.name}.columnStates`, JSON.stringify(storageColumnStates));
1175
1176
  }
1177
+ /**
1178
+ * 执行对应部件行为消息提示
1179
+ * @author zzq
1180
+ * @date 2024-04-03 15:51:21
1181
+ * @param {string} tag
1182
+ * @param {({ default?: string; data?: IData | IData[]; error?: Error; rowState?: IGridRowState })} [opts]
1183
+ * @return {*} {void}
1184
+ */
1185
+ actionNotification(tag, opts) {
1186
+ if ((opts === null || opts === void 0 ? void 0 : opts.error) && (opts === null || opts === void 0 ? void 0 : opts.rowState) && opts.error instanceof EntityError) {
1187
+ const { details } = opts.error;
1188
+ const { errors } = opts.rowState;
1189
+ details.forEach(detail => {
1190
+ errors[detail.name] = detail.errorInfo;
1191
+ });
1192
+ }
1193
+ super.actionNotification(tag, Object.assign({}, (opts || {})));
1194
+ }
1176
1195
  }
@@ -1,6 +1,8 @@
1
1
  export * from './search-bar.controller';
2
2
  export { SearchBarFilterController } from './search-bar-filter.controller';
3
3
  export * from './entity-schema';
4
- export * from './use-searchcond';
4
+ export * from './interface-util';
5
+ export * from './util';
5
6
  export { SearchBarFilterItemsController } from './search-bar-filter-items.controller';
7
+ export { SearchBarFilterSimpleItemsController } from './search-bar-filter-simple-items.controller';
6
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/search-bar/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/search-bar/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,QAAQ,CAAC;AACvB,OAAO,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AACtF,OAAO,EAAE,oCAAoC,EAAE,MAAM,6CAA6C,CAAC"}
@@ -1,5 +1,7 @@
1
1
  export * from './search-bar.controller';
2
2
  export { SearchBarFilterController } from './search-bar-filter.controller';
3
3
  export * from './entity-schema';
4
- export * from './use-searchcond';
4
+ export * from './interface-util';
5
+ export * from './util';
5
6
  export { SearchBarFilterItemsController } from './search-bar-filter-items.controller';
7
+ export { SearchBarFilterSimpleItemsController } from './search-bar-filter-simple-items.controller';
@@ -0,0 +1,75 @@
1
+ import { IFilterNode, ISearchCond, ISearchCondEx } from '../../../interface';
2
+ /**
3
+ * 获取初始过滤项树节点数据集合
4
+ * @return {*}
5
+ * @author: zhujiamin
6
+ * @Date: 2023-12-21 17:29:47
7
+ */
8
+ export declare function getOriginFilterNodes(): IFilterNode[];
9
+ /**
10
+ * 校验过滤项集合是否正确且至少有一个属性过滤项
11
+ * @author lxm
12
+ * @date 2024-04-09 03:02:00
13
+ * @export
14
+ * @param {IFilterNode[]} filterNodes
15
+ * @return {*} {{
16
+ * pass: boolean; 是否通过校验
17
+ * }}
18
+ */
19
+ export declare function validateFilterNodes(filterNodes: IFilterNode[]): {
20
+ pass: boolean;
21
+ };
22
+ /** 后续执行回调函数 */
23
+ export type AfterCallback = (filterNode: IFilterNode, searchCond: ISearchCond) => void;
24
+ /**
25
+ * IFilterNode转换成ISearchCond接口
26
+ * @author lxm
27
+ * @date 2024-04-09 03:16:25
28
+ * @export
29
+ * @param {IFilterNode} filterNode
30
+ * @return {*} {ISearchCond}
31
+ */
32
+ export declare function filterNode2SearchCond(filterNode: IFilterNode, opts?: {
33
+ after: AfterCallback;
34
+ }): ISearchCond;
35
+ /**
36
+ * 转换IFilterNode[]到ISearchCond[]
37
+ * 如果filerNodes校验不通过,则返回undefined
38
+ * @author lxm
39
+ * @date 2024-04-09 03:48:21
40
+ * @export
41
+ * @param {IFilterNode[]} filterNodes
42
+ * @return {*} {(ISearchCond[] | undefined)}
43
+ */
44
+ export declare function calcSearchConds(filterNodes: IFilterNode[], opts?: {
45
+ after: AfterCallback;
46
+ }): ISearchCond[] | undefined;
47
+ /**
48
+ * ISearchCondEx转换成IFilterNode接口
49
+ * @author lxm
50
+ * @date 2024-04-09 03:26:08
51
+ * @export
52
+ * @param {ISearchCondEx} cond
53
+ * @return {*} {IFilterNode}
54
+ */
55
+ export declare function SearchCondEx2filterNode(cond: ISearchCondEx): IFilterNode;
56
+ /**
57
+ * IFilterNode转换成ISearchCondEx接口
58
+ * @author lxm
59
+ * @date 2024-04-09 03:16:25
60
+ * @export
61
+ * @param {IFilterNode} filterNode
62
+ * @return {*} {ISearchCondEx}
63
+ */
64
+ export declare function filterNode2SearchCondEx(filterNode: IFilterNode): ISearchCondEx;
65
+ /**
66
+ * 转换IFilterNode[]到ISearchCondEx[]
67
+ * 如果filerNodes校验不通过,则返回undefined
68
+ * @author lxm
69
+ * @date 2024-04-09 03:48:21
70
+ * @export
71
+ * @param {IFilterNode[]} filterNodes
72
+ * @return {*} {(ISearchCondEx[] | undefined)}
73
+ */
74
+ export declare function calcSearchCondExs(filterNodes: IFilterNode[]): ISearchCondEx[] | undefined;
75
+ //# sourceMappingURL=interface-util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interface-util.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/search-bar/interface-util.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,WAAW,EAIX,WAAW,EACX,aAAa,EAOd,MAAM,oBAAoB,CAAC;AAI5B;;;;;GAKG;AACH,wBAAgB,oBAAoB,IAAI,WAAW,EAAE,CAUpD;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,WAAW,EAAE,GAAG;IAC/D,IAAI,EAAE,OAAO,CAAC;CACf,CA6BA;AAID,eAAe;AACf,MAAM,MAAM,aAAa,GAAG,CAC1B,UAAU,EAAE,WAAW,EACvB,UAAU,EAAE,WAAW,KACpB,IAAI,CAAC;AAEV;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,WAAW,EACvB,IAAI,CAAC,EAAE;IAAE,KAAK,EAAE,aAAa,CAAA;CAAE,GAC9B,WAAW,CAuDb;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,WAAW,EAAE,WAAW,EAAE,EAC1B,IAAI,CAAC,EAAE;IAAE,KAAK,EAAE,aAAa,CAAA;CAAE,GAC9B,WAAW,EAAE,GAAG,SAAS,CAO3B;AAID;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,aAAa,GAAG,WAAW,CA8DxE;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,WAAW,GACtB,aAAa,CA0Df;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,WAAW,EAAE,GACzB,aAAa,EAAE,GAAG,SAAS,CAO7B"}
@@ -0,0 +1,274 @@
1
+ import { recursiveIterate } from '@ibiz-template/core';
2
+ import { isNil } from 'ramda';
3
+ // ! FilterNode接口处理
4
+ /**
5
+ * 获取初始过滤项树节点数据集合
6
+ * @return {*}
7
+ * @author: zhujiamin
8
+ * @Date: 2023-12-21 17:29:47
9
+ */
10
+ export function getOriginFilterNodes() {
11
+ return [
12
+ {
13
+ nodeType: 'GROUP',
14
+ logicType: 'AND',
15
+ children: [
16
+ { nodeType: 'FIELD', field: null, valueOP: null, value: null },
17
+ ],
18
+ },
19
+ ];
20
+ }
21
+ /**
22
+ * 校验过滤项集合是否正确且至少有一个属性过滤项
23
+ * @author lxm
24
+ * @date 2024-04-09 03:02:00
25
+ * @export
26
+ * @param {IFilterNode[]} filterNodes
27
+ * @return {*} {{
28
+ * pass: boolean; 是否通过校验
29
+ * }}
30
+ */
31
+ export function validateFilterNodes(filterNodes) {
32
+ const result = { pass: false };
33
+ let hasFilter = false; // 是否有属性 过滤项
34
+ let hasError = false; // 是否有属性过滤项格式不正确
35
+ recursiveIterate(filterNodes[0], (node) => {
36
+ // 如果已经有过滤项格式不正确,则跳过
37
+ if (hasError) {
38
+ return;
39
+ }
40
+ if (node.nodeType === 'FIELD') {
41
+ hasFilter = true;
42
+ // 如果有属性过滤项缺少必须得属性则有错误
43
+ hasError = !node.field || !node.valueOP || isNil(node.value);
44
+ }
45
+ else if (node.nodeType === 'ITEMS') {
46
+ // ITEMS必须要有属性和操作符并
47
+ hasError = !node.field || !node.valueOP;
48
+ }
49
+ else {
50
+ // 分组节点必须要有逻辑类型
51
+ hasError = !node.logicType;
52
+ }
53
+ });
54
+ // 有属性过滤项,且没有报错的时候
55
+ if (hasFilter && !hasError) {
56
+ result.pass = true;
57
+ }
58
+ return result;
59
+ }
60
+ /**
61
+ * IFilterNode转换成ISearchCond接口
62
+ * @author lxm
63
+ * @date 2024-04-09 03:16:25
64
+ * @export
65
+ * @param {IFilterNode} filterNode
66
+ * @return {*} {ISearchCond}
67
+ */
68
+ export function filterNode2SearchCond(filterNode, opts) {
69
+ let result;
70
+ if (filterNode.nodeType === 'GROUP') {
71
+ // 分组
72
+ const temp = {
73
+ condop: filterNode.logicType,
74
+ condtype: 'GROUP',
75
+ };
76
+ if (filterNode.children.length > 0) {
77
+ temp.searchconds = filterNode.children.map(item => filterNode2SearchCond(item, opts));
78
+ }
79
+ result = temp;
80
+ // 是否取反
81
+ if (filterNode.notMode) {
82
+ temp.notmode = filterNode.notMode;
83
+ }
84
+ }
85
+ else if (filterNode.nodeType === 'FIELD') {
86
+ // 属性
87
+ const temp = {
88
+ condtype: 'DEFIELD',
89
+ fieldname: filterNode.field,
90
+ value: filterNode.value,
91
+ condop: filterNode.valueOP,
92
+ };
93
+ // 值项
94
+ if (filterNode.valueItem) {
95
+ temp.value = filterNode.valueItem;
96
+ }
97
+ result = temp;
98
+ }
99
+ else {
100
+ // ITEMS
101
+ const temp = {
102
+ condop: filterNode.valueOP,
103
+ fieldname: filterNode.field,
104
+ condtype: 'ITEMS',
105
+ };
106
+ if (filterNode.children.length > 0) {
107
+ temp.searchconds = filterNode.children.map(item => filterNode2SearchCond(item, opts));
108
+ }
109
+ result = temp;
110
+ }
111
+ // 执行额外后续处理
112
+ if (opts === null || opts === void 0 ? void 0 : opts.after) {
113
+ opts.after(filterNode, result);
114
+ }
115
+ return result;
116
+ }
117
+ /**
118
+ * 转换IFilterNode[]到ISearchCond[]
119
+ * 如果filerNodes校验不通过,则返回undefined
120
+ * @author lxm
121
+ * @date 2024-04-09 03:48:21
122
+ * @export
123
+ * @param {IFilterNode[]} filterNodes
124
+ * @return {*} {(ISearchCond[] | undefined)}
125
+ */
126
+ export function calcSearchConds(filterNodes, opts) {
127
+ const { pass } = validateFilterNodes(filterNodes);
128
+ if (!pass) {
129
+ return;
130
+ }
131
+ const result = filterNodes.map(node => filterNode2SearchCond(node, opts));
132
+ return result;
133
+ }
134
+ // ! ISearchCondEx接口处理
135
+ /**
136
+ * ISearchCondEx转换成IFilterNode接口
137
+ * @author lxm
138
+ * @date 2024-04-09 03:26:08
139
+ * @export
140
+ * @param {ISearchCondEx} cond
141
+ * @return {*} {IFilterNode}
142
+ */
143
+ export function SearchCondEx2filterNode(cond) {
144
+ var _a, _b;
145
+ let result;
146
+ if (cond.condtype === 'GROUP') {
147
+ // 分组
148
+ const temp = {
149
+ logicType: cond.condop,
150
+ nodeType: 'GROUP',
151
+ children: [],
152
+ };
153
+ if ((_a = cond.searchconds) === null || _a === void 0 ? void 0 : _a.length) {
154
+ temp.children = cond.searchconds.map(item => SearchCondEx2filterNode(item));
155
+ }
156
+ result = temp;
157
+ // 是否取反
158
+ if (cond.notmode) {
159
+ temp.notMode = cond.notmode;
160
+ }
161
+ }
162
+ else if (cond.condtype === 'DEFIELD') {
163
+ // 属性
164
+ const temp = {
165
+ nodeType: 'FIELD',
166
+ field: cond.fieldname,
167
+ value: cond.value,
168
+ valueOP: cond.condop,
169
+ };
170
+ // 值项
171
+ if (cond.valueItem) {
172
+ temp.valueItem = cond.valueItem;
173
+ }
174
+ result = temp;
175
+ }
176
+ else {
177
+ // ITEMS
178
+ const temp = {
179
+ nodeType: 'ITEMS',
180
+ field: cond.fieldname,
181
+ valueOP: cond.condop,
182
+ children: [],
183
+ };
184
+ if ((_b = cond.searchconds) === null || _b === void 0 ? void 0 : _b.length) {
185
+ temp.children = cond.searchconds.map(item => SearchCondEx2filterNode(item));
186
+ }
187
+ if (cond.simple) {
188
+ temp.simple = cond.simple;
189
+ }
190
+ result = temp;
191
+ }
192
+ // 通用处理
193
+ if (cond.hidden === true) {
194
+ result.hidden = true;
195
+ }
196
+ return result;
197
+ }
198
+ /**
199
+ * IFilterNode转换成ISearchCondEx接口
200
+ * @author lxm
201
+ * @date 2024-04-09 03:16:25
202
+ * @export
203
+ * @param {IFilterNode} filterNode
204
+ * @return {*} {ISearchCondEx}
205
+ */
206
+ export function filterNode2SearchCondEx(filterNode) {
207
+ let result;
208
+ if (filterNode.nodeType === 'GROUP') {
209
+ // 分组
210
+ const temp = {
211
+ condop: filterNode.logicType,
212
+ condtype: 'GROUP',
213
+ };
214
+ if (filterNode.children.length > 0) {
215
+ temp.searchconds = filterNode.children.map(item => filterNode2SearchCondEx(item));
216
+ }
217
+ result = temp;
218
+ // 是否取反
219
+ if (filterNode.notMode) {
220
+ temp.notmode = filterNode.notMode;
221
+ }
222
+ }
223
+ else if (filterNode.nodeType === 'FIELD') {
224
+ // 属性
225
+ const temp = {
226
+ condtype: 'DEFIELD',
227
+ fieldname: filterNode.field,
228
+ value: filterNode.value,
229
+ condop: filterNode.valueOP,
230
+ };
231
+ // 值项
232
+ if (filterNode.valueItem) {
233
+ temp.valueItem = filterNode.valueItem;
234
+ }
235
+ result = temp;
236
+ }
237
+ else {
238
+ // ITEMS
239
+ const temp = {
240
+ condop: filterNode.valueOP,
241
+ fieldname: filterNode.field,
242
+ condtype: 'ITEMS',
243
+ };
244
+ if (filterNode.children.length > 0) {
245
+ temp.searchconds = filterNode.children.map(item => filterNode2SearchCondEx(item));
246
+ }
247
+ if (filterNode.simple) {
248
+ temp.simple = filterNode.simple;
249
+ }
250
+ result = temp;
251
+ }
252
+ // 通用处理
253
+ if (filterNode.hidden === true) {
254
+ result.hidden = true;
255
+ }
256
+ return result;
257
+ }
258
+ /**
259
+ * 转换IFilterNode[]到ISearchCondEx[]
260
+ * 如果filerNodes校验不通过,则返回undefined
261
+ * @author lxm
262
+ * @date 2024-04-09 03:48:21
263
+ * @export
264
+ * @param {IFilterNode[]} filterNodes
265
+ * @return {*} {(ISearchCondEx[] | undefined)}
266
+ */
267
+ export function calcSearchCondExs(filterNodes) {
268
+ const { pass } = validateFilterNodes(filterNodes);
269
+ if (!pass) {
270
+ return;
271
+ }
272
+ const result = filterNodes.map(filterNode2SearchCondEx);
273
+ return result;
274
+ }
@@ -1,11 +1,10 @@
1
1
  import { IAppDataEntity, ISearchBarFilter } from '@ibiz/model-core';
2
2
  import { SearchBarFilterController } from './search-bar-filter.controller';
3
- /** 不需要编辑器的OP */
4
- export declare const ExcludeOPs: string[];
5
3
  type FieldInfo = {
6
4
  name: string;
7
5
  label: string;
8
6
  valueOPs: string[];
7
+ fieldName: string;
9
8
  };
10
9
  /**
11
10
  * 搜索栏过滤项ITEMS控制器
@@ -1 +1 @@
1
- {"version":3,"file":"search-bar-filter-items.controller.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/search-bar/search-bar-filter-items.controller.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAIpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAE3E,gBAAgB;AAChB,eAAO,MAAM,UAAU,EAAE,MAAM,EAGrB,CAAC;AAIX,KAAK,SAAS,GAAG;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC;AAEF;;;;;;;GAOG;AACH,qBAAa,8BAA+B,SAAQ,yBAAyB;IA2BzE,SAAS,CAAC,YAAY,EAAE,gBAAgB,EAAE;IA1B5C;;;;;OAKG;IACH,SAAS,CAAC,UAAU,EAAG,cAAc,CAAC;IAEtC;;;;;OAKG;IACH,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAM;IAEjC;;;;;;OAMG;IACH,SAAS,CAAC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAa;gBAGhE,YAAY,EAAE,gBAAgB,EAAE,EAC1C,aAAa,EAAE,cAAc,EAC7B,OAAO,EAAE,QAAQ,EACjB,MAAM,EAAE,OAAO;IAKjB;;;;;;;;OAQG;IACH,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM;IAIpD;;;;;;OAMG;cACa,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAyB/C;;;;;;OAMG;cACa,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IA6CxC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAK3B;;;;;;;OAOG;IACH,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,yBAAyB;CAG7E"}
1
+ {"version":3,"file":"search-bar-filter-items.controller.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/search-bar/search-bar-filter-items.controller.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAI3E,KAAK,SAAS,GAAG;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;;;;;GAOG;AACH,qBAAa,8BAA+B,SAAQ,yBAAyB;IA2BzE,SAAS,CAAC,YAAY,EAAE,gBAAgB,EAAE;IA1B5C;;;;;OAKG;IACH,SAAS,CAAC,UAAU,EAAG,cAAc,CAAC;IAEtC;;;;;OAKG;IACH,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAM;IAEjC;;;;;;OAMG;IACH,SAAS,CAAC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAa;gBAGhE,YAAY,EAAE,gBAAgB,EAAE,EAC1C,aAAa,EAAE,cAAc,EAC7B,OAAO,EAAE,QAAQ,EACjB,MAAM,EAAE,OAAO;IAMjB;;;;;;;;OAQG;IACH,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM;IAIpD;;;;;;OAMG;cACa,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAyB/C;;;;;;OAMG;cACa,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAoDxC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ3B;;;;;;;OAOG;IACH,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,yBAAyB;CAG7E"}
@@ -1,13 +1,7 @@
1
1
  /* eslint-disable no-template-curly-in-string */
2
2
  import { RuntimeError } from '@ibiz-template/core';
3
3
  import { clone } from 'ramda';
4
- import { ValueOP } from '../../../constant';
5
4
  import { SearchBarFilterController } from './search-bar-filter.controller';
6
- /** 不需要编辑器的OP */
7
- export const ExcludeOPs = [
8
- ValueOP.IS_NULL,
9
- ValueOP.IS_NOT_NULL,
10
- ];
11
5
  const SubFieldRegex = /^N_(.\w+)_(.\w+)$/; // N_USER_ID_EQ格式字符串中的USER_ID和EQ
12
6
  /**
13
7
  * 搜索栏过滤项ITEMS控制器
@@ -36,6 +30,7 @@ export class SearchBarFilterItemsController extends SearchBarFilterController {
36
30
  * @type {Map<string, SearchBarFilterController>}
37
31
  */
38
32
  this.subFilterCMap = new Map();
33
+ this.type = 'ITEMS';
39
34
  }
40
35
  /**
41
36
  * 计算标识
@@ -93,18 +88,25 @@ export class SearchBarFilterItemsController extends SearchBarFilterController {
93
88
  const matches = subStr.match(SubFieldRegex);
94
89
  const subField = matches[1];
95
90
  const subOP = matches[2];
91
+ // 修改子项的模型,创建控制器
92
+ const cloneItem = clone(item);
93
+ cloneItem.defsearchMode.valueOP = subOP;
94
+ cloneItem.id = subField;
95
+ const filterC = new SearchBarFilterController(cloneItem, this.appDataEntity, this.context, this.params);
96
+ this.subFilterCMap.set(this.calcKey(subField, subOP), filterC);
97
+ // 隐藏的直接不设置
98
+ if (filterC.hidden) {
99
+ return;
100
+ }
96
101
  if (!fieldMap.has(subField)) {
97
102
  fieldMap.set(subField, {
98
103
  name: subField,
99
104
  label: '',
100
105
  valueOPs: [],
106
+ fieldName: subField,
101
107
  });
102
108
  }
103
109
  fieldMap.get(subField).valueOPs.push(subOP);
104
- // 修改子项的模型
105
- const cloneItem = clone(item);
106
- cloneItem.defsearchMode.valueOP = subOP;
107
- this.subFilterCMap.set(this.calcKey(subField, subOP), new SearchBarFilterController(cloneItem, this.appDataEntity, this.context, this.params));
108
110
  });
109
111
  (_a = this.minorAppDE.appDEFields) === null || _a === void 0 ? void 0 : _a.forEach(item => {
110
112
  const codeName = item.codeName.toUpperCase();
@@ -119,6 +121,7 @@ export class SearchBarFilterItemsController extends SearchBarFilterController {
119
121
  async init() {
120
122
  await this.initMinorAppDE();
121
123
  await this.initAllFields();
124
+ this.hidden = Array.from(this.subFilterCMap.values()).every(item => item.hidden);
122
125
  }
123
126
  /**
124
127
  * 获取子搜索栏控制器