amis-core 6.0.0 → 6.1.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.
- package/esm/Root.js +2 -2
- package/esm/RootRenderer.js +4 -3
- package/esm/SchemaRenderer.js +5 -2
- package/esm/Scoped.d.ts +6 -0
- package/esm/Scoped.js +45 -8
- package/esm/StatusScoped.js +2 -2
- package/esm/WithRootStore.js +2 -2
- package/esm/WithStore.js +4 -6
- package/esm/actions/Action.js +2 -2
- package/esm/actions/AjaxAction.js +2 -2
- package/esm/actions/BreakAction.js +2 -2
- package/esm/actions/BroadcastAction.js +2 -2
- package/esm/actions/CmptAction.js +2 -2
- package/esm/actions/ContinueAction.js +2 -2
- package/esm/actions/CopyAction.js +2 -2
- package/esm/actions/CustomAction.js +3 -3
- package/esm/actions/DialogAction.js +2 -2
- package/esm/actions/DrawerAction.js +2 -2
- package/esm/actions/EmailAction.js +2 -2
- package/esm/actions/LinkAction.js +10 -5
- package/esm/actions/LoopAction.js +2 -2
- package/esm/actions/PageAction.js +2 -2
- package/esm/actions/ParallelAction.js +2 -2
- package/esm/actions/StatusAction.js +2 -2
- package/esm/actions/SwitchAction.js +2 -2
- package/esm/actions/ToastAction.js +2 -2
- package/esm/components/CustomStyle.d.ts +1 -2
- package/esm/components/CustomStyle.js +20 -7
- package/esm/components/ErrorBoundary.js +2 -2
- package/esm/components/LazyComponent.js +2 -2
- package/esm/components/Overlay.js +11 -9
- package/esm/components/PopOver.js +7 -5
- package/esm/env.d.ts +4 -0
- package/esm/env.js +2 -2
- package/esm/envOverwrite.js +2 -2
- package/esm/factory.js +15 -2
- package/esm/index.d.ts +2 -2
- package/esm/index.js +13 -8
- package/esm/locale.js +2 -2
- package/esm/polyfills.js +2 -2
- package/esm/renderers/Form.d.ts +4 -3
- package/esm/renderers/Form.js +94 -42
- package/esm/renderers/Item.d.ts +1 -0
- package/esm/renderers/Item.js +15 -16
- package/esm/renderers/Options.d.ts +5 -0
- package/esm/renderers/Options.js +27 -10
- package/esm/renderers/Placeholder.js +2 -2
- package/esm/renderers/builtin.js +2 -2
- package/esm/renderers/register.js +2 -2
- package/esm/renderers/wrapControl.js +37 -29
- package/esm/store/app.js +3 -3
- package/esm/store/combo.d.ts +48 -24
- package/esm/store/combo.js +2 -2
- package/esm/store/crud.js +2 -2
- package/esm/store/form.d.ts +20 -10
- package/esm/store/form.js +2 -2
- package/esm/store/formItem.d.ts +2 -1
- package/esm/store/formItem.js +4 -3
- package/esm/store/iRenderer.js +5 -3
- package/esm/store/index.js +2 -2
- package/esm/store/list.js +2 -2
- package/esm/store/manager.js +2 -2
- package/esm/store/modal.js +2 -2
- package/esm/store/node.js +2 -2
- package/esm/store/pagination.js +2 -2
- package/esm/store/root.js +3 -3
- package/esm/store/service.js +2 -2
- package/esm/store/status.js +2 -2
- package/esm/store/table.d.ts +42 -20
- package/esm/store/table.js +33 -19
- package/esm/store/table2.js +2 -2
- package/esm/theme.js +2 -2
- package/esm/utils/Animation.js +2 -2
- package/esm/utils/ColorScale.js +2 -2
- package/esm/utils/DataSchema.js +2 -2
- package/esm/utils/DataScope.js +2 -2
- package/esm/utils/RootClose.js +2 -2
- package/esm/utils/SimpleMap.js +2 -2
- package/esm/utils/api.js +2 -2
- package/esm/utils/arraySlice.js +2 -2
- package/esm/utils/attachmentAdpator.js +2 -2
- package/esm/utils/autobind.js +2 -2
- package/esm/utils/browser.js +2 -2
- package/esm/utils/columnsSplit.js +2 -2
- package/esm/utils/concatData.js +2 -2
- package/esm/utils/dataMapping.js +2 -2
- package/esm/utils/date.js +2 -2
- package/esm/utils/debug.js +2 -2
- package/esm/utils/decodeEntity.js +2 -2
- package/esm/utils/dom.js +2 -2
- package/esm/utils/errors.js +2 -2
- package/esm/utils/escapeHtml.js +2 -2
- package/esm/utils/filter-schema.js +2 -2
- package/esm/utils/filter.js +2 -2
- package/esm/utils/formatDuration.js +2 -2
- package/esm/utils/formula.js +2 -2
- package/esm/utils/getVariable.js +2 -2
- package/esm/utils/grammar.js +2 -2
- package/esm/utils/handleAction.js +2 -2
- package/esm/utils/helper.d.ts +8 -1
- package/esm/utils/helper.js +28 -10
- package/esm/utils/highlight.js +4 -3
- package/esm/utils/icon.js +2 -2
- package/esm/utils/image.js +2 -2
- package/esm/utils/index.d.ts +1 -0
- package/esm/utils/isPureVariable.js +2 -2
- package/esm/utils/json-schema-2-amis-schema.js +2 -2
- package/esm/utils/keyToPath.js +2 -2
- package/esm/utils/labelToString.d.ts +1 -0
- package/esm/utils/labelToString.js +38 -0
- package/esm/utils/makeSorter.js +2 -2
- package/esm/utils/math.js +2 -2
- package/esm/utils/memoryParse.js +2 -2
- package/esm/utils/normalizeLink.js +2 -2
- package/esm/utils/normalizeOptions.js +2 -2
- package/esm/utils/object.js +2 -2
- package/esm/utils/offset.js +2 -2
- package/esm/utils/offsetParent.js +2 -2
- package/esm/utils/optionValueCompare.js +2 -2
- package/esm/utils/position.js +2 -2
- package/esm/utils/prettyBytes.js +2 -2
- package/esm/utils/renderer-event.js +2 -2
- package/esm/utils/replaceText.js +10 -12
- package/esm/utils/resize-sensor.js +2 -2
- package/esm/utils/resolveCondition.js +2 -2
- package/esm/utils/resolveVariable.js +2 -2
- package/esm/utils/resolveVariableAndFilter.js +2 -2
- package/esm/utils/resolveVariableAndFilterForAsync.js +2 -2
- package/esm/utils/scrollPosition.js +2 -2
- package/esm/utils/string2regExp.d.ts +1 -1
- package/esm/utils/string2regExp.js +5 -4
- package/esm/utils/stripNumber.js +2 -2
- package/esm/utils/style-helper.d.ts +24 -5
- package/esm/utils/style-helper.js +47 -17
- package/esm/utils/style.js +2 -2
- package/esm/utils/toNumber.js +2 -2
- package/esm/utils/tokenize.d.ts +1 -0
- package/esm/utils/tokenize.js +11 -4
- package/esm/utils/tpl-builtin.js +2 -2
- package/esm/utils/tpl-lodash.js +2 -2
- package/esm/utils/tpl.js +7 -9
- package/esm/utils/uncontrollable.js +2 -2
- package/esm/utils/validateId.d.ts +16 -0
- package/esm/utils/validateId.js +154 -0
- package/esm/utils/validations.js +17 -9
- package/lib/Root.js +2 -2
- package/lib/RootRenderer.d.ts +1 -1
- package/lib/RootRenderer.js +4 -3
- package/lib/SchemaRenderer.js +5 -2
- package/lib/Scoped.d.ts +6 -0
- package/lib/Scoped.js +45 -7
- package/lib/StatusScoped.js +2 -2
- package/lib/WithRootStore.js +2 -2
- package/lib/WithStore.js +4 -6
- package/lib/actions/Action.js +2 -2
- package/lib/actions/AjaxAction.js +2 -2
- package/lib/actions/BreakAction.js +2 -2
- package/lib/actions/BroadcastAction.js +2 -2
- package/lib/actions/CmptAction.js +2 -2
- package/lib/actions/ContinueAction.js +2 -2
- package/lib/actions/CopyAction.js +2 -2
- package/lib/actions/CustomAction.js +3 -3
- package/lib/actions/DialogAction.js +2 -2
- package/lib/actions/DrawerAction.js +2 -2
- package/lib/actions/EmailAction.js +2 -2
- package/lib/actions/LinkAction.js +10 -5
- package/lib/actions/LoopAction.js +2 -2
- package/lib/actions/PageAction.js +2 -2
- package/lib/actions/ParallelAction.js +2 -2
- package/lib/actions/StatusAction.js +2 -2
- package/lib/actions/SwitchAction.js +2 -2
- package/lib/actions/ToastAction.js +2 -2
- package/lib/components/CustomStyle.d.ts +1 -2
- package/lib/components/CustomStyle.js +20 -7
- package/lib/components/ErrorBoundary.js +2 -2
- package/lib/components/LazyComponent.js +2 -2
- package/lib/components/Overlay.js +10 -8
- package/lib/components/PopOver.js +7 -5
- package/lib/env.d.ts +4 -0
- package/lib/env.js +2 -2
- package/lib/envOverwrite.js +2 -2
- package/lib/factory.js +15 -2
- package/lib/index.d.ts +2 -2
- package/lib/index.js +16 -5
- package/lib/locale.js +2 -2
- package/lib/polyfills.js +2 -2
- package/lib/renderers/Form.d.ts +4 -3
- package/lib/renderers/Form.js +94 -42
- package/lib/renderers/Item.d.ts +1 -0
- package/lib/renderers/Item.js +15 -16
- package/lib/renderers/Options.d.ts +5 -0
- package/lib/renderers/Options.js +27 -10
- package/lib/renderers/Placeholder.js +2 -2
- package/lib/renderers/builtin.js +2 -2
- package/lib/renderers/register.js +2 -2
- package/lib/renderers/wrapControl.js +36 -28
- package/lib/store/app.js +3 -3
- package/lib/store/combo.d.ts +72 -49
- package/lib/store/combo.js +2 -2
- package/lib/store/crud.js +2 -2
- package/lib/store/form.d.ts +30 -21
- package/lib/store/form.js +2 -2
- package/lib/store/formItem.d.ts +2 -1
- package/lib/store/formItem.js +4 -3
- package/lib/store/iRenderer.js +5 -3
- package/lib/store/index.js +2 -2
- package/lib/store/list.js +2 -2
- package/lib/store/manager.js +2 -2
- package/lib/store/modal.js +2 -2
- package/lib/store/node.js +2 -2
- package/lib/store/pagination.js +2 -2
- package/lib/store/root.js +3 -3
- package/lib/store/service.js +2 -2
- package/lib/store/status.js +2 -2
- package/lib/store/table.d.ts +62 -41
- package/lib/store/table.js +33 -19
- package/lib/store/table2.js +2 -2
- package/lib/theme.js +2 -2
- package/lib/utils/Animation.js +2 -2
- package/lib/utils/ColorScale.js +2 -2
- package/lib/utils/DataSchema.js +2 -2
- package/lib/utils/DataScope.js +2 -2
- package/lib/utils/RootClose.js +2 -2
- package/lib/utils/SimpleMap.js +2 -2
- package/lib/utils/api.js +2 -2
- package/lib/utils/arraySlice.js +2 -2
- package/lib/utils/attachmentAdpator.js +2 -2
- package/lib/utils/autobind.js +2 -2
- package/lib/utils/browser.js +2 -2
- package/lib/utils/columnsSplit.js +2 -2
- package/lib/utils/concatData.js +2 -2
- package/lib/utils/dataMapping.js +2 -2
- package/lib/utils/date.js +2 -2
- package/lib/utils/debug.js +2 -2
- package/lib/utils/decodeEntity.js +2 -2
- package/lib/utils/dom.js +2 -2
- package/lib/utils/errors.js +2 -2
- package/lib/utils/escapeHtml.js +2 -2
- package/lib/utils/filter-schema.js +2 -2
- package/lib/utils/filter.js +2 -2
- package/lib/utils/formatDuration.js +2 -2
- package/lib/utils/formula.js +2 -2
- package/lib/utils/getVariable.js +2 -2
- package/lib/utils/grammar.js +2 -2
- package/lib/utils/handleAction.js +2 -2
- package/lib/utils/helper.d.ts +8 -1
- package/lib/utils/helper.js +29 -8
- package/lib/utils/highlight.js +4 -3
- package/lib/utils/icon.js +2 -2
- package/lib/utils/image.js +2 -2
- package/lib/utils/index.d.ts +1 -0
- package/lib/utils/isPureVariable.js +2 -2
- package/lib/utils/json-schema-2-amis-schema.js +2 -2
- package/lib/utils/keyToPath.js +2 -2
- package/lib/utils/labelToString.d.ts +1 -0
- package/lib/utils/labelToString.js +46 -0
- package/lib/utils/makeSorter.js +2 -2
- package/lib/utils/math.js +2 -2
- package/lib/utils/memoryParse.js +2 -2
- package/lib/utils/normalizeLink.js +2 -2
- package/lib/utils/normalizeOptions.js +2 -2
- package/lib/utils/object.js +2 -2
- package/lib/utils/offset.js +2 -2
- package/lib/utils/offsetParent.js +2 -2
- package/lib/utils/optionValueCompare.js +2 -2
- package/lib/utils/position.js +2 -2
- package/lib/utils/prettyBytes.js +2 -2
- package/lib/utils/renderer-event.js +2 -2
- package/lib/utils/replaceText.js +9 -15
- package/lib/utils/resize-sensor.js +2 -2
- package/lib/utils/resolveCondition.js +2 -2
- package/lib/utils/resolveVariable.js +2 -2
- package/lib/utils/resolveVariableAndFilter.js +2 -2
- package/lib/utils/resolveVariableAndFilterForAsync.js +2 -2
- package/lib/utils/scrollPosition.js +2 -2
- package/lib/utils/string2regExp.d.ts +1 -1
- package/lib/utils/string2regExp.js +5 -4
- package/lib/utils/stripNumber.js +2 -2
- package/lib/utils/style-helper.d.ts +24 -5
- package/lib/utils/style-helper.js +47 -17
- package/lib/utils/style.js +2 -2
- package/lib/utils/toNumber.js +2 -2
- package/lib/utils/tokenize.d.ts +1 -0
- package/lib/utils/tokenize.js +11 -3
- package/lib/utils/tpl-builtin.js +2 -2
- package/lib/utils/tpl-lodash.js +2 -2
- package/lib/utils/tpl.js +6 -8
- package/lib/utils/uncontrollable.js +2 -2
- package/lib/utils/validateId.d.ts +16 -0
- package/lib/utils/validateId.js +160 -0
- package/lib/utils/validations.js +17 -9
- package/package.json +3 -3
- package/LICENSE +0 -201
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.
|
|
3
|
-
* Copyright 2018-
|
|
2
|
+
* amis-core v6.1.0
|
|
3
|
+
* Copyright 2018-2024 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
import { __values } from 'tslib';
|
|
@@ -10,6 +10,7 @@ import isObject from 'lodash/isObject';
|
|
|
10
10
|
import map from 'lodash/map';
|
|
11
11
|
import isEmpty from 'lodash/isEmpty';
|
|
12
12
|
import kebabCase from 'lodash/kebabCase';
|
|
13
|
+
import { resolveVariableAndFilter } from './resolveVariableAndFilter.js';
|
|
13
14
|
|
|
14
15
|
var valueMap = {
|
|
15
16
|
'marginTop': 'margin-top',
|
|
@@ -100,7 +101,7 @@ function handleInheritData(statusMap, data) {
|
|
|
100
101
|
});
|
|
101
102
|
});
|
|
102
103
|
}
|
|
103
|
-
function formatStyle(themeCss, classNames, id, defaultData) {
|
|
104
|
+
function formatStyle(themeCss, classNames, id, defaultData, data) {
|
|
104
105
|
var e_1, _a;
|
|
105
106
|
// 没有具体的样式,或者没有对应的classname
|
|
106
107
|
if (!themeCss || !classNames) {
|
|
@@ -120,6 +121,9 @@ function formatStyle(themeCss, classNames, id, defaultData) {
|
|
|
120
121
|
}
|
|
121
122
|
var className = item.key + '-' + (id === null || id === void 0 ? void 0 : id.replace('u:', ''));
|
|
122
123
|
var weightsList = item.weights || {};
|
|
124
|
+
if (typeof (data === null || data === void 0 ? void 0 : data.index) === 'number') {
|
|
125
|
+
className += "-".concat(data.index);
|
|
126
|
+
}
|
|
123
127
|
var statusMap = {
|
|
124
128
|
default: {},
|
|
125
129
|
hover: {},
|
|
@@ -151,6 +155,7 @@ function formatStyle(themeCss, classNames, id, defaultData) {
|
|
|
151
155
|
var styles = [];
|
|
152
156
|
var fn = function (key, value) {
|
|
153
157
|
key = valueMap[key] || key;
|
|
158
|
+
value = resolveVariableAndFilter(value, data, '| raw') || value;
|
|
154
159
|
styles.push("".concat(key.startsWith('--') ? key : kebabCase(key), ": ").concat(value + ((weights === null || weights === void 0 ? void 0 : weights.important) ? ' !important' : ''), ";"));
|
|
155
160
|
};
|
|
156
161
|
Object.keys(statusMap[status]).forEach(function (key) {
|
|
@@ -223,13 +228,18 @@ function formatStyle(themeCss, classNames, id, defaultData) {
|
|
|
223
228
|
origin: res
|
|
224
229
|
};
|
|
225
230
|
}
|
|
226
|
-
function insertCustomStyle(
|
|
231
|
+
function insertCustomStyle(prams) {
|
|
232
|
+
var themeCss = prams.themeCss, classNames = prams.classNames, id = prams.id, defaultData = prams.defaultData, customStyleClassPrefix = prams.customStyleClassPrefix, doc = prams.doc, data = prams.data;
|
|
227
233
|
if (!themeCss) {
|
|
228
234
|
return;
|
|
229
235
|
}
|
|
230
|
-
var value = formatStyle(themeCss, classNames, id, defaultData).value;
|
|
236
|
+
var value = formatStyle(themeCss, classNames, id, defaultData, data).value;
|
|
231
237
|
value = customStyleClassPrefix ? "".concat(customStyleClassPrefix, " ").concat(value) : value;
|
|
232
|
-
|
|
238
|
+
var classId = id.replace('u:', '');
|
|
239
|
+
if (typeof (data === null || data === void 0 ? void 0 : data.index) === 'number') {
|
|
240
|
+
classId += "-".concat(data.index);
|
|
241
|
+
}
|
|
242
|
+
insertStyle(value, classId, doc);
|
|
233
243
|
}
|
|
234
244
|
/**
|
|
235
245
|
* 根据路径获取默认值
|
|
@@ -272,38 +282,53 @@ function traverseStyle(style, path, result) {
|
|
|
272
282
|
/**
|
|
273
283
|
* 设置源码编辑自定义样式
|
|
274
284
|
*/
|
|
275
|
-
function insertEditCustomStyle(
|
|
285
|
+
function insertEditCustomStyle(params) {
|
|
286
|
+
var customStyle = params.customStyle, id = params.id, doc = params.doc, data = params.data;
|
|
276
287
|
var styles = {};
|
|
277
288
|
traverseStyle(customStyle, '', styles);
|
|
278
289
|
var content = '';
|
|
290
|
+
var index = '';
|
|
291
|
+
if (typeof (data === null || data === void 0 ? void 0 : data.index) === 'number') {
|
|
292
|
+
index = "-".concat(data.index);
|
|
293
|
+
}
|
|
279
294
|
if (!isEmpty(styles)) {
|
|
280
|
-
var className_1 = "wrapperCustomStyle-".concat(id === null || id === void 0 ? void 0 : id.replace('u:', ''));
|
|
295
|
+
var className_1 = "wrapperCustomStyle-".concat(id === null || id === void 0 ? void 0 : id.replace('u:', '')).concat(index);
|
|
281
296
|
Object.keys(styles).forEach(function (key) {
|
|
282
297
|
if (!isObject(styles[key])) {
|
|
283
|
-
content += "\n.".concat(className_1, " {\n ").concat(key, ": ").concat(styles[key], "\n}");
|
|
298
|
+
content += "\n.".concat(className_1, " {\n ").concat(key, ": ").concat(resolveVariableAndFilter(styles[key].replace(/['|"]/g, ''), data, '| raw') || styles[key], "\n}");
|
|
284
299
|
}
|
|
285
300
|
else if (key === 'root') {
|
|
286
|
-
var res = map(styles[key], function (value, key) {
|
|
301
|
+
var res = map(styles[key], function (value, key) {
|
|
302
|
+
return "".concat(key, ": ").concat(resolveVariableAndFilter(value.replace(/['|"]/g, ''), data, '| raw') || value, ";");
|
|
303
|
+
});
|
|
287
304
|
content += "\n.".concat(className_1, " {\n ").concat(res.join('\n '), "\n}");
|
|
288
305
|
}
|
|
289
306
|
else if (/^root:/.test(key)) {
|
|
290
|
-
var res = map(styles[key], function (value, key) {
|
|
307
|
+
var res = map(styles[key], function (value, key) {
|
|
308
|
+
return "".concat(key, ": ").concat(resolveVariableAndFilter(value.replace(/['|"]/g, ''), data, '| raw') || value, ";");
|
|
309
|
+
});
|
|
291
310
|
var nowKey = key.replace('root', '');
|
|
292
311
|
content += "\n.".concat(className_1, " ").concat(nowKey, " {\n ").concat(res.join('\n '), "\n}");
|
|
293
312
|
}
|
|
294
313
|
else {
|
|
295
|
-
var res = map(styles[key], function (value, key) {
|
|
314
|
+
var res = map(styles[key], function (value, key) {
|
|
315
|
+
return "".concat(key, ": ").concat(resolveVariableAndFilter(value.replace(/['|"]/g, ''), data, '| raw') || value, ";");
|
|
316
|
+
});
|
|
296
317
|
content += "\n.".concat(className_1, " ").concat(key, " {\n ").concat(res.join('\n '), "\n}");
|
|
297
318
|
}
|
|
298
319
|
});
|
|
299
320
|
}
|
|
300
|
-
insertStyle(content, 'wrapperCustomStyle-' + ((id === null || id === void 0 ? void 0 : id.replace('u:', '')) || uuid()), doc);
|
|
321
|
+
insertStyle(content, 'wrapperCustomStyle-' + ((id === null || id === void 0 ? void 0 : id.replace('u:', '')) || uuid()) + index, doc);
|
|
301
322
|
}
|
|
302
323
|
/**
|
|
303
324
|
* 移除自定义样式
|
|
304
325
|
*/
|
|
305
|
-
function removeCustomStyle(type, id, doc) {
|
|
306
|
-
var
|
|
326
|
+
function removeCustomStyle(type, id, doc, data) {
|
|
327
|
+
var styleId = 'amis-' + (type ? type + '-' : '') + id.replace('u:', '');
|
|
328
|
+
if (typeof (data === null || data === void 0 ? void 0 : data.index) === 'number') {
|
|
329
|
+
styleId += "-".concat(data.index);
|
|
330
|
+
}
|
|
331
|
+
var style = (doc || document).getElementById(styleId);
|
|
307
332
|
if (style) {
|
|
308
333
|
style.remove();
|
|
309
334
|
}
|
|
@@ -322,14 +347,19 @@ function formatInputThemeCss(themeCss) {
|
|
|
322
347
|
});
|
|
323
348
|
return inputFontThemeCss;
|
|
324
349
|
}
|
|
325
|
-
function setThemeClassName(
|
|
350
|
+
function setThemeClassName(params) {
|
|
351
|
+
var name = params.name, id = params.id, themeCss = params.themeCss, extra = params.extra, data = params.data;
|
|
326
352
|
if (!id || !themeCss) {
|
|
327
353
|
return '';
|
|
328
354
|
}
|
|
329
355
|
if (name !== 'wrapperCustomStyle' && !themeCss[name]) {
|
|
330
356
|
return '';
|
|
331
357
|
}
|
|
332
|
-
|
|
358
|
+
var index = '';
|
|
359
|
+
if (typeof (data === null || data === void 0 ? void 0 : data.index) === 'number') {
|
|
360
|
+
index = "-".concat(data.index);
|
|
361
|
+
}
|
|
362
|
+
return "".concat(name, "-").concat(id.replace('u:', '')) + (extra ? "-".concat(extra) : '') + index;
|
|
333
363
|
}
|
|
334
364
|
|
|
335
365
|
export { addStyle, findOrCreateStyle, formatInputThemeCss, formatStyle, getValueByPath, inheritValueMap, insertCustomStyle, insertEditCustomStyle, insertStyle, removeCustomStyle, setThemeClassName, valueMap };
|
package/esm/utils/style.js
CHANGED
package/esm/utils/toNumber.js
CHANGED
package/esm/utils/tokenize.d.ts
CHANGED
package/esm/utils/tokenize.js
CHANGED
|
@@ -1,17 +1,24 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.
|
|
3
|
-
* Copyright 2018-
|
|
2
|
+
* amis-core v6.1.0
|
|
3
|
+
* Copyright 2018-2024 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
import { parse, Evaluator } from 'amis-formula';
|
|
7
7
|
|
|
8
|
+
var AST_CACHE = {};
|
|
9
|
+
function memoParse(str, options) {
|
|
10
|
+
var key = "".concat(str).concat((options === null || options === void 0 ? void 0 : options.evalMode) ? '-eval' : '').concat((options === null || options === void 0 ? void 0 : options.allowFilter) ? '-filter' : '').concat((options === null || options === void 0 ? void 0 : options.variableMode) ? '-variable' : '');
|
|
11
|
+
var ast = AST_CACHE[key] || parse(str, options);
|
|
12
|
+
AST_CACHE[key] = ast;
|
|
13
|
+
return ast;
|
|
14
|
+
}
|
|
8
15
|
var tokenize = function (str, data, defaultFilter) {
|
|
9
16
|
if (defaultFilter === void 0) { defaultFilter = '| html'; }
|
|
10
17
|
if (!str || typeof str !== 'string') {
|
|
11
18
|
return str;
|
|
12
19
|
}
|
|
13
20
|
try {
|
|
14
|
-
var ast =
|
|
21
|
+
var ast = memoParse(str, {
|
|
15
22
|
evalMode: false,
|
|
16
23
|
allowFilter: true
|
|
17
24
|
});
|
|
@@ -26,4 +33,4 @@ var tokenize = function (str, data, defaultFilter) {
|
|
|
26
33
|
}
|
|
27
34
|
};
|
|
28
35
|
|
|
29
|
-
export { tokenize };
|
|
36
|
+
export { memoParse, tokenize };
|
package/esm/utils/tpl-builtin.js
CHANGED
package/esm/utils/tpl-lodash.js
CHANGED
package/esm/utils/tpl.js
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.
|
|
3
|
-
* Copyright 2018-
|
|
2
|
+
* amis-core v6.1.0
|
|
3
|
+
* Copyright 2018-2024 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
import { __spreadArray, __read, __awaiter, __generator } from 'tslib';
|
|
7
7
|
import { register } from './tpl-builtin.js';
|
|
8
8
|
import { register as register$1 } from './tpl-lodash.js';
|
|
9
|
-
import { getFilters,
|
|
9
|
+
import { getFilters, evaluate } from 'amis-formula';
|
|
10
10
|
import { resolveCondition } from './resolveCondition.js';
|
|
11
|
+
import { memoParse } from './tokenize.js';
|
|
11
12
|
|
|
12
13
|
var enginers = {};
|
|
13
14
|
function registerTplEnginer(name, enginer) {
|
|
@@ -120,13 +121,10 @@ function evalExpressionWithConditionBuilder(expression, data, defaultResult) {
|
|
|
120
121
|
});
|
|
121
122
|
});
|
|
122
123
|
}
|
|
123
|
-
var AST_CACHE = {};
|
|
124
124
|
function evalFormula(expression, data) {
|
|
125
|
-
var ast =
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
});
|
|
129
|
-
AST_CACHE[expression] = ast;
|
|
125
|
+
var ast = memoParse(expression, {
|
|
126
|
+
evalMode: false
|
|
127
|
+
});
|
|
130
128
|
return evaluate(ast, data, {
|
|
131
129
|
defaultFilter: 'raw'
|
|
132
130
|
});
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 身份证号码校验,(没有校验城市和区县)
|
|
3
|
+
*
|
|
4
|
+
* 身份证号码是由18位组成,分别表示:
|
|
5
|
+
* 第1、2位数字表示:所在省份的代码;
|
|
6
|
+
* 第3、4位数字表示:所在城市的代码;
|
|
7
|
+
* 第5、6位数字表示:所在区县的代码;
|
|
8
|
+
* 第7-14位数字表示:出生年、月、日(其中7、8、9、10位是年,11、12位是月,13、14位是日);
|
|
9
|
+
* 第15-17位数字表示:顺序编码,都是同一地址辖区内的,以及同年同月同日出生人的顺序码,同时 第17位兼具性别标识功能,男单女双;
|
|
10
|
+
* 第18位是校检码:可以是0-9的数字,有时也用X表示, X来代替10。
|
|
11
|
+
*
|
|
12
|
+
* 身份证15位时,次序为省(2位)市(2位)区县(2位)年(2位)月(2位)日(2位)顺序编码(3位),皆为数字,没有最后一位校验码
|
|
13
|
+
*/
|
|
14
|
+
export declare function isId18(id: string): boolean;
|
|
15
|
+
export declare function isId15(id: string): boolean;
|
|
16
|
+
export declare function isId(id: string): boolean;
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* amis-core v6.1.0
|
|
3
|
+
* Copyright 2018-2024 fex
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import { __read } from 'tslib';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* 身份证号码校验,(没有校验城市和区县)
|
|
10
|
+
*
|
|
11
|
+
* 身份证号码是由18位组成,分别表示:
|
|
12
|
+
* 第1、2位数字表示:所在省份的代码;
|
|
13
|
+
* 第3、4位数字表示:所在城市的代码;
|
|
14
|
+
* 第5、6位数字表示:所在区县的代码;
|
|
15
|
+
* 第7-14位数字表示:出生年、月、日(其中7、8、9、10位是年,11、12位是月,13、14位是日);
|
|
16
|
+
* 第15-17位数字表示:顺序编码,都是同一地址辖区内的,以及同年同月同日出生人的顺序码,同时 第17位兼具性别标识功能,男单女双;
|
|
17
|
+
* 第18位是校检码:可以是0-9的数字,有时也用X表示, X来代替10。
|
|
18
|
+
*
|
|
19
|
+
* 身份证15位时,次序为省(2位)市(2位)区县(2位)年(2位)月(2位)日(2位)顺序编码(3位),皆为数字,没有最后一位校验码
|
|
20
|
+
*/
|
|
21
|
+
function isId18(id) {
|
|
22
|
+
if (!/^\d{17}(\d|X)$/.test(id)) {
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
var info = getInfoFromId(id);
|
|
26
|
+
if (!info) {
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
var province = info.province, city = info.city, country = info.country, birthday = info.birthday;
|
|
30
|
+
if (!verifyRegion(province, city, country) || !verifyBirthday(birthday)) {
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
return verifyCheckCode(id);
|
|
34
|
+
}
|
|
35
|
+
function isId15(id) {
|
|
36
|
+
if (!/^\d{15}$/.test(id)) {
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
var info = getInfoFromId(id);
|
|
40
|
+
if (!info) {
|
|
41
|
+
return false;
|
|
42
|
+
}
|
|
43
|
+
var province = info.province, city = info.city, country = info.country, birthday = info.birthday;
|
|
44
|
+
return verifyRegion(province, city, country) && verifyBirthday(birthday);
|
|
45
|
+
}
|
|
46
|
+
function isId(id) {
|
|
47
|
+
return isId18(id) || isId15(id);
|
|
48
|
+
}
|
|
49
|
+
function getProvInfo(prov) {
|
|
50
|
+
return {
|
|
51
|
+
11: '北京市',
|
|
52
|
+
12: '天津市',
|
|
53
|
+
13: '河北省',
|
|
54
|
+
14: '山西省',
|
|
55
|
+
15: '内蒙古自治区',
|
|
56
|
+
21: '辽宁省',
|
|
57
|
+
22: '吉林省',
|
|
58
|
+
23: '黑龙江省',
|
|
59
|
+
31: '上海省',
|
|
60
|
+
32: '江苏省',
|
|
61
|
+
33: '浙江省',
|
|
62
|
+
34: '安徽省',
|
|
63
|
+
35: '福建省',
|
|
64
|
+
36: '江西省',
|
|
65
|
+
37: '山东省',
|
|
66
|
+
41: '河南省',
|
|
67
|
+
42: '湖北省',
|
|
68
|
+
43: '湖南省',
|
|
69
|
+
44: '广东省',
|
|
70
|
+
45: '广西壮族自治区',
|
|
71
|
+
46: '海南省',
|
|
72
|
+
50: '重庆市',
|
|
73
|
+
51: '四川省',
|
|
74
|
+
52: '贵州省',
|
|
75
|
+
53: '云南省',
|
|
76
|
+
54: '西藏自治区',
|
|
77
|
+
61: '陕西省',
|
|
78
|
+
62: '甘肃省',
|
|
79
|
+
63: '青海省',
|
|
80
|
+
64: '宁夏回族自治区',
|
|
81
|
+
65: '新疆维吾尔自治区',
|
|
82
|
+
71: '台湾省',
|
|
83
|
+
81: '香港',
|
|
84
|
+
82: '澳门',
|
|
85
|
+
91: '国外'
|
|
86
|
+
}[prov];
|
|
87
|
+
}
|
|
88
|
+
function getInfoFromId(id) {
|
|
89
|
+
if ((id.length === 18 && !/^\d{17}(\d|X)$/.test(id)) ||
|
|
90
|
+
(id.length === 15 && !/^\d{15}$/.test(id))) {
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
var data;
|
|
94
|
+
if (id.length == 18) {
|
|
95
|
+
data = id.match(/^(\d{2})(\d{2})(\d{2})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$/);
|
|
96
|
+
}
|
|
97
|
+
else if (id.length == 15) {
|
|
98
|
+
data = id.match(/^(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(\d{3})$/);
|
|
99
|
+
}
|
|
100
|
+
if (!data) {
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
var _a = __read(data, 9); _a[0]; var province = _a[1], city = _a[2], country = _a[3], year = _a[4], month = _a[5], day = _a[6], sequenceCode = _a[7], checkCode = _a[8];
|
|
104
|
+
return {
|
|
105
|
+
province: province,
|
|
106
|
+
provinceName: getProvInfo(province),
|
|
107
|
+
city: city,
|
|
108
|
+
country: country,
|
|
109
|
+
year: year,
|
|
110
|
+
month: month,
|
|
111
|
+
day: day,
|
|
112
|
+
birthday: new Date(year + '/' + month + '/' + day),
|
|
113
|
+
sequenceCode: sequenceCode,
|
|
114
|
+
checkCode: checkCode,
|
|
115
|
+
isMale: +sequenceCode % 2 === 1,
|
|
116
|
+
isFemale: +sequenceCode % 2 === 0
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
function verifyRegion(province, city, country) {
|
|
120
|
+
if (!getProvInfo(province)) {
|
|
121
|
+
return false;
|
|
122
|
+
}
|
|
123
|
+
// 这里暂时不获取市和区的具体信息,因为调用CityDB会把校验函数传染为异步
|
|
124
|
+
// city位: 00表示省;01-20,51-70表示省直辖市;21-50表示地区(自治州、盟)
|
|
125
|
+
if (!/^(?:[0-6]\d|70)$/.test(city)) {
|
|
126
|
+
return false;
|
|
127
|
+
}
|
|
128
|
+
if (!/^\d\d$/.test(country)) {
|
|
129
|
+
return false;
|
|
130
|
+
}
|
|
131
|
+
return true;
|
|
132
|
+
}
|
|
133
|
+
function verifyBirthday(birthday) {
|
|
134
|
+
return !isNaN(+birthday);
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* 校验码计算方式
|
|
138
|
+
* 1、将前面的身份证号码17位数分别乘以不同的系数。从第一位到第十七位的系数分别为:7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2 ;
|
|
139
|
+
* 2、将这17位数字和系数相乘的结果相加;
|
|
140
|
+
* 3、用加出来和除以11,看余数是多少;
|
|
141
|
+
* 4、余数只可能有0 1 2 3 4 5 6 7 8 9 10这11个数字。其分别对应的最后一位身份证的号码为1 0 X 9 8 7 6 5 4 3 2;
|
|
142
|
+
* 5、通过上面得知如果余数是2,余数所对应的最后一位身份证号是X,就会在身份证的第18位数字上出现罗马数字的X。
|
|
143
|
+
*/
|
|
144
|
+
function verifyCheckCode(id) {
|
|
145
|
+
var arrInt = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];
|
|
146
|
+
var arrCh = ['1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'];
|
|
147
|
+
var cardTemp = 0;
|
|
148
|
+
for (var i = 0; i < 17; i++) {
|
|
149
|
+
cardTemp += +id.slice(i, i + 1) * arrInt[i];
|
|
150
|
+
}
|
|
151
|
+
return arrCh[cardTemp % 11] === id.slice(17, 18);
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
export { isId, isId15, isId18 };
|
package/esm/utils/validations.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.
|
|
3
|
-
* Copyright 2018-
|
|
2
|
+
* amis-core v6.1.0
|
|
3
|
+
* Copyright 2018-2024 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
import { __assign, __spreadArray, __read } from 'tslib';
|
|
@@ -12,6 +12,7 @@ import { isPureVariable } from './isPureVariable.js';
|
|
|
12
12
|
import { resolveVariableAndFilter } from './resolveVariableAndFilter.js';
|
|
13
13
|
import './filter.js';
|
|
14
14
|
import memoize from 'lodash/memoize';
|
|
15
|
+
import { isId, isId18, isId15 } from './validateId.js';
|
|
15
16
|
|
|
16
17
|
var isExisty = function (value) { return value !== null && value !== undefined; };
|
|
17
18
|
var isEmpty = function (value) { return value === ''; };
|
|
@@ -216,9 +217,13 @@ var validations = {
|
|
|
216
217
|
return !isExisty(value) || isEmpty(value) || /^\d{6}$/.test(value);
|
|
217
218
|
},
|
|
218
219
|
isId: function (values, value) {
|
|
219
|
-
return
|
|
220
|
-
|
|
221
|
-
|
|
220
|
+
return !isExisty(value) || isEmpty(value) || isId(String(value));
|
|
221
|
+
},
|
|
222
|
+
isId18: function (values, value) {
|
|
223
|
+
return !isExisty(value) || isEmpty(value) || isId18(String(value));
|
|
224
|
+
},
|
|
225
|
+
isId15: function (values, value) {
|
|
226
|
+
return !isExisty(value) || isEmpty(value) || isId15(String(value));
|
|
222
227
|
},
|
|
223
228
|
notEmptyString: function (values, value) {
|
|
224
229
|
return !isExisty(value) || !(String(value) && String(value).trim() === '');
|
|
@@ -333,6 +338,8 @@ var validateMessages = {
|
|
|
333
338
|
isTelNumber: 'validate.isTelNumber',
|
|
334
339
|
isZipcode: 'validate.isZipcode',
|
|
335
340
|
isId: 'validate.isId',
|
|
341
|
+
isId18: 'validate.isId',
|
|
342
|
+
isId15: 'validate.isId',
|
|
336
343
|
isDateTimeSame: 'validate.isDateTimeSame',
|
|
337
344
|
isDateTimeBefore: 'validate.isDateTimeBefore',
|
|
338
345
|
isDateTimeAfter: 'validate.isDateTimeAfter',
|
|
@@ -374,8 +381,7 @@ function validate(value, values, rules, messages, __) {
|
|
|
374
381
|
// {error: true, msg: '错误提示'}
|
|
375
382
|
// 格式的信息来灵活展示错误
|
|
376
383
|
var fnResErrorMsg = '';
|
|
377
|
-
if (typeof validateRes === 'object' &&
|
|
378
|
-
validateRes.error === true) {
|
|
384
|
+
if (typeof validateRes === 'object' && validateRes.error === true) {
|
|
379
385
|
fnResErrorMsg = (_a = validateRes === null || validateRes === void 0 ? void 0 : validateRes.msg) !== null && _a !== void 0 ? _a : '';
|
|
380
386
|
}
|
|
381
387
|
if (!validateRes || fnResErrorMsg) {
|
|
@@ -383,13 +389,15 @@ function validate(value, values, rules, messages, __) {
|
|
|
383
389
|
if (Array.isArray(value)) {
|
|
384
390
|
msgRuleName = "".concat(ruleName, "Array");
|
|
385
391
|
}
|
|
386
|
-
return [
|
|
392
|
+
return [
|
|
393
|
+
{
|
|
387
394
|
rule: ruleName,
|
|
388
395
|
msg: filter(__((messages && messages[ruleName]) ||
|
|
389
396
|
fnResErrorMsg ||
|
|
390
397
|
validateMessages[msgRuleName] ||
|
|
391
398
|
validateMessages[ruleName]), __assign({}, [''].concat(args)))
|
|
392
|
-
}
|
|
399
|
+
}
|
|
400
|
+
];
|
|
393
401
|
}
|
|
394
402
|
}
|
|
395
403
|
}
|
package/lib/Root.js
CHANGED
package/lib/RootRenderer.d.ts
CHANGED
|
@@ -30,5 +30,5 @@ export declare class RootRenderer extends React.Component<RootRendererProps> {
|
|
|
30
30
|
renderError(): React.ReactNode;
|
|
31
31
|
renderDialog(): React.ReactNode;
|
|
32
32
|
renderDrawer(): React.ReactNode;
|
|
33
|
-
render(): string | number | boolean | React.
|
|
33
|
+
render(): string | number | boolean | Iterable<React.ReactNode> | React.JSX.Element | null | undefined;
|
|
34
34
|
}
|
package/lib/RootRenderer.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.
|
|
3
|
-
* Copyright 2018-
|
|
2
|
+
* amis-core v6.1.0
|
|
3
|
+
* Copyright 2018-2024 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
'use strict';
|
|
@@ -70,12 +70,13 @@ var RootRenderer = /** @class */ (function (_super) {
|
|
|
70
70
|
}
|
|
71
71
|
};
|
|
72
72
|
RootRenderer.prototype.componentDidUpdate = function (prevProps) {
|
|
73
|
+
var _a;
|
|
73
74
|
var props = this.props;
|
|
74
75
|
if (props.data !== prevProps.data) {
|
|
75
76
|
this.store.initData(props.data);
|
|
76
77
|
}
|
|
77
78
|
if (props.location !== prevProps.location) {
|
|
78
|
-
this.store.updateLocation(props.location);
|
|
79
|
+
this.store.updateLocation(props.location, (_a = this.props.env) === null || _a === void 0 ? void 0 : _a.parseLocation);
|
|
79
80
|
}
|
|
80
81
|
if (props.context !== prevProps.context) {
|
|
81
82
|
this.store.updateContext(props.context);
|
package/lib/SchemaRenderer.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.
|
|
3
|
-
* Copyright 2018-
|
|
2
|
+
* amis-core v6.1.0
|
|
3
|
+
* Copyright 2018-2024 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
'use strict';
|
|
@@ -327,6 +327,9 @@ var SchemaRenderer = /** @class */ (function (_super) {
|
|
|
327
327
|
if (isStatic !== undefined) {
|
|
328
328
|
props.static = isStatic;
|
|
329
329
|
}
|
|
330
|
+
if (rest.env.enableTestid && props.id && !props.testid) {
|
|
331
|
+
props.testid = props.id;
|
|
332
|
+
}
|
|
330
333
|
// 自动解析变量模式,主要是方便直接引入第三方组件库,无需为了支持变量封装一层
|
|
331
334
|
if (renderer.autoVar) {
|
|
332
335
|
try {
|
package/lib/Scoped.d.ts
CHANGED
|
@@ -14,6 +14,12 @@ import { ListenerAction } from './actions';
|
|
|
14
14
|
* @returns
|
|
15
15
|
*/
|
|
16
16
|
export declare function filterTarget(target: string, data: Record<string, any>): string;
|
|
17
|
+
/**
|
|
18
|
+
* 分割目标,如果里面有表达式,不要跟表达式里面的逗号冲突。
|
|
19
|
+
* @param target
|
|
20
|
+
* @returns
|
|
21
|
+
*/
|
|
22
|
+
export declare function splitTarget(target: string): Array<string>;
|
|
17
23
|
export interface ScopedComponentType extends React.Component<RendererProps> {
|
|
18
24
|
focus?: () => void;
|
|
19
25
|
doAction?: (action: ActionObject, data: RendererData, throwErrors?: boolean) => void;
|