vap1 0.4.2 → 0.4.3
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/components/Box/Box.js +1 -1
- package/components/Trees/COTree/COTreeUtil.js +1 -1
- package/hooks/useApp.d.ts +1 -1
- package/package.json +1 -1
- package/utils/Renders/ApiGetRender.js +23 -18
- package/utils/Renders/ApiPostRender.js +1 -1
- package/utils/Renders/ListRender.js +1 -1
- package/utils/Renders/_define.d.ts +10 -0
package/components/Box/Box.js
CHANGED
|
@@ -150,7 +150,7 @@ exports.Box = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
150
150
|
setState({ height: Math.floor(total) });
|
|
151
151
|
document.body.classList.remove('v-resizing');
|
|
152
152
|
};
|
|
153
|
-
(0, react_1.useEffect)(function () { setTimeout(resize,
|
|
153
|
+
(0, react_1.useEffect)(function () { setTimeout(resize, 120); }, [app === null || app === void 0 ? void 0 : app.theme.contentHeight]); // 1.5 版本:延时 120ms
|
|
154
154
|
(0, react_1.useImperativeHandle)(ref, function () { return ({ resize: resize }); }, []);
|
|
155
155
|
(0, react_1.useLayoutEffect)(function () {
|
|
156
156
|
setTimeout(resize, 5);
|
|
@@ -62,12 +62,12 @@ var loop = function (root, FIELDS, treeData, checkedKeys, FULL_CHECKED, HALF_CHE
|
|
|
62
62
|
// node.className = 'co-tree-select-all';
|
|
63
63
|
// node.icon = <Icon type="check-circle" />;
|
|
64
64
|
// node.title = <span>{item[FIELDS.titleField]}{TIP && <small>(含下级)</small>}</span>
|
|
65
|
+
node.isLeaf = true;
|
|
65
66
|
node.title = react_1.default.createElement("span", { className: 'co-tree-select-all' },
|
|
66
67
|
react_1.default.createElement(Icon_1.Icon, { type: "check-circle" }),
|
|
67
68
|
" ",
|
|
68
69
|
react_1.default.createElement("span", null, item[FIELDS.titleField]),
|
|
69
70
|
TIP && react_1.default.createElement("small", null, "(\u542B\u4E0B\u7EA7)"));
|
|
70
|
-
node.isLeaf = true;
|
|
71
71
|
checkedKeys.checked.push(item[FIELDS.keyField]);
|
|
72
72
|
}
|
|
73
73
|
else if (HALF_CHECKED.has(item[FIELDS.keyField])) {
|
package/hooks/useApp.d.ts
CHANGED
|
@@ -99,7 +99,7 @@ export interface GlobalMenu {
|
|
|
99
99
|
* 方法 - 菜单跳转
|
|
100
100
|
* @param menu 参数支持
|
|
101
101
|
* 1. 一个路径:如 /admin/#/user
|
|
102
|
-
* 2. 一个菜单: 如 { root:'/admin', route:'/user' }
|
|
102
|
+
* 2. 一个菜单: 如 { root:'/admin/', route:'/user' }
|
|
103
103
|
* 3. 一个地址: 如 https://www.qq.com ,(弹出新的TAB面面)
|
|
104
104
|
* 4. 菜单ID : 如 "1" , 将会通过 id 获取具体菜单(打开特殊 sign 菜单用此项)
|
|
105
105
|
*
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"vap1","version":"0.4.
|
|
1
|
+
{"name":"vap1","version":"0.4.3","description":"vap1, Both support MicroService and SAP FrameWork, Support IE>9","main":"index.js","author":"Xiang da","license":"ISC"}
|
|
@@ -100,21 +100,21 @@ var _define_1 = require("./_define");
|
|
|
100
100
|
var Const_1 = require("../Const");
|
|
101
101
|
var API_CACHES = new Map();
|
|
102
102
|
var loadApi = function (option) { return __awaiter(void 0, void 0, void 0, function () {
|
|
103
|
-
var
|
|
103
|
+
var CACHE_KEY, cache, result, arr;
|
|
104
104
|
return __generator(this, function (_a) {
|
|
105
105
|
switch (_a.label) {
|
|
106
106
|
case 0:
|
|
107
|
+
CACHE_KEY = option.cacheKey || option.api;
|
|
107
108
|
if (option.cache !== false)
|
|
108
|
-
index_1.Ajax.SESSION(
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
API_CACHES.set(KEY, {
|
|
109
|
+
index_1.Ajax.SESSION(CACHE_KEY);
|
|
110
|
+
if (!API_CACHES.has(CACHE_KEY)) {
|
|
111
|
+
API_CACHES.set(CACHE_KEY, {
|
|
112
112
|
fetcher: index_1.Ajax.GET(option.api),
|
|
113
113
|
loaded: false,
|
|
114
114
|
map: new Map()
|
|
115
115
|
});
|
|
116
116
|
}
|
|
117
|
-
cache = API_CACHES.get(
|
|
117
|
+
cache = API_CACHES.get(CACHE_KEY);
|
|
118
118
|
if (cache.loaded)
|
|
119
119
|
return [2 /*return*/, false];
|
|
120
120
|
return [4 /*yield*/, cache.fetcher];
|
|
@@ -131,6 +131,7 @@ var loadApi = function (option) { return __awaiter(void 0, void 0, void 0, funct
|
|
|
131
131
|
}); };
|
|
132
132
|
exports.loadApi = loadApi;
|
|
133
133
|
var _ApiGetRender = function (props) {
|
|
134
|
+
var CACHE_KEY = props.cacheKey || props.api;
|
|
134
135
|
var update = (0, hooks_1.useUpdate)();
|
|
135
136
|
(0, react_1.useEffect)(function () {
|
|
136
137
|
(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
@@ -146,7 +147,7 @@ var _ApiGetRender = function (props) {
|
|
|
146
147
|
}
|
|
147
148
|
});
|
|
148
149
|
}); })();
|
|
149
|
-
var KEY = "_API_GET_EVENT_" +
|
|
150
|
+
var KEY = "_API_GET_EVENT_" + CACHE_KEY.split('/').join('_');
|
|
150
151
|
index_1.EventUtil.on(KEY, function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
151
152
|
return __generator(this, function (_a) {
|
|
152
153
|
switch (_a.label) {
|
|
@@ -160,7 +161,7 @@ var _ApiGetRender = function (props) {
|
|
|
160
161
|
}); });
|
|
161
162
|
return function () { return index_1.EventUtil.off(KEY); };
|
|
162
163
|
}, []);
|
|
163
|
-
var cache = API_CACHES.get(
|
|
164
|
+
var cache = API_CACHES.get(CACHE_KEY);
|
|
164
165
|
if (props.value === null || props.value === '' || cache == null || cache.map == null || cache.map.size == 0) {
|
|
165
166
|
return props.default || Const_1.NONE;
|
|
166
167
|
}
|
|
@@ -187,7 +188,8 @@ var _ApiGetRender = function (props) {
|
|
|
187
188
|
* 从一个 GET API 中取出对应的值,并渲染到页面上
|
|
188
189
|
*/
|
|
189
190
|
var ApiGetRender = function (options) {
|
|
190
|
-
var
|
|
191
|
+
var CACHE_KEY = options.cacheKey || options.api;
|
|
192
|
+
var fn = function (txt) { return react_1.default.createElement(_ApiGetRender, __assign({ key: CACHE_KEY + txt }, options, { value: txt })); };
|
|
191
193
|
fn.useOption = function (config) {
|
|
192
194
|
var _a = __read((0, react_1.useState)([]), 2), state = _a[0], setState = _a[1];
|
|
193
195
|
(0, react_1.useEffect)(function () {
|
|
@@ -198,7 +200,7 @@ var ApiGetRender = function (options) {
|
|
|
198
200
|
case 0: return [4 /*yield*/, (0, exports.loadApi)(options)];
|
|
199
201
|
case 1:
|
|
200
202
|
_a.sent();
|
|
201
|
-
cache = API_CACHES.get(
|
|
203
|
+
cache = API_CACHES.get(CACHE_KEY);
|
|
202
204
|
return [4 /*yield*/, cache.fetcher];
|
|
203
205
|
case 2:
|
|
204
206
|
result = _a.sent();
|
|
@@ -241,7 +243,7 @@ var ApiGetRender = function (options) {
|
|
|
241
243
|
}
|
|
242
244
|
});
|
|
243
245
|
}); };
|
|
244
|
-
var KEY = "_API_GET_EVENT_" +
|
|
246
|
+
var KEY = "_API_GET_EVENT_" + CACHE_KEY.split('/').join('_');
|
|
245
247
|
index_1.EventUtil.on(KEY, fetchOptions);
|
|
246
248
|
fetchOptions();
|
|
247
249
|
return function () { return index_1.EventUtil.off(KEY); };
|
|
@@ -249,28 +251,31 @@ var ApiGetRender = function (options) {
|
|
|
249
251
|
return state;
|
|
250
252
|
};
|
|
251
253
|
fn.getText = function (val, def) {
|
|
252
|
-
if (API_CACHES.has(
|
|
253
|
-
|
|
254
|
+
if (API_CACHES.has(CACHE_KEY)) {
|
|
255
|
+
var CACHE_MAPPER = API_CACHES.get(CACHE_KEY);
|
|
256
|
+
if (CACHE_MAPPER.loaded) {
|
|
257
|
+
return CACHE_MAPPER.map.get(val) || (def === undefined ? val : def);
|
|
258
|
+
}
|
|
254
259
|
}
|
|
255
260
|
var resp = (0, XHR_1.GETSYNC)(options.api);
|
|
256
261
|
var map = new Map();
|
|
257
262
|
var arr = (0, _define_1.getList)(resp);
|
|
258
263
|
arr.map(function (item) { return map.set(item[options.valueField] + '', item[options.nameField]); });
|
|
259
|
-
API_CACHES.set(
|
|
264
|
+
API_CACHES.set(CACHE_KEY, {
|
|
260
265
|
fetcher: index_1.Ajax.GET(options.api),
|
|
261
266
|
loaded: true,
|
|
262
267
|
map: map,
|
|
263
268
|
});
|
|
264
|
-
return map.get(val) || (def
|
|
269
|
+
return map.get(val) || (def === undefined ? val : def);
|
|
265
270
|
};
|
|
266
271
|
fn.reflush = function () {
|
|
267
|
-
index_1.Ajax.CLEAR(
|
|
268
|
-
API_CACHES.set(
|
|
272
|
+
index_1.Ajax.CLEAR(CACHE_KEY);
|
|
273
|
+
API_CACHES.set(CACHE_KEY, {
|
|
269
274
|
fetcher: index_1.Ajax.GET(options.api),
|
|
270
275
|
loaded: false,
|
|
271
276
|
map: new Map()
|
|
272
277
|
});
|
|
273
|
-
var KEY = "_API_GET_EVENT_" +
|
|
278
|
+
var KEY = "_API_GET_EVENT_" + CACHE_KEY.split('/').join('_');
|
|
274
279
|
index_1.EventUtil.call(KEY);
|
|
275
280
|
};
|
|
276
281
|
return fn;
|
|
@@ -37,7 +37,7 @@ var ListRender = function (options) {
|
|
|
37
37
|
MAP.set(lodash_1.default.trim(item[valueField]), (0, i18n_1.txt)(item['ik']));
|
|
38
38
|
}
|
|
39
39
|
else {
|
|
40
|
-
MAP.set(lodash_1.default.trim(item[valueField]), item[labelField]
|
|
40
|
+
MAP.set(lodash_1.default.trim(item[valueField]), item[labelField]);
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
});
|
|
@@ -13,8 +13,18 @@ export type BaseRenderOptions = {
|
|
|
13
13
|
};
|
|
14
14
|
export type ApiRenderOptions = BaseRenderOptions & {
|
|
15
15
|
api: string;
|
|
16
|
+
/**
|
|
17
|
+
* 用于展示 Label 的字段
|
|
18
|
+
*/
|
|
16
19
|
nameField: string;
|
|
20
|
+
/**
|
|
21
|
+
* 用于映射值的字段
|
|
22
|
+
*/
|
|
17
23
|
valueField: string;
|
|
24
|
+
/**
|
|
25
|
+
* 默认缓存为 api 地址,若不想以 api 做为KEY,可以指定(用于两个相同的APIRender时)
|
|
26
|
+
*/
|
|
27
|
+
cacheKey?: string;
|
|
18
28
|
render?: (info: BaseOption) => React.ReactNode;
|
|
19
29
|
};
|
|
20
30
|
export declare const getValue: (txt: string, options: BaseRenderOptions) => string | React.ReactNode;
|