amis-core 6.4.0 → 6.5.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 +1 -1
- package/esm/RootRenderer.js +1 -1
- package/esm/SchemaRenderer.js +15 -5
- package/esm/Scoped.d.ts +1 -1
- package/esm/Scoped.js +2 -1
- package/esm/StatusScoped.js +1 -1
- package/esm/WithRootStore.js +1 -1
- package/esm/WithStore.js +9 -3
- package/esm/actions/Action.js +6 -5
- package/esm/actions/AjaxAction.js +3 -3
- package/esm/actions/BreakAction.js +1 -1
- package/esm/actions/BroadcastAction.js +1 -1
- package/esm/actions/CmptAction.js +2 -2
- package/esm/actions/ContinueAction.js +1 -1
- package/esm/actions/CopyAction.js +4 -4
- package/esm/actions/CustomAction.js +2 -1
- package/esm/actions/DialogAction.js +2 -1
- package/esm/actions/DrawerAction.js +2 -1
- package/esm/actions/EmailAction.js +1 -1
- package/esm/actions/EventAction.js +2 -1
- package/esm/actions/LinkAction.js +1 -1
- package/esm/actions/LoopAction.js +2 -1
- package/esm/actions/PageAction.js +1 -1
- package/esm/actions/ParallelAction.js +1 -1
- package/esm/actions/PrintAction.d.ts +1 -1
- package/esm/actions/PrintAction.js +12 -6
- package/esm/actions/StatusAction.js +1 -1
- package/esm/actions/SwitchAction.js +3 -3
- package/esm/actions/ToastAction.js +1 -1
- package/esm/actions/WaitAction.js +1 -1
- package/esm/components/CustomStyle.js +1 -1
- package/esm/components/ErrorBoundary.js +1 -1
- package/esm/components/LazyComponent.js +1 -1
- package/esm/components/Overlay.js +2 -1
- package/esm/components/PopOver.js +2 -1
- package/esm/env.d.ts +2 -4
- package/esm/env.js +1 -1
- package/esm/envOverwrite.js +1 -1
- package/esm/factory.js +1 -1
- package/esm/index.js +4 -4
- package/esm/locale.js +2 -1
- package/esm/polyfills.js +1 -1
- package/esm/renderers/Form.d.ts +1 -1
- package/esm/renderers/Form.js +40 -6
- package/esm/renderers/Item.d.ts +27 -60
- package/esm/renderers/Item.js +74 -6
- package/esm/renderers/Options.js +2 -1
- package/esm/renderers/Placeholder.js +1 -1
- package/esm/renderers/builtin.js +1 -1
- package/esm/renderers/register.js +1 -1
- package/esm/renderers/wrapControl.js +7 -1
- package/esm/store/app.js +2 -1
- package/esm/store/combo.js +1 -1
- package/esm/store/crud.js +2 -1
- package/esm/store/form.js +2 -1
- package/esm/store/formItem.js +11 -1
- package/esm/store/iRenderer.js +2 -1
- package/esm/store/index.js +1 -1
- package/esm/store/list.js +1 -1
- package/esm/store/manager.js +1 -1
- package/esm/store/modal.js +1 -1
- package/esm/store/node.js +1 -1
- package/esm/store/pagination.js +2 -1
- package/esm/store/root.js +2 -1
- package/esm/store/service.js +2 -1
- package/esm/store/status.js +1 -1
- package/esm/store/table.js +2 -1
- package/esm/store/table2.js +1 -1
- package/esm/theme.js +1 -1
- package/esm/types.d.ts +1 -0
- package/esm/utils/Animation.js +1 -1
- package/esm/utils/ColorScale.js +1 -1
- package/esm/utils/DataSchema.js +1 -1
- package/esm/utils/DataScope.js +1 -1
- package/esm/utils/RootClose.js +1 -1
- package/esm/utils/SimpleMap.js +1 -1
- package/esm/utils/api.js +21 -3
- package/esm/utils/arraySlice.js +1 -1
- package/esm/utils/attachmentAdpator.js +1 -1
- package/esm/utils/autobind.js +1 -1
- package/esm/utils/browser.js +1 -1
- package/esm/utils/columnsSplit.js +1 -1
- package/esm/utils/concatData.js +1 -1
- package/esm/utils/dataMapping.js +1 -1
- package/esm/utils/date.d.ts +3 -1
- package/esm/utils/date.js +11 -5
- package/esm/utils/debug.js +1 -1
- package/esm/utils/decodeEntity.js +1 -1
- package/esm/utils/dom.js +1 -1
- package/esm/utils/errors.js +1 -1
- package/esm/utils/escapeHtml.js +1 -1
- package/esm/utils/filter-schema.js +7 -4
- package/esm/utils/filter.js +1 -1
- package/esm/utils/formatDuration.js +1 -1
- package/esm/utils/formula.js +2 -1
- package/esm/utils/getVariable.js +1 -1
- package/esm/utils/grammar.js +1 -1
- package/esm/utils/handleAction.js +1 -1
- package/esm/utils/helper.js +2 -1
- package/esm/utils/highlight.js +1 -1
- package/esm/utils/icon.js +1 -1
- package/esm/utils/image.js +1 -1
- package/esm/utils/isPureVariable.js +1 -1
- package/esm/utils/json-schema-2-amis-schema.js +1 -1
- package/esm/utils/keyToPath.js +1 -1
- package/esm/utils/labelToString.js +1 -1
- package/esm/utils/makeSorter.js +1 -1
- package/esm/utils/math.js +1 -1
- package/esm/utils/memoryParse.js +1 -1
- package/esm/utils/normalizeLink.js +1 -1
- package/esm/utils/normalizeOptions.d.ts +1 -1
- package/esm/utils/normalizeOptions.js +3 -2
- package/esm/utils/object.js +1 -1
- package/esm/utils/offset.js +1 -1
- package/esm/utils/offsetParent.js +1 -1
- package/esm/utils/optionValueCompare.js +1 -1
- package/esm/utils/position.js +1 -1
- package/esm/utils/prettyBytes.js +1 -1
- package/esm/utils/printElement.js +1 -1
- package/esm/utils/renderer-event.js +3 -3
- package/esm/utils/replaceText.js +1 -1
- package/esm/utils/resize-sensor.js +1 -1
- package/esm/utils/resolveCondition.d.ts +2 -1
- package/esm/utils/resolveCondition.js +60 -8
- package/esm/utils/resolveVariable.js +1 -1
- package/esm/utils/resolveVariableAndFilter.js +1 -1
- package/esm/utils/resolveVariableAndFilterForAsync.js +1 -1
- package/esm/utils/scrollPosition.js +1 -1
- package/esm/utils/string2regExp.js +1 -1
- package/esm/utils/stripNumber.js +5 -2
- package/esm/utils/style-helper.js +5 -3
- package/esm/utils/style.js +2 -1
- package/esm/utils/toNumber.js +1 -1
- package/esm/utils/tokenize.js +1 -1
- package/esm/utils/tpl-builtin.js +2 -1
- package/esm/utils/tpl-lodash.js +2 -1
- package/esm/utils/tpl.d.ts +8 -1
- package/esm/utils/tpl.js +18 -5
- package/esm/utils/uncontrollable.js +1 -1
- package/esm/utils/validateId.js +1 -1
- package/esm/utils/validations.js +2 -1
- package/lib/Root.js +1 -1
- package/lib/RootRenderer.d.ts +1 -1
- package/lib/RootRenderer.js +1 -1
- package/lib/SchemaRenderer.js +15 -5
- package/lib/Scoped.d.ts +1 -1
- package/lib/Scoped.js +2 -1
- package/lib/StatusScoped.js +1 -1
- package/lib/WithRootStore.js +1 -1
- package/lib/WithStore.js +9 -3
- package/lib/actions/Action.js +5 -4
- package/lib/actions/AjaxAction.js +2 -2
- package/lib/actions/BreakAction.js +1 -1
- package/lib/actions/BroadcastAction.js +1 -1
- package/lib/actions/CmptAction.js +2 -2
- package/lib/actions/ContinueAction.js +1 -1
- package/lib/actions/CopyAction.js +4 -4
- package/lib/actions/CustomAction.js +2 -1
- package/lib/actions/DialogAction.js +2 -1
- package/lib/actions/DrawerAction.js +2 -1
- package/lib/actions/EmailAction.js +1 -1
- package/lib/actions/EventAction.js +2 -1
- package/lib/actions/LinkAction.js +1 -1
- package/lib/actions/LoopAction.js +2 -1
- package/lib/actions/PageAction.js +1 -1
- package/lib/actions/ParallelAction.js +1 -1
- package/lib/actions/PrintAction.d.ts +1 -1
- package/lib/actions/PrintAction.js +12 -6
- package/lib/actions/StatusAction.js +1 -1
- package/lib/actions/SwitchAction.js +2 -2
- package/lib/actions/ToastAction.js +1 -1
- package/lib/actions/WaitAction.js +1 -1
- package/lib/components/CustomStyle.js +1 -1
- package/lib/components/ErrorBoundary.js +1 -1
- package/lib/components/LazyComponent.js +1 -1
- package/lib/components/Overlay.js +2 -1
- package/lib/components/PopOver.js +2 -1
- package/lib/env.d.ts +2 -4
- package/lib/env.js +1 -1
- package/lib/envOverwrite.js +1 -1
- package/lib/factory.js +1 -1
- package/lib/index.js +4 -2
- package/lib/locale.js +2 -1
- package/lib/polyfills.js +1 -1
- package/lib/renderers/Form.d.ts +1 -1
- package/lib/renderers/Form.js +40 -6
- package/lib/renderers/Item.d.ts +27 -60
- package/lib/renderers/Item.js +74 -6
- package/lib/renderers/Options.js +2 -1
- package/lib/renderers/Placeholder.js +1 -1
- package/lib/renderers/builtin.js +1 -1
- package/lib/renderers/register.js +1 -1
- package/lib/renderers/wrapControl.js +7 -1
- package/lib/store/app.js +2 -1
- package/lib/store/combo.d.ts +25 -24
- package/lib/store/combo.js +1 -1
- package/lib/store/crud.js +2 -1
- package/lib/store/form.d.ts +11 -10
- package/lib/store/form.js +2 -1
- package/lib/store/formItem.js +11 -1
- package/lib/store/iRenderer.js +2 -1
- package/lib/store/index.js +1 -1
- package/lib/store/list.js +1 -1
- package/lib/store/manager.js +1 -1
- package/lib/store/modal.js +1 -1
- package/lib/store/node.js +1 -1
- package/lib/store/pagination.js +2 -1
- package/lib/store/root.js +2 -1
- package/lib/store/service.js +2 -1
- package/lib/store/status.js +1 -1
- package/lib/store/table.d.ts +21 -20
- package/lib/store/table.js +2 -1
- package/lib/store/table2.js +1 -1
- package/lib/theme.js +1 -1
- package/lib/types.d.ts +1 -0
- package/lib/utils/Animation.js +1 -1
- package/lib/utils/ColorScale.js +1 -1
- package/lib/utils/DataSchema.js +1 -1
- package/lib/utils/DataScope.js +1 -1
- package/lib/utils/RootClose.js +1 -1
- package/lib/utils/SimpleMap.js +1 -1
- package/lib/utils/api.js +23 -3
- package/lib/utils/arraySlice.js +1 -1
- package/lib/utils/attachmentAdpator.js +1 -1
- package/lib/utils/autobind.js +1 -1
- package/lib/utils/browser.js +1 -1
- package/lib/utils/columnsSplit.js +1 -1
- package/lib/utils/concatData.js +1 -1
- package/lib/utils/dataMapping.js +1 -1
- package/lib/utils/date.d.ts +3 -1
- package/lib/utils/date.js +11 -5
- package/lib/utils/debug.js +1 -1
- package/lib/utils/decodeEntity.js +1 -1
- package/lib/utils/dom.js +1 -1
- package/lib/utils/errors.js +1 -1
- package/lib/utils/escapeHtml.js +1 -1
- package/lib/utils/filter-schema.js +6 -3
- package/lib/utils/filter.js +1 -1
- package/lib/utils/formatDuration.js +1 -1
- package/lib/utils/formula.js +2 -1
- package/lib/utils/getVariable.js +1 -1
- package/lib/utils/grammar.js +1 -1
- package/lib/utils/handleAction.js +1 -1
- package/lib/utils/helper.js +2 -1
- package/lib/utils/highlight.js +1 -1
- package/lib/utils/icon.js +1 -1
- package/lib/utils/image.js +1 -1
- package/lib/utils/isPureVariable.js +1 -1
- package/lib/utils/json-schema-2-amis-schema.js +1 -1
- package/lib/utils/keyToPath.js +1 -1
- package/lib/utils/labelToString.js +1 -1
- package/lib/utils/makeSorter.js +1 -1
- package/lib/utils/math.js +1 -1
- package/lib/utils/memoryParse.js +1 -1
- package/lib/utils/normalizeLink.js +1 -1
- package/lib/utils/normalizeOptions.d.ts +1 -1
- package/lib/utils/normalizeOptions.js +3 -2
- package/lib/utils/object.js +1 -1
- package/lib/utils/offset.js +1 -1
- package/lib/utils/offsetParent.js +1 -1
- package/lib/utils/optionValueCompare.js +1 -1
- package/lib/utils/position.js +1 -1
- package/lib/utils/prettyBytes.js +1 -1
- package/lib/utils/printElement.js +1 -1
- package/lib/utils/renderer-event.js +2 -2
- package/lib/utils/replaceText.js +1 -1
- package/lib/utils/resize-sensor.js +1 -1
- package/lib/utils/resolveCondition.d.ts +2 -1
- package/lib/utils/resolveCondition.js +60 -7
- package/lib/utils/resolveVariable.js +1 -1
- package/lib/utils/resolveVariableAndFilter.js +1 -1
- package/lib/utils/resolveVariableAndFilterForAsync.js +1 -1
- package/lib/utils/scrollPosition.js +1 -1
- package/lib/utils/string2regExp.js +1 -1
- package/lib/utils/stripNumber.js +5 -2
- package/lib/utils/style-helper.js +5 -3
- package/lib/utils/style.js +2 -1
- package/lib/utils/toNumber.js +1 -1
- package/lib/utils/tokenize.js +1 -1
- package/lib/utils/tpl-builtin.js +2 -1
- package/lib/utils/tpl-lodash.js +2 -1
- package/lib/utils/tpl.d.ts +8 -1
- package/lib/utils/tpl.js +17 -3
- package/lib/utils/uncontrollable.js +1 -1
- package/lib/utils/validateId.js +1 -1
- package/lib/utils/validations.js +2 -1
- package/package.json +3 -2
package/esm/utils/position.js
CHANGED
package/esm/utils/prettyBytes.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.
|
|
2
|
+
* amis-core v6.5.0
|
|
3
3
|
* Copyright 2018-2024 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -10,7 +10,7 @@ import { eachTree, getTree } from './helper.js';
|
|
|
10
10
|
import { extendObject, createObject } from './object.js';
|
|
11
11
|
import debounce from 'lodash/debounce';
|
|
12
12
|
import { resolveVariableAndFilterForAsync } from './resolveVariableAndFilterForAsync.js';
|
|
13
|
-
import { evalExpression,
|
|
13
|
+
import { evalExpression, evalExpressionWithConditionBuilderAsync } from './tpl.js';
|
|
14
14
|
|
|
15
15
|
var rendererEventListeners = [];
|
|
16
16
|
// 创建渲染器事件对象
|
|
@@ -333,7 +333,7 @@ function getMatchedEventTargets(tree, ctx, index, condition, oldCondition) {
|
|
|
333
333
|
var result;
|
|
334
334
|
return __generator(this, function (_a) {
|
|
335
335
|
switch (_a.label) {
|
|
336
|
-
case 0: return [4 /*yield*/,
|
|
336
|
+
case 0: return [4 /*yield*/, evalExpressionWithConditionBuilderAsync(condition, createObject(ctx, data))];
|
|
337
337
|
case 1:
|
|
338
338
|
result = _a.sent();
|
|
339
339
|
result && targets.push(item);
|
package/esm/utils/replaceText.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
export declare function
|
|
1
|
+
export declare function resolveConditionAsync(conditions: any, data: any, defaultResult?: boolean): Promise<boolean>;
|
|
2
|
+
export declare function resolveCondition(conditions: any, data: any, defaultResult?: boolean): boolean | Promise<boolean>;
|
|
2
3
|
export declare function registerConditionComputer(op: string, func: (left: any, right: any, fieldType?: string) => boolean, fieldType?: string): void;
|
|
3
4
|
export declare function getConditionComputers(): {
|
|
4
5
|
[op: string]: (left: any, right: any, fieldType?: string | undefined) => boolean;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.
|
|
2
|
+
* amis-core v6.5.0
|
|
3
3
|
* Copyright 2018-2024 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -12,11 +12,17 @@ import startsWith from 'lodash/startsWith';
|
|
|
12
12
|
import { resolveVariableAndFilterForAsync } from './resolveVariableAndFilterForAsync.js';
|
|
13
13
|
import moment from 'moment';
|
|
14
14
|
import capitalize from 'lodash/capitalize';
|
|
15
|
+
import 'amis-formula';
|
|
16
|
+
import 'lodash/isPlainObject';
|
|
17
|
+
import { isPureVariable } from './isPureVariable.js';
|
|
18
|
+
import '@rc-component/mini-decimal';
|
|
19
|
+
import { resolveVariableAndFilter } from './resolveVariableAndFilter.js';
|
|
20
|
+
import './filter.js';
|
|
15
21
|
|
|
16
22
|
var conditionResolverMap = {};
|
|
17
23
|
var DEFAULT_RESULT = true;
|
|
18
24
|
var conditionComputeErrorHandler;
|
|
19
|
-
function
|
|
25
|
+
function resolveConditionAsync(conditions, data, defaultResult) {
|
|
20
26
|
if (defaultResult === void 0) { defaultResult = true; }
|
|
21
27
|
return __awaiter(this, void 0, void 0, function () {
|
|
22
28
|
var e_1;
|
|
@@ -32,7 +38,7 @@ function resolveCondition(conditions, data, defaultResult) {
|
|
|
32
38
|
_a.label = 1;
|
|
33
39
|
case 1:
|
|
34
40
|
_a.trys.push([1, 3, , 6]);
|
|
35
|
-
return [4 /*yield*/,
|
|
41
|
+
return [4 /*yield*/, computeConditionsAsync(conditions.children, conditions.conjunction, data)];
|
|
36
42
|
case 2: return [2 /*return*/, _a.sent()];
|
|
37
43
|
case 3:
|
|
38
44
|
e_1 = _a.sent();
|
|
@@ -45,7 +51,26 @@ function resolveCondition(conditions, data, defaultResult) {
|
|
|
45
51
|
});
|
|
46
52
|
});
|
|
47
53
|
}
|
|
48
|
-
function
|
|
54
|
+
function resolveCondition(conditions, data, defaultResult) {
|
|
55
|
+
if (defaultResult === void 0) { defaultResult = true; }
|
|
56
|
+
if (!conditions ||
|
|
57
|
+
!conditions.conjunction ||
|
|
58
|
+
!Array.isArray(conditions.children) ||
|
|
59
|
+
!conditions.children.length) {
|
|
60
|
+
return defaultResult;
|
|
61
|
+
}
|
|
62
|
+
try {
|
|
63
|
+
return computeConditions(conditions.children, conditions.conjunction, data);
|
|
64
|
+
}
|
|
65
|
+
catch (e) {
|
|
66
|
+
// 如果函数未定义,则交给handler
|
|
67
|
+
if (e.name === 'FormulaEvalError') {
|
|
68
|
+
return conditionComputeErrorHandler === null || conditionComputeErrorHandler === void 0 ? void 0 : conditionComputeErrorHandler(conditions.children, conditions.conjunction, data);
|
|
69
|
+
}
|
|
70
|
+
return defaultResult;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
function computeConditionsAsync(conditions, conjunction, data) {
|
|
49
74
|
if (conjunction === void 0) { conjunction = 'and'; }
|
|
50
75
|
return __awaiter(this, void 0, void 0, function () {
|
|
51
76
|
var computeResult, index, len, item, result, _a;
|
|
@@ -59,11 +84,11 @@ function computeConditions(conditions, conjunction, data) {
|
|
|
59
84
|
if (!(index < len)) return [3 /*break*/, 7];
|
|
60
85
|
item = conditions[index];
|
|
61
86
|
if (!(item.conjunction && Array.isArray(item.children) && item.children.length)) return [3 /*break*/, 3];
|
|
62
|
-
return [4 /*yield*/,
|
|
87
|
+
return [4 /*yield*/, computeConditionsAsync(item.children, item.conjunction, data)];
|
|
63
88
|
case 2:
|
|
64
89
|
_a = _b.sent();
|
|
65
90
|
return [3 /*break*/, 5];
|
|
66
|
-
case 3: return [4 /*yield*/,
|
|
91
|
+
case 3: return [4 /*yield*/, computeConditionAsync(item, index, data)];
|
|
67
92
|
case 4:
|
|
68
93
|
_a = _b.sent();
|
|
69
94
|
_b.label = 5;
|
|
@@ -83,7 +108,23 @@ function computeConditions(conditions, conjunction, data) {
|
|
|
83
108
|
});
|
|
84
109
|
});
|
|
85
110
|
}
|
|
86
|
-
function
|
|
111
|
+
function computeConditions(conditions, conjunction, data) {
|
|
112
|
+
if (conjunction === void 0) { conjunction = 'and'; }
|
|
113
|
+
var computeResult = true;
|
|
114
|
+
for (var index = 0, len = conditions.length; index < len; index++) {
|
|
115
|
+
var item = conditions[index];
|
|
116
|
+
var result = item.conjunction && Array.isArray(item.children) && item.children.length
|
|
117
|
+
? computeConditions(item.children, item.conjunction, data)
|
|
118
|
+
: computeCondition(item, index, data);
|
|
119
|
+
computeResult = !!result;
|
|
120
|
+
if ((result && conjunction === 'or') ||
|
|
121
|
+
(!result && conjunction === 'and')) {
|
|
122
|
+
break;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
return computeResult;
|
|
126
|
+
}
|
|
127
|
+
function computeConditionAsync(rule, index, data) {
|
|
87
128
|
var _a;
|
|
88
129
|
return __awaiter(this, void 0, void 0, function () {
|
|
89
130
|
var leftValue, rightValue, func;
|
|
@@ -100,6 +141,17 @@ function computeCondition(rule, index, data) {
|
|
|
100
141
|
});
|
|
101
142
|
});
|
|
102
143
|
}
|
|
144
|
+
function computeCondition(rule, index, data) {
|
|
145
|
+
var _a;
|
|
146
|
+
var leftValue = get(data, rule.left.field);
|
|
147
|
+
var rightValue = isPureVariable(rule.right)
|
|
148
|
+
? resolveVariableAndFilter(rule.right, data)
|
|
149
|
+
: rule.right;
|
|
150
|
+
var func = (_a = conditionResolverMap["".concat(rule.op, "For").concat(capitalize(rule.left.type))]) !== null && _a !== void 0 ? _a : conditionResolverMap[rule.op];
|
|
151
|
+
return func && typeof func === 'function'
|
|
152
|
+
? func(leftValue, rightValue, rule.left.type)
|
|
153
|
+
: DEFAULT_RESULT;
|
|
154
|
+
}
|
|
103
155
|
function startsWithFunc(left, right) {
|
|
104
156
|
if (left === undefined || right === undefined) {
|
|
105
157
|
return DEFAULT_RESULT;
|
|
@@ -318,4 +370,4 @@ registerConditionComputer('select_not_any_in', selectNotAnyInFunc);
|
|
|
318
370
|
registerConditionComputer('starts_with', startsWithFunc);
|
|
319
371
|
registerConditionComputer('ends_with', endsWithFunc);
|
|
320
372
|
|
|
321
|
-
export { getConditionComputers, registerConditionComputer, resolveCondition, setConditionComputeErrorHandler };
|
|
373
|
+
export { getConditionComputers, registerConditionComputer, resolveCondition, resolveConditionAsync, setConditionComputeErrorHandler };
|
package/esm/utils/stripNumber.js
CHANGED
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.
|
|
2
|
+
* amis-core v6.5.0
|
|
3
3
|
* Copyright 2018-2024 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
+
import { toFixed } from '@rc-component/mini-decimal';
|
|
7
|
+
|
|
6
8
|
// 主要用于解决 0.1+0.2 结果的精度问题导致太长
|
|
7
9
|
function stripNumber(number, precision) {
|
|
8
10
|
if (precision === void 0) { precision = 16; }
|
|
9
11
|
if (typeof number === 'number' && !Number.isInteger(number)) {
|
|
10
|
-
return parseFloat(number.toPrecision(precision));
|
|
12
|
+
// return parseFloat(number.toPrecision(precision));
|
|
13
|
+
return parseFloat(toFixed(number.toString(), '.', precision));
|
|
11
14
|
}
|
|
12
15
|
else {
|
|
13
16
|
return number;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.
|
|
2
|
+
* amis-core v6.5.0
|
|
3
3
|
* Copyright 2018-2024 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -360,9 +360,11 @@ function insertEditCustomStyle(params) {
|
|
|
360
360
|
}
|
|
361
361
|
insertStyle({
|
|
362
362
|
style: content,
|
|
363
|
-
classId: 'wrapperCustomStyle-' +
|
|
363
|
+
classId: 'wrapperCustomStyle-' +
|
|
364
|
+
((typeof id === 'string' ? id.replace('u:', '') : '') || uuid()) +
|
|
365
|
+
index,
|
|
364
366
|
doc: doc,
|
|
365
|
-
id:
|
|
367
|
+
id: typeof id === 'string' ? id.replace('u:', '').replace(/(-.*)/, '') : ''
|
|
366
368
|
});
|
|
367
369
|
}
|
|
368
370
|
/**
|
package/esm/utils/style.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.
|
|
2
|
+
* amis-core v6.5.0
|
|
3
3
|
* Copyright 2018-2024 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -7,6 +7,7 @@ import 'tslib';
|
|
|
7
7
|
import 'amis-formula';
|
|
8
8
|
import 'moment';
|
|
9
9
|
import 'lodash/isPlainObject';
|
|
10
|
+
import '@rc-component/mini-decimal';
|
|
10
11
|
import { resolveVariableAndFilter } from './resolveVariableAndFilter.js';
|
|
11
12
|
import './filter.js';
|
|
12
13
|
import mapValues from 'lodash/mapValues';
|
package/esm/utils/toNumber.js
CHANGED
package/esm/utils/tokenize.js
CHANGED
package/esm/utils/tpl-builtin.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.
|
|
2
|
+
* amis-core v6.5.0
|
|
3
3
|
* Copyright 2018-2024 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -9,6 +9,7 @@ import 'moment';
|
|
|
9
9
|
import 'lodash/isPlainObject';
|
|
10
10
|
import { tokenize } from './tokenize.js';
|
|
11
11
|
export { tokenize } from './tokenize.js';
|
|
12
|
+
import '@rc-component/mini-decimal';
|
|
12
13
|
import { resolveVariableAndFilterForAsync } from './resolveVariableAndFilterForAsync.js';
|
|
13
14
|
export { resolveVariableAndFilterForAsync } from './resolveVariableAndFilterForAsync.js';
|
|
14
15
|
import './filter.js';
|
package/esm/utils/tpl-lodash.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.
|
|
2
|
+
* amis-core v6.5.0
|
|
3
3
|
* Copyright 2018-2024 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -8,6 +8,7 @@ import template from 'lodash/template';
|
|
|
8
8
|
import { getFilters } from 'amis-formula';
|
|
9
9
|
import moment from 'moment';
|
|
10
10
|
import 'lodash/isPlainObject';
|
|
11
|
+
import '@rc-component/mini-decimal';
|
|
11
12
|
import './filter.js';
|
|
12
13
|
|
|
13
14
|
var imports = {
|
package/esm/utils/tpl.d.ts
CHANGED
|
@@ -15,6 +15,13 @@ export declare function evalExpression(expression: string, data?: object): boole
|
|
|
15
15
|
* @param data 上下文
|
|
16
16
|
* @returns
|
|
17
17
|
*/
|
|
18
|
-
export declare function
|
|
18
|
+
export declare function evalExpressionWithConditionBuilderAsync(expression: any, data?: object, defaultResult?: boolean): Promise<boolean>;
|
|
19
|
+
/**
|
|
20
|
+
* 解析表达式(支持condition-builder)
|
|
21
|
+
* @param expression 表达式 or condition-builder对象
|
|
22
|
+
* @param data 上下文
|
|
23
|
+
* @returns
|
|
24
|
+
*/
|
|
25
|
+
export declare function evalExpressionWithConditionBuilder(expression: any, data?: object, defaultResult?: boolean): boolean | Promise<boolean>;
|
|
19
26
|
export declare function setCustomEvalJs(fn: (expression: string, data?: any) => any): void;
|
|
20
27
|
export declare function evalJS(js: string, data: object): any;
|
package/esm/utils/tpl.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.
|
|
2
|
+
* amis-core v6.5.0
|
|
3
3
|
* Copyright 2018-2024 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -7,7 +7,7 @@ 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
9
|
import { getFilters, evaluate } from 'amis-formula';
|
|
10
|
-
import { resolveCondition } from './resolveCondition.js';
|
|
10
|
+
import { resolveConditionAsync, resolveCondition } from './resolveCondition.js';
|
|
11
11
|
import { memoParse } from './tokenize.js';
|
|
12
12
|
|
|
13
13
|
var enginers = {};
|
|
@@ -108,19 +108,32 @@ function evalExpression(expression, data) {
|
|
|
108
108
|
* @param data 上下文
|
|
109
109
|
* @returns
|
|
110
110
|
*/
|
|
111
|
-
function
|
|
111
|
+
function evalExpressionWithConditionBuilderAsync(expression, data, defaultResult) {
|
|
112
112
|
return __awaiter(this, void 0, void 0, function () {
|
|
113
113
|
return __generator(this, function (_a) {
|
|
114
114
|
switch (_a.label) {
|
|
115
115
|
case 0:
|
|
116
116
|
if (!(Object.prototype.toString.call(expression) === '[object Object]')) return [3 /*break*/, 2];
|
|
117
|
-
return [4 /*yield*/,
|
|
117
|
+
return [4 /*yield*/, resolveConditionAsync(expression, data, defaultResult)];
|
|
118
118
|
case 1: return [2 /*return*/, _a.sent()];
|
|
119
119
|
case 2: return [2 /*return*/, evalExpression(String(expression), data)];
|
|
120
120
|
}
|
|
121
121
|
});
|
|
122
122
|
});
|
|
123
123
|
}
|
|
124
|
+
/**
|
|
125
|
+
* 解析表达式(支持condition-builder)
|
|
126
|
+
* @param expression 表达式 or condition-builder对象
|
|
127
|
+
* @param data 上下文
|
|
128
|
+
* @returns
|
|
129
|
+
*/
|
|
130
|
+
function evalExpressionWithConditionBuilder(expression, data, defaultResult) {
|
|
131
|
+
// 支持ConditionBuilder
|
|
132
|
+
if (Object.prototype.toString.call(expression) === '[object Object]') {
|
|
133
|
+
return resolveCondition(expression, data, defaultResult);
|
|
134
|
+
}
|
|
135
|
+
return evalExpression(String(expression), data);
|
|
136
|
+
}
|
|
124
137
|
function evalFormula(expression, data) {
|
|
125
138
|
var ast = memoParse(expression, {
|
|
126
139
|
evalMode: false
|
|
@@ -168,4 +181,4 @@ function evalJS(js, data) {
|
|
|
168
181
|
});
|
|
169
182
|
});
|
|
170
183
|
|
|
171
|
-
export { asyncFilter, evalExpression, evalExpressionWithConditionBuilder, evalJS, filter, registerTplEnginer, setCustomEvalExpression, setCustomEvalJs };
|
|
184
|
+
export { asyncFilter, evalExpression, evalExpressionWithConditionBuilder, evalExpressionWithConditionBuilderAsync, evalJS, filter, registerTplEnginer, setCustomEvalExpression, setCustomEvalJs };
|
package/esm/utils/validateId.js
CHANGED
package/esm/utils/validations.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.
|
|
2
|
+
* amis-core v6.5.0
|
|
3
3
|
* Copyright 2018-2024 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -9,6 +9,7 @@ import { filter } from './tpl.js';
|
|
|
9
9
|
import 'amis-formula';
|
|
10
10
|
import isPlainObject from 'lodash/isPlainObject';
|
|
11
11
|
import { isPureVariable } from './isPureVariable.js';
|
|
12
|
+
import '@rc-component/mini-decimal';
|
|
12
13
|
import { resolveVariableAndFilter } from './resolveVariableAndFilter.js';
|
|
13
14
|
import './filter.js';
|
|
14
15
|
import memoize from 'lodash/memoize';
|
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 |
|
|
33
|
+
render(): string | number | boolean | React.JSX.Element | Iterable<React.ReactNode> | null | undefined;
|
|
34
34
|
}
|
package/lib/RootRenderer.js
CHANGED
package/lib/SchemaRenderer.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.
|
|
2
|
+
* amis-core v6.5.0
|
|
3
3
|
* Copyright 2018-2024 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -26,6 +26,7 @@ var mobx = require('mobx');
|
|
|
26
26
|
require('amis-formula');
|
|
27
27
|
require('moment');
|
|
28
28
|
require('lodash/isPlainObject');
|
|
29
|
+
require('@rc-component/mini-decimal');
|
|
29
30
|
var resolveVariableAndFilter = require('./utils/resolveVariableAndFilter.js');
|
|
30
31
|
require('./utils/filter.js');
|
|
31
32
|
var style = require('./utils/style.js');
|
|
@@ -177,9 +178,15 @@ var SchemaRenderer = /** @class */ (function (_super) {
|
|
|
177
178
|
this.ref = ref;
|
|
178
179
|
};
|
|
179
180
|
SchemaRenderer.prototype.childRef = function (ref) {
|
|
181
|
+
var _this = this;
|
|
180
182
|
while (ref && ref.getWrappedInstance) {
|
|
181
183
|
ref = ref.getWrappedInstance();
|
|
182
184
|
}
|
|
185
|
+
if (ref && !ref.props) {
|
|
186
|
+
Object.defineProperty(ref, 'props', {
|
|
187
|
+
get: function () { return _this.props; }
|
|
188
|
+
});
|
|
189
|
+
}
|
|
183
190
|
this.cRef = ref;
|
|
184
191
|
};
|
|
185
192
|
SchemaRenderer.prototype.dispatchEvent = function (e, data, renderer // for didmount
|
|
@@ -262,7 +269,9 @@ var SchemaRenderer = /** @class */ (function (_super) {
|
|
|
262
269
|
? null
|
|
263
270
|
: React__default["default"].isValidElement(schema.children)
|
|
264
271
|
? schema.children
|
|
265
|
-
: schema.children
|
|
272
|
+
: typeof schema.children !== 'function'
|
|
273
|
+
? null
|
|
274
|
+
: schema.children(tslib.__assign(tslib.__assign(tslib.__assign({}, rest), exprProps), { $path: $path, $schema: schema, render: this.renderChild, forwardedRef: this.refFn, rootStore: rootStore, statusStore: statusStore, dispatchEvent: this.dispatchEvent }));
|
|
266
275
|
}
|
|
267
276
|
else if (schema.component && reactIs.isValidElementType(schema.component)) {
|
|
268
277
|
var isSFC = !(schema.component.prototype instanceof React__default["default"].Component);
|
|
@@ -317,10 +326,11 @@ var SchemaRenderer = /** @class */ (function (_super) {
|
|
|
317
326
|
if (renderer.storeType) {
|
|
318
327
|
exprProps = {};
|
|
319
328
|
}
|
|
320
|
-
var
|
|
329
|
+
var supportRef = ((_e = Component.prototype) === null || _e === void 0 ? void 0 : _e.isReactComponent) ||
|
|
330
|
+
Component.$$typeof === Symbol.for('react.forward_ref');
|
|
321
331
|
var props = tslib.__assign(tslib.__assign(tslib.__assign(tslib.__assign(tslib.__assign({}, theme.getRendererConfig(renderer.name)), restSchema), helper.chainEvents(rest, restSchema)), exprProps), {
|
|
322
332
|
// value: defaultValue, // 备注: 此处并没有将value传递给渲染器
|
|
323
|
-
defaultData: (_f = restSchema.defaultData) !== null && _f !== void 0 ? _f : defaultData, defaultValue: (_g = restSchema.defaultValue) !== null && _g !== void 0 ? _g : defaultValue, defaultActiveKey: defaultActiveKey, propKey: propKey, $path: $path, $schema: schema,
|
|
333
|
+
defaultData: (_f = restSchema.defaultData) !== null && _f !== void 0 ? _f : defaultData, defaultValue: (_g = restSchema.defaultValue) !== null && _g !== void 0 ? _g : defaultValue, defaultActiveKey: defaultActiveKey, propKey: propKey, $path: $path, $schema: schema, render: this.renderChild, rootStore: rootStore, statusStore: statusStore, dispatchEvent: this.dispatchEvent, mobileUI: schema.useMobileUI === false ? false : rest.mobileUI });
|
|
324
334
|
// style 支持公式
|
|
325
335
|
if (schema.style) {
|
|
326
336
|
props.style = style.buildStyle(schema.style, detectData);
|
|
@@ -358,7 +368,7 @@ var SchemaRenderer = /** @class */ (function (_super) {
|
|
|
358
368
|
finally { if (e_1) throw e_1.error; }
|
|
359
369
|
}
|
|
360
370
|
}
|
|
361
|
-
var component =
|
|
371
|
+
var component = supportRef ? (_J$X_(Component, tslib.__assign({}, props, { ref: this.childRef }))) : (_J$X_(Component, tslib.__assign({}, props, { forwardedRef: this.childRef })));
|
|
362
372
|
return this.props.env.enableAMISDebug ? (_J$X_(debug.DebugWrapper, { renderer: renderer }, component)) : (component);
|
|
363
373
|
};
|
|
364
374
|
SchemaRenderer.displayName = 'Renderer';
|
package/lib/Scoped.d.ts
CHANGED
|
@@ -24,7 +24,7 @@ export interface ScopedComponentType extends React.Component<RendererProps> {
|
|
|
24
24
|
focus?: () => void;
|
|
25
25
|
doAction?: (action: ActionObject, data: RendererData, throwErrors?: boolean, args?: any) => void;
|
|
26
26
|
receive?: (values: RendererData, subPath?: string, replace?: boolean) => void;
|
|
27
|
-
reload?: (subPath?: string, query?: RendererData | null, ctx?: RendererData) => void;
|
|
27
|
+
reload?: (subPath?: string, query?: RendererData | null, ctx?: RendererData, silent?: boolean, replace?: boolean, args?: any) => void;
|
|
28
28
|
context: any;
|
|
29
29
|
setData?: (value?: object, replace?: boolean, index?: number) => void;
|
|
30
30
|
}
|
package/lib/Scoped.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.
|
|
2
|
+
* amis-core v6.5.0
|
|
3
3
|
* Copyright 2018-2024 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -17,6 +17,7 @@ require('moment');
|
|
|
17
17
|
var object = require('./utils/object.js');
|
|
18
18
|
var tokenize = require('./utils/tokenize.js');
|
|
19
19
|
var isPureVariable = require('./utils/isPureVariable.js');
|
|
20
|
+
require('@rc-component/mini-decimal');
|
|
20
21
|
var getVariable = require('./utils/getVariable.js');
|
|
21
22
|
var dataMapping = require('./utils/dataMapping.js');
|
|
22
23
|
require('./utils/filter.js');
|
package/lib/StatusScoped.js
CHANGED
package/lib/WithRootStore.js
CHANGED
package/lib/WithStore.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.
|
|
2
|
+
* amis-core v6.5.0
|
|
3
3
|
* Copyright 2018-2024 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -19,6 +19,7 @@ require('amis-formula');
|
|
|
19
19
|
require('moment');
|
|
20
20
|
var object = require('./utils/object.js');
|
|
21
21
|
var tokenize = require('./utils/tokenize.js');
|
|
22
|
+
require('@rc-component/mini-decimal');
|
|
22
23
|
var dataMapping = require('./utils/dataMapping.js');
|
|
23
24
|
require('./utils/filter.js');
|
|
24
25
|
var WithRootStore = require('./WithRootStore.js');
|
|
@@ -210,11 +211,16 @@ function HocStoreFactory(renderer) {
|
|
|
210
211
|
return render(region, node, tslib.__assign(tslib.__assign({ data: this.store.data, dataUpdatedAt: this.store.updatedAt }, subProps), { scope: this.store.data, store: this.store }));
|
|
211
212
|
};
|
|
212
213
|
StoreFactory.prototype.render = function () {
|
|
213
|
-
var _a
|
|
214
|
+
var _a;
|
|
215
|
+
var _b = this.props; _b.detectField; var rest = tslib.__rest(_b, ["detectField"]);
|
|
214
216
|
if (this.state.hidden || this.state.visible === false) {
|
|
215
217
|
return null;
|
|
216
218
|
}
|
|
217
|
-
|
|
219
|
+
var refConfig = ((_a = Component.prototype) === null || _a === void 0 ? void 0 : _a.isReactComponent) ||
|
|
220
|
+
Component.$$typeof === Symbol.for('react.forward_ref')
|
|
221
|
+
? { ref: this.refFn }
|
|
222
|
+
: { forwardedRef: this.refFn };
|
|
223
|
+
return (_J$X_(Component, tslib.__assign({}, rest /* todo */, this.state, refConfig, { data: this.store.data, dataUpdatedAt: this.store.updatedAt, store: this.store, scope: this.store.data, render: this.renderChild })));
|
|
218
224
|
};
|
|
219
225
|
StoreFactory.displayName = "WithStore(".concat(Component.displayName || Component.name, ")");
|
|
220
226
|
StoreFactory.ComposedComponent = Component;
|