@ibiz-template/runtime 0.6.0-alpha.0 → 0.6.0-alpha.2
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.
- package/dist/index.esm.js +36 -35
- package/dist/index.system.min.js +1 -1
- package/out/controller/control/search-bar/search-bar-filter.controller.d.ts +9 -14
- package/out/controller/control/search-bar/search-bar-filter.controller.d.ts.map +1 -1
- package/out/controller/control/search-bar/search-bar-filter.controller.js +4 -31
- package/out/controller/control/search-bar/search-bar.controller.d.ts.map +1 -1
- package/out/controller/control/search-bar/search-bar.controller.js +9 -2
- package/out/controller/notification/notice.controller.js +2 -2
- package/out/global/global-util/global-util.d.ts +8 -0
- package/out/global/global-util/global-util.d.ts.map +1 -1
- package/out/global/global-util/global-util.js +18 -0
- package/package.json +2 -2
- package/src/controller/control/search-bar/search-bar-filter.controller.ts +9 -38
- package/src/controller/control/search-bar/search-bar.controller.ts +15 -2
- package/src/controller/notification/notice.controller.ts +3 -3
- package/src/global/global-util/global-util.ts +19 -0
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import { IAppDataEntity, ISearchBarFilter } from '@ibiz/model-core';
|
|
2
2
|
import { IEditorContainerController, IEditorController, IEditorProvider, IFilterLeafNode } from '../../../interface';
|
|
3
|
-
import { SearchBarController } from './search-bar.controller';
|
|
4
3
|
/** 不需要编辑器的OP */
|
|
5
4
|
export declare const ExcludeOPs: string[];
|
|
5
|
+
export interface ISearchFilterContainer {
|
|
6
|
+
context: IContext;
|
|
7
|
+
params: IParams;
|
|
8
|
+
appDataEntity: IAppDataEntity;
|
|
9
|
+
}
|
|
6
10
|
/**
|
|
7
11
|
* 搜索栏过滤项控制器
|
|
8
12
|
* @author lxm
|
|
@@ -13,11 +17,11 @@ export declare const ExcludeOPs: string[];
|
|
|
13
17
|
*/
|
|
14
18
|
export declare class SearchBarFilterController implements IEditorContainerController {
|
|
15
19
|
model: ISearchBarFilter;
|
|
16
|
-
|
|
20
|
+
appDataEntity: IAppDataEntity;
|
|
21
|
+
context: IContext;
|
|
22
|
+
params: IParams;
|
|
17
23
|
unitName: string | undefined;
|
|
18
24
|
valueFormat: string | undefined;
|
|
19
|
-
get context(): IContext;
|
|
20
|
-
get params(): IParams;
|
|
21
25
|
dataType: number | undefined;
|
|
22
26
|
/**
|
|
23
27
|
* 编辑器控制器
|
|
@@ -70,8 +74,7 @@ export declare class SearchBarFilterController implements IEditorContainerContro
|
|
|
70
74
|
* @type {(string | undefined)}
|
|
71
75
|
*/
|
|
72
76
|
get valueItem(): string | undefined;
|
|
73
|
-
|
|
74
|
-
constructor(model: ISearchBarFilter, searchbar: SearchBarController);
|
|
77
|
+
constructor(model: ISearchBarFilter, appDataEntity: IAppDataEntity, context: IContext, params: IParams);
|
|
75
78
|
/**
|
|
76
79
|
* 初始化
|
|
77
80
|
* @author lxm
|
|
@@ -79,14 +82,6 @@ export declare class SearchBarFilterController implements IEditorContainerContro
|
|
|
79
82
|
* @return {*} {Promise<void>}
|
|
80
83
|
*/
|
|
81
84
|
init(): Promise<void>;
|
|
82
|
-
/**
|
|
83
|
-
* 格式化给多数据查询接口的值
|
|
84
|
-
* @author lxm
|
|
85
|
-
* @date 2024-02-04 11:31:32
|
|
86
|
-
* @param {*} value
|
|
87
|
-
* @return {*} {*}
|
|
88
|
-
*/
|
|
89
|
-
formatValue(node: IData): unknown;
|
|
90
85
|
/**
|
|
91
86
|
* 计算要递给编辑器的参数
|
|
92
87
|
* @author lxm
|
|
@@ -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;
|
|
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,EAGrB,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"}
|
|
@@ -3,7 +3,6 @@ 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 { ScriptFactory } from '../../../utils';
|
|
7
6
|
/** 不需要编辑器的OP */
|
|
8
7
|
export const ExcludeOPs = [
|
|
9
8
|
ValueOP.IS_NULL,
|
|
@@ -19,12 +18,6 @@ const ScriptValueRegex = /\$\{[^}]*\}/; // 匹配${xxx}格式字符串
|
|
|
19
18
|
* @implements {IEditorContainerController}
|
|
20
19
|
*/
|
|
21
20
|
export class SearchBarFilterController {
|
|
22
|
-
get context() {
|
|
23
|
-
return this.searchbar.context;
|
|
24
|
-
}
|
|
25
|
-
get params() {
|
|
26
|
-
return this.searchbar.params;
|
|
27
|
-
}
|
|
28
21
|
/**
|
|
29
22
|
* 值项
|
|
30
23
|
* @author lxm
|
|
@@ -35,13 +28,12 @@ export class SearchBarFilterController {
|
|
|
35
28
|
get valueItem() {
|
|
36
29
|
return this.editor ? this.editor.valueItem : undefined;
|
|
37
30
|
}
|
|
38
|
-
|
|
39
|
-
return this.searchbar.appDataEntity;
|
|
40
|
-
}
|
|
41
|
-
constructor(model, searchbar) {
|
|
31
|
+
constructor(model, appDataEntity, context, params) {
|
|
42
32
|
var _a;
|
|
43
33
|
this.model = model;
|
|
44
|
-
this.
|
|
34
|
+
this.appDataEntity = appDataEntity;
|
|
35
|
+
this.context = context;
|
|
36
|
+
this.params = params;
|
|
45
37
|
/**
|
|
46
38
|
* 不需要编辑器
|
|
47
39
|
* @author lxm
|
|
@@ -81,25 +73,6 @@ export class SearchBarFilterController {
|
|
|
81
73
|
}
|
|
82
74
|
}
|
|
83
75
|
}
|
|
84
|
-
/**
|
|
85
|
-
* 格式化给多数据查询接口的值
|
|
86
|
-
* @author lxm
|
|
87
|
-
* @date 2024-02-04 11:31:32
|
|
88
|
-
* @param {*} value
|
|
89
|
-
* @return {*} {*}
|
|
90
|
-
*/
|
|
91
|
-
formatValue(node) {
|
|
92
|
-
const { value, valueItem } = node;
|
|
93
|
-
if (this.valueItem && valueItem) {
|
|
94
|
-
delete node.valueItem;
|
|
95
|
-
return valueItem;
|
|
96
|
-
}
|
|
97
|
-
// 脚本转换
|
|
98
|
-
if (ScriptValueRegex.test(value)) {
|
|
99
|
-
return ScriptFactory.execSingleLine(`\`${value}\``, Object.assign({}, this.searchbar.getEventArgs()));
|
|
100
|
-
}
|
|
101
|
-
return value;
|
|
102
|
-
}
|
|
103
76
|
/**
|
|
104
77
|
* 计算要递给编辑器的参数
|
|
105
78
|
* @author lxm
|
|
@@ -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;AAWxD;;;;;;;;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;
|
|
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;AAWxD;;;;;;;;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;IAiBrD;;;;;OAKG;IACH,WAAW,CAAC,WAAW,UAAO,GAAG,KAAK,EAAE,GAAG,SAAS;IAoCpD;;;;;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"}
|
|
@@ -268,7 +268,7 @@ export class SearchBarController extends ControlController {
|
|
|
268
268
|
var _a;
|
|
269
269
|
if ((_a = this.searchBarFilters) === null || _a === void 0 ? void 0 : _a.length) {
|
|
270
270
|
this.searchBarFilters.forEach(item => {
|
|
271
|
-
const filterController = new SearchBarFilterController(item, this);
|
|
271
|
+
const filterController = new SearchBarFilterController(item, this.appDataEntity, this.context, this.params);
|
|
272
272
|
this.filterControllers.push(filterController);
|
|
273
273
|
});
|
|
274
274
|
await Promise.all(this.filterControllers.map(controller => controller.init()));
|
|
@@ -291,7 +291,14 @@ export class SearchBarController extends ControlController {
|
|
|
291
291
|
if (node.condtype === 'DEFIELD' && !isNil(node.value)) {
|
|
292
292
|
const controller = this.findFilterController(node.fieldname, node.condop);
|
|
293
293
|
if (controller) {
|
|
294
|
-
|
|
294
|
+
if (controller.valueItem && node.valueItem) {
|
|
295
|
+
node.value = node.valueItem;
|
|
296
|
+
delete node.valueItem;
|
|
297
|
+
}
|
|
298
|
+
else if (ScriptValueRegex.test(node.value)) {
|
|
299
|
+
// 脚本转换
|
|
300
|
+
node.value = ScriptFactory.execSingleLine(`\`${node.value}\``, Object.assign({}, this.getEventArgs()));
|
|
301
|
+
}
|
|
295
302
|
}
|
|
296
303
|
}
|
|
297
304
|
}, { childrenFields: ['searchconds'] });
|
|
@@ -9,11 +9,11 @@ export class NoticeController {
|
|
|
9
9
|
this.internalMessage = new InternalMessageController();
|
|
10
10
|
}
|
|
11
11
|
async init() {
|
|
12
|
-
await this.internalMessage.init();
|
|
13
|
-
await this.asyncAction.init();
|
|
14
12
|
this.internalMessage.evt.on('unreadCountChange', () => {
|
|
15
13
|
this.total = this.internalMessage.unreadCount;
|
|
16
14
|
this.evt.emit('totalChange', this.total);
|
|
17
15
|
});
|
|
16
|
+
await this.internalMessage.init();
|
|
17
|
+
await this.asyncAction.init();
|
|
18
18
|
}
|
|
19
19
|
}
|
|
@@ -102,5 +102,13 @@ export declare class GlobalUtil {
|
|
|
102
102
|
* @date 2023-09-08 10:09:15
|
|
103
103
|
*/
|
|
104
104
|
hiddenAppLoading(): void;
|
|
105
|
+
/**
|
|
106
|
+
* 设置浏览器标签页标题
|
|
107
|
+
*
|
|
108
|
+
* @author chitanda
|
|
109
|
+
* @date 2024-02-05 09:02:08
|
|
110
|
+
* @param {string} title
|
|
111
|
+
*/
|
|
112
|
+
setBrowserTitle(title: string): void;
|
|
105
113
|
}
|
|
106
114
|
//# 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;
|
|
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;CAQrC"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { UIActionUtil } from '../../ui-action';
|
|
2
2
|
import { TextUtil, LayoutPanelUtil, HandlebarsUtil, RawValueUtil, ThemeUtil, DefaultErrorHandler, ErrorHandlerCenter, ViewStack, AnimeUtil, FileUtil, } from '../../utils';
|
|
3
|
+
// 保存浏览器标签原始标题
|
|
4
|
+
const sourceTitle = document.title;
|
|
3
5
|
/**
|
|
4
6
|
* 全局工具方法或对象
|
|
5
7
|
*
|
|
@@ -109,4 +111,20 @@ export class GlobalUtil {
|
|
|
109
111
|
}
|
|
110
112
|
}, 300);
|
|
111
113
|
}
|
|
114
|
+
/**
|
|
115
|
+
* 设置浏览器标签页标题
|
|
116
|
+
*
|
|
117
|
+
* @author chitanda
|
|
118
|
+
* @date 2024-02-05 09:02:08
|
|
119
|
+
* @param {string} title
|
|
120
|
+
*/
|
|
121
|
+
setBrowserTitle(title) {
|
|
122
|
+
const app = ibiz.hub.getApp();
|
|
123
|
+
if (title) {
|
|
124
|
+
document.title = `${app.model.title || ibiz.env.AppTitle || sourceTitle} - ${title}`;
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
document.title = app.model.title || ibiz.env.AppTitle || sourceTitle;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
112
130
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ibiz-template/runtime",
|
|
3
|
-
"version": "0.6.0-alpha.
|
|
3
|
+
"version": "0.6.0-alpha.2",
|
|
4
4
|
"description": "控制器包",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "out/index.js",
|
|
@@ -64,5 +64,5 @@
|
|
|
64
64
|
"dependencies": {
|
|
65
65
|
"animejs": "^3.2.2"
|
|
66
66
|
},
|
|
67
|
-
"gitHead": "
|
|
67
|
+
"gitHead": "f12ee6bf410373ab9446f755828f6c7f1e68c2c7"
|
|
68
68
|
}
|
|
@@ -14,8 +14,6 @@ import {
|
|
|
14
14
|
import { findFieldById } from '../../../model';
|
|
15
15
|
import { getEditorProvider } from '../../../register';
|
|
16
16
|
import { ValueOP } from '../../../constant';
|
|
17
|
-
import { SearchBarController } from './search-bar.controller';
|
|
18
|
-
import { ScriptFactory } from '../../../utils';
|
|
19
17
|
|
|
20
18
|
/** 不需要编辑器的OP */
|
|
21
19
|
export const ExcludeOPs: string[] = [
|
|
@@ -25,6 +23,12 @@ export const ExcludeOPs: string[] = [
|
|
|
25
23
|
|
|
26
24
|
const ScriptValueRegex = /\$\{[^}]*\}/; // 匹配${xxx}格式字符串
|
|
27
25
|
|
|
26
|
+
export interface ISearchFilterContainer {
|
|
27
|
+
context: IContext;
|
|
28
|
+
params: IParams;
|
|
29
|
+
appDataEntity: IAppDataEntity;
|
|
30
|
+
}
|
|
31
|
+
|
|
28
32
|
/**
|
|
29
33
|
* 搜索栏过滤项控制器
|
|
30
34
|
* @author lxm
|
|
@@ -38,14 +42,6 @@ export class SearchBarFilterController implements IEditorContainerController {
|
|
|
38
42
|
|
|
39
43
|
valueFormat: string | undefined;
|
|
40
44
|
|
|
41
|
-
get context(): IContext {
|
|
42
|
-
return this.searchbar.context;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
get params(): IParams {
|
|
46
|
-
return this.searchbar.params;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
45
|
dataType: number | undefined;
|
|
50
46
|
|
|
51
47
|
/**
|
|
@@ -108,13 +104,11 @@ export class SearchBarFilterController implements IEditorContainerController {
|
|
|
108
104
|
return this.editor ? (this.editor as IData).valueItem : undefined;
|
|
109
105
|
}
|
|
110
106
|
|
|
111
|
-
get appDataEntity(): IAppDataEntity {
|
|
112
|
-
return this.searchbar.appDataEntity;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
107
|
constructor(
|
|
116
108
|
public model: ISearchBarFilter,
|
|
117
|
-
|
|
109
|
+
public appDataEntity: IAppDataEntity,
|
|
110
|
+
public context: IContext,
|
|
111
|
+
public params: IParams,
|
|
118
112
|
) {
|
|
119
113
|
// 实体属性
|
|
120
114
|
let field: IAppDEField | undefined;
|
|
@@ -157,29 +151,6 @@ export class SearchBarFilterController implements IEditorContainerController {
|
|
|
157
151
|
}
|
|
158
152
|
}
|
|
159
153
|
|
|
160
|
-
/**
|
|
161
|
-
* 格式化给多数据查询接口的值
|
|
162
|
-
* @author lxm
|
|
163
|
-
* @date 2024-02-04 11:31:32
|
|
164
|
-
* @param {*} value
|
|
165
|
-
* @return {*} {*}
|
|
166
|
-
*/
|
|
167
|
-
formatValue(node: IData): unknown {
|
|
168
|
-
const { value, valueItem } = node;
|
|
169
|
-
if (this.valueItem && valueItem) {
|
|
170
|
-
delete node.valueItem;
|
|
171
|
-
return valueItem;
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
// 脚本转换
|
|
175
|
-
if (ScriptValueRegex.test(value)) {
|
|
176
|
-
return ScriptFactory.execSingleLine(`\`${value}\``, {
|
|
177
|
-
...(this.searchbar as IData).getEventArgs(),
|
|
178
|
-
});
|
|
179
|
-
}
|
|
180
|
-
return value;
|
|
181
|
-
}
|
|
182
|
-
|
|
183
154
|
/**
|
|
184
155
|
* 计算要递给编辑器的参数
|
|
185
156
|
* @author lxm
|
|
@@ -348,7 +348,12 @@ export class SearchBarController
|
|
|
348
348
|
protected async initSearchBarFilters(): Promise<void> {
|
|
349
349
|
if (this.searchBarFilters?.length) {
|
|
350
350
|
this.searchBarFilters.forEach(item => {
|
|
351
|
-
const filterController = new SearchBarFilterController(
|
|
351
|
+
const filterController = new SearchBarFilterController(
|
|
352
|
+
item,
|
|
353
|
+
this.appDataEntity,
|
|
354
|
+
this.context,
|
|
355
|
+
this.params,
|
|
356
|
+
);
|
|
352
357
|
this.filterControllers.push(filterController);
|
|
353
358
|
});
|
|
354
359
|
await Promise.all(
|
|
@@ -380,7 +385,15 @@ export class SearchBarController
|
|
|
380
385
|
node.condop,
|
|
381
386
|
);
|
|
382
387
|
if (controller) {
|
|
383
|
-
|
|
388
|
+
if (controller.valueItem && node.valueItem) {
|
|
389
|
+
node.value = node.valueItem;
|
|
390
|
+
delete node.valueItem;
|
|
391
|
+
} else if (ScriptValueRegex.test(node.value)) {
|
|
392
|
+
// 脚本转换
|
|
393
|
+
node.value = ScriptFactory.execSingleLine(`\`${node.value}\``, {
|
|
394
|
+
...this.getEventArgs(),
|
|
395
|
+
});
|
|
396
|
+
}
|
|
384
397
|
}
|
|
385
398
|
}
|
|
386
399
|
},
|
|
@@ -13,12 +13,12 @@ export class NoticeController implements INoticeController {
|
|
|
13
13
|
internalMessage = new InternalMessageController();
|
|
14
14
|
|
|
15
15
|
async init(): Promise<void> {
|
|
16
|
-
await this.internalMessage.init();
|
|
17
|
-
await this.asyncAction.init();
|
|
18
|
-
|
|
19
16
|
this.internalMessage.evt.on('unreadCountChange', () => {
|
|
20
17
|
this.total = this.internalMessage.unreadCount;
|
|
21
18
|
this.evt.emit('totalChange', this.total);
|
|
22
19
|
});
|
|
20
|
+
|
|
21
|
+
await this.internalMessage.init();
|
|
22
|
+
await this.asyncAction.init();
|
|
23
23
|
}
|
|
24
24
|
}
|
|
@@ -13,6 +13,9 @@ import {
|
|
|
13
13
|
FileUtil,
|
|
14
14
|
} from '../../utils';
|
|
15
15
|
|
|
16
|
+
// 保存浏览器标签原始标题
|
|
17
|
+
const sourceTitle = document.title;
|
|
18
|
+
|
|
16
19
|
/**
|
|
17
20
|
* 全局工具方法或对象
|
|
18
21
|
*
|
|
@@ -141,4 +144,20 @@ export class GlobalUtil {
|
|
|
141
144
|
}
|
|
142
145
|
}, 300);
|
|
143
146
|
}
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* 设置浏览器标签页标题
|
|
150
|
+
*
|
|
151
|
+
* @author chitanda
|
|
152
|
+
* @date 2024-02-05 09:02:08
|
|
153
|
+
* @param {string} title
|
|
154
|
+
*/
|
|
155
|
+
setBrowserTitle(title: string): void {
|
|
156
|
+
const app = ibiz.hub.getApp();
|
|
157
|
+
if (title) {
|
|
158
|
+
document.title = `${app.model.title || ibiz.env.AppTitle || sourceTitle} - ${title}`;
|
|
159
|
+
} else {
|
|
160
|
+
document.title = app.model.title || ibiz.env.AppTitle || sourceTitle;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
144
163
|
}
|