@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
@@ -0,0 +1,37 @@
1
+ import { IAppDataEntity, ISearchBarFilter } from '@ibiz/model-core';
2
+ import { SearchBarFilterController } from './search-bar-filter.controller';
3
+ import { IFilterNode } from '../../../interface';
4
+ /**
5
+ * 搜索栏过滤项ITEMS控制器
6
+ * @author lxm
7
+ * @date 2023-10-12 05:49:19
8
+ * @export
9
+ * @class SearchBarFilterController
10
+ * @implements {IEditorContainerController}
11
+ */
12
+ export declare class SearchBarFilterSimpleItemsController extends SearchBarFilterController {
13
+ /**
14
+ * 过滤的属性名称(有实体属性的是属性codeName小写,没有就是项名称)
15
+ * @author lxm
16
+ * @date 2023-10-13 02:51:39
17
+ * @type {string}
18
+ */
19
+ subFieldName: string;
20
+ /**
21
+ * 配置的属性搜索模式对应的值操作
22
+ * @author lxm
23
+ * @date 2023-10-13 03:22:10
24
+ * @type {string}
25
+ */
26
+ subValueOP: string;
27
+ constructor(filterModel: ISearchBarFilter, appDataEntity: IAppDataEntity, context: IContext, params: IParams);
28
+ /**
29
+ * 简单模式下添加节点逻辑
30
+ * @author lxm
31
+ * @date 2024-04-07 05:44:47
32
+ * @param {IFilterNodeField} node
33
+ * @return {*} {void}
34
+ */
35
+ addSimpleFilterNode(node: IFilterNode): void;
36
+ }
37
+ //# sourceMappingURL=search-bar-filter-simple-items.controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-bar-filter-simple-items.controller.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/search-bar/search-bar-filter-simple-items.controller.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAoB,MAAM,oBAAoB,CAAC;AAGnE;;;;;;;GAOG;AACH,qBAAa,oCAAqC,SAAQ,yBAAyB;IACjF;;;;;OAKG;IACH,YAAY,EAAG,MAAM,CAAC;IAEtB;;;;;OAKG;IACH,UAAU,EAAG,MAAM,CAAC;gBAGlB,WAAW,EAAE,gBAAgB,EAC7B,aAAa,EAAE,cAAc,EAC7B,OAAO,EAAE,QAAQ,EACjB,MAAM,EAAE,OAAO;IAYjB;;;;;;OAMG;IACH,mBAAmB,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;CAgB7C"}
@@ -0,0 +1,47 @@
1
+ /* eslint-disable prefer-destructuring */
2
+ /* eslint-disable no-template-curly-in-string */
3
+ import { SearchBarFilterController } from './search-bar-filter.controller';
4
+ import { parseSubFieldInfo } from './util';
5
+ /**
6
+ * 搜索栏过滤项ITEMS控制器
7
+ * @author lxm
8
+ * @date 2023-10-12 05:49:19
9
+ * @export
10
+ * @class SearchBarFilterController
11
+ * @implements {IEditorContainerController}
12
+ */
13
+ export class SearchBarFilterSimpleItemsController extends SearchBarFilterController {
14
+ constructor(filterModel, appDataEntity, context, params) {
15
+ super(filterModel, appDataEntity, context, params);
16
+ this.noEditor = false;
17
+ // simple每个都是唯一的
18
+ this.key = this.model.id;
19
+ this.type = 'SIMPLE_ITEMS';
20
+ const info = parseSubFieldInfo(filterModel.defsearchMode.codeName);
21
+ this.subFieldName = info.field;
22
+ this.subValueOP = info.op;
23
+ }
24
+ /**
25
+ * 简单模式下添加节点逻辑
26
+ * @author lxm
27
+ * @date 2024-04-07 05:44:47
28
+ * @param {IFilterNodeField} node
29
+ * @return {*} {void}
30
+ */
31
+ addSimpleFilterNode(node) {
32
+ Object.assign(node, {
33
+ simple: true,
34
+ field: this.fieldName,
35
+ nodeType: 'ITEMS',
36
+ valueOP: this.valueOP,
37
+ children: [
38
+ {
39
+ nodeType: 'FIELD',
40
+ field: this.subFieldName,
41
+ valueOP: this.subValueOP,
42
+ value: null,
43
+ },
44
+ ],
45
+ });
46
+ }
47
+ }
@@ -1,5 +1,5 @@
1
1
  import { IAppDataEntity, ISearchBarFilter } from '@ibiz/model-core';
2
- import { IEditorContainerController, IEditorController, IEditorProvider, IFilterLeafNode } from '../../../interface';
2
+ import { IEditorContainerController, IEditorController, IEditorProvider, IFilterNodeField } from '../../../interface';
3
3
  /** 不需要编辑器的OP */
4
4
  export declare const ExcludeOPs: string[];
