@ibiz-template/runtime 0.1.24 → 0.1.25
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 +60 -18
- package/dist/index.system.min.js +1 -1
- package/dist/index.system.min.js.map +1 -1
- package/out/config/global-config.d.ts.map +1 -1
- package/out/config/global-config.js +1 -0
- package/out/controller/common/control/control.controller.d.ts +4 -4
- package/out/controller/common/control/control.controller.d.ts.map +1 -1
- package/out/controller/common/control/control.controller.js +2 -2
- package/out/controller/control/exp-bar/calendar-exp-bar.controller.d.ts.map +1 -1
- package/out/controller/control/exp-bar/calendar-exp-bar.controller.js +1 -0
- package/out/controller/control/exp-bar/exp-bar.controller.d.ts +10 -0
- package/out/controller/control/exp-bar/exp-bar.controller.d.ts.map +1 -1
- package/out/controller/control/exp-bar/exp-bar.controller.js +32 -7
- package/out/controller/control/exp-bar/tree-exp-bar.controller.d.ts.map +1 -1
- package/out/controller/control/exp-bar/tree-exp-bar.controller.js +1 -0
- package/out/interface/common/i-global-config/i-global-view-config.d.ts +8 -0
- package/out/interface/common/i-global-config/i-global-view-config.d.ts.map +1 -1
- package/out/interface/controller/controller/control/i-exp-bar-control.controller.d.ts +10 -0
- package/out/interface/controller/controller/control/i-exp-bar-control.controller.d.ts.map +1 -1
- package/out/interface/provider/i-control.provider.d.ts +15 -0
- package/out/interface/provider/i-control.provider.d.ts.map +1 -1
- package/out/interface/provider/i-view.provider.d.ts +15 -0
- package/out/interface/provider/i-view.provider.d.ts.map +1 -1
- package/out/service/vo/control.vo.d.ts.map +1 -1
- package/out/service/vo/control.vo.js +9 -12
- package/out/service/vo/ui-map-field.d.ts +7 -0
- package/out/service/vo/ui-map-field.d.ts.map +1 -1
- package/out/service/vo/ui-map-field.js +24 -0
- package/package.json +2 -2
- package/src/config/global-config.ts +1 -0
- package/src/controller/common/control/control.controller.ts +4 -4
- package/src/controller/control/exp-bar/calendar-exp-bar.controller.ts +1 -0
- package/src/controller/control/exp-bar/exp-bar.controller.ts +35 -7
- package/src/controller/control/exp-bar/tree-exp-bar.controller.ts +1 -0
- package/src/interface/common/i-global-config/i-global-view-config.ts +9 -0
- package/src/interface/controller/controller/control/i-exp-bar-control.controller.ts +8 -0
- package/src/interface/provider/i-control.provider.ts +22 -0
- package/src/interface/provider/i-view.provider.ts +22 -0
- package/src/service/vo/control.vo.ts +10 -15
- package/src/service/vo/ui-map-field.ts +28 -0
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
import { IAppView } from '@ibiz/model-core';
|
|
2
|
+
import { CTX } from '../../controller';
|
|
3
|
+
import { IViewController } from '../controller';
|
|
4
|
+
|
|
1
5
|
/**
|
|
2
6
|
* 视图适配器的接口
|
|
3
7
|
*
|
|
@@ -16,4 +20,22 @@ export interface IViewProvider {
|
|
|
16
20
|
*/
|
|
17
21
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
18
22
|
component: any;
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* 创建视图控制器
|
|
26
|
+
*
|
|
27
|
+
* @author lxm
|
|
28
|
+
* @date 2023-09-15 11:49:26
|
|
29
|
+
* @param {IAppView} model 视图模型
|
|
30
|
+
* @param {IContext} context 上下文
|
|
31
|
+
* @param {IParams} [params] 视图参数
|
|
32
|
+
* @param {CTX} [ctx]
|
|
33
|
+
* @return {*} {IViewController}
|
|
34
|
+
*/
|
|
35
|
+
createController?(
|
|
36
|
+
model: IAppView,
|
|
37
|
+
context: IContext,
|
|
38
|
+
params?: IParams,
|
|
39
|
+
ctx?: CTX,
|
|
40
|
+
): IViewController;
|
|
19
41
|
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { DataTypes } from '@ibiz-template/core';
|
|
2
1
|
import { clone, isNil } from 'ramda';
|
|
3
2
|
import { Srfuf } from '../constant';
|
|
4
3
|
import { UIMapField } from './ui-map-field';
|
|
@@ -142,10 +141,7 @@ export class ControlVO {
|
|
|
142
141
|
this.$dataUIMap.forEach((mapField, key) => {
|
|
143
142
|
const value = mapField.dataKey;
|
|
144
143
|
// 关联映射属性
|
|
145
|
-
|
|
146
|
-
mapField.dataType !== undefined &&
|
|
147
|
-
DataTypes.isNumber(mapField.dataType);
|
|
148
|
-
this.linkProperty(key, value, mapField.isOriginField, forceNumber);
|
|
144
|
+
this.linkProperty(key, value, mapField);
|
|
149
145
|
});
|
|
150
146
|
|
|
151
147
|
// 映射属性里没有涉及到的建立直接关联,用于使用实体属性也要取到值的场景。
|
|
@@ -172,9 +168,9 @@ export class ControlVO {
|
|
|
172
168
|
private linkProperty(
|
|
173
169
|
uiKey: string,
|
|
174
170
|
dataKey: string,
|
|
175
|
-
|
|
176
|
-
forceNumber: boolean = false,
|
|
171
|
+
mapField?: UIMapField,
|
|
177
172
|
): void {
|
|
173
|
+
const isOriginField = mapField ? mapField.isOriginField : true;
|
|
178
174
|
// srfuf和srfkey不做处理
|
|
179
175
|
if (uiKey === 'srfuf') {
|
|
180
176
|
return;
|
|
@@ -195,16 +191,15 @@ export class ControlVO {
|
|
|
195
191
|
: this.$origin[dataKey];
|
|
196
192
|
},
|
|
197
193
|
set(val) {
|
|
198
|
-
//
|
|
199
|
-
|
|
200
|
-
forceNumber && !isNil(val) && val !== '' ? Number(val) : val;
|
|
201
|
-
if (Number.isNaN(val2)) {
|
|
202
|
-
val2 = val; // NaN时还原值
|
|
203
|
-
ibiz.log.error(`${val}不能转换成数字`);
|
|
204
|
-
}
|
|
205
|
-
this.$origin[dataKey] = val2;
|
|
194
|
+
// 有mapField的走它的转换
|
|
195
|
+
this.$origin[dataKey] = mapField ? mapField.convertVal(val) : val;
|
|
206
196
|
},
|
|
207
197
|
});
|
|
198
|
+
|
|
199
|
+
// 一开始初始化的时候先把值转换一下。
|
|
200
|
+
if (mapField) {
|
|
201
|
+
this[uiKey] = mapField.convertVal(this.$origin[dataKey]);
|
|
202
|
+
}
|
|
208
203
|
} else {
|
|
209
204
|
Object.defineProperty(this, uiKey, {
|
|
210
205
|
enumerable: true,
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { DataTypes } from '@ibiz-template/core';
|
|
1
2
|
import { isNil } from 'ramda';
|
|
2
3
|
|
|
3
4
|
/**
|
|
@@ -70,4 +71,31 @@ export class UIMapField {
|
|
|
70
71
|
this.dataType = opts.dataType;
|
|
71
72
|
}
|
|
72
73
|
}
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* 值转换
|
|
77
|
+
* @author lxm
|
|
78
|
+
* @date 2023-09-14 06:45:44
|
|
79
|
+
* @param {unknown} value 原值
|
|
80
|
+
*/
|
|
81
|
+
convertVal(value: unknown): unknown {
|
|
82
|
+
// 没有数据类型的给原值
|
|
83
|
+
if (!this.dataType) {
|
|
84
|
+
return value;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
// 数值转换
|
|
88
|
+
if (DataTypes.isNumber(this.dataType)) {
|
|
89
|
+
const numVal = !isNil(value) && value !== '' ? Number(value) : value;
|
|
90
|
+
|
|
91
|
+
if (Number.isNaN(numVal)) {
|
|
92
|
+
// 不能转换的给原值
|
|
93
|
+
ibiz.log.debug(`${value}不能转换成数字`);
|
|
94
|
+
return value;
|
|
95
|
+
}
|
|
96
|
+
return numVal;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
return value;
|
|
100
|
+
}
|
|
73
101
|
}
|