amis-core 3.4.0 → 3.4.1
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 +8 -8
- package/esm/SchemaRenderer.js +16 -12
- package/esm/Scoped.js +3 -1
- package/esm/StatusScoped.js +1 -1
- package/esm/WithRootStore.js +1 -1
- package/esm/WithStore.js +9 -8
- package/esm/actions/Action.js +1 -1
- package/esm/actions/AjaxAction.js +2 -2
- package/esm/actions/BreakAction.js +1 -1
- package/esm/actions/BroadcastAction.js +1 -1
- package/esm/actions/CmptAction.js +1 -1
- package/esm/actions/ContinueAction.js +1 -1
- package/esm/actions/CopyAction.js +1 -1
- package/esm/actions/CustomAction.js +3 -1
- package/esm/actions/DialogAction.js +1 -1
- package/esm/actions/DrawerAction.js +1 -1
- package/esm/actions/EmailAction.js +1 -1
- package/esm/actions/LinkAction.js +1 -1
- package/esm/actions/LoopAction.js +1 -1
- package/esm/actions/PageAction.js +1 -1
- package/esm/actions/ParallelAction.js +1 -1
- package/esm/actions/StatusAction.js +1 -1
- package/esm/actions/SwitchAction.js +1 -1
- package/esm/actions/ToastAction.js +1 -1
- package/esm/components/CustomStyle.d.ts +4 -6
- package/esm/components/CustomStyle.js +29 -5
- package/esm/components/LazyComponent.d.ts +1 -2
- package/esm/components/LazyComponent.js +12 -8
- package/esm/components/Overlay.js +3 -1
- package/esm/components/PopOver.d.ts +12 -12
- package/esm/components/PopOver.js +3 -1
- package/esm/env.d.ts +2 -2
- package/esm/env.js +1 -1
- package/esm/envOverwrite.js +1 -1
- package/esm/factory.d.ts +7 -7
- package/esm/factory.js +1 -1
- package/esm/index.d.ts +1 -0
- package/esm/index.js +5 -5
- package/esm/locale.d.ts +1 -1
- package/esm/locale.js +3 -3
- package/esm/polyfills.js +1 -1
- package/esm/renderers/Form.d.ts +1 -1
- package/esm/renderers/Form.js +10 -8
- package/esm/renderers/Item.d.ts +24 -56
- package/esm/renderers/Item.js +25 -31
- package/esm/renderers/Options.js +14 -12
- 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 +70 -80
- package/esm/store/app.js +3 -1
- package/esm/store/combo.d.ts +384 -0
- package/esm/store/combo.js +1 -1
- package/esm/store/crud.js +31 -25
- package/esm/store/form.d.ts +160 -0
- package/esm/store/form.js +15 -13
- package/esm/store/formItem.d.ts +4 -0
- package/esm/store/formItem.js +42 -26
- package/esm/store/iRenderer.js +3 -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 +1 -1
- package/esm/store/root.d.ts +1 -1
- package/esm/store/root.js +12 -5
- package/esm/store/service.js +38 -33
- package/esm/store/status.js +1 -1
- package/esm/store/table.d.ts +760 -21
- package/esm/store/table.js +155 -55
- package/esm/store/table2.js +11 -8
- package/esm/theme.d.ts +18 -31
- package/esm/theme.js +1 -1
- 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.d.ts +3 -3
- package/esm/utils/api.js +2 -2
- package/esm/utils/arraySlice.js +1 -1
- package/esm/utils/attachmentAdpator.js +1 -1
- package/esm/utils/autobind.js +1 -1
- package/esm/utils/columnsSplit.js +1 -1
- package/esm/utils/dataMapping.js +1 -1
- package/esm/utils/date.js +1 -1
- package/esm/utils/debug.d.ts +1 -0
- package/esm/utils/debug.js +24 -2
- 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 +1 -1
- package/esm/utils/filter.js +1 -1
- package/esm/utils/formatDuration.js +1 -1
- package/esm/utils/formula.js +1 -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.d.ts +13 -1
- package/esm/utils/helper.js +99 -5
- 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.d.ts +1 -1
- package/esm/utils/keyToPath.js +2 -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.js +1 -1
- 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/renderer-event.js +2 -2
- package/esm/utils/replaceText.js +1 -1
- package/esm/utils/resize-sensor.d.ts +3 -1
- package/esm/utils/resize-sensor.js +34 -22
- package/esm/utils/resolveCondition.js +1 -1
- 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 +1 -1
- package/esm/utils/style-helper.d.ts +22 -14
- package/esm/utils/style-helper.js +181 -120
- package/esm/utils/style.js +1 -1
- package/esm/utils/toNumber.js +1 -1
- package/esm/utils/tokenize.js +1 -1
- package/esm/utils/tpl-builtin.js +1 -1
- package/esm/utils/tpl-lodash.js +1 -1
- package/esm/utils/tpl.js +1 -1
- package/esm/utils/uncontrollable.js +1 -1
- package/esm/utils/validations.js +1 -1
- package/lib/Root.js +1 -1
- package/lib/RootRenderer.js +8 -8
- package/lib/SchemaRenderer.js +16 -12
- package/lib/Scoped.js +3 -1
- package/lib/StatusScoped.js +1 -1
- package/lib/WithRootStore.js +1 -1
- package/lib/WithStore.js +9 -8
- package/lib/actions/Action.js +1 -1
- 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 +1 -1
- package/lib/actions/ContinueAction.js +1 -1
- package/lib/actions/CopyAction.js +1 -1
- package/lib/actions/CustomAction.js +3 -1
- package/lib/actions/DialogAction.js +1 -1
- package/lib/actions/DrawerAction.js +1 -1
- package/lib/actions/EmailAction.js +1 -1
- package/lib/actions/LinkAction.js +1 -1
- package/lib/actions/LoopAction.js +1 -1
- package/lib/actions/PageAction.js +1 -1
- package/lib/actions/ParallelAction.js +1 -1
- package/lib/actions/StatusAction.js +1 -1
- package/lib/actions/SwitchAction.js +1 -1
- package/lib/actions/ToastAction.js +1 -1
- package/lib/components/CustomStyle.d.ts +4 -6
- package/lib/components/CustomStyle.js +28 -4
- package/lib/components/LazyComponent.d.ts +1 -2
- package/lib/components/LazyComponent.js +12 -9
- package/lib/components/Overlay.js +3 -1
- package/lib/components/PopOver.d.ts +12 -12
- package/lib/components/PopOver.js +3 -1
- package/lib/env.d.ts +2 -2
- package/lib/env.js +1 -1
- package/lib/envOverwrite.js +1 -1
- package/lib/factory.d.ts +7 -7
- package/lib/factory.js +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.js +11 -3
- package/lib/locale.d.ts +1 -1
- package/lib/locale.js +3 -3
- package/lib/polyfills.js +1 -1
- package/lib/renderers/Form.d.ts +1 -1
- package/lib/renderers/Form.js +10 -8
- package/lib/renderers/Item.d.ts +24 -56
- package/lib/renderers/Item.js +26 -31
- package/lib/renderers/Options.js +14 -12
- 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 +70 -79
- package/lib/store/app.js +3 -1
- package/lib/store/combo.d.ts +384 -0
- package/lib/store/combo.js +1 -1
- package/lib/store/crud.js +31 -25
- package/lib/store/form.d.ts +160 -0
- package/lib/store/form.js +15 -13
- package/lib/store/formItem.d.ts +4 -0
- package/lib/store/formItem.js +41 -25
- package/lib/store/iRenderer.js +3 -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 +1 -1
- package/lib/store/root.d.ts +1 -1
- package/lib/store/root.js +11 -4
- package/lib/store/service.js +38 -33
- package/lib/store/status.js +1 -1
- package/lib/store/table.d.ts +760 -21
- package/lib/store/table.js +155 -55
- package/lib/store/table2.js +11 -8
- package/lib/theme.d.ts +18 -31
- package/lib/theme.js +1 -1
- 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.d.ts +3 -3
- package/lib/utils/api.js +2 -2
- package/lib/utils/arraySlice.js +1 -1
- package/lib/utils/attachmentAdpator.js +1 -1
- package/lib/utils/autobind.js +1 -1
- package/lib/utils/columnsSplit.js +1 -1
- package/lib/utils/dataMapping.js +1 -1
- package/lib/utils/date.js +1 -1
- package/lib/utils/debug.d.ts +1 -0
- package/lib/utils/debug.js +24 -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 +1 -1
- package/lib/utils/filter.js +1 -1
- package/lib/utils/formatDuration.js +1 -1
- package/lib/utils/formula.js +1 -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.d.ts +13 -1
- package/lib/utils/helper.js +101 -4
- 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.d.ts +1 -1
- package/lib/utils/keyToPath.js +2 -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.js +1 -1
- 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/renderer-event.js +2 -2
- package/lib/utils/replaceText.js +1 -1
- package/lib/utils/resize-sensor.d.ts +3 -1
- package/lib/utils/resize-sensor.js +34 -22
- package/lib/utils/resolveCondition.js +1 -1
- 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 +1 -1
- package/lib/utils/style-helper.d.ts +22 -14
- package/lib/utils/style-helper.js +188 -120
- package/lib/utils/style.js +1 -1
- package/lib/utils/toNumber.js +1 -1
- package/lib/utils/tokenize.js +1 -1
- package/lib/utils/tpl-builtin.js +1 -1
- package/lib/utils/tpl-lodash.js +1 -1
- package/lib/utils/tpl.js +1 -1
- package/lib/utils/uncontrollable.js +1 -1
- package/lib/utils/validations.js +1 -1
- package/package.json +5 -5
package/esm/utils/api.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v3.4.
|
|
2
|
+
* amis-core v3.4.1
|
|
3
3
|
* Copyright 2018-2023 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -52,7 +52,7 @@ function buildApi(api, data, options) {
|
|
|
52
52
|
if (api.adaptor && typeof api.adaptor === 'string') {
|
|
53
53
|
api.adaptor = str2AsyncFunction(api.adaptor, 'payload', 'response', 'api', 'context');
|
|
54
54
|
}
|
|
55
|
-
if (!data) {
|
|
55
|
+
if (!data || api.data instanceof FormData) {
|
|
56
56
|
return api;
|
|
57
57
|
}
|
|
58
58
|
else if (data instanceof FormData ||
|
package/esm/utils/arraySlice.js
CHANGED
package/esm/utils/autobind.js
CHANGED
package/esm/utils/dataMapping.js
CHANGED
package/esm/utils/date.js
CHANGED
package/esm/utils/debug.d.ts
CHANGED
|
@@ -29,4 +29,5 @@ export declare function debug(cat: Category, msg: string, ext?: object): void;
|
|
|
29
29
|
* @param ext 扩展信息
|
|
30
30
|
*/
|
|
31
31
|
export declare function warning(cat: Category, msg: string, ext?: object): void;
|
|
32
|
+
export declare function traceProps(props: any, prevProps: any, componentName: string): void;
|
|
32
33
|
export {};
|
package/esm/utils/debug.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v3.4.
|
|
2
|
+
* amis-core v3.4.1
|
|
3
3
|
* Copyright 2018-2023 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -412,5 +412,27 @@ function warning(cat, msg, ext) {
|
|
|
412
412
|
console.groupEnd();
|
|
413
413
|
store.logs.push(log);
|
|
414
414
|
}
|
|
415
|
+
// 辅助定位是因为什么属性变化导致了组件更新
|
|
416
|
+
function traceProps(props, prevProps, componentName) {
|
|
417
|
+
console.log(componentName, Object.keys(props)
|
|
418
|
+
.map(function (key) {
|
|
419
|
+
if (props[key] !== prevProps[key]) {
|
|
420
|
+
if (key === 'data') {
|
|
421
|
+
return "data[".concat(Object.keys(props[key])
|
|
422
|
+
.map(function (item) {
|
|
423
|
+
if (props[key][item] !== prevProps[key][item]) {
|
|
424
|
+
return "".concat(item);
|
|
425
|
+
}
|
|
426
|
+
return '';
|
|
427
|
+
})
|
|
428
|
+
.filter(function (item) { return item; })
|
|
429
|
+
.join(', '), "]");
|
|
430
|
+
}
|
|
431
|
+
return key;
|
|
432
|
+
}
|
|
433
|
+
return '';
|
|
434
|
+
})
|
|
435
|
+
.filter(function (item) { return item; }));
|
|
436
|
+
}
|
|
415
437
|
|
|
416
|
-
export { DebugWrapper, JsonView, debug, disableDebug, enableDebug, warning };
|
|
438
|
+
export { DebugWrapper, JsonView, debug, disableDebug, enableDebug, traceProps, warning };
|
package/esm/utils/dom.js
CHANGED
package/esm/utils/errors.js
CHANGED
package/esm/utils/escapeHtml.js
CHANGED
package/esm/utils/filter.js
CHANGED
package/esm/utils/formula.js
CHANGED
package/esm/utils/getVariable.js
CHANGED
package/esm/utils/grammar.js
CHANGED
package/esm/utils/helper.d.ts
CHANGED
|
@@ -36,6 +36,10 @@ export declare function anyChanged(attrs: string | Array<string>, from: {
|
|
|
36
36
|
}, to: {
|
|
37
37
|
[propName: string]: any;
|
|
38
38
|
}, strictMode?: boolean): boolean;
|
|
39
|
+
type Mutable<T> = {
|
|
40
|
+
-readonly [k in keyof T]: T[k];
|
|
41
|
+
};
|
|
42
|
+
export declare function changedEffect<T extends Record<string, any>>(attrs: string | Array<string>, origin: T, data: T, effect: (changes: Partial<Mutable<T>>) => void, strictMode?: boolean): void;
|
|
39
43
|
export declare function rmUndefined(obj: PlainObject): PlainObject;
|
|
40
44
|
export declare function isObjectShallowModified(prev: any, next: any, strictMode?: boolean, ignoreUndefined?: boolean, statck?: Array<any>): boolean;
|
|
41
45
|
export declare function isArrayChildrenModified(prev: Array<any>, next: Array<any>, strictMode?: boolean): boolean;
|
|
@@ -329,7 +333,7 @@ export declare function hashCode(s: string): number;
|
|
|
329
333
|
* @param json
|
|
330
334
|
* @param mapper
|
|
331
335
|
*/
|
|
332
|
-
export declare function JSONTraverse(json: any, mapper: (value: any, key: string | number, host: Object) => any): void;
|
|
336
|
+
export declare function JSONTraverse(json: any, mapper: (value: any, key: string | number, host: Object) => any, maxDeep?: number): void;
|
|
333
337
|
/**
|
|
334
338
|
* 每层都会执行,返回新的对象,新对象不会递归下去
|
|
335
339
|
* @param json
|
|
@@ -352,3 +356,11 @@ export declare function parseQuery(location?: Location | {
|
|
|
352
356
|
[propName: string]: any;
|
|
353
357
|
}): Record<string, any>;
|
|
354
358
|
export declare function differenceFromAll<T>(allOptions: Array<T>, options: Array<T>, getValue: (item: T) => any): Array<T>;
|
|
359
|
+
/**
|
|
360
|
+
* 基于 schema 自动提取 trackExpression
|
|
361
|
+
* 可能会不准确,建议用户自己配置
|
|
362
|
+
* @param schema
|
|
363
|
+
* @returns
|
|
364
|
+
*/
|
|
365
|
+
export declare function buildTrackExpression(schema: any): string;
|
|
366
|
+
export declare function evalTrackExpression(expression: string, data: Record<string, any>): string;
|
package/esm/utils/helper.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v3.4.
|
|
2
|
+
* amis-core v3.4.1
|
|
3
3
|
* Copyright 2018-2023 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -20,6 +20,7 @@ import 'amis-formula';
|
|
|
20
20
|
import 'moment';
|
|
21
21
|
import { isObject } from './object.js';
|
|
22
22
|
export { cloneObject, createObject, deleteVariable, extendObject, isObject, setVariable } from './object.js';
|
|
23
|
+
import { tokenize } from './tokenize.js';
|
|
23
24
|
import { isPureVariable } from './isPureVariable.js';
|
|
24
25
|
import { resolveVariable } from './resolveVariable.js';
|
|
25
26
|
import { resolveVariableAndFilter } from './resolveVariableAndFilter.js';
|
|
@@ -132,7 +133,22 @@ function hasOwnPropertyInPath(data, key) {
|
|
|
132
133
|
function noop() { }
|
|
133
134
|
function anyChanged(attrs, from, to, strictMode) {
|
|
134
135
|
if (strictMode === void 0) { strictMode = true; }
|
|
135
|
-
return (typeof attrs === 'string'
|
|
136
|
+
return (typeof attrs === 'string'
|
|
137
|
+
? attrs.split(',').map(function (item) { return item.trim(); })
|
|
138
|
+
: attrs).some(function (key) { return (strictMode ? from[key] !== to[key] : from[key] != to[key]); });
|
|
139
|
+
}
|
|
140
|
+
function changedEffect(attrs, origin, data, effect, strictMode) {
|
|
141
|
+
if (strictMode === void 0) { strictMode = true; }
|
|
142
|
+
var changes = {};
|
|
143
|
+
var keys = typeof attrs === 'string'
|
|
144
|
+
? attrs.split(',').map(function (item) { return item.trim(); })
|
|
145
|
+
: attrs;
|
|
146
|
+
keys.forEach(function (key) {
|
|
147
|
+
if (strictMode ? origin[key] !== data[key] : origin[key] != data[key]) {
|
|
148
|
+
changes[key] = data[key];
|
|
149
|
+
}
|
|
150
|
+
});
|
|
151
|
+
Object.keys(changes).length && effect(changes);
|
|
136
152
|
}
|
|
137
153
|
function rmUndefined(obj) {
|
|
138
154
|
var newObj = {};
|
|
@@ -1308,12 +1324,16 @@ function hashCode(s) {
|
|
|
1308
1324
|
* @param json
|
|
1309
1325
|
* @param mapper
|
|
1310
1326
|
*/
|
|
1311
|
-
function JSONTraverse(json, mapper) {
|
|
1327
|
+
function JSONTraverse(json, mapper, maxDeep) {
|
|
1328
|
+
if (maxDeep === void 0) { maxDeep = Number.MAX_VALUE; }
|
|
1329
|
+
if (maxDeep <= 0) {
|
|
1330
|
+
return;
|
|
1331
|
+
}
|
|
1312
1332
|
Object.keys(json).forEach(function (key) {
|
|
1313
1333
|
var value = json[key];
|
|
1314
1334
|
if (!isObservable(value)) {
|
|
1315
1335
|
if (isPlainObject(value) || Array.isArray(value)) {
|
|
1316
|
-
JSONTraverse(value, mapper);
|
|
1336
|
+
JSONTraverse(value, mapper, maxDeep - 1);
|
|
1317
1337
|
}
|
|
1318
1338
|
else {
|
|
1319
1339
|
mapper(value, key, json);
|
|
@@ -1444,5 +1464,79 @@ function differenceFromAll(allOptions, options, getValue) {
|
|
|
1444
1464
|
differenceFromAllCache.res = res;
|
|
1445
1465
|
return res;
|
|
1446
1466
|
}
|
|
1467
|
+
/**
|
|
1468
|
+
* 基于 schema 自动提取 trackExpression
|
|
1469
|
+
* 可能会不准确,建议用户自己配置
|
|
1470
|
+
* @param schema
|
|
1471
|
+
* @returns
|
|
1472
|
+
*/
|
|
1473
|
+
function buildTrackExpression(schema) {
|
|
1474
|
+
if (!isPlainObject(schema) && !Array.isArray(schema)) {
|
|
1475
|
+
return '';
|
|
1476
|
+
}
|
|
1477
|
+
var trackExpressions = [];
|
|
1478
|
+
JSONTraverse(schema, function (value, key) {
|
|
1479
|
+
if (typeof value !== 'string') {
|
|
1480
|
+
return;
|
|
1481
|
+
}
|
|
1482
|
+
if (key === 'name') {
|
|
1483
|
+
trackExpressions.push(isPureVariable(value) ? value : "${".concat(value, "}"));
|
|
1484
|
+
}
|
|
1485
|
+
else if (key === 'source') {
|
|
1486
|
+
trackExpressions.push(value);
|
|
1487
|
+
}
|
|
1488
|
+
else if (key.endsWith('On') ||
|
|
1489
|
+
key === 'condition' ||
|
|
1490
|
+
key === 'trackExpression') {
|
|
1491
|
+
trackExpressions.push(value.startsWith('${') ? value : "<script>".concat(value, "</script>"));
|
|
1492
|
+
}
|
|
1493
|
+
else if (value.includes('$')) {
|
|
1494
|
+
trackExpressions.push(value);
|
|
1495
|
+
}
|
|
1496
|
+
}, 10 // 最多遍历 10 层
|
|
1497
|
+
);
|
|
1498
|
+
return trackExpressions.join('|');
|
|
1499
|
+
}
|
|
1500
|
+
function evalTrackExpression(expression, data) {
|
|
1501
|
+
if (typeof expression !== 'string') {
|
|
1502
|
+
return '';
|
|
1503
|
+
}
|
|
1504
|
+
var parts = [];
|
|
1505
|
+
while (true) {
|
|
1506
|
+
// 这个是自动提取的时候才会用到,用户配置不要用到这个语法
|
|
1507
|
+
var idx = expression.indexOf('<script>');
|
|
1508
|
+
if (idx === -1) {
|
|
1509
|
+
break;
|
|
1510
|
+
}
|
|
1511
|
+
var endIdx = expression.indexOf('</script>');
|
|
1512
|
+
if (endIdx === -1) {
|
|
1513
|
+
throw new Error('Invalid trackExpression miss end script token `</script>`');
|
|
1514
|
+
}
|
|
1515
|
+
if (idx) {
|
|
1516
|
+
parts.push({
|
|
1517
|
+
type: 'text',
|
|
1518
|
+
value: expression.substring(0, idx)
|
|
1519
|
+
});
|
|
1520
|
+
}
|
|
1521
|
+
parts.push({
|
|
1522
|
+
type: 'script',
|
|
1523
|
+
value: expression.substring(idx + 8, endIdx)
|
|
1524
|
+
});
|
|
1525
|
+
expression = expression.substring(endIdx + 9);
|
|
1526
|
+
}
|
|
1527
|
+
expression &&
|
|
1528
|
+
parts.push({
|
|
1529
|
+
type: 'text',
|
|
1530
|
+
value: expression
|
|
1531
|
+
});
|
|
1532
|
+
return parts
|
|
1533
|
+
.map(function (item) {
|
|
1534
|
+
if (item.type === 'text') {
|
|
1535
|
+
return tokenize(item.value, data);
|
|
1536
|
+
}
|
|
1537
|
+
return evalExpression(item.value, data);
|
|
1538
|
+
})
|
|
1539
|
+
.join('');
|
|
1540
|
+
}
|
|
1447
1541
|
|
|
1448
|
-
export { JSONTraverse, JSONValueMap, SkipOperation, ValidateError, __uri, anyChanged, autobind, bulkBindFunctions, camel, chainEvents, chainFunctions, convertArrayValueToMoment, detectPropValueChanged, difference, differenceFromAll, eachTree, everyTree, filterTree, findIndex, findObjectsWithKey, findTree, findTreeAll, findTreeIndex, flattenTree, flattenTreeWithLeafNodes, getLevelFromClassName, getPropValue, getRange, getScrollParent, getScrollbarWidth, getTree, getTreeAncestors, getTreeDepth, getTreeParent, getWidthRate, guid, hasAbility, hasFile, hasOwnPropertyInPath, hasVisibleExpression, hashCode, immutableExtends, injectPropsToObject, isArrayChildrenModified, isBreakpoint, isClickOnInput, isDisabled, isEmpty, isMobile, isNumeric, isObjectShallowModified, isSuperDataModified, isUnfolded, isVisible, lcFirst, loadScript, loadStyle, makeColumnClassBuild, makeHorizontalDeeper, mapObject, mapTree, noop, normalizeNodePath, object2formData, omitControls, padArr, parseQuery, pickEventsProps, preventDefault, promisify, qsparse, qsstringify, range, removeHTMLTag, repeatCount, rmUndefined, someTree, sortArray, spliceTree, syncDataFromSuper, ucFirst, until, uuid, uuidv4, visibilityFilter };
|
|
1542
|
+
export { JSONTraverse, JSONValueMap, SkipOperation, ValidateError, __uri, anyChanged, autobind, buildTrackExpression, bulkBindFunctions, camel, chainEvents, chainFunctions, changedEffect, convertArrayValueToMoment, detectPropValueChanged, difference, differenceFromAll, eachTree, evalTrackExpression, everyTree, filterTree, findIndex, findObjectsWithKey, findTree, findTreeAll, findTreeIndex, flattenTree, flattenTreeWithLeafNodes, getLevelFromClassName, getPropValue, getRange, getScrollParent, getScrollbarWidth, getTree, getTreeAncestors, getTreeDepth, getTreeParent, getWidthRate, guid, hasAbility, hasFile, hasOwnPropertyInPath, hasVisibleExpression, hashCode, immutableExtends, injectPropsToObject, isArrayChildrenModified, isBreakpoint, isClickOnInput, isDisabled, isEmpty, isMobile, isNumeric, isObjectShallowModified, isSuperDataModified, isUnfolded, isVisible, lcFirst, loadScript, loadStyle, makeColumnClassBuild, makeHorizontalDeeper, mapObject, mapTree, noop, normalizeNodePath, object2formData, omitControls, padArr, parseQuery, pickEventsProps, preventDefault, promisify, qsparse, qsstringify, range, removeHTMLTag, repeatCount, rmUndefined, someTree, sortArray, spliceTree, syncDataFromSuper, ucFirst, until, uuid, uuidv4, visibilityFilter };
|
package/esm/utils/highlight.js
CHANGED
package/esm/utils/icon.js
CHANGED
package/esm/utils/image.js
CHANGED
package/esm/utils/keyToPath.d.ts
CHANGED
package/esm/utils/keyToPath.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v3.4.
|
|
2
|
+
* amis-core v3.4.1
|
|
3
3
|
* Copyright 2018-2023 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
* @param string 要转换的字符串
|
|
10
10
|
*/
|
|
11
11
|
var keyToPath = function (string) {
|
|
12
|
+
if (string === void 0) { string = ''; }
|
|
12
13
|
var result = [];
|
|
13
14
|
if (string.charCodeAt(0) === '.'.charCodeAt(0)) {
|
|
14
15
|
result.push('');
|
package/esm/utils/makeSorter.js
CHANGED
package/esm/utils/math.js
CHANGED
package/esm/utils/memoryParse.js
CHANGED
package/esm/utils/object.js
CHANGED
package/esm/utils/offset.js
CHANGED
package/esm/utils/position.js
CHANGED
package/esm/utils/prettyBytes.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v3.4.
|
|
2
|
+
* amis-core v3.4.1
|
|
3
3
|
* Copyright 2018-2023 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -88,7 +88,7 @@ var bindEvent = function (renderer) {
|
|
|
88
88
|
return function (eventName) {
|
|
89
89
|
// eventName用来避免过滤广播事件
|
|
90
90
|
rendererEventListeners = rendererEventListeners.filter(function (item) {
|
|
91
|
-
return item.renderer
|
|
91
|
+
return item.renderer === renderer && eventName !== undefined
|
|
92
92
|
? item.type !== eventName
|
|
93
93
|
: true;
|
|
94
94
|
});
|
package/esm/utils/replaceText.js
CHANGED
|
@@ -2,5 +2,7 @@
|
|
|
2
2
|
* @file resize-sensor.js.
|
|
3
3
|
* @author fex
|
|
4
4
|
*/
|
|
5
|
+
type EventType = 'both' | 'width' | 'height';
|
|
5
6
|
export declare function getComputedStyle(element: HTMLElement, prop: string): any;
|
|
6
|
-
export declare function resizeSensor(element: HTMLElement, callback: () => void): () => void;
|
|
7
|
+
export declare function resizeSensor(element: HTMLElement, callback: () => void, once?: boolean, type?: EventType): () => void;
|
|
8
|
+
export {};
|