5
5
  export interface ISearchFilterContainer {
@@ -23,6 +23,7 @@ export declare class SearchBarFilterController implements IEditorContainerContro
23
23
  unitName: string | undefined;
24
24
  valueFormat: string | undefined;
25
25
  dataType: number | undefined;
26
+ hidden: boolean | undefined;
26
27
  /**
27
28
  * 编辑器控制器
28
29
  *
@@ -38,6 +39,13 @@ export declare class SearchBarFilterController implements IEditorContainerContro
38
39
  * @date 2022-08-24 20:08:42
39
40
  */
40
41
  editorProvider?: IEditorProvider;
42
+ /**
43
+ * 唯一标识,作为第一个下拉的时候的唯一判断,默认是fieldName
44
+ * @author lxm
45
+ * @date 2024-04-10 02:10:00
46
+ * @type {string}
47
+ */
48
+ key: string;
41
49
  /**
42
50
  * 过滤的属性名称(有实体属性的是属性codeName小写,没有就是项名称)
43
51
  * @author lxm
@@ -66,6 +74,13 @@ export declare class SearchBarFilterController implements IEditorContainerContro
66
74
  * @type {boolean}
67
75
  */
68
76
  noEditor: boolean;
77
+ /**
78
+ * 控制器类型
79
+ * @author lxm
80
+ * @date 2024-04-10 01:41:40
81
+ * @type {('ITEMS' | 'SIMPLE_ITEMS' | 'FIELD')}
82
+ */
83
+ type: 'ITEMS' | 'SIMPLE_ITEMS' | 'FIELD';
69
84
  /**
70
85
  * 值项
71
86
  * @author lxm
@@ -86,10 +101,10 @@ export declare class SearchBarFilterController implements IEditorContainerContro
86
101
  * 计算要递给编辑器的参数
87
102
  * @author lxm
88
103
  * @date 2024-02-04 06:35:28
89
- * @param {IFilterLeafNode} node
104
+ * @param {IFilterNodeField} node
90
105
  * @return {*} {{ value: unknown; data: IData }}
91
106
  */
92
- calcEditorProps(node: IFilterLeafNode): {
107
+ calcEditorProps(node: IFilterNodeField): {
93
108
  value: unknown;
94
109
  data: IData;
95
110
  };
@@ -97,10 +112,10 @@ export declare class SearchBarFilterController implements IEditorContainerContro
97
112
  * 编辑器值变更处理
98
113
  * @author lxm
99
114
  * @date 2024-02-04 06:42:04
100
- * @param {IFilterLeafNode} node
115
+ * @param {IFilterNodeField} node
101
116
  * @param {unknown} value
102
117
  * @param {string} [name]
103
118
  */
104
- onEditorChange(node: IFilterLeafNode, value: unknown, name?: string): void;
119
+ onEditorChange(node: IFilterNodeField, value: unknown, name?: string): void;
105
120
  }
106
121
  //# sourceMappingURL=search-bar-filter.controller.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"search-bar-filter.controller.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/search-bar/search-bar-filter.controller.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,cAAc,EACd,gBAAgB,EACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,0BAA0B,EAC1B,iBAAiB,EACjB,eAAe,EACf,eAAe,EAChB,MAAM,oBAAoB,CAAC;AAK5B,gBAAgB;AAChB,eAAO,MAAM,UAAU,EAAE,MAAM,EAKrB,CAAC;AAIX,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,QAAQ,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,cAAc,CAAC;CAC/B;AAED;;;;;;;GAOG;AACH,qBAAa,yBAA0B,YAAW,0BAA0B;IAoEjE,KAAK,EAAE,gBAAgB;IACvB,aAAa,EAAE,cAAc;IAC7B,OAAO,EAAE,QAAQ;IACjB,MAAM,EAAE,OAAO;IAtExB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAE7B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAEhC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAE7B;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAE3B;;;;;OAKG;IACH,cAAc,CAAC,EAAE,eAAe,CAAC;IAEjC;;;;;OAKG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;;;OAKG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;;OAKG;IACH,QAAQ,EAAE,OAAO,CAAS;IAE1B;;;;;;OAMG;IACH,IAAI,SAAS,IAAI,MAAM,GAAG,SAAS,CAElC;gBAGQ,KAAK,EAAE,gBAAgB,EACvB,aAAa,EAAE,cAAc,EAC7B,OAAO,EAAE,QAAQ,EACjB,MAAM,EAAE,OAAO;IAqBxB;;;;;OAKG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB3B;;;;;;OAMG;IACH,eAAe,CAAC,IAAI,EAAE,eAAe,GAAG;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,KAAK,CAAA;KAAE;IAevE;;;;;;;OAOG;IACH,cAAc,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;CAO3E"}
1
+ {"version":3,"file":"search-bar-filter.controller.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/search-bar/search-bar-filter.controller.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,cAAc,EACd,gBAAgB,EACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,0BAA0B,EAC1B,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EACjB,MAAM,oBAAoB,CAAC;AAM5B,gBAAgB;AAChB,eAAO,MAAM,UAAU,EAAE,MAAM,EAKrB,CAAC;AAIX,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,QAAQ,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,cAAc,CAAC;CAC/B;AAED;;;;;;;GAOG;AACH,qBAAa,yBAA0B,YAAW,0BAA0B;IAsFjE,KAAK,EAAE,gBAAgB;IACvB,aAAa,EAAE,cAAc;IAC7B,OAAO,EAAE,QAAQ;IACjB,MAAM,EAAE,OAAO;IAxFxB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAE7B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAEhC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAE7B,MAAM,EAAE,OAAO,GAAG,SAAS,CAAC;IAE5B;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAE3B;;;;;OAKG;IACH,cAAc,CAAC,EAAE,eAAe,CAAC;IAEjC;;;;;OAKG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;;;;OAKG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;;;OAKG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;;OAKG;IACH,QAAQ,EAAE,OAAO,CAAS;IAE1B;;;;;OAKG;IACH,IAAI,EAAE,OAAO,GAAG,cAAc,GAAG,OAAO,CAAW;IAEnD;;;;;;OAMG;IACH,IAAI,SAAS,IAAI,MAAM,GAAG,SAAS,CAElC;gBAGQ,KAAK,EAAE,gBAAgB,EACvB,aAAa,EAAE,cAAc,EAC7B,OAAO,EAAE,QAAQ,EACjB,MAAM,EAAE,OAAO;IAyBxB;;;;;OAKG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB3B;;;;;;OAMG;IACH,eAAe,CAAC,IAAI,EAAE,gBAAgB,GAAG;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,KAAK,CAAA;KAAE;IAexE;;;;;;;OAOG;IACH,cAAc,CAAC,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;CAO5E"}
@@ -3,6 +3,7 @@ import { RuntimeModelError } from '@ibiz-template/core';
3
3
  import { findFieldById } from '../../../model';
4
4
  import { getEditorProvider } from '../../../register';
5
5
  import { ValueOP } from '../../../constant';
6
+ import { isHiddenFilter } from './util';
6
7
  /** 不需要编辑器的OP */
7
8
  export const ExcludeOPs = [
8
9
  ValueOP.IS_NULL,
@@ -43,12 +44,22 @@ export class SearchBarFilterController {
43
44
  * @type {boolean}
44
45
  */
45
46
  this.noEditor = false;
47
+ /**
48
+ * 控制器类型
49
+ * @author lxm
50
+ * @date 2024-04-10 01:41:40
51
+ * @type {('ITEMS' | 'SIMPLE_ITEMS' | 'FIELD')}
52
+ */
53
+ this.type = 'FIELD';
54
+ // 设置是否是隐藏
55
+ this.hidden = isHiddenFilter(model);
46
56
  // 实体属性
47
57
  let field;
48
58
  if (model.appDEFieldId) {
49
59
  field = findFieldById(this.appDataEntity, model.appDEFieldId);
50
60
  }
51
61
  this.fieldName = field ? field.codeName.toLowerCase() : model.id;
62
+ this.key = this.fieldName;
52
63
  // 属性标题
53
64
  this.label = model.caption || (field === null || field === void 0 ? void 0 : field.logicName) || model.id;
54
65
  this.valueOP = (_a = model.defsearchMode) === null || _a === void 0 ? void 0 : _a.valueOP;
@@ -79,7 +90,7 @@ export class SearchBarFilterController {
79
90
  * 计算要递给编辑器的参数
80
91
  * @author lxm
81
92
  * @date 2024-02-04 06:35:28
82
- * @param {IFilterLeafNode} node
93
+ * @param {IFilterNodeField} node
83
94
  * @return {*} {{ value: unknown; data: IData }}
84
95
  */
85
96
  calcEditorProps(node) {
@@ -98,7 +109,7 @@ export class SearchBarFilterController {
98
109
  * 编辑器值变更处理
99
110
  * @author lxm
100
111
  * @date 2024-02-04 06:42:04
101
- * @param {IFilterLeafNode} node
112
+ * @param {IFilterNodeField} node
102
113
  * @param {unknown} value
103
114
  * @param {string} [name]
104
115
  */
@@ -14,7 +14,7 @@ import { SearchBarService } from './search-bar.service';
14
14
  */
15
15
  export declare class SearchBarController extends ControlController<ISearchBar, ISearchBarState, ISearchBarEvent> implements ISearchBarController {
16
16
  /**
17
- * 快速搜索占位符
17
+ * 快速搜索占位符(根据属性计算出来的快速搜索占位符)
18
18
  * @return {*}
19
19
  * @author: zhujiamin
20
20
  * @Date: 2023-08-11 14:13:10
@@ -157,7 +157,7 @@ export declare class SearchBarController extends ControlController<ISearchBar, I
157
157
  * @date 2023-10-13 05:53:35
158
158
  * @return {*} {IData}
159
159
  */
160
- calcFilters(valueFormat?: boolean): IData[] | undefined;
160
+ calcFilters(): IData[] | undefined;
161
161
  /**
162
162
  * 初始化搜索栏分组项(获取后台分组清单并合并模型)
163
163
  * @return {*}
@@ -186,5 +186,18 @@ export declare class SearchBarController extends ControlController<ISearchBar, I
186
186
  * @Date: 2023-12-21 10:29:24
187
187
  */
188
188
  handleGroupClick(groupItem: IBackendSearchBarGroup): Promise<void>;
189
+ /**
190
+ * 初始化高级搜索
191
+ * @author lxm
192
+ * @date 2024-04-11 11:44:10
193
+ * @protected
194
+ */
195
+ protected initAdvancedQuickSearch(): void;
196
+ /**
197
+ * 计算快速搜索占位符
198
+ * @author lxm
199
+ * @date 2024-04-11 05:36:52
200
+ */
201
+ calcQuickSearchPlaceHolder(): void;
189
202
  }
190
203
  //# sourceMappingURL=search-bar.controller.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"search-bar.controller.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/search-bar/search-bar.controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGhF,OAAO,EACL,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,sBAAsB,EACtB,eAAe,EAEhB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAYxD;;;;;;;;GAQG;AACH,qBAAa,mBACX,SAAQ,iBAAiB,CAAC,UAAU,EAAE,eAAe,EAAE,eAAe,CACtE,YAAW,oBAAoB;IAE/B;;;;;OAKG;IACH,WAAW,SAAM;IAEjB;;;;;OAKG;IACH,iBAAiB,EAAE,yBAAyB,EAAE,CAAM;IAEpD;;;;;OAKG;IACH,OAAO,EAAG,gBAAgB,CAAC;IAE3B;;;;;OAKG;IACH,gBAAgB,EAAE,sBAAsB,GAAG,IAAI,CAAQ;IAEvD;;;;;OAKG;IACH,oBAAoB,UAA8C;IAElE;;;;;OAKG;IACH,gBAAgB,UAAS;IAEzB;;;;;OAKG;IACH,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED;;;;;OAKG;IACH,IAAI,gBAAgB,IAAI,gBAAgB,EAAE,CAEzC;IAED;;;;OAIG;IACH,gBAAgB,UAAS;IAEzB;;;;;OAKG;IACH,IAAI,IAAI,IAAI,eAAe,GAAG,SAAS,CAGtC;IAED;;;;;OAKG;IACH,aAAa,EAAG,cAAc,CAAC;IAE/B,SAAS,CAAC,SAAS,IAAI,IAAI;cAcX,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IA2B1C;;;;;OAKG;IACG,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAwCzC;;;;;;OAMG;IACH,SAAS,CAAC,0BAA0B,IAAI,IAAI;IA2B5C;;;;;;OAMG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI9B;;;;;OAKG;IACH,QAAQ,IAAI,IAAI;IAIhB;;;;;;;OAOG;IACH,oBAAoB,CAClB,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,OAAO,EAAE,MAAM,GAAG,IAAI,GACrB,yBAAyB,GAAG,SAAS;IAUxC;;;;;OAKG;IACH,eAAe,IAAI,OAAO;IA4B1B;;;;OAIG;IACH,WAAW,IAAI,IAAI;IAKnB;;;;;;OAMG;cACa,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IA6CrD;;;;;OAKG;IACH,WAAW,CAAC,WAAW,UAAO,GAAG,KAAK,EAAE,GAAG,SAAS;IA+CpD;;;;;OAKG;IACG,iBAAiB,CAAC,SAAS,GAAE,OAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAoGlE;;;;;OAKG;IACH,gBAAgB,IAAI,IAAI;IAWxB;;;;;OAKG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAmCjC;;;;;OAKG;IACG,gBAAgB,CAAC,SAAS,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;CA2CzE"}
1
+ {"version":3,"file":"search-bar.controller.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/search-bar/search-bar.controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGhF,OAAO,EACL,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,sBAAsB,EACtB,eAAe,EAIhB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAgBxD;;;;;;;;GAQG;AACH,qBAAa,mBACX,SAAQ,iBAAiB,CAAC,UAAU,EAAE,eAAe,EAAE,eAAe,CACtE,YAAW,oBAAoB;IAE/B;;;;;OAKG;IACH,WAAW,SAAM;IAEjB;;;;;OAKG;IACH,iBAAiB,EAAE,yBAAyB,EAAE,CAAM;IAEpD;;;;;OAKG;IACH,OAAO,EAAG,gBAAgB,CAAC;IAE3B;;;;;OAKG;IACH,gBAAgB,EAAE,sBAAsB,GAAG,IAAI,CAAQ;IAEvD;;;;;OAKG;IACH,oBAAoB,UAA8C;IAElE;;;;;OAKG;IACH,gBAAgB,UAAS;IAEzB;;;;;OAKG;IACH,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED;;;;;OAKG;IACH,IAAI,gBAAgB,IAAI,gBAAgB,EAAE,CAEzC;IAED;;;;OAIG;IACH,gBAAgB,UAAS;IAEzB;;;;;OAKG;IACH,IAAI,IAAI,IAAI,eAAe,GAAG,SAAS,CAGtC;IAED;;;;;OAKG;IACH,aAAa,EAAG,cAAc,CAAC;IAE/B,SAAS,CAAC,SAAS,IAAI,IAAI;cAkBX,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IA2B1C;;;;;OAKG;IACG,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAwCzC;;;;;;OAMG;IACH,SAAS,CAAC,0BAA0B,IAAI,IAAI;IA4B5C;;;;;;OAMG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI9B;;;;;OAKG;IACH,QAAQ,IAAI,IAAI;IAIhB;;;;;;;OAOG;IACH,oBAAoB,CAClB,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,OAAO,EAAE,MAAM,GAAG,IAAI,GACrB,yBAAyB,GAAG,SAAS;IAUxC;;;;;OAKG;IACH,eAAe,IAAI,OAAO;IAsC1B;;;;OAIG;IACH,WAAW,IAAI,IAAI;IAKnB;;;;;;OAMG;cACa,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IA0DrD;;;;;OAKG;IACH,WAAW,IAAI,KAAK,EAAE,GAAG,SAAS;IAsBlC;;;;;OAKG;IACG,iBAAiB,CAAC,SAAS,GAAE,OAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAoGlE;;;;;OAKG;IACH,gBAAgB,IAAI,IAAI;IAWxB;;;;;OAKG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAmCjC;;;;;OAKG;IACG,gBAAgB,CAAC,SAAS,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IA4CxE;;;;;OAKG;IACH,SAAS,CAAC,uBAAuB,IAAI,IAAI;IAsBzC;;;;OAIG;IACH,0BAA0B,IAAI,IAAI;CAenC"}
@@ -1,5 +1,5 @@
1
1
  import { mergeInLeft, recursiveIterate } from '@ibiz-template/core';
2
- import { clone, isNil } from 'ramda';
2
+ import { clone } from 'ramda';
3
3
  import { isString } from 'lodash-es';
4
4
  import { convertNavData, ScriptFactory } from '../../../utils';
5
5
  import { ControlController } from '../../common';
@@ -7,8 +7,11 @@ import { SearchBarFilterController } from './search-bar-filter.controller';
7
7
  import { SearchBarService } from './search-bar.service';
8
8
  import { getEntitySchema } from '../../utils';
9
9
  import { calcFilterModelBySchema } from './entity-schema';
10
- import { calcSearchConds, getOriginFilterNodes, parseFilters, } from './use-searchcond';
11
10
  import { SearchBarFilterItemsController } from './search-bar-filter-items.controller';
11
+ import { getOriginFilterNodes, calcSearchCondExs, SearchCondEx2filterNode, calcSearchConds, } from './interface-util';
12
+ import { ItemsValueOPs, isSimpleItems } from './util';
13
+ import { SearchBarFilterSimpleItemsController } from './search-bar-filter-simple-items.controller';
14
+ import { findFieldById } from '../../../model';
12
15
  const ScriptValueRegex = /\$\{[^}]*\}/; // 匹配${xxx}格式字符串
13
16
  /**
14
17
  * 搜索栏控制器
@@ -23,7 +26,7 @@ export class SearchBarController extends ControlController {
23
26
  constructor() {
24
27
  super(...arguments);
25
28
  /**
26
- * 快速搜索占位符
29
+ * 快速搜索占位符(根据属性计算出来的快速搜索占位符)
27
30
  * @return {*}
28
31
  * @author: zhujiamin
29
32
  * @Date: 2023-08-11 14:13:10
@@ -98,6 +101,10 @@ export class SearchBarController extends ControlController {
98
101
  this.state.selectedGroupItem = null;
99
102
  this.state.searchBarGroups = [];
100
103
  this.state.selectedSearchGroupItem = null;
104
+ this.state.advancedQuickSearch = false;
105
+ this.state.quickSearchItems = [];
106
+ this.state.quickSearchFieldNames = [];
107
+ this.state.quickSearchPlaceHolder = '';
101
108
  this.resetFilter();
102
109
  this.state.visible = !!(this.model.enableQuickSearch ||
103
110
  this.model.enableGroup ||
@@ -110,8 +117,8 @@ export class SearchBarController extends ControlController {
110
117
  if (appDataEntity) {
111
118
  this.appDataEntity = appDataEntity;
112
119
  this.calcQuickSearchPlaceholder();
120
+ this.initAdvancedQuickSearch();
113
121
  }
114
- // 实例部件服务
115
122
  if (this.isBackendSearchGroup && this.view.model.codeName) {
116
123
  this.service = new SearchBarService(this.model, this.view.model.codeName.toLowerCase());
117
124
  await this.service.init(this.context);
@@ -182,6 +189,7 @@ export class SearchBarController extends ControlController {
182
189
  });
183
190
  if (placeHolders.length > 0) {
184
191
  this.placeHolder = placeHolders.join('、');
192
+ this.state.quickSearchPlaceHolder = this.placeHolder;
185
193
  }
186
194
  }
187
195
  }
@@ -233,6 +241,11 @@ export class SearchBarController extends ControlController {
233
241
  // 快速搜索
234
242
  if (this.state.query) {
235
243
  params.query = this.state.query;
244
+ // 快速搜索高级
245
+ if (this.state.advancedQuickSearch &&
246
+ this.state.quickSearchFieldNames.length) {
247
+ params.queryconds = this.state.quickSearchFieldNames.map(name => `n_${name}_like`);
248
+ }
236
249
  }
237
250
  // 快速分组
238
251
  if (((_a = this.state.selectedGroupItem) === null || _a === void 0 ? void 0 : _a.data) &&
@@ -273,7 +286,11 @@ export class SearchBarController extends ControlController {
273
286
  var _a;
274
287
  // 整理exists或者NOTEXISTS的模型
275
288
  if (((_a = item.defsearchMode) === null || _a === void 0 ? void 0 : _a.valueOP) &&
276
- ['EXISTS', 'NOTEXISTS'].includes(item.defsearchMode.valueOP)) {
289
+ ItemsValueOPs.includes(item.defsearchMode.valueOP)) {
290
+ if (isSimpleItems(item)) {
291
+ this.filterControllers.push(new SearchBarFilterSimpleItemsController(item, this.appDataEntity, this.context, this.params));
292
+ return;
293
+ }
277
294
  const key = `${item.appDEFieldId}_${item.defsearchMode.valueOP}`;
278
295
  if (!itemsMap.has(key)) {
279
296
  itemsMap.set(key, []);
@@ -281,6 +298,7 @@ export class SearchBarController extends ControlController {
281
298
  itemsMap.get(key).push(item);
282
299
  return;
283
300
  }
301
+ // 常规的属性过滤项
284
302
  const filterController = new SearchBarFilterController(item, this.appDataEntity, this.context, this.params);
285
303
  this.filterControllers.push(filterController);
286
304
  });
@@ -300,33 +318,19 @@ export class SearchBarController extends ControlController {
300
318
  * @date 2023-10-13 05:53:35
301
319
  * @return {*} {IData}
302
320
  */
303
- calcFilters(valueFormat = true) {
321
+ calcFilters() {
304
322
  if (!this.enableFilter) {
305
323
  return;
306
324
  }
307
- const searchconds = calcSearchConds(this.state.filterNodes);
308
- if (valueFormat && searchconds) {
309
- // 给多数据加载之前进行脚本值转换
310
- recursiveIterate(searchconds[0], (node, parent) => {
311
- if (node.condtype === 'DEFIELD' && !isNil(node.value)) {
312
- let controller = this.findFilterController(node.fieldname, node.condop);
313
- if (!controller && parent.condtype === 'ITEMS') {
314
- const itemC = this.findFilterController(parent.fieldname, parent.condop);
315
- controller = itemC.getSubFilterController(node.fieldname, node.condop);
316
- }
317
- if (controller) {
318
- if (controller.valueItem && node.valueItem) {
319
- node.value = node.valueItem;
320
- delete node.valueItem;
321
- }
322
- else if (ScriptValueRegex.test(node.value)) {
323
- // 脚本转换
324
- node.value = ScriptFactory.execSingleLine(`\`${node.value}\``, Object.assign({}, this.getEventArgs()));
325
- }
325
+ const searchconds = calcSearchConds(this.state.filterNodes, {
326
+ after: (node, cond) => {
327
+ if (node.nodeType === 'FIELD' && isString(node.value)) {
328
+ if (ScriptValueRegex.test(node.value)) {
329
+ cond.value = ScriptFactory.execSingleLine(`\`${node.value}\``, Object.assign({}, this.getEventArgs()));
326
330
  }
327
331
  }
328
- }, { childrenFields: ['searchconds'] });
329
- }
332
+ },
333
+ });
330
334
  return searchconds;
331
335
  }
332
336
  /**
@@ -443,7 +447,7 @@ export class SearchBarController extends ControlController {
443
447
  */
444
448
  async handleSave() {
445
449
  if (this.grid && this.state.selectedSearchGroupItem) {
446
- const filters = this.calcFilters(false);
450
+ const filters = calcSearchCondExs(this.state.filterNodes);
447
451
  const saveParams = {
448
452
  searchconds: filters,
449
453
  sort: this.grid.state.sortQuery,
@@ -491,7 +495,7 @@ export class SearchBarController extends ControlController {
491
495
  groupItem.searchGroupData.searchconds &&
492
496
  groupItem.searchGroupData.searchconds.length > 0) {
493
497
  // 根据后台标准的searchconds计算出 前端回显的树形结构FilterNodes
494
- const filterNodes = groupItem.searchGroupData.searchconds.map(item => parseFilters(item));
498
+ const filterNodes = groupItem.searchGroupData.searchconds.map(item => SearchCondEx2filterNode(item));
495
499
  this.state.filterNodes = filterNodes;
496
500
  }
497
501
  else {
@@ -499,7 +503,7 @@ export class SearchBarController extends ControlController {
499
503
  }
500
504
  // 把带有${}的条件禁用,不能修改
501
505
  recursiveIterate(this.state.filterNodes[0], (node) => {
502
- if (node.leaf) {
506
+ if (node.nodeType === 'FIELD') {
503
507
  if (node.field &&
504
508
  node.valueOP &&
505
509
  isString(node.value) &&
@@ -513,4 +517,50 @@ export class SearchBarController extends ControlController {
513
517
  await this.grid.load({ isInitialLoad: true });
514
518
  }
515
519
  }
520
+ /**
521
+ * 初始化高级搜索
522
+ * @author lxm
523
+ * @date 2024-04-11 11:44:10
524
+ * @protected
525
+ */
526
+ initAdvancedQuickSearch() {
527
+ var _a;
528
+ if (this.model.quickSearchMode === 2 &&
529
+ ((_a = this.model.searchBarQuickSearchs) === null || _a === void 0 ? void 0 : _a.length)) {
530
+ this.state.advancedQuickSearch = true;
531
+ this.state.quickSearchItems = [];
532
+ this.state.quickSearchFieldNames = [];
533
+ this.model.searchBarQuickSearchs.forEach(item => {
534
+ const filed = findFieldById(this.appDataEntity, item.appDEFieldId);
535
+ const fieldName = filed.codeName.toLowerCase();
536
+ this.state.quickSearchItems.push({
537
+ fieldName,
538
+ label: filed.logicName,
539
+ });
540
+ this.state.quickSearchFieldNames.push(fieldName);
541
+ });
542
+ this.calcQuickSearchPlaceHolder();
543
+ }
544
+ }
545
+ /**
546
+ * 计算快速搜索占位符
547
+ * @author lxm
548
+ * @date 2024-04-11 05:36:52
549
+ */
550
+ calcQuickSearchPlaceHolder() {
551
+ if (this.state.advancedQuickSearch) {
552
+ if (this.state.quickSearchFieldNames.length) {
553
+ const labels = [];
554
+ this.state.quickSearchItems.forEach(item => {
555
+ if (this.state.quickSearchFieldNames.includes(item.fieldName)) {
556
+ labels.push(item.label);
557
+ }
558
+ });
559
+ this.state.quickSearchPlaceHolder = labels.join('、');
560
+ }
561
+ else {
562
+ this.state.quickSearchPlaceHolder = this.placeHolder;
563
+ }
564
+ }
565
+ }
516
566
  }
@@ -0,0 +1,35 @@
1
+ import { ISearchBarFilter } from '@ibiz/model-core';
2
+ export declare const ItemsValueOPs: string[];
3
+ /**
4
+ * 是否是简单ITEMS模式
5
+ * @author lxm
6
+ * @date 2024-04-10 01:46:24
7
+ * @export
8
+ * @param {ISearchBarFilter} model
9
+ * @return {*} {boolean}
10
+ */
11
+ export declare function isSimpleItems(model: ISearchBarFilter): boolean;
12
+ /**
13
+ * 是否是隐藏的过滤项
14
+ * @author lxm
15
+ * @date 2024-04-10 01:47:43
16
+ * @export
17
+ * @param {ISearchBarFilter} model
18
+ * @return {*} {boolean}
19
+ */
20
+ export declare function isHiddenFilter(model: ISearchBarFilter): boolean;
21
+ /**
22
+ * 解析出子属性的字段名和操作符
23
+ * @example
24
+ * parseSubFieldInfo('N_ATTENTIONS_EXISTS__N_USER_ID_EQ') => { field: 'USER_ID', op: 'EQ' }
25
+ * @author lxm
26
+ * @date 2024-04-10 02:03:57
27
+ * @export
28
+ * @param {string} str
29
+ * @return {*} {{ field: string; op: string }}
30
+ */
31
+ export declare function parseSubFieldInfo(str: string): {
32
+ field: string;
33
+ op: string;
34
+ };
35
+ //# sourceMappingURL=util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/search-bar/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGpD,eAAO,MAAM,aAAa,EAAE,MAAM,EAGxB,CAAC;AAIX;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAE9D;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAE/D;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAI5E"}
@@ -0,0 +1,45 @@
1
+ import { ValueOP } from '../../../constant';
2
+ export const ItemsValueOPs = [
3
+ ValueOP.EXISTS,
4
+ ValueOP.NOT_EXISTS,
5
+ ];
6
+ const SubFieldRegex = /^N_(.\w+)_(.\w+)$/; // N_USER_ID_EQ格式字符串中的USER_ID和EQ
7
+ /**
8
+ * 是否是简单ITEMS模式
9
+ * @author lxm
10
+ * @date 2024-04-10 01:46:24
11
+ * @export
12
+ * @param {ISearchBarFilter} model
13
+ * @return {*} {boolean}
14
+ */
15
+ export function isSimpleItems(model) {
16
+ var _a;
17
+ return ((_a = model.userParam) === null || _a === void 0 ? void 0 : _a.ITEMTYPE) === 'SIMPLE';
18
+ }
19
+ /**
20
+ * 是否是隐藏的过滤项
21
+ * @author lxm
22
+ * @date 2024-04-10 01:47:43
23
+ * @export
24
+ * @param {ISearchBarFilter} model
25
+ * @return {*} {boolean}
26
+ */
27
+ export function isHiddenFilter(model) {
28
+ var _a;
29
+ return ((_a = model.userParam) === null || _a === void 0 ? void 0 : _a.ITEMTYPE) === 'HIDDEN';
30
+ }
31
+ /**
32
+ * 解析出子属性的字段名和操作符
33
+ * @example
34
+ * parseSubFieldInfo('N_ATTENTIONS_EXISTS__N_USER_ID_EQ') => { field: 'USER_ID', op: 'EQ' }
35
+ * @author lxm
36
+ * @date 2024-04-10 02:03:57
37
+ * @export
38
+ * @param {string} str
39
+ * @return {*} {{ field: string; op: string }}
40
+ */
41
+ export function parseSubFieldInfo(str) {
42
+ const subStr = str.split('__')[1];
43
+ const matches = subStr.match(SubFieldRegex);
44
+ return { field: matches[1], op: matches[2] };
45
+ }
@@ -110,5 +110,19 @@ export declare class GlobalUtil {
110
110
  * @param {string} title
111
111
  */
112
112
  setBrowserTitle(title: string): void;
113
+ /**
114
+ * 获取应用全局变量
115
+ * @author lxm
116
+ * @date 2024-04-01 11:24:58
117
+ * @return {*} {IParams}
118
+ */
119
+ getGlobalParam(): IParams;
120
+ /**
121
+ * 获取视图路由参数变量,数组类型,基于路由解析出来的,每一个对象里面都有context和params
122
+ * @author lxm
123
+ * @date 2024-04-01 11:24:58
124
+ * @return {*} {IParams}
125
+ */
126
+ getRouterParams(): IParams[];
113
127
  }
114
128
  //# sourceMappingURL=global-util.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"global-util.d.ts","sourceRoot":"","sources":["../../../src/global/global-util/global-util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EACL,QAAQ,EACR,eAAe,EACf,cAAc,EACd,YAAY,EACZ,SAAS,EAET,kBAAkB,EAClB,SAAS,EACT,SAAS,EACT,QAAQ,EACT,MAAM,aAAa,CAAC;AAKrB;;;;;;;GAOG;AACH,qBAAa,UAAU;IACrB;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,kBAAyB;IAE7C;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,YAAmB;IAEjC;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,WAAkB;IAE/B;;;;;OAKG;IACH,QAAQ,CAAC,GAAG,iBAAwB;IAEpC;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,eAAsB;IAEvC;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,sBAAgB;IAE/B;;;;OAIG;IACH,QAAQ,CAAC,KAAK,qBAA4B;IAE1C;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,YAAmB;IAErC;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,YAAmB;IAEjC;;;;;;OAMG;IACH,QAAQ,CAAC,IAAI,WAAkB;;IAM/B;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC;IAEzC;;;;;OAKG;IACH,cAAc,IAAI,IAAI;IAOtB;;;;;OAKG;IACH,gBAAgB,IAAI,IAAI;IASxB;;;;;;OAMG;IACH,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;CAgBrC"}
1
+ {"version":3,"file":"global-util.d.ts","sourceRoot":"","sources":["../../../src/global/global-util/global-util.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EACL,QAAQ,EACR,eAAe,EACf,cAAc,EACd,YAAY,EACZ,SAAS,EAET,kBAAkB,EAClB,SAAS,EACT,SAAS,EACT,QAAQ,EACT,MAAM,aAAa,CAAC;AAKrB;;;;;;;GAOG;AACH,qBAAa,UAAU;IACrB;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,kBAAyB;IAE7C;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,YAAmB;IAEjC;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,WAAkB;IAE/B;;;;;OAKG;IACH,QAAQ,CAAC,GAAG,iBAAwB;IAEpC;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,eAAsB;IAEvC;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,sBAAgB;IAE/B;;;;OAIG;IACH,QAAQ,CAAC,KAAK,qBAA4B;IAE1C;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,YAAmB;IAErC;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,YAAmB;IAEjC;;;;;;OAMG;IACH,QAAQ,CAAC,IAAI,WAAkB;;IAM/B;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC;IAEzC;;;;;OAKG;IACH,cAAc,IAAI,IAAI;IAOtB;;;;;OAKG;IACH,gBAAgB,IAAI,IAAI;IASxB;;;;;;OAMG;IACH,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAiBpC;;;;;OAKG;IACH,cAAc,IAAI,OAAO;IAIzB;;;;;OAKG;IACH,eAAe,IAAI,OAAO,EAAE;CAG7B"}
@@ -1,3 +1,4 @@
1
+ import { RuntimeError } from '@ibiz-template/core';
1
2
  import { UIActionUtil } from '../../ui-action';
2
3
  import { TextUtil, LayoutPanelUtil, HandlebarsUtil, RawValueUtil, ThemeUtil, DefaultErrorHandler, ErrorHandlerCenter, ViewStack, AnimeUtil, FileUtil, } from '../../utils';
3
4
  // 保存浏览器标签原始标题
@@ -137,4 +138,22 @@ export class GlobalUtil {
137
138
  document.title = tabTitle;
138
139
  }
139
140
  }
141
+ /**
142
+ * 获取应用全局变量
143
+ * @author lxm
144
+ * @date 2024-04-01 11:24:58
145
+ * @return {*} {IParams}
146
+ */
147
+ getGlobalParam() {
148
+ throw new RuntimeError('获取应用全局变量没有实现');
149
+ }
150
+ /**
151
+ * 获取视图路由参数变量,数组类型,基于路由解析出来的,每一个对象里面都有context和params
152
+ * @author lxm
153
+ * @date 2024-04-01 11:24:58
154
+ * @return {*} {IParams}
155
+ */
156
+ getRouterParams() {
157
+ throw new RuntimeError('获取视图路由参数变量没有实现');
158
+ }
140
159
  }
@@ -185,5 +185,12 @@ export interface IAppHubService {
185
185
  * @date 2024-01-03 06:46:57
186
186
  */
187
187
  reset(): void;
188
+ /**
189
+ * 销毁基座
190
+ *
191
+ * @author tony001
192
+ * @date 2024-04-10 15:04:21
193
+ */
194
+ destroy(): void;
188
195
  }
189
196
  //# sourceMappingURL=i-app-hub-service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"i-app-hub-service.d.ts","sourceRoot":"","sources":["../../../../src/interface/common/i-app-hub-service/i-app-hub-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAE7D;;;;;;;GAOG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAE1B;;;;;;OAMG;IACH,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;IAEpC;;;;;;OAMG;IACH,WAAW,EAAE,cAAc,CAAC;IAE5B;;;;;;OAMG;IACH,uBAAuB,EAAE,MAAM,CAAC;IAEhC;;;;OAIG;IACH,MAAM,EAAE,iBAAiB,CAAC;IAE1B;;;;;OAKG;IACH,MAAM,EAAE,iBAAiB,CAAC;IAE1B;;;;;;OAMG;IACH,2BAA2B,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAEjE;;;;;;OAMG;IACH,eAAe,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;IAEvC;;;;;;;OAOG;IACH,qBAAqB,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAElE;;;;;;;;OAQG;IACH,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEjE;;;;;;;OAOG;IACH,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAEjC;;;;;;;OAOG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAEnD;;;;;;;OAOG;IACH,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE3C;;;;;;;;;OASG;IACH,WAAW,CACT,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,QAAQ,CAAC,CAAC;IAErB;;;;;;;;OAQG;IACH,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAEtE;;;;;;;OAOG;IACH,WAAW,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAElD;;;;;;;OAOG;IACH,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,WAAW,CAAC;IAEjD;;;;;;OAMG;IACH,UAAU,IAAI,WAAW,EAAE,CAAC;IAE5B;;;;;;;;;OASG;IACH,eAAe,CACb,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,QAAQ,GAChB,OAAO,CAAC,aAAa,CAAC,CAAC;IAE1B;;;;OAIG;IACH,KAAK,IAAI,IAAI,CAAC;CACf"}
1
+ {"version":3,"file":"i-app-hub-service.d.ts","sourceRoot":"","sources":["../../../../src/interface/common/i-app-hub-service/i-app-hub-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAE7D;;;;;;;GAOG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAE1B;;;;;;OAMG;IACH,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;IAEpC;;;;;;OAMG;IACH,WAAW,EAAE,cAAc,CAAC;IAE5B;;;;;;OAMG;IACH,uBAAuB,EAAE,MAAM,CAAC;IAEhC;;;;OAIG;IACH,MAAM,EAAE,iBAAiB,CAAC;IAE1B;;;;;OAKG;IACH,MAAM,EAAE,iBAAiB,CAAC;IAE1B;;;;;;OAMG;IACH,2BAA2B,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAEjE;;;;;;OAMG;IACH,eAAe,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;IAEvC;;;;;;;OAOG;IACH,qBAAqB,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAElE;;;;;;;;OAQG;IACH,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEjE;;;;;;;OAOG;IACH,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAEjC;;;;;;;OAOG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAEnD;;;;;;;OAOG;IACH,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE3C;;;;;;;;;OASG;IACH,WAAW,CACT,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,QAAQ,CAAC,CAAC;IAErB;;;;;;;;OAQG;IACH,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAEtE;;;;;;;OAOG;IACH,WAAW,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAElD;;;;;;;OAOG;IACH,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,WAAW,CAAC;IAEjD;;;;;;OAMG;IACH,UAAU,IAAI,WAAW,EAAE,CAAC;IAE5B;;;;;;;;;OASG;IACH,eAAe,CACb,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,QAAQ,GAChB,OAAO,CAAC,aAAa,CAAC,CAAC;IAE1B;;;;OAIG;IACH,KAAK,IAAI,IAAI,CAAC;IAEd;;;;;OAKG;IACH,OAAO,IAAI,IAAI,CAAC;CACjB"}
@@ -126,5 +126,12 @@ export interface IAppService {
126
126
  * @return {*} {Promise<void>}
127
127
  */
128
128
  initMqtt(): Promise<void>;
129
+ /**
130
+ * 销毁应用
131
+ *
132
+ * @author tony001
133
+ * @date 2024-04-10 15:04:12
134
+ */
135
+ destroy(): void;
129
136
  }
130
137
  //# sourceMappingURL=i-app-service.d.ts.map