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/lib/utils/keyToPath.js
CHANGED
package/lib/utils/makeSorter.js
CHANGED
package/lib/utils/math.js
CHANGED
package/lib/utils/memoryParse.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Options } from '../types';
|
|
2
2
|
export declare function normalizeOptions(options: string | {
|
|
3
3
|
[propName: string]: string;
|
|
4
|
-
} | Array<string> | Options, share?: {
|
|
4
|
+
} | Array<string | number> | Options, share?: {
|
|
5
5
|
values: Array<any>;
|
|
6
6
|
options: Array<any>;
|
|
7
7
|
}, valueField?: string): Options;
|
|
@@ -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
|
|
|
@@ -40,7 +40,8 @@ function normalizeOptions(options, share, valueField) {
|
|
|
40
40
|
});
|
|
41
41
|
}
|
|
42
42
|
else if (Array.isArray(options) &&
|
|
43
|
-
typeof options[0] === 'string'
|
|
43
|
+
(typeof options[0] === 'string' ||
|
|
44
|
+
typeof options[0] === 'number')) {
|
|
44
45
|
return options.map(function (item) {
|
|
45
46
|
var _a;
|
|
46
47
|
var idx = share.values.indexOf(item);
|
package/lib/utils/object.js
CHANGED
package/lib/utils/offset.js
CHANGED
package/lib/utils/position.js
CHANGED
package/lib/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
|
|
|
@@ -341,7 +341,7 @@ function getMatchedEventTargets(tree, ctx, index, condition, oldCondition) {
|
|
|
341
341
|
var result;
|
|
342
342
|
return tslib.__generator(this, function (_a) {
|
|
343
343
|
switch (_a.label) {
|
|
344
|
-
case 0: return [4 /*yield*/, tpl.
|
|
344
|
+
case 0: return [4 /*yield*/, tpl.evalExpressionWithConditionBuilderAsync(condition, object.createObject(ctx, data))];
|
|
345
345
|
case 1:
|
|
346
346
|
result = _a.sent();
|
|
347
347
|
result && targets.push(item);
|
package/lib/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
|
|
|
@@ -16,6 +16,12 @@ var startsWith = require('lodash/startsWith');
|
|
|
16
16
|
var resolveVariableAndFilterForAsync = require('./resolveVariableAndFilterForAsync.js');
|
|
17
17
|
var moment = require('moment');
|
|
18
18
|
var capitalize = require('lodash/capitalize');
|
|
19
|
+
require('amis-formula');
|
|
20
|
+
require('lodash/isPlainObject');
|
|
21
|
+
var isPureVariable = require('./isPureVariable.js');
|
|
22
|
+
require('@rc-component/mini-decimal');
|
|
23
|
+
var resolveVariableAndFilter = require('./resolveVariableAndFilter.js');
|
|
24
|
+
require('./filter.js');
|
|
19
25
|
|
|
20
26
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
21
27
|
|
|
@@ -30,7 +36,7 @@ var capitalize__default = /*#__PURE__*/_interopDefaultLegacy(capitalize);
|
|
|
30
36
|
var conditionResolverMap = {};
|
|
31
37
|
var DEFAULT_RESULT = true;
|
|
32
38
|
var conditionComputeErrorHandler;
|
|
33
|
-
function
|
|
39
|
+
function resolveConditionAsync(conditions, data, defaultResult) {
|
|
34
40
|
if (defaultResult === void 0) { defaultResult = true; }
|
|
35
41
|
return tslib.__awaiter(this, void 0, void 0, function () {
|
|
36
42
|
var e_1;
|
|
@@ -46,7 +52,7 @@ function resolveCondition(conditions, data, defaultResult) {
|
|
|
46
52
|
_a.label = 1;
|
|
47
53
|
case 1:
|
|
48
54
|
_a.trys.push([1, 3, , 6]);
|
|
49
|
-
return [4 /*yield*/,
|
|
55
|
+
return [4 /*yield*/, computeConditionsAsync(conditions.children, conditions.conjunction, data)];
|
|
50
56
|
case 2: return [2 /*return*/, _a.sent()];
|
|
51
57
|
case 3:
|
|
52
58
|
e_1 = _a.sent();
|
|
@@ -59,7 +65,26 @@ function resolveCondition(conditions, data, defaultResult) {
|
|
|
59
65
|
});
|
|
60
66
|
});
|
|
61
67
|
}
|
|
62
|
-
function
|
|
68
|
+
function resolveCondition(conditions, data, defaultResult) {
|
|
69
|
+
if (defaultResult === void 0) { defaultResult = true; }
|
|
70
|
+
if (!conditions ||
|
|
71
|
+
!conditions.conjunction ||
|
|
72
|
+
!Array.isArray(conditions.children) ||
|
|
73
|
+
!conditions.children.length) {
|
|
74
|
+
return defaultResult;
|
|
75
|
+
}
|
|
76
|
+
try {
|
|
77
|
+
return computeConditions(conditions.children, conditions.conjunction, data);
|
|
78
|
+
}
|
|
79
|
+
catch (e) {
|
|
80
|
+
// 如果函数未定义,则交给handler
|
|
81
|
+
if (e.name === 'FormulaEvalError') {
|
|
82
|
+
return conditionComputeErrorHandler === null || conditionComputeErrorHandler === void 0 ? void 0 : conditionComputeErrorHandler(conditions.children, conditions.conjunction, data);
|
|
83
|
+
}
|
|
84
|
+
return defaultResult;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
function computeConditionsAsync(conditions, conjunction, data) {
|
|
63
88
|
if (conjunction === void 0) { conjunction = 'and'; }
|
|
64
89
|
return tslib.__awaiter(this, void 0, void 0, function () {
|
|
65
90
|
var computeResult, index, len, item, result, _a;
|
|
@@ -73,11 +98,11 @@ function computeConditions(conditions, conjunction, data) {
|
|
|
73
98
|
if (!(index < len)) return [3 /*break*/, 7];
|
|
74
99
|
item = conditions[index];
|
|
75
100
|
if (!(item.conjunction && Array.isArray(item.children) && item.children.length)) return [3 /*break*/, 3];
|
|
76
|
-
return [4 /*yield*/,
|
|
101
|
+
return [4 /*yield*/, computeConditionsAsync(item.children, item.conjunction, data)];
|
|
77
102
|
case 2:
|
|
78
103
|
_a = _b.sent();
|
|
79
104
|
return [3 /*break*/, 5];
|
|
80
|
-
case 3: return [4 /*yield*/,
|
|
105
|
+
case 3: return [4 /*yield*/, computeConditionAsync(item, index, data)];
|
|
81
106
|
case 4:
|
|
82
107
|
_a = _b.sent();
|
|
83
108
|
_b.label = 5;
|
|
@@ -97,7 +122,23 @@ function computeConditions(conditions, conjunction, data) {
|
|
|
97
122
|
});
|
|
98
123
|
});
|
|
99
124
|
}
|
|
100
|
-
function
|
|
125
|
+
function computeConditions(conditions, conjunction, data) {
|
|
126
|
+
if (conjunction === void 0) { conjunction = 'and'; }
|
|
127
|
+
var computeResult = true;
|
|
128
|
+
for (var index = 0, len = conditions.length; index < len; index++) {
|
|
129
|
+
var item = conditions[index];
|
|
130
|
+
var result = item.conjunction && Array.isArray(item.children) && item.children.length
|
|
131
|
+
? computeConditions(item.children, item.conjunction, data)
|
|
132
|
+
: computeCondition(item, index, data);
|
|
133
|
+
computeResult = !!result;
|
|
134
|
+
if ((result && conjunction === 'or') ||
|
|
135
|
+
(!result && conjunction === 'and')) {
|
|
136
|
+
break;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
return computeResult;
|
|
140
|
+
}
|
|
141
|
+
function computeConditionAsync(rule, index, data) {
|
|
101
142
|
var _a;
|
|
102
143
|
return tslib.__awaiter(this, void 0, void 0, function () {
|
|
103
144
|
var leftValue, rightValue, func;
|
|
@@ -114,6 +155,17 @@ function computeCondition(rule, index, data) {
|
|
|
114
155
|
});
|
|
115
156
|
});
|
|
116
157
|
}
|
|
158
|
+
function computeCondition(rule, index, data) {
|
|
159
|
+
var _a;
|
|
160
|
+
var leftValue = get__default["default"](data, rule.left.field);
|
|
161
|
+
var rightValue = isPureVariable.isPureVariable(rule.right)
|
|
162
|
+
? resolveVariableAndFilter.resolveVariableAndFilter(rule.right, data)
|
|
163
|
+
: rule.right;
|
|
164
|
+
var func = (_a = conditionResolverMap["".concat(rule.op, "For").concat(capitalize__default["default"](rule.left.type))]) !== null && _a !== void 0 ? _a : conditionResolverMap[rule.op];
|
|
165
|
+
return func && typeof func === 'function'
|
|
166
|
+
? func(leftValue, rightValue, rule.left.type)
|
|
167
|
+
: DEFAULT_RESULT;
|
|
168
|
+
}
|
|
117
169
|
function startsWithFunc(left, right) {
|
|
118
170
|
if (left === undefined || right === undefined) {
|
|
119
171
|
return DEFAULT_RESULT;
|
|
@@ -335,4 +387,5 @@ registerConditionComputer('ends_with', endsWithFunc);
|
|
|
335
387
|
exports.getConditionComputers = getConditionComputers;
|
|
336
388
|
exports.registerConditionComputer = registerConditionComputer;
|
|
337
389
|
exports.resolveCondition = resolveCondition;
|
|
390
|
+
exports.resolveConditionAsync = resolveConditionAsync;
|
|
338
391
|
exports.setConditionComputeErrorHandler = setConditionComputeErrorHandler;
|
package/lib/utils/stripNumber.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,11 +7,14 @@
|
|
|
7
7
|
|
|
8
8
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
9
9
|
|
|
10
|
+
var miniDecimal = require('@rc-component/mini-decimal');
|
|
11
|
+
|
|
10
12
|
// 主要用于解决 0.1+0.2 结果的精度问题导致太长
|
|
11
13
|
function stripNumber(number, precision) {
|
|
12
14
|
if (precision === void 0) { precision = 16; }
|
|
13
15
|
if (typeof number === 'number' && !Number.isInteger(number)) {
|
|
14
|
-
return parseFloat(number.toPrecision(precision));
|
|
16
|
+
// return parseFloat(number.toPrecision(precision));
|
|
17
|
+
return parseFloat(miniDecimal.toFixed(number.toString(), '.', precision));
|
|
15
18
|
}
|
|
16
19
|
else {
|
|
17
20
|
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
|
|
|
@@ -372,9 +372,11 @@ function insertEditCustomStyle(params) {
|
|
|
372
372
|
}
|
|
373
373
|
insertStyle({
|
|
374
374
|
style: content,
|
|
375
|
-
classId: 'wrapperCustomStyle-' +
|
|
375
|
+
classId: 'wrapperCustomStyle-' +
|
|
376
|
+
((typeof id === 'string' ? id.replace('u:', '') : '') || helper.uuid()) +
|
|
377
|
+
index,
|
|
376
378
|
doc: doc,
|
|
377
|
-
id:
|
|
379
|
+
id: typeof id === 'string' ? id.replace('u:', '').replace(/(-.*)/, '') : ''
|
|
378
380
|
});
|
|
379
381
|
}
|
|
380
382
|
/**
|
package/lib/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
|
|
|
@@ -11,6 +11,7 @@ require('tslib');
|
|
|
11
11
|
require('amis-formula');
|
|
12
12
|
require('moment');
|
|
13
13
|
require('lodash/isPlainObject');
|
|
14
|
+
require('@rc-component/mini-decimal');
|
|
14
15
|
var resolveVariableAndFilter = require('./resolveVariableAndFilter.js');
|
|
15
16
|
require('./filter.js');
|
|
16
17
|
var mapValues = require('lodash/mapValues');
|
package/lib/utils/toNumber.js
CHANGED
package/lib/utils/tokenize.js
CHANGED
package/lib/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
|
|
|
@@ -12,6 +12,7 @@ var amisFormula = require('amis-formula');
|
|
|
12
12
|
require('moment');
|
|
13
13
|
require('lodash/isPlainObject');
|
|
14
14
|
var tokenize = require('./tokenize.js');
|
|
15
|
+
require('@rc-component/mini-decimal');
|
|
15
16
|
var resolveVariableAndFilterForAsync = require('./resolveVariableAndFilterForAsync.js');
|
|
16
17
|
require('./filter.js');
|
|
17
18
|
|
package/lib/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
|
|
|
@@ -12,6 +12,7 @@ var template = require('lodash/template');
|
|
|
12
12
|
var amisFormula = require('amis-formula');
|
|
13
13
|
var moment = require('moment');
|
|
14
14
|
require('lodash/isPlainObject');
|
|
15
|
+
require('@rc-component/mini-decimal');
|
|
15
16
|
require('./filter.js');
|
|
16
17
|
|
|
17
18
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
package/lib/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/lib/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
|
|
|
@@ -112,19 +112,32 @@ function evalExpression(expression, data) {
|
|
|
112
112
|
* @param data 上下文
|
|
113
113
|
* @returns
|
|
114
114
|
*/
|
|
115
|
-
function
|
|
115
|
+
function evalExpressionWithConditionBuilderAsync(expression, data, defaultResult) {
|
|
116
116
|
return tslib.__awaiter(this, void 0, void 0, function () {
|
|
117
117
|
return tslib.__generator(this, function (_a) {
|
|
118
118
|
switch (_a.label) {
|
|
119
119
|
case 0:
|
|
120
120
|
if (!(Object.prototype.toString.call(expression) === '[object Object]')) return [3 /*break*/, 2];
|
|
121
|
-
return [4 /*yield*/, resolveCondition.
|
|
121
|
+
return [4 /*yield*/, resolveCondition.resolveConditionAsync(expression, data, defaultResult)];
|
|
122
122
|
case 1: return [2 /*return*/, _a.sent()];
|
|
123
123
|
case 2: return [2 /*return*/, evalExpression(String(expression), data)];
|
|
124
124
|
}
|
|
125
125
|
});
|
|
126
126
|
});
|
|
127
127
|
}
|
|
128
|
+
/**
|
|
129
|
+
* 解析表达式(支持condition-builder)
|
|
130
|
+
* @param expression 表达式 or condition-builder对象
|
|
131
|
+
* @param data 上下文
|
|
132
|
+
* @returns
|
|
133
|
+
*/
|
|
134
|
+
function evalExpressionWithConditionBuilder(expression, data, defaultResult) {
|
|
135
|
+
// 支持ConditionBuilder
|
|
136
|
+
if (Object.prototype.toString.call(expression) === '[object Object]') {
|
|
137
|
+
return resolveCondition.resolveCondition(expression, data, defaultResult);
|
|
138
|
+
}
|
|
139
|
+
return evalExpression(String(expression), data);
|
|
140
|
+
}
|
|
128
141
|
function evalFormula(expression, data) {
|
|
129
142
|
var ast = tokenize.memoParse(expression, {
|
|
130
143
|
evalMode: false
|
|
@@ -175,6 +188,7 @@ function evalJS(js, data) {
|
|
|
175
188
|
exports.asyncFilter = asyncFilter;
|
|
176
189
|
exports.evalExpression = evalExpression;
|
|
177
190
|
exports.evalExpressionWithConditionBuilder = evalExpressionWithConditionBuilder;
|
|
191
|
+
exports.evalExpressionWithConditionBuilderAsync = evalExpressionWithConditionBuilderAsync;
|
|
178
192
|
exports.evalJS = evalJS;
|
|
179
193
|
exports.filter = filter;
|
|
180
194
|
exports.registerTplEnginer = registerTplEnginer;
|
package/lib/utils/validateId.js
CHANGED
package/lib/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
|
|
|
@@ -13,6 +13,7 @@ var tpl = require('./tpl.js');
|
|
|
13
13
|
require('amis-formula');
|
|
14
14
|
var isPlainObject = require('lodash/isPlainObject');
|
|
15
15
|
var isPureVariable = require('./isPureVariable.js');
|
|
16
|
+
require('@rc-component/mini-decimal');
|
|
16
17
|
var resolveVariableAndFilter = require('./resolveVariableAndFilter.js');
|
|
17
18
|
require('./filter.js');
|
|
18
19
|
var memoize = require('lodash/memoize');
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "amis-core",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.5.0",
|
|
4
4
|
"description": "amis-core",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "esm/index.js",
|
|
@@ -48,7 +48,8 @@
|
|
|
48
48
|
"esm"
|
|
49
49
|
],
|
|
50
50
|
"dependencies": {
|
|
51
|
-
"
|
|
51
|
+
"@rc-component/mini-decimal": "^1.0.1",
|
|
52
|
+
"amis-formula": "^6.5.0",
|
|
52
53
|
"classnames": "2.3.2",
|
|
53
54
|
"file-saver": "^2.0.2",
|
|
54
55
|
"hoist-non-react-statics": "^3.3.2",
|