amis-core 6.9.0-rc.9 → 6.10.0-beta.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.d.ts +2 -84
- package/esm/Root.js +10 -6
- package/esm/RootRenderer.js +8 -5
- package/esm/SchemaRenderer.d.ts +2 -1
- package/esm/SchemaRenderer.js +13 -7
- package/esm/Scoped.d.ts +1 -1
- package/esm/Scoped.js +1 -1
- package/esm/StatusScoped.d.ts +7 -53
- package/esm/StatusScoped.js +20 -45
- package/esm/StyleManager.js +1 -1
- package/esm/WithRootStore.js +1 -1
- package/esm/WithStore.js +1 -1
- package/esm/actions/Action.js +4 -1
- package/esm/actions/AjaxAction.js +1 -1
- package/esm/actions/BreakAction.js +1 -1
- package/esm/actions/BroadcastAction.d.ts +1 -1
- package/esm/actions/BroadcastAction.js +6 -6
- package/esm/actions/CmptAction.d.ts +1 -0
- package/esm/actions/CmptAction.js +51 -51
- package/esm/actions/ContinueAction.js +1 -1
- package/esm/actions/CopyAction.js +1 -1
- package/esm/actions/CustomAction.js +1 -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/EventAction.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/PrintAction.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/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 +13 -16
- package/esm/components/PopOver.js +2 -2
- package/esm/env.d.ts +4 -0
- package/esm/env.js +1 -1
- package/esm/envOverwrite.js +1 -1
- package/esm/factory.d.ts +1 -1
- package/esm/factory.js +5 -3
- package/esm/index.d.ts +3 -2
- package/esm/index.js +9 -9
- package/esm/locale.js +1 -1
- package/esm/polyfills.js +1 -1
- package/esm/renderers/Form.js +1 -1
- package/esm/renderers/Item.js +1 -1
- package/esm/renderers/Options.js +1 -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 +1 -1
- package/esm/store/app.js +1 -1
- package/esm/store/combo.js +1 -1
- package/esm/store/crud.d.ts +4 -2
- package/esm/store/crud.js +39 -141
- package/esm/store/form.js +1 -1
- package/esm/store/formItem.js +1 -1
- package/esm/store/iRenderer.js +1 -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.js +1 -1
- package/esm/store/service.js +1 -1
- package/esm/store/status.js +1 -1
- package/esm/store/table.js +1 -1
- package/esm/store/table2.js +1 -1
- package/esm/theme.js +1 -1
- package/esm/types.d.ts +6 -2
- 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/animations.js +1 -1
- package/esm/utils/api.d.ts +2 -1
- package/esm/utils/api.js +23 -13
- package/esm/utils/arraySlice.js +1 -1
- package/esm/utils/attachmentAdpator.js +4 -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.js +1 -1
- package/esm/utils/debug.d.ts +3 -3
- package/esm/utils/debug.js +104 -37
- 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 +7 -0
- package/esm/utils/helper.js +87 -2
- 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/loopTooMuch.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.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 +11 -6
- package/esm/utils/prettyBytes.js +1 -1
- package/esm/utils/printElement.js +1 -1
- package/esm/utils/renderer-event.d.ts +4 -0
- package/esm/utils/renderer-event.js +97 -11
- package/esm/utils/replaceText.js +1 -1
- package/esm/utils/resize-sensor.js +1 -1
- 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.js +1 -1
- 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/validateId.js +1 -1
- package/esm/utils/validations.js +5 -3
- package/esm/utils/visitedCache.js +1 -1
- package/lib/Root.d.ts +2 -84
- package/lib/Root.js +9 -5
- package/lib/RootRenderer.d.ts +1 -1
- package/lib/RootRenderer.js +8 -5
- package/lib/SchemaRenderer.d.ts +2 -1
- package/lib/SchemaRenderer.js +12 -6
- package/lib/Scoped.d.ts +1 -1
- package/lib/Scoped.js +1 -1
- package/lib/StatusScoped.d.ts +7 -53
- package/lib/StatusScoped.js +19 -44
- package/lib/StyleManager.js +1 -1
- package/lib/WithRootStore.js +1 -1
- package/lib/WithStore.js +1 -1
- package/lib/actions/Action.js +4 -1
- package/lib/actions/AjaxAction.js +1 -1
- package/lib/actions/BreakAction.js +1 -1
- package/lib/actions/BroadcastAction.d.ts +1 -1
- package/lib/actions/BroadcastAction.js +5 -5
- package/lib/actions/CmptAction.d.ts +1 -0
- package/lib/actions/CmptAction.js +50 -50
- package/lib/actions/ContinueAction.js +1 -1
- package/lib/actions/CopyAction.js +1 -1
- package/lib/actions/CustomAction.js +1 -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/EventAction.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/PrintAction.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/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 +11 -14
- package/lib/components/PopOver.js +2 -2
- package/lib/env.d.ts +4 -0
- package/lib/env.js +1 -1
- package/lib/envOverwrite.js +1 -1
- package/lib/factory.d.ts +1 -1
- package/lib/factory.js +5 -3
- package/lib/index.d.ts +3 -2
- package/lib/index.js +12 -5
- package/lib/locale.js +1 -1
- package/lib/polyfills.js +1 -1
- package/lib/renderers/Form.js +1 -1
- package/lib/renderers/Item.js +1 -1
- package/lib/renderers/Options.js +1 -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 +1 -1
- package/lib/store/app.js +1 -1
- package/lib/store/combo.d.ts +24 -24
- package/lib/store/combo.js +1 -1
- package/lib/store/crud.d.ts +4 -2
- package/lib/store/crud.js +37 -139
- package/lib/store/form.d.ts +10 -10
- package/lib/store/form.js +1 -1
- package/lib/store/formItem.js +1 -1
- package/lib/store/iRenderer.js +1 -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.js +1 -1
- package/lib/store/service.js +1 -1
- package/lib/store/status.js +1 -1
- package/lib/store/table.d.ts +20 -20
- package/lib/store/table.js +1 -1
- package/lib/store/table2.js +1 -1
- package/lib/theme.js +1 -1
- package/lib/types.d.ts +6 -2
- 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/animations.js +1 -1
- package/lib/utils/api.d.ts +2 -1
- package/lib/utils/api.js +22 -11
- package/lib/utils/arraySlice.js +1 -1
- package/lib/utils/attachmentAdpator.js +4 -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.js +1 -1
- package/lib/utils/debug.d.ts +3 -3
- package/lib/utils/debug.js +103 -36
- 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 +7 -0
- package/lib/utils/helper.js +87 -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/loopTooMuch.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.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 +11 -6
- package/lib/utils/prettyBytes.js +1 -1
- package/lib/utils/printElement.js +1 -1
- package/lib/utils/renderer-event.d.ts +4 -0
- package/lib/utils/renderer-event.js +99 -10
- package/lib/utils/replaceText.js +1 -1
- package/lib/utils/resize-sensor.js +1 -1
- 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.js +1 -1
- 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/validateId.js +1 -1
- package/lib/utils/validations.js +5 -3
- package/lib/utils/visitedCache.js +1 -1
- package/package.json +3 -2
package/esm/utils/api.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.
|
|
2
|
+
* amis-core v6.10.0-beta.0
|
|
3
3
|
* Copyright 2018-2024 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import { __awaiter, __generator,
|
|
6
|
+
import { __awaiter, __generator, __spreadArray, __read, __assign, __rest } from 'tslib';
|
|
7
7
|
import omit from 'lodash/omit';
|
|
8
8
|
import { evaluate } from 'amis-formula';
|
|
9
9
|
import { escapeHtml } from './escapeHtml.js';
|
|
@@ -45,10 +45,12 @@ function removeApiRequestAdaptor(adaptor) {
|
|
|
45
45
|
* 添加全局响应适配器
|
|
46
46
|
* @param adaptor
|
|
47
47
|
*/
|
|
48
|
-
function
|
|
48
|
+
function addApiResponseAdaptor(adaptor) {
|
|
49
49
|
responseAdaptors.push(adaptor);
|
|
50
50
|
return function () { return removeApiResponseAdaptor(adaptor); };
|
|
51
51
|
}
|
|
52
|
+
// :( 之前写错了,这里为了让以前的代码能继续跑,暂时保留
|
|
53
|
+
var addApiResponseAdator = addApiResponseAdaptor;
|
|
52
54
|
/**
|
|
53
55
|
* 删除全局响应适配器
|
|
54
56
|
* @param adaptor
|
|
@@ -401,18 +403,26 @@ function responseAdaptor(ret, api) {
|
|
|
401
403
|
}
|
|
402
404
|
return payload;
|
|
403
405
|
}
|
|
406
|
+
function lazyResolve(value, waitFor) {
|
|
407
|
+
if (waitFor === void 0) { waitFor = 1000; }
|
|
408
|
+
return new Promise(function (resolve) {
|
|
409
|
+
setTimeout(function () {
|
|
410
|
+
resolve(value);
|
|
411
|
+
}, waitFor);
|
|
412
|
+
});
|
|
413
|
+
}
|
|
404
414
|
function wrapFetcher(fn, tracker) {
|
|
405
415
|
// 避免重复处理
|
|
406
416
|
if (fn._wrappedFetcher) {
|
|
407
417
|
return fn;
|
|
408
418
|
}
|
|
409
419
|
var wrappedFetcher = function (api, data, options) {
|
|
410
|
-
var _a, _b, _c;
|
|
420
|
+
var _a, _b, _c, _d, _e;
|
|
411
421
|
return __awaiter(this, void 0, void 0, function () {
|
|
412
422
|
var adaptors, adaptor_1, apiCache, timeStamp;
|
|
413
423
|
var _this = this;
|
|
414
|
-
return __generator(this, function (
|
|
415
|
-
switch (
|
|
424
|
+
return __generator(this, function (_f) {
|
|
425
|
+
switch (_f.label) {
|
|
416
426
|
case 0:
|
|
417
427
|
api = buildApi(api, data, options);
|
|
418
428
|
api.context = data;
|
|
@@ -459,8 +469,8 @@ function wrapFetcher(fn, tracker) {
|
|
|
459
469
|
});
|
|
460
470
|
}); }, Promise.resolve(api))];
|
|
461
471
|
case 1:
|
|
462
|
-
api =
|
|
463
|
-
|
|
472
|
+
api = _f.sent();
|
|
473
|
+
_f.label = 2;
|
|
464
474
|
case 2:
|
|
465
475
|
if (api.data &&
|
|
466
476
|
(api.data instanceof FormData ||
|
|
@@ -493,17 +503,17 @@ function wrapFetcher(fn, tracker) {
|
|
|
493
503
|
? api.data
|
|
494
504
|
: qsstringify(api.data, api.qsOptions))
|
|
495
505
|
: '', " with mock response"), api.mockResponse, api);
|
|
496
|
-
return [2 /*return*/, wrapAdaptor(
|
|
506
|
+
return [2 /*return*/, wrapAdaptor(lazyResolve(api.mockResponse, (_b = (_a = api.mockResponse) === null || _a === void 0 ? void 0 : _a.delay) !== null && _b !== void 0 ? _b : 100), api, data)];
|
|
497
507
|
}
|
|
498
508
|
if (!isValidApi(api.url)) {
|
|
499
509
|
throw new Error("invalid api url:".concat(api.url));
|
|
500
510
|
}
|
|
501
511
|
debug('api', 'request api', api);
|
|
502
512
|
tracker === null || tracker === void 0 ? void 0 : tracker({ eventType: 'api', eventData: omit(api, ['config', 'data', 'body']) }, api.data);
|
|
503
|
-
if (((
|
|
513
|
+
if (((_c = api.method) === null || _c === void 0 ? void 0 : _c.toLocaleLowerCase()) === 'jsonp') {
|
|
504
514
|
return [2 /*return*/, wrapAdaptor(jsonpFetcher(api), api, data)];
|
|
505
515
|
}
|
|
506
|
-
if (((
|
|
516
|
+
if (((_d = api.method) === null || _d === void 0 ? void 0 : _d.toLocaleLowerCase()) === 'js') {
|
|
507
517
|
return [2 /*return*/, wrapAdaptor(jsFetcher(fn, api), api, data)];
|
|
508
518
|
}
|
|
509
519
|
if (typeof api.cache === 'number' && api.cache > 0) {
|
|
@@ -513,7 +523,7 @@ function wrapFetcher(fn, tracker) {
|
|
|
513
523
|
: setApiCache(api, fn(api)), api, data)];
|
|
514
524
|
}
|
|
515
525
|
// IE 下 get 请求会被缓存,所以自动加个时间戳
|
|
516
|
-
if (isIE && api && ((
|
|
526
|
+
if (isIE && api && ((_e = api.method) === null || _e === void 0 ? void 0 : _e.toLocaleLowerCase()) === 'get') {
|
|
517
527
|
timeStamp = "_t=".concat(Date.now());
|
|
518
528
|
if (api.url.indexOf('?') === -1) {
|
|
519
529
|
api.url = api.url + "?".concat(timeStamp);
|
|
@@ -802,4 +812,4 @@ function normalizeApiResponseData(data) {
|
|
|
802
812
|
}
|
|
803
813
|
// window.apiCaches = apiCaches;
|
|
804
814
|
|
|
805
|
-
export { addApiRequestAdaptor, addApiResponseAdator, buildApi, callStrFunction, clearApiCache, getApiCache, isApiOutdated, isApiOutdatedWithData, isEffectiveApi, isSameApi, isValidApi, jsFetcher, jsonpFetcher, normalizeApi, normalizeApiResponseData, removeApiRequestAdaptor, removeApiResponseAdaptor, responseAdaptor, setApiCache, str2AsyncFunction, str2function, wrapAdaptor, wrapFetcher };
|
|
815
|
+
export { addApiRequestAdaptor, addApiResponseAdaptor, addApiResponseAdator, buildApi, callStrFunction, clearApiCache, getApiCache, isApiOutdated, isApiOutdatedWithData, isEffectiveApi, isSameApi, isValidApi, jsFetcher, jsonpFetcher, normalizeApi, normalizeApiResponseData, removeApiRequestAdaptor, removeApiResponseAdaptor, responseAdaptor, setApiCache, str2AsyncFunction, str2function, wrapAdaptor, wrapFetcher };
|
package/esm/utils/arraySlice.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.
|
|
2
|
+
* amis-core v6.10.0-beta.0
|
|
3
3
|
* Copyright 2018-2024 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -29,6 +29,9 @@ function attachmentAdpator(response, __, api) {
|
|
|
29
29
|
if (matches && matches.length) {
|
|
30
30
|
filename = matches[1].replace("UTF-8''", '').replace(/['"]/g, '');
|
|
31
31
|
}
|
|
32
|
+
else {
|
|
33
|
+
filename = disposition === null || disposition === void 0 ? void 0 : disposition.split(';')[1];
|
|
34
|
+
}
|
|
32
35
|
// 很可能是中文被 url-encode 了
|
|
33
36
|
if (filename && filename.replace(/[^%]/g, '').length > 2) {
|
|
34
37
|
filename = decodeURIComponent(filename);
|
package/esm/utils/autobind.js
CHANGED
package/esm/utils/browser.js
CHANGED
package/esm/utils/concatData.js
CHANGED
package/esm/utils/dataMapping.js
CHANGED
package/esm/utils/date.js
CHANGED
package/esm/utils/debug.d.ts
CHANGED
|
@@ -16,18 +16,18 @@ export declare class DebugWrapper extends Component<DebugWrapperProps> {
|
|
|
16
16
|
componentWillUnmount(): void;
|
|
17
17
|
render(): React.ReactNode;
|
|
18
18
|
}
|
|
19
|
-
type Category = 'api' | 'event';
|
|
19
|
+
type Category = 'api' | 'event' | 'action' | 'debug' | 'error';
|
|
20
20
|
/**
|
|
21
21
|
* 一般调试日志
|
|
22
22
|
* @param msg 简单消息
|
|
23
23
|
* @param ext 扩展信息
|
|
24
24
|
*/
|
|
25
|
-
export declare function debug(cat: Category, msg: string, ext?:
|
|
25
|
+
export declare function debug(cat: Category, msg: string, ext?: any): void;
|
|
26
26
|
/**
|
|
27
27
|
* 警告日志
|
|
28
28
|
* @param msg 简单消息
|
|
29
29
|
* @param ext 扩展信息
|
|
30
30
|
*/
|
|
31
|
-
export declare function warning(cat: Category, msg: string, ext?:
|
|
31
|
+
export declare function warning(cat: Category, msg: string, ext?: any): void;
|
|
32
32
|
export declare function traceProps(props: any, prevProps: any, componentName: string): void;
|
|
33
33
|
export {};
|
package/esm/utils/debug.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.
|
|
2
|
+
* amis-core v6.10.0-beta.0
|
|
3
3
|
* Copyright 2018-2024 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -7,10 +7,12 @@ import { __decorate, __metadata, __values, __read, __extends } from 'tslib';
|
|
|
7
7
|
import React, { useRef, useState, useEffect, Component } from 'react';
|
|
8
8
|
import cx from 'classnames';
|
|
9
9
|
import { findDOMNode, render, unmountComponentAtNode } from 'react-dom';
|
|
10
|
-
import { observable, autorun } from 'mobx';
|
|
10
|
+
import { observable, action, autorun } from 'mobx';
|
|
11
11
|
import { observer } from 'mobx-react';
|
|
12
12
|
import { importLazyComponent, uuidv4 } from './helper.js';
|
|
13
13
|
import { position } from './position.js';
|
|
14
|
+
import { resolveVariableAndFilter } from './resolveVariableAndFilter.js';
|
|
15
|
+
import { callStrFunction } from './api.js';
|
|
14
16
|
|
|
15
17
|
/**
|
|
16
18
|
* amis 运行时调试功能,为了避免循环引用,这个组件不要依赖 amis 里的组件
|
|
@@ -66,6 +68,19 @@ var AMISDebugStore = /** @class */ (function () {
|
|
|
66
68
|
*/
|
|
67
69
|
this.inspectMode = false;
|
|
68
70
|
}
|
|
71
|
+
AMISDebugStore.prototype.open = function () {
|
|
72
|
+
this.isExpanded = true;
|
|
73
|
+
this.inspectMode = true;
|
|
74
|
+
};
|
|
75
|
+
AMISDebugStore.prototype.close = function () {
|
|
76
|
+
this.isExpanded = false;
|
|
77
|
+
this.activeId = '';
|
|
78
|
+
this.hoverId = '';
|
|
79
|
+
this.inspectMode = false;
|
|
80
|
+
};
|
|
81
|
+
AMISDebugStore.prototype.toggleInspectMode = function () {
|
|
82
|
+
this.inspectMode = !this.inspectMode;
|
|
83
|
+
};
|
|
69
84
|
__decorate([
|
|
70
85
|
observable,
|
|
71
86
|
__metadata("design:type", String)
|
|
@@ -98,6 +113,24 @@ var AMISDebugStore = /** @class */ (function () {
|
|
|
98
113
|
observable,
|
|
99
114
|
__metadata("design:type", Number)
|
|
100
115
|
], AMISDebugStore.prototype, "ellipsisThreshold", void 0);
|
|
116
|
+
__decorate([
|
|
117
|
+
action.bound,
|
|
118
|
+
__metadata("design:type", Function),
|
|
119
|
+
__metadata("design:paramtypes", []),
|
|
120
|
+
__metadata("design:returntype", void 0)
|
|
121
|
+
], AMISDebugStore.prototype, "open", null);
|
|
122
|
+
__decorate([
|
|
123
|
+
action.bound,
|
|
124
|
+
__metadata("design:type", Function),
|
|
125
|
+
__metadata("design:paramtypes", []),
|
|
126
|
+
__metadata("design:returntype", void 0)
|
|
127
|
+
], AMISDebugStore.prototype, "close", null);
|
|
128
|
+
__decorate([
|
|
129
|
+
action.bound,
|
|
130
|
+
__metadata("design:type", Function),
|
|
131
|
+
__metadata("design:paramtypes", []),
|
|
132
|
+
__metadata("design:returntype", void 0)
|
|
133
|
+
], AMISDebugStore.prototype, "toggleInspectMode", null);
|
|
101
134
|
return AMISDebugStore;
|
|
102
135
|
}());
|
|
103
136
|
var store = new AMISDebugStore();
|
|
@@ -115,8 +148,10 @@ var LogView = observer(function (_a) {
|
|
|
115
148
|
log.cat,
|
|
116
149
|
"] ",
|
|
117
150
|
log.msg),
|
|
118
|
-
log.ext
|
|
119
|
-
|
|
151
|
+
(typeof log.ext === 'string' &&
|
|
152
|
+
(log.ext.startsWith('{') || log.ext.startsWith('['))) ||
|
|
153
|
+
typeof log.ext === 'object' ? (React.createElement(React.Suspense, { fallback: React.createElement("div", null, "Loading...") },
|
|
154
|
+
React.createElement(JsonView, { name: null, theme: "monokai", src: typeof log.ext === 'string' ? parseJson(log.ext) : log.ext, collapsed: true, enableClipboard: false, displayDataTypes: false, collapseStringsAfterLength: ellipsisThreshold, iconStyle: "square" }))) : (React.createElement("pre", { className: "AMISDebug-value" }, JSON.stringify(log.ext)))));
|
|
120
155
|
})));
|
|
121
156
|
});
|
|
122
157
|
var AMISDebug = observer(function (_a) {
|
|
@@ -193,19 +228,35 @@ var AMISDebug = observer(function (_a) {
|
|
|
193
228
|
}
|
|
194
229
|
};
|
|
195
230
|
}, [isResizing]);
|
|
231
|
+
var handleInputKeyUp = React.useCallback(function (e) {
|
|
232
|
+
var _a;
|
|
233
|
+
if (e.key === 'Enter') {
|
|
234
|
+
var input = e.target;
|
|
235
|
+
var expression = input.value;
|
|
236
|
+
input.value = '';
|
|
237
|
+
try {
|
|
238
|
+
var activeId_1 = store.activeId;
|
|
239
|
+
var ctx = ((_a = ComponentInfo[activeId_1]) === null || _a === void 0 ? void 0 : _a.component.props.data) || {};
|
|
240
|
+
var result = expression.startsWith('${')
|
|
241
|
+
? resolveVariableAndFilter(expression, ctx, '| raw')
|
|
242
|
+
: callStrFunction(new Function('data', "with(data) {return ".concat(expression, ";}")), ['data'], ctx);
|
|
243
|
+
debug('debug', "evaluate expression `".concat(expression, "`"), result);
|
|
244
|
+
}
|
|
245
|
+
catch (e) {
|
|
246
|
+
debug('error', "evaluate expression `".concat(expression, "`"), "Error: ".concat(e.message));
|
|
247
|
+
}
|
|
248
|
+
finally {
|
|
249
|
+
store.tab = 'log';
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
}, []);
|
|
196
253
|
return (React.createElement("div", { className: cx('AMISDebug', {
|
|
197
254
|
'is-expanded': store.isExpanded,
|
|
198
255
|
'is-left': store.position === 'left'
|
|
199
256
|
}), ref: panelRef },
|
|
200
|
-
React.createElement("div", { className: "AMISDebug-toggle", title: "open debug", onClick:
|
|
201
|
-
store.isExpanded = true;
|
|
202
|
-
} }, store.isExpanded ? (React.createElement("i", { className: "fas fa-times" })) : (React.createElement("i", { className: "fas fa-bug" }))),
|
|
257
|
+
React.createElement("div", { className: "AMISDebug-toggle", title: "open debug", onClick: store.open }, store.isExpanded ? (React.createElement("i", { className: "fas fa-times" })) : (React.createElement("i", { className: "fas fa-bug" }))),
|
|
203
258
|
React.createElement("div", { className: cx('AMISDebug-content') },
|
|
204
|
-
React.createElement("div", { className: "AMISDebug-close", title: "Close", onClick:
|
|
205
|
-
store.isExpanded = false;
|
|
206
|
-
store.activeId = '';
|
|
207
|
-
store.hoverId = '';
|
|
208
|
-
} },
|
|
259
|
+
React.createElement("div", { className: "AMISDebug-close", title: "Close", onClick: store.close },
|
|
209
260
|
React.createElement("i", { className: "fas fa-times" })),
|
|
210
261
|
React.createElement("div", { className: "AMISDebug-resize", onMouseDown: function (event) {
|
|
211
262
|
setStartX(event.clientX);
|
|
@@ -229,18 +280,26 @@ var AMISDebug = observer(function (_a) {
|
|
|
229
280
|
store.logs = [];
|
|
230
281
|
} }, "Clear Log"),
|
|
231
282
|
React.createElement(LogView, { store: store }))) : null,
|
|
232
|
-
store.tab === 'inspect' ? (React.createElement("div", { className: "AMISDebug-inspect" },
|
|
233
|
-
React.createElement("
|
|
234
|
-
"
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
283
|
+
store.tab === 'inspect' ? (React.createElement("div", { className: "AMISDebug-inspect" },
|
|
284
|
+
React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "currentColor", viewBox: "0 0 1024 1024", className: "AMISDebug-inspectIcon ".concat(store.inspectMode ? 'is-active' : ''), onClick: store.toggleInspectMode },
|
|
285
|
+
React.createElement("path", { d: "M64 192L128 128h768l64 64v384H896v-384H128v512h320V768H128l-64-64v-512z m941.226667 621.226667L576 384v602.496l173.226667-173.226667h256zM640 832v-293.504l210.773333 210.773333h-128L640 832z" })),
|
|
286
|
+
store.inspectMode ? (React.createElement("span", null, "Select an element in the page to inspect it.")) : (React.createElement("span", null, "Click to inspect an element.")),
|
|
287
|
+
activeId ? (React.createElement(React.Fragment, null,
|
|
288
|
+
React.createElement("h3", null,
|
|
289
|
+
"Component:",
|
|
290
|
+
' ',
|
|
291
|
+
React.createElement("span", { className: "primary" }, activeComponentInspect === null || activeComponentInspect === void 0 ? void 0 : activeComponentInspect.name)),
|
|
292
|
+
stackDataView)) : null)) : null,
|
|
293
|
+
activeId ? (React.createElement("div", { className: "AMISDebug-footer" },
|
|
294
|
+
React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "currentColor", viewBox: "0 0 1024 1024" },
|
|
295
|
+
React.createElement("path", { d: "M724.48 521.728c-1.8432 7.7824-5.7344 14.848-11.3664 20.48l-341.9136 342.016c-16.6912 16.6912-43.7248 16.6912-60.3136 0s-16.6912-43.7248 0-60.3136L622.6944 512 310.8864 200.0896c-16.6912-16.6912-16.6912-43.7248 0-60.3136 16.6912-16.6912 43.7248-16.6912 60.3136 0l341.9136 341.9136c10.8544 10.8544 14.6432 26.112 11.3664 40.0384z", fill: "currentColor" })),
|
|
296
|
+
React.createElement("input", { type: "text", placeholder: "", onKeyUp: handleInputKeyUp }))) : null)));
|
|
238
297
|
});
|
|
239
298
|
/**
|
|
240
299
|
* 鼠标移动到某个组件的效果
|
|
241
300
|
*/
|
|
242
301
|
function handleMouseMove(e) {
|
|
243
|
-
if (!store.
|
|
302
|
+
if (!store.inspectMode) {
|
|
244
303
|
return;
|
|
245
304
|
}
|
|
246
305
|
var dom = e.target;
|
|
@@ -253,14 +312,16 @@ function handleMouseMove(e) {
|
|
|
253
312
|
* 点选某个组件
|
|
254
313
|
*/
|
|
255
314
|
function handleMouseclick(e) {
|
|
256
|
-
if (!store.
|
|
315
|
+
if (!store.inspectMode) {
|
|
257
316
|
return;
|
|
258
317
|
}
|
|
318
|
+
e.preventDefault();
|
|
259
319
|
var dom = e.target;
|
|
260
320
|
var target = dom.closest("[data-debug-id]");
|
|
261
321
|
if (target && !target.closest('.AMISDebug')) {
|
|
262
322
|
store.activeId = target.getAttribute('data-debug-id');
|
|
263
323
|
store.tab = 'inspect';
|
|
324
|
+
store.inspectMode = false;
|
|
264
325
|
}
|
|
265
326
|
}
|
|
266
327
|
// hover 及点击后的高亮
|
|
@@ -268,6 +329,7 @@ var amisHoverBox = document.createElement('div');
|
|
|
268
329
|
amisHoverBox.className = 'AMISDebug-hoverBox';
|
|
269
330
|
var amisActiveBox = document.createElement('div');
|
|
270
331
|
amisActiveBox.className = 'AMISDebug-activeBox';
|
|
332
|
+
var timer = null;
|
|
271
333
|
autorun(function () {
|
|
272
334
|
var hoverId = store.hoverId;
|
|
273
335
|
var hoverElement = document.querySelector("[data-debug-id=\"".concat(hoverId, "\"]"));
|
|
@@ -291,6 +353,11 @@ autorun(function () {
|
|
|
291
353
|
amisActiveBox.style.left = "".concat(offset.left, "px");
|
|
292
354
|
amisActiveBox.style.width = "".concat(offset.width, "px");
|
|
293
355
|
amisActiveBox.style.height = "".concat(offset.height, "px");
|
|
356
|
+
amisActiveBox.classList.add('shake');
|
|
357
|
+
clearTimeout(timer);
|
|
358
|
+
timer = setTimeout(function () {
|
|
359
|
+
amisActiveBox.classList.remove('shake');
|
|
360
|
+
}, 500);
|
|
294
361
|
}
|
|
295
362
|
else {
|
|
296
363
|
amisActiveBox.style.top = '-999999px';
|
|
@@ -324,7 +391,7 @@ function enableDebug() {
|
|
|
324
391
|
document.body.appendChild(amisHoverBox);
|
|
325
392
|
document.body.appendChild(amisActiveBox);
|
|
326
393
|
document.addEventListener('mousemove', handleMouseMove);
|
|
327
|
-
document.addEventListener('click', handleMouseclick);
|
|
394
|
+
document.addEventListener('click', handleMouseclick, true);
|
|
328
395
|
}
|
|
329
396
|
function disableDebug() {
|
|
330
397
|
if (!isEnabled) {
|
|
@@ -368,12 +435,26 @@ var DebugWrapper = /** @class */ (function (_super) {
|
|
|
368
435
|
};
|
|
369
436
|
DebugWrapper.prototype.componentWillUnmount = function () {
|
|
370
437
|
delete ComponentInfo[this.debugId];
|
|
438
|
+
if (this.debugId === store.activeId) {
|
|
439
|
+
store.activeId = '';
|
|
440
|
+
}
|
|
441
|
+
if (this.debugId === store.hoverId) {
|
|
442
|
+
store.hoverId = '';
|
|
443
|
+
}
|
|
371
444
|
};
|
|
372
445
|
DebugWrapper.prototype.render = function () {
|
|
373
446
|
return this.props.children;
|
|
374
447
|
};
|
|
375
448
|
return DebugWrapper;
|
|
376
449
|
}(Component));
|
|
450
|
+
function parseJson(str) {
|
|
451
|
+
try {
|
|
452
|
+
return JSON.parse(str);
|
|
453
|
+
}
|
|
454
|
+
catch (e) {
|
|
455
|
+
return e;
|
|
456
|
+
}
|
|
457
|
+
}
|
|
377
458
|
/**
|
|
378
459
|
* 一般调试日志
|
|
379
460
|
* @param msg 简单消息
|
|
@@ -386,18 +467,11 @@ function debug(cat, msg, ext) {
|
|
|
386
467
|
console.groupCollapsed('[amis debug]', msg);
|
|
387
468
|
console.debug(ext);
|
|
388
469
|
console.groupEnd();
|
|
389
|
-
var extStr = '';
|
|
390
|
-
try {
|
|
391
|
-
extStr = JSON.stringify(ext);
|
|
392
|
-
}
|
|
393
|
-
catch (e) {
|
|
394
|
-
console.error(e);
|
|
395
|
-
}
|
|
396
470
|
var log = {
|
|
397
471
|
cat: cat,
|
|
398
472
|
level: 'debug',
|
|
399
473
|
msg: msg,
|
|
400
|
-
ext:
|
|
474
|
+
ext: ext
|
|
401
475
|
};
|
|
402
476
|
store.logs.push(log);
|
|
403
477
|
}
|
|
@@ -410,18 +484,11 @@ function warning(cat, msg, ext) {
|
|
|
410
484
|
if (!isEnabled) {
|
|
411
485
|
return;
|
|
412
486
|
}
|
|
413
|
-
var extStr = '';
|
|
414
|
-
try {
|
|
415
|
-
extStr = JSON.stringify(ext);
|
|
416
|
-
}
|
|
417
|
-
catch (e) {
|
|
418
|
-
console.error(e);
|
|
419
|
-
}
|
|
420
487
|
var log = {
|
|
421
488
|
cat: cat,
|
|
422
489
|
level: 'warn',
|
|
423
490
|
msg: msg,
|
|
424
|
-
ext:
|
|
491
|
+
ext: ext
|
|
425
492
|
};
|
|
426
493
|
console.groupCollapsed('amis debug', msg);
|
|
427
494
|
console.trace(log);
|
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
|
@@ -271,6 +271,12 @@ export declare const bulkBindFunctions: <T extends {
|
|
|
271
271
|
[propName: string]: any;
|
|
272
272
|
}>(context: T, funNames: FunctionPropertyNames<T>[]) => void;
|
|
273
273
|
export declare function sortArray<T extends any>(items: Array<T>, field: string, dir: -1 | 1, fieldGetter?: (item: T, field: string) => any): Array<T>;
|
|
274
|
+
export declare function applyFilters<T extends any>(items: Array<T>, options: {
|
|
275
|
+
query: any;
|
|
276
|
+
columns?: Array<any>;
|
|
277
|
+
matchFunc?: Function | null;
|
|
278
|
+
filterOnAllColumns?: boolean;
|
|
279
|
+
}): T[];
|
|
274
280
|
export declare function hasFile(object: any): boolean;
|
|
275
281
|
export declare function qsstringify(data: any, options?: any, keepEmptyArray?: boolean): string;
|
|
276
282
|
export declare function qsparse(data: string, options?: any): qs.ParsedQs;
|
|
@@ -401,3 +407,4 @@ export declare class TestIdBuilder {
|
|
|
401
407
|
}
|
|
402
408
|
export declare function supportsMjs(): boolean;
|
|
403
409
|
export declare function formateId(id: string): string;
|
|
410
|
+
export declare function formateCheckThemeCss(themeCss: any, type: string): any;
|