amis-core 3.4.0 → 3.4.2
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 +5 -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 +5 -6
- package/esm/components/CustomStyle.js +47 -6
- 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.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 +157 -57
- 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 +3 -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 +5 -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 +5 -6
- package/lib/components/CustomStyle.js +46 -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.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 +157 -57
- 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 +3 -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/lib/utils/api.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Api, ApiObject, EventTrack, fetcherResult, Payload } from '../types';
|
|
2
|
-
import {
|
|
2
|
+
import { FetcherConfig } from '../factory';
|
|
3
3
|
interface ApiCacheConfig extends ApiObject {
|
|
4
4
|
cachedPromise: Promise<any>;
|
|
5
5
|
requestTime: number;
|
|
@@ -14,14 +14,14 @@ export declare function str2function(contents: string, ...args: Array<string>):
|
|
|
14
14
|
export declare function str2AsyncFunction(contents: string, ...args: Array<string>): Function | null;
|
|
15
15
|
export declare function callStrFunction(this: any, fn: string | Function, argNames: Array<string>, ...args: Array<any>): any;
|
|
16
16
|
export declare function responseAdaptor(ret: fetcherResult, api: ApiObject): Payload;
|
|
17
|
-
export declare function wrapFetcher(fn: (config:
|
|
17
|
+
export declare function wrapFetcher(fn: (config: FetcherConfig) => Promise<fetcherResult>, tracker?: (eventTrack: EventTrack, data: any) => void): any;
|
|
18
18
|
export declare function wrapAdaptor(promise: Promise<fetcherResult>, api: ApiObject, context: any): Promise<Payload>;
|
|
19
19
|
/**
|
|
20
20
|
* 请求远程 js 文件然后 new Function 执行,用于 schemaApi 支持 JavaScript
|
|
21
21
|
* @param api
|
|
22
22
|
* @returns
|
|
23
23
|
*/
|
|
24
|
-
export declare function jsFetcher(fetcher: (config:
|
|
24
|
+
export declare function jsFetcher(fetcher: (config: FetcherConfig) => Promise<fetcherResult>, api: ApiObject): Promise<fetcherResult>;
|
|
25
25
|
export declare function jsonpFetcher(api: ApiObject): Promise<fetcherResult>;
|
|
26
26
|
export declare function isApiOutdatedWithData(prevApi: Api | undefined, nextApi: Api | undefined, prevData: any, nextData: any): nextApi is Api;
|
|
27
27
|
export declare function isApiOutdated(prevApi: Api | undefined, nextApi: Api | undefined, prevData: any, nextData: any): nextApi is Api;
|
package/lib/utils/api.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v3.4.
|
|
2
|
+
* amis-core v3.4.2
|
|
3
3
|
* Copyright 2018-2023 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -153,6 +153,7 @@ function buildApi(api, data, options) {
|
|
|
153
153
|
if (ignoreData) {
|
|
154
154
|
return api;
|
|
155
155
|
}
|
|
156
|
+
var hasCustomData = api.data;
|
|
156
157
|
if (api.data) {
|
|
157
158
|
api.body = api.data = dataMapping.dataMapping(api.data, data, undefined, api.convertKeyToPath);
|
|
158
159
|
}
|
|
@@ -217,7 +218,7 @@ function buildApi(api, data, options) {
|
|
|
217
218
|
object.extendObject(data, tslib.__assign(tslib.__assign({}, api.query), data), false), undefined, false, true);
|
|
218
219
|
/** 同时设置了JSONQL和data时走兼容场景 */
|
|
219
220
|
api.body = api.data =
|
|
220
|
-
|
|
221
|
+
hasCustomData && api.jsonql
|
|
221
222
|
? {
|
|
222
223
|
data: api.data,
|
|
223
224
|
jsonql: api.jsonql
|
package/lib/utils/arraySlice.js
CHANGED
package/lib/utils/autobind.js
CHANGED
package/lib/utils/dataMapping.js
CHANGED
package/lib/utils/date.js
CHANGED
package/lib/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/lib/utils/debug.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v3.4.
|
|
2
|
+
* amis-core v3.4.2
|
|
3
3
|
* Copyright 2018-2023 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -421,10 +421,33 @@ function warning(cat, msg, ext) {
|
|
|
421
421
|
console.groupEnd();
|
|
422
422
|
store.logs.push(log);
|
|
423
423
|
}
|
|
424
|
+
// 辅助定位是因为什么属性变化导致了组件更新
|
|
425
|
+
function traceProps(props, prevProps, componentName) {
|
|
426
|
+
console.log(componentName, Object.keys(props)
|
|
427
|
+
.map(function (key) {
|
|
428
|
+
if (props[key] !== prevProps[key]) {
|
|
429
|
+
if (key === 'data') {
|
|
430
|
+
return "data[".concat(Object.keys(props[key])
|
|
431
|
+
.map(function (item) {
|
|
432
|
+
if (props[key][item] !== prevProps[key][item]) {
|
|
433
|
+
return "".concat(item);
|
|
434
|
+
}
|
|
435
|
+
return '';
|
|
436
|
+
})
|
|
437
|
+
.filter(function (item) { return item; })
|
|
438
|
+
.join(', '), "]");
|
|
439
|
+
}
|
|
440
|
+
return key;
|
|
441
|
+
}
|
|
442
|
+
return '';
|
|
443
|
+
})
|
|
444
|
+
.filter(function (item) { return item; }));
|
|
445
|
+
}
|
|
424
446
|
|
|
425
447
|
exports.DebugWrapper = DebugWrapper;
|
|
426
448
|
exports.JsonView = JsonView;
|
|
427
449
|
exports.debug = debug;
|
|
428
450
|
exports.disableDebug = disableDebug;
|
|
429
451
|
exports.enableDebug = enableDebug;
|
|
452
|
+
exports.traceProps = traceProps;
|
|
430
453
|
exports.warning = warning;
|
package/lib/utils/dom.js
CHANGED
package/lib/utils/errors.js
CHANGED
package/lib/utils/escapeHtml.js
CHANGED
package/lib/utils/filter.js
CHANGED
package/lib/utils/formula.js
CHANGED
package/lib/utils/getVariable.js
CHANGED
package/lib/utils/grammar.js
CHANGED
package/lib/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/lib/utils/helper.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v3.4.
|
|
2
|
+
* amis-core v3.4.2
|
|
3
3
|
* Copyright 2018-2023 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -23,6 +23,7 @@ var autobind$1 = require('./autobind.js');
|
|
|
23
23
|
require('amis-formula');
|
|
24
24
|
require('moment');
|
|
25
25
|
var object = require('./object.js');
|
|
26
|
+
var tokenize = require('./tokenize.js');
|
|
26
27
|
var isPureVariable = require('./isPureVariable.js');
|
|
27
28
|
var resolveVariable = require('./resolveVariable.js');
|
|
28
29
|
var resolveVariableAndFilter = require('./resolveVariableAndFilter.js');
|
|
@@ -146,7 +147,22 @@ function hasOwnPropertyInPath(data, key) {
|
|
|
146
147
|
function noop() { }
|
|
147
148
|
function anyChanged(attrs, from, to, strictMode) {
|
|
148
149
|
if (strictMode === void 0) { strictMode = true; }
|
|
149
|
-
return (typeof attrs === 'string'
|
|
150
|
+
return (typeof attrs === 'string'
|
|
151
|
+
? attrs.split(',').map(function (item) { return item.trim(); })
|
|
152
|
+
: attrs).some(function (key) { return (strictMode ? from[key] !== to[key] : from[key] != to[key]); });
|
|
153
|
+
}
|
|
154
|
+
function changedEffect(attrs, origin, data, effect, strictMode) {
|
|
155
|
+
if (strictMode === void 0) { strictMode = true; }
|
|
156
|
+
var changes = {};
|
|
157
|
+
var keys = typeof attrs === 'string'
|
|
158
|
+
? attrs.split(',').map(function (item) { return item.trim(); })
|
|
159
|
+
: attrs;
|
|
160
|
+
keys.forEach(function (key) {
|
|
161
|
+
if (strictMode ? origin[key] !== data[key] : origin[key] != data[key]) {
|
|
162
|
+
changes[key] = data[key];
|
|
163
|
+
}
|
|
164
|
+
});
|
|
165
|
+
Object.keys(changes).length && effect(changes);
|
|
150
166
|
}
|
|
151
167
|
function rmUndefined(obj) {
|
|
152
168
|
var newObj = {};
|
|
@@ -1322,12 +1338,16 @@ function hashCode(s) {
|
|
|
1322
1338
|
* @param json
|
|
1323
1339
|
* @param mapper
|
|
1324
1340
|
*/
|
|
1325
|
-
function JSONTraverse(json, mapper) {
|
|
1341
|
+
function JSONTraverse(json, mapper, maxDeep) {
|
|
1342
|
+
if (maxDeep === void 0) { maxDeep = Number.MAX_VALUE; }
|
|
1343
|
+
if (maxDeep <= 0) {
|
|
1344
|
+
return;
|
|
1345
|
+
}
|
|
1326
1346
|
Object.keys(json).forEach(function (key) {
|
|
1327
1347
|
var value = json[key];
|
|
1328
1348
|
if (!mobx.isObservable(value)) {
|
|
1329
1349
|
if (isPlainObject__default["default"](value) || Array.isArray(value)) {
|
|
1330
|
-
JSONTraverse(value, mapper);
|
|
1350
|
+
JSONTraverse(value, mapper, maxDeep - 1);
|
|
1331
1351
|
}
|
|
1332
1352
|
else {
|
|
1333
1353
|
mapper(value, key, json);
|
|
@@ -1458,6 +1478,80 @@ function differenceFromAll(allOptions, options, getValue) {
|
|
|
1458
1478
|
differenceFromAllCache.res = res;
|
|
1459
1479
|
return res;
|
|
1460
1480
|
}
|
|
1481
|
+
/**
|
|
1482
|
+
* 基于 schema 自动提取 trackExpression
|
|
1483
|
+
* 可能会不准确,建议用户自己配置
|
|
1484
|
+
* @param schema
|
|
1485
|
+
* @returns
|
|
1486
|
+
*/
|
|
1487
|
+
function buildTrackExpression(schema) {
|
|
1488
|
+
if (!isPlainObject__default["default"](schema) && !Array.isArray(schema)) {
|
|
1489
|
+
return '';
|
|
1490
|
+
}
|
|
1491
|
+
var trackExpressions = [];
|
|
1492
|
+
JSONTraverse(schema, function (value, key) {
|
|
1493
|
+
if (typeof value !== 'string') {
|
|
1494
|
+
return;
|
|
1495
|
+
}
|
|
1496
|
+
if (key === 'name') {
|
|
1497
|
+
trackExpressions.push(isPureVariable.isPureVariable(value) ? value : "${".concat(value, "}"));
|
|
1498
|
+
}
|
|
1499
|
+
else if (key === 'source') {
|
|
1500
|
+
trackExpressions.push(value);
|
|
1501
|
+
}
|
|
1502
|
+
else if (key.endsWith('On') ||
|
|
1503
|
+
key === 'condition' ||
|
|
1504
|
+
key === 'trackExpression') {
|
|
1505
|
+
trackExpressions.push(value.startsWith('${') ? value : "<script>".concat(value, "</script>"));
|
|
1506
|
+
}
|
|
1507
|
+
else if (value.includes('$')) {
|
|
1508
|
+
trackExpressions.push(value);
|
|
1509
|
+
}
|
|
1510
|
+
}, 10 // 最多遍历 10 层
|
|
1511
|
+
);
|
|
1512
|
+
return trackExpressions.join('|');
|
|
1513
|
+
}
|
|
1514
|
+
function evalTrackExpression(expression, data) {
|
|
1515
|
+
if (typeof expression !== 'string') {
|
|
1516
|
+
return '';
|
|
1517
|
+
}
|
|
1518
|
+
var parts = [];
|
|
1519
|
+
while (true) {
|
|
1520
|
+
// 这个是自动提取的时候才会用到,用户配置不要用到这个语法
|
|
1521
|
+
var idx = expression.indexOf('<script>');
|
|
1522
|
+
if (idx === -1) {
|
|
1523
|
+
break;
|
|
1524
|
+
}
|
|
1525
|
+
var endIdx = expression.indexOf('</script>');
|
|
1526
|
+
if (endIdx === -1) {
|
|
1527
|
+
throw new Error('Invalid trackExpression miss end script token `</script>`');
|
|
1528
|
+
}
|
|
1529
|
+
if (idx) {
|
|
1530
|
+
parts.push({
|
|
1531
|
+
type: 'text',
|
|
1532
|
+
value: expression.substring(0, idx)
|
|
1533
|
+
});
|
|
1534
|
+
}
|
|
1535
|
+
parts.push({
|
|
1536
|
+
type: 'script',
|
|
1537
|
+
value: expression.substring(idx + 8, endIdx)
|
|
1538
|
+
});
|
|
1539
|
+
expression = expression.substring(endIdx + 9);
|
|
1540
|
+
}
|
|
1541
|
+
expression &&
|
|
1542
|
+
parts.push({
|
|
1543
|
+
type: 'text',
|
|
1544
|
+
value: expression
|
|
1545
|
+
});
|
|
1546
|
+
return parts
|
|
1547
|
+
.map(function (item) {
|
|
1548
|
+
if (item.type === 'text') {
|
|
1549
|
+
return tokenize.tokenize(item.value, data);
|
|
1550
|
+
}
|
|
1551
|
+
return tpl.evalExpression(item.value, data);
|
|
1552
|
+
})
|
|
1553
|
+
.join('');
|
|
1554
|
+
}
|
|
1461
1555
|
|
|
1462
1556
|
exports.cloneObject = object.cloneObject;
|
|
1463
1557
|
exports.createObject = object.createObject;
|
|
@@ -1475,15 +1569,18 @@ exports.ValidateError = ValidateError;
|
|
|
1475
1569
|
exports.__uri = __uri;
|
|
1476
1570
|
exports.anyChanged = anyChanged;
|
|
1477
1571
|
exports.autobind = autobind;
|
|
1572
|
+
exports.buildTrackExpression = buildTrackExpression;
|
|
1478
1573
|
exports.bulkBindFunctions = bulkBindFunctions;
|
|
1479
1574
|
exports.camel = camel;
|
|
1480
1575
|
exports.chainEvents = chainEvents;
|
|
1481
1576
|
exports.chainFunctions = chainFunctions;
|
|
1577
|
+
exports.changedEffect = changedEffect;
|
|
1482
1578
|
exports.convertArrayValueToMoment = convertArrayValueToMoment;
|
|
1483
1579
|
exports.detectPropValueChanged = detectPropValueChanged;
|
|
1484
1580
|
exports.difference = difference;
|
|
1485
1581
|
exports.differenceFromAll = differenceFromAll;
|
|
1486
1582
|
exports.eachTree = eachTree;
|
|
1583
|
+
exports.evalTrackExpression = evalTrackExpression;
|
|
1487
1584
|
exports.everyTree = everyTree;
|
|
1488
1585
|
exports.filterTree = filterTree;
|
|
1489
1586
|
exports.findIndex = findIndex;
|
package/lib/utils/highlight.js
CHANGED
package/lib/utils/icon.js
CHANGED
package/lib/utils/image.js
CHANGED
package/lib/utils/keyToPath.d.ts
CHANGED
package/lib/utils/keyToPath.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v3.4.
|
|
2
|
+
* amis-core v3.4.2
|
|
3
3
|
* Copyright 2018-2023 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -13,6 +13,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
13
13
|
* @param string 要转换的字符串
|
|
14
14
|
*/
|
|
15
15
|
var keyToPath = function (string) {
|
|
16
|
+
if (string === void 0) { string = ''; }
|
|
16
17
|
var result = [];
|
|
17
18
|
if (string.charCodeAt(0) === '.'.charCodeAt(0)) {
|
|
18
19
|
result.push('');
|
package/lib/utils/makeSorter.js
CHANGED
package/lib/utils/math.js
CHANGED
package/lib/utils/memoryParse.js
CHANGED
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 v3.4.
|
|
2
|
+
* amis-core v3.4.2
|
|
3
3
|
* Copyright 2018-2023 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -96,7 +96,7 @@ var bindEvent = function (renderer) {
|
|
|
96
96
|
return function (eventName) {
|
|
97
97
|
// eventName用来避免过滤广播事件
|
|
98
98
|
rendererEventListeners = rendererEventListeners.filter(function (item) {
|
|
99
|
-
return item.renderer
|
|
99
|
+
return item.renderer === renderer && eventName !== undefined
|
|
100
100
|
? item.type !== eventName
|
|
101
101
|
: true;
|
|
102
102
|
});
|
package/lib/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 {};
|