amis-core 2.6.0 → 2.7.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/package.json +2 -2
- package/esm/Root.d.ts +0 -46
- package/esm/Root.js +0 -89
- package/esm/RootRenderer.d.ts +0 -27
- package/esm/RootRenderer.js +0 -279
- package/esm/SchemaRenderer.d.ts +0 -37
- package/esm/SchemaRenderer.js +0 -332
- package/esm/Scoped.d.ts +0 -38
- package/esm/Scoped.js +0 -262
- package/esm/WithRootStore.d.ts +0 -719
- package/esm/WithRootStore.js +0 -34
- package/esm/WithStore.d.ts +0 -5
- package/esm/WithStore.js +0 -181
- package/esm/actions/Action.d.ts +0 -40
- package/esm/actions/Action.js +0 -186
- package/esm/actions/AjaxAction.d.ts +0 -27
- package/esm/actions/AjaxAction.js +0 -96
- package/esm/actions/BreakAction.d.ts +0 -15
- package/esm/actions/BreakAction.js +0 -31
- package/esm/actions/BroadcastAction.d.ts +0 -19
- package/esm/actions/BroadcastAction.js +0 -46
- package/esm/actions/CmptAction.d.ts +0 -21
- package/esm/actions/CmptAction.js +0 -66
- package/esm/actions/ContinueAction.d.ts +0 -15
- package/esm/actions/ContinueAction.js +0 -31
- package/esm/actions/CopyAction.d.ts +0 -20
- package/esm/actions/CopyAction.js +0 -39
- package/esm/actions/CustomAction.d.ts +0 -22
- package/esm/actions/CustomAction.js +0 -74
- package/esm/actions/DialogAction.d.ts +0 -60
- package/esm/actions/DialogAction.js +0 -101
- package/esm/actions/DrawerAction.d.ts +0 -33
- package/esm/actions/DrawerAction.js +0 -65
- package/esm/actions/EmailAction.d.ts +0 -23
- package/esm/actions/EmailAction.js +0 -39
- package/esm/actions/LinkAction.d.ts +0 -24
- package/esm/actions/LinkAction.js +0 -43
- package/esm/actions/LoopAction.d.ts +0 -19
- package/esm/actions/LoopAction.js +0 -103
- package/esm/actions/PageAction.d.ts +0 -39
- package/esm/actions/PageAction.js +0 -74
- package/esm/actions/ParallelAction.d.ts +0 -8
- package/esm/actions/ParallelAction.js +0 -36
- package/esm/actions/SwitchAction.d.ts +0 -11
- package/esm/actions/SwitchAction.js +0 -48
- package/esm/actions/ToastAction.d.ts +0 -19
- package/esm/actions/ToastAction.js +0 -31
- package/esm/actions/index.d.ts +0 -20
- package/esm/components/LazyComponent.d.ts +0 -32
- package/esm/components/LazyComponent.js +0 -90
- package/esm/components/Overlay.d.ts +0 -44
- package/esm/components/Overlay.js +0 -255
- package/esm/components/PopOver.d.ts +0 -90
- package/esm/components/PopOver.js +0 -120
- package/esm/env.d.ts +0 -176
- package/esm/env.js +0 -12
- package/esm/envOverwrite.d.ts +0 -4
- package/esm/envOverwrite.js +0 -39
- package/esm/factory.d.ts +0 -85
- package/esm/factory.js +0 -301
- package/esm/index.d.ts +0 -44
- package/esm/index.js +0 -174
- package/esm/locale.d.ts +0 -84
- package/esm/locale.js +0 -117
- package/esm/renderers/Form.d.ts +0 -389
- package/esm/renderers/Form.js +0 -1221
- package/esm/renderers/Item.d.ts +0 -906
- package/esm/renderers/Item.js +0 -863
- package/esm/renderers/Options.d.ts +0 -158
- package/esm/renderers/Options.js +0 -908
- package/esm/renderers/Placeholder.d.ts +0 -6
- package/esm/renderers/Placeholder.js +0 -23
- package/esm/renderers/builtin.d.ts +0 -1
- package/esm/renderers/builtin.js +0 -25
- package/esm/renderers/register.d.ts +0 -6
- package/esm/renderers/register.js +0 -79
- package/esm/renderers/wrapControl.d.ts +0 -437
- package/esm/renderers/wrapControl.js +0 -509
- package/esm/store/app.d.ts +0 -92
- package/esm/store/app.js +0 -189
- package/esm/store/combo.d.ts +0 -10223
- package/esm/store/combo.js +0 -149
- package/esm/store/crud.d.ts +0 -128
- package/esm/store/crud.js +0 -447
- package/esm/store/form.d.ts +0 -4252
- package/esm/store/form.js +0 -650
- package/esm/store/formItem.d.ts +0 -133
- package/esm/store/formItem.js +0 -847
- package/esm/store/iRenderer.d.ts +0 -46
- package/esm/store/iRenderer.js +0 -185
- package/esm/store/index.d.ts +0 -125
- package/esm/store/index.js +0 -90
- package/esm/store/list.d.ts +0 -272
- package/esm/store/list.js +0 -246
- package/esm/store/manager.d.ts +0 -115
- package/esm/store/manager.js +0 -49
- package/esm/store/modal.d.ts +0 -84
- package/esm/store/modal.js +0 -50
- package/esm/store/node.d.ts +0 -22
- package/esm/store/node.js +0 -89
- package/esm/store/pagination.d.ts +0 -58
- package/esm/store/pagination.js +0 -56
- package/esm/store/root.d.ts +0 -85
- package/esm/store/root.js +0 -53
- package/esm/store/service.d.ts +0 -71
- package/esm/store/service.js +0 -411
- package/esm/store/table.d.ts +0 -10085
- package/esm/store/table.js +0 -1136
- package/esm/store/table2.d.ts +0 -474
- package/esm/store/table2.js +0 -560
- package/esm/theme.d.ts +0 -89
- package/esm/theme.js +0 -127
- package/esm/types.d.ts +0 -489
- package/esm/utils/Animation.d.ts +0 -22
- package/esm/utils/Animation.js +0 -285
- package/esm/utils/ColorScale.d.ts +0 -19
- package/esm/utils/ColorScale.js +0 -100
- package/esm/utils/DataSchema.d.ts +0 -25
- package/esm/utils/DataSchema.js +0 -112
- package/esm/utils/DataScope.d.ts +0 -26
- package/esm/utils/DataScope.js +0 -158
- package/esm/utils/RootClose.d.ts +0 -4
- package/esm/utils/RootClose.js +0 -22
- package/esm/utils/SimpleMap.d.ts +0 -8
- package/esm/utils/SimpleMap.js +0 -37
- package/esm/utils/api.d.ts +0 -34
- package/esm/utils/api.js +0 -595
- package/esm/utils/attachmentAdpator.d.ts +0 -8
- package/esm/utils/attachmentAdpator.js +0 -86
- package/esm/utils/autobind.d.ts +0 -7
- package/esm/utils/autobind.js +0 -89
- package/esm/utils/columnsSplit.d.ts +0 -1
- package/esm/utils/columnsSplit.js +0 -42
- package/esm/utils/dataMapping.d.ts +0 -9
- package/esm/utils/dataMapping.js +0 -141
- package/esm/utils/date.d.ts +0 -4
- package/esm/utils/date.js +0 -80
- package/esm/utils/debug.d.ts +0 -29
- package/esm/utils/debug.js +0 -379
- package/esm/utils/decodeEntity.d.ts +0 -5
- package/esm/utils/decodeEntity.js +0 -16
- package/esm/utils/dom.d.ts +0 -13
- package/esm/utils/dom.js +0 -188
- package/esm/utils/errors.d.ts +0 -6
- package/esm/utils/errors.js +0 -19
- package/esm/utils/escapeHtml.d.ts +0 -1
- package/esm/utils/escapeHtml.js +0 -20
- package/esm/utils/filter-schema.d.ts +0 -13
- package/esm/utils/filter-schema.js +0 -68
- package/esm/utils/filter.d.ts +0 -1
- package/esm/utils/filter.js +0 -493
- package/esm/utils/formatDuration.d.ts +0 -1
- package/esm/utils/formatDuration.js +0 -23
- package/esm/utils/formula.d.ts +0 -16
- package/esm/utils/formula.js +0 -219
- package/esm/utils/getVariable.d.ts +0 -3
- package/esm/utils/getVariable.js +0 -25
- package/esm/utils/grammar.d.ts +0 -4
- package/esm/utils/grammar.js +0 -50
- package/esm/utils/handleAction.d.ts +0 -7
- package/esm/utils/handleAction.js +0 -34
- package/esm/utils/helper.d.ts +0 -323
- package/esm/utils/helper.js +0 -1261
- package/esm/utils/highlight.d.ts +0 -1
- package/esm/utils/highlight.js +0 -44
- package/esm/utils/icon.d.ts +0 -16
- package/esm/utils/icon.js +0 -35
- package/esm/utils/image.d.ts +0 -18
- package/esm/utils/image.js +0 -47
- package/esm/utils/index.d.ts +0 -55
- package/esm/utils/isPureVariable.d.ts +0 -1
- package/esm/utils/isPureVariable.js +0 -22
- package/esm/utils/json-schema-2-amis-schema.d.ts +0 -6
- package/esm/utils/json-schema-2-amis-schema.js +0 -56
- package/esm/utils/keyToPath.d.ts +0 -6
- package/esm/utils/keyToPath.js +0 -30
- package/esm/utils/makeSorter.d.ts +0 -1
- package/esm/utils/makeSorter.js +0 -26
- package/esm/utils/normalizeLink.d.ts +0 -1
- package/esm/utils/normalizeLink.js +0 -43
- package/esm/utils/normalizeOptions.d.ts +0 -7
- package/esm/utils/normalizeOptions.js +0 -84
- package/esm/utils/object.d.ts +0 -15
- package/esm/utils/object.js +0 -142
- package/esm/utils/offset.d.ts +0 -15
- package/esm/utils/offset.js +0 -32
- package/esm/utils/offsetParent.d.ts +0 -5
- package/esm/utils/offsetParent.js +0 -23
- package/esm/utils/optionValueCompare.d.ts +0 -3
- package/esm/utils/optionValueCompare.js +0 -25
- package/esm/utils/position.d.ts +0 -26
- package/esm/utils/position.js +0 -54
- package/esm/utils/prettyBytes.d.ts +0 -1
- package/esm/utils/prettyBytes.js +0 -25
- package/esm/utils/renderer-event.d.ts +0 -62
- package/esm/utils/renderer-event.js +0 -206
- package/esm/utils/replaceText.d.ts +0 -3
- package/esm/utils/replaceText.js +0 -38
- package/esm/utils/resize-sensor.d.ts +0 -6
- package/esm/utils/resize-sensor.js +0 -172
- package/esm/utils/resolveVariable.d.ts +0 -1
- package/esm/utils/resolveVariable.js +0 -35
- package/esm/utils/resolveVariableAndFilter.d.ts +0 -1
- package/esm/utils/resolveVariableAndFilter.js +0 -33
- package/esm/utils/scrollPosition.d.ts +0 -16
- package/esm/utils/scrollPosition.js +0 -33
- package/esm/utils/string2regExp.d.ts +0 -1
- package/esm/utils/string2regExp.js +0 -14
- package/esm/utils/stripNumber.d.ts +0 -1
- package/esm/utils/stripNumber.js +0 -16
- package/esm/utils/style.d.ts +0 -10
- package/esm/utils/style.js +0 -58
- package/esm/utils/toNumber.d.ts +0 -7
- package/esm/utils/toNumber.js +0 -18
- package/esm/utils/tokenize.d.ts +0 -1
- package/esm/utils/tokenize.js +0 -29
- package/esm/utils/tpl-builtin.d.ts +0 -18
- package/esm/utils/tpl-builtin.js +0 -59
- package/esm/utils/tpl-lodash.d.ts +0 -4
- package/esm/utils/tpl-lodash.js +0 -62
- package/esm/utils/tpl.d.ts +0 -11
- package/esm/utils/tpl.js +0 -131
- package/esm/utils/uncontrollable.d.ts +0 -4
- package/esm/utils/uncontrollable.js +0 -14
- package/esm/utils/validations.d.ts +0 -39
- package/esm/utils/validations.js +0 -440
- package/lib/Root.d.ts +0 -46
- package/lib/Root.js +0 -102
- package/lib/RootRenderer.d.ts +0 -27
- package/lib/RootRenderer.js +0 -290
- package/lib/SchemaRenderer.d.ts +0 -37
- package/lib/SchemaRenderer.js +0 -342
- package/lib/Scoped.d.ts +0 -38
- package/lib/Scoped.js +0 -274
- package/lib/WithRootStore.d.ts +0 -719
- package/lib/WithRootStore.js +0 -44
- package/lib/WithStore.d.ts +0 -5
- package/lib/WithStore.js +0 -190
- package/lib/actions/Action.d.ts +0 -40
- package/lib/actions/Action.js +0 -197
- package/lib/actions/AjaxAction.d.ts +0 -27
- package/lib/actions/AjaxAction.js +0 -100
- package/lib/actions/BreakAction.d.ts +0 -15
- package/lib/actions/BreakAction.js +0 -35
- package/lib/actions/BroadcastAction.d.ts +0 -19
- package/lib/actions/BroadcastAction.js +0 -50
- package/lib/actions/CmptAction.d.ts +0 -21
- package/lib/actions/CmptAction.js +0 -70
- package/lib/actions/ContinueAction.d.ts +0 -15
- package/lib/actions/ContinueAction.js +0 -35
- package/lib/actions/CopyAction.d.ts +0 -20
- package/lib/actions/CopyAction.js +0 -43
- package/lib/actions/CustomAction.d.ts +0 -22
- package/lib/actions/CustomAction.js +0 -78
- package/lib/actions/DialogAction.d.ts +0 -60
- package/lib/actions/DialogAction.js +0 -108
- package/lib/actions/DrawerAction.d.ts +0 -33
- package/lib/actions/DrawerAction.js +0 -70
- package/lib/actions/EmailAction.d.ts +0 -23
- package/lib/actions/EmailAction.js +0 -48
- package/lib/actions/LinkAction.d.ts +0 -24
- package/lib/actions/LinkAction.js +0 -47
- package/lib/actions/LoopAction.d.ts +0 -19
- package/lib/actions/LoopAction.js +0 -107
- package/lib/actions/PageAction.d.ts +0 -39
- package/lib/actions/PageAction.js +0 -80
- package/lib/actions/ParallelAction.d.ts +0 -8
- package/lib/actions/ParallelAction.js +0 -40
- package/lib/actions/SwitchAction.d.ts +0 -11
- package/lib/actions/SwitchAction.js +0 -52
- package/lib/actions/ToastAction.d.ts +0 -19
- package/lib/actions/ToastAction.js +0 -35
- package/lib/actions/index.d.ts +0 -20
- package/lib/components/LazyComponent.d.ts +0 -32
- package/lib/components/LazyComponent.js +0 -99
- package/lib/components/Overlay.d.ts +0 -44
- package/lib/components/Overlay.js +0 -266
- package/lib/components/PopOver.d.ts +0 -90
- package/lib/components/PopOver.js +0 -129
- package/lib/env.d.ts +0 -176
- package/lib/env.js +0 -20
- package/lib/envOverwrite.d.ts +0 -4
- package/lib/envOverwrite.js +0 -43
- package/lib/factory.d.ts +0 -85
- package/lib/factory.js +0 -324
- package/lib/index.d.ts +0 -44
- package/lib/index.js +0 -460
- package/lib/locale.d.ts +0 -84
- package/lib/locale.js +0 -133
- package/lib/renderers/Form.d.ts +0 -389
- package/lib/renderers/Form.js +0 -1234
- package/lib/renderers/Item.d.ts +0 -906
- package/lib/renderers/Item.js +0 -879
- package/lib/renderers/Options.d.ts +0 -158
- package/lib/renderers/Options.js +0 -920
- package/lib/renderers/Placeholder.d.ts +0 -6
- package/lib/renderers/Placeholder.js +0 -31
- package/lib/renderers/builtin.d.ts +0 -1
- package/lib/renderers/builtin.js +0 -27
- package/lib/renderers/register.d.ts +0 -6
- package/lib/renderers/register.js +0 -83
- package/lib/renderers/wrapControl.d.ts +0 -437
- package/lib/renderers/wrapControl.js +0 -520
- package/lib/store/app.d.ts +0 -92
- package/lib/store/app.js +0 -193
- package/lib/store/combo.d.ts +0 -10223
- package/lib/store/combo.js +0 -154
- package/lib/store/crud.d.ts +0 -128
- package/lib/store/crud.js +0 -455
- package/lib/store/form.d.ts +0 -4252
- package/lib/store/form.js +0 -664
- package/lib/store/formItem.d.ts +0 -133
- package/lib/store/formItem.js +0 -858
- package/lib/store/iRenderer.d.ts +0 -46
- package/lib/store/iRenderer.js +0 -189
- package/lib/store/index.d.ts +0 -125
- package/lib/store/index.js +0 -101
- package/lib/store/list.d.ts +0 -272
- package/lib/store/list.js +0 -256
- package/lib/store/manager.d.ts +0 -115
- package/lib/store/manager.js +0 -56
- package/lib/store/modal.d.ts +0 -84
- package/lib/store/modal.js +0 -54
- package/lib/store/node.d.ts +0 -22
- package/lib/store/node.js +0 -93
- package/lib/store/pagination.d.ts +0 -58
- package/lib/store/pagination.js +0 -60
- package/lib/store/root.d.ts +0 -85
- package/lib/store/root.js +0 -57
- package/lib/store/service.d.ts +0 -71
- package/lib/store/service.js +0 -415
- package/lib/store/table.d.ts +0 -10085
- package/lib/store/table.js +0 -1148
- package/lib/store/table2.d.ts +0 -474
- package/lib/store/table2.js +0 -571
- package/lib/theme.d.ts +0 -89
- package/lib/theme.js +0 -145
- package/lib/types.d.ts +0 -489
- package/lib/utils/Animation.d.ts +0 -22
- package/lib/utils/Animation.js +0 -290
- package/lib/utils/ColorScale.d.ts +0 -19
- package/lib/utils/ColorScale.js +0 -105
- package/lib/utils/DataSchema.d.ts +0 -25
- package/lib/utils/DataSchema.js +0 -116
- package/lib/utils/DataScope.d.ts +0 -26
- package/lib/utils/DataScope.js +0 -162
- package/lib/utils/RootClose.d.ts +0 -4
- package/lib/utils/RootClose.js +0 -30
- package/lib/utils/SimpleMap.d.ts +0 -8
- package/lib/utils/SimpleMap.js +0 -46
- package/lib/utils/api.d.ts +0 -34
- package/lib/utils/api.js +0 -621
- package/lib/utils/attachmentAdpator.d.ts +0 -8
- package/lib/utils/attachmentAdpator.js +0 -91
- package/lib/utils/autobind.d.ts +0 -7
- package/lib/utils/autobind.js +0 -94
- package/lib/utils/columnsSplit.d.ts +0 -1
- package/lib/utils/columnsSplit.js +0 -51
- package/lib/utils/dataMapping.d.ts +0 -9
- package/lib/utils/dataMapping.js +0 -151
- package/lib/utils/date.d.ts +0 -4
- package/lib/utils/date.js +0 -90
- package/lib/utils/debug.d.ts +0 -29
- package/lib/utils/debug.js +0 -392
- package/lib/utils/decodeEntity.d.ts +0 -5
- package/lib/utils/decodeEntity.js +0 -20
- package/lib/utils/dom.d.ts +0 -13
- package/lib/utils/dom.js +0 -199
- package/lib/utils/errors.d.ts +0 -6
- package/lib/utils/errors.js +0 -23
- package/lib/utils/escapeHtml.d.ts +0 -1
- package/lib/utils/escapeHtml.js +0 -24
- package/lib/utils/filter-schema.d.ts +0 -13
- package/lib/utils/filter-schema.js +0 -78
- package/lib/utils/filter.d.ts +0 -1
- package/lib/utils/filter.js +0 -503
- package/lib/utils/formatDuration.d.ts +0 -1
- package/lib/utils/formatDuration.js +0 -27
- package/lib/utils/formula.d.ts +0 -16
- package/lib/utils/formula.js +0 -234
- package/lib/utils/getVariable.d.ts +0 -3
- package/lib/utils/getVariable.js +0 -29
- package/lib/utils/grammar.d.ts +0 -4
- package/lib/utils/grammar.js +0 -54
- package/lib/utils/handleAction.d.ts +0 -7
- package/lib/utils/handleAction.js +0 -39
- package/lib/utils/helper.d.ts +0 -323
- package/lib/utils/helper.js +0 -1361
- package/lib/utils/highlight.d.ts +0 -1
- package/lib/utils/highlight.js +0 -52
- package/lib/utils/icon.d.ts +0 -16
- package/lib/utils/icon.js +0 -43
- package/lib/utils/image.d.ts +0 -18
- package/lib/utils/image.js +0 -56
- package/lib/utils/index.d.ts +0 -55
- package/lib/utils/isPureVariable.d.ts +0 -1
- package/lib/utils/isPureVariable.js +0 -26
- package/lib/utils/json-schema-2-amis-schema.d.ts +0 -6
- package/lib/utils/json-schema-2-amis-schema.js +0 -60
- package/lib/utils/keyToPath.d.ts +0 -6
- package/lib/utils/keyToPath.js +0 -34
- package/lib/utils/makeSorter.d.ts +0 -1
- package/lib/utils/makeSorter.js +0 -30
- package/lib/utils/normalizeLink.d.ts +0 -1
- package/lib/utils/normalizeLink.js +0 -47
- package/lib/utils/normalizeOptions.d.ts +0 -7
- package/lib/utils/normalizeOptions.js +0 -92
- package/lib/utils/object.d.ts +0 -15
- package/lib/utils/object.js +0 -156
- package/lib/utils/offset.d.ts +0 -15
- package/lib/utils/offset.js +0 -37
- package/lib/utils/offsetParent.d.ts +0 -5
- package/lib/utils/offsetParent.js +0 -28
- package/lib/utils/optionValueCompare.d.ts +0 -3
- package/lib/utils/optionValueCompare.js +0 -30
- package/lib/utils/position.d.ts +0 -26
- package/lib/utils/position.js +0 -59
- package/lib/utils/prettyBytes.d.ts +0 -1
- package/lib/utils/prettyBytes.js +0 -29
- package/lib/utils/renderer-event.d.ts +0 -62
- package/lib/utils/renderer-event.js +0 -218
- package/lib/utils/replaceText.d.ts +0 -3
- package/lib/utils/replaceText.js +0 -46
- package/lib/utils/resize-sensor.d.ts +0 -6
- package/lib/utils/resize-sensor.js +0 -177
- package/lib/utils/resolveVariable.d.ts +0 -1
- package/lib/utils/resolveVariable.js +0 -39
- package/lib/utils/resolveVariableAndFilter.d.ts +0 -1
- package/lib/utils/resolveVariableAndFilter.js +0 -37
- package/lib/utils/scrollPosition.d.ts +0 -16
- package/lib/utils/scrollPosition.js +0 -37
- package/lib/utils/string2regExp.d.ts +0 -1
- package/lib/utils/string2regExp.js +0 -18
- package/lib/utils/stripNumber.d.ts +0 -1
- package/lib/utils/stripNumber.js +0 -20
- package/lib/utils/style.d.ts +0 -10
- package/lib/utils/style.js +0 -67
- package/lib/utils/toNumber.d.ts +0 -7
- package/lib/utils/toNumber.js +0 -22
- package/lib/utils/tokenize.d.ts +0 -1
- package/lib/utils/tokenize.js +0 -33
- package/lib/utils/tpl-builtin.d.ts +0 -18
- package/lib/utils/tpl-builtin.js +0 -75
- package/lib/utils/tpl-lodash.d.ts +0 -4
- package/lib/utils/tpl-lodash.js +0 -71
- package/lib/utils/tpl.d.ts +0 -11
- package/lib/utils/tpl.js +0 -140
- package/lib/utils/uncontrollable.d.ts +0 -4
- package/lib/utils/uncontrollable.js +0 -22
- package/lib/utils/validations.d.ts +0 -39
- package/lib/utils/validations.js +0 -455
package/esm/utils/formula.js
DELETED
|
@@ -1,219 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* amis-core v2.6.0
|
|
3
|
-
* Copyright 2018-2022 fex
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import isObjectByLodash from 'lodash/isObject';
|
|
7
|
-
import isString from 'lodash/isString';
|
|
8
|
-
import isBoolean from 'lodash/isBoolean';
|
|
9
|
-
import { evaluate, getFilters } from 'amis-formula';
|
|
10
|
-
import { filter } from './tpl.js';
|
|
11
|
-
import 'moment';
|
|
12
|
-
import 'tslib';
|
|
13
|
-
import 'lodash/isPlainObject';
|
|
14
|
-
import { getVariable } from './getVariable.js';
|
|
15
|
-
import { resolveVariableAndFilter } from './resolveVariableAndFilter.js';
|
|
16
|
-
import './filter.js';
|
|
17
|
-
import { collectVariables } from './grammar.js';
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* formulaExec 运算器:根据当前字符串类型执行对应运算,也可按指定执行模式执行运算
|
|
21
|
-
*
|
|
22
|
-
* 运算模式(execMode)支持以下取值:
|
|
23
|
-
* 1. tpl: 按模板字符串执行(JavaScript 模板引擎),比如:Hello ${amisUser.email}、<h1>Hello</h1>, <span>${amisUser.email}</span>;
|
|
24
|
-
* 备注: 在模板中可以自由访问变量,详细请见:https://www.lodashjs.com/docs/lodash.template;
|
|
25
|
-
* 2. formula: 按新版公式表达式执行,用于执行 ${ xxx } 格式的表达式;
|
|
26
|
-
* 支持从window、localStorage、sessionStorage获取数据,比如:${num1 + 2}、${ls:env}、${window:document}、${window:document.URL}、${amisUser.email};
|
|
27
|
-
* 详细请见:https://aisuda.bce.baidu.com/amis/zh-CN/docs/concepts/data-mapping#namespace
|
|
28
|
-
* 3. evalFormula: 按新版公式表达式执行,用于执行 ${ xxx } 和 非${ xxx } 格式的表达式(evalMode 为 true,不用 ${} 包裹也可以执行),功能同 formula 运算模式;
|
|
29
|
-
* 4. js: 按Javascript执行,表达式中可以通过data.xxx来获取指定数据,并且支持简单运算;
|
|
30
|
-
* 比如:data.num1 + 2、this.num1 + 2、num1 + 2;(备注:三个表达式是等价的,这里的 this 就是 data。)
|
|
31
|
-
* 5. var: 以此字符串作为key值从当前数据域data中获取数值;性能最高(运行期间不会生成ast和表达式运算);
|
|
32
|
-
* 6. true 或者 false: 当execMode设置为true时,不用 ${} 包裹也可以执行表达式;
|
|
33
|
-
* 7. collect: 用于从表达式中获取所有变量;
|
|
34
|
-
*
|
|
35
|
-
* 备注1: 用户也可以使用 registerFormulaExec 注册一个自定义运算器;
|
|
36
|
-
* 备注2: 模板字符串 和 Javascript 模板引擎 不可以交叉使用;
|
|
37
|
-
* 备注3: amis 现有的 evalFormula 方法,可执行 ${} 格式类表达式,但不支持 filter 过滤器,所以这里用 resolveValueByName 实现;
|
|
38
|
-
* 备注4: 后续可考虑将 amis现有的运算器都放这里管理,充当统一的运算器入口。
|
|
39
|
-
*/
|
|
40
|
-
// 缓存,用于提升性能
|
|
41
|
-
var FORMULA_EVAL_CACHE = {};
|
|
42
|
-
/**
|
|
43
|
-
* 用于存储当前可用运算器,默认支持 tpl、formula、js、var 四种类型运算器
|
|
44
|
-
* 备注:在这里统一参数。
|
|
45
|
-
*/
|
|
46
|
-
var FormulaExec = {
|
|
47
|
-
tpl: function (expression, data) {
|
|
48
|
-
var curData = data || {};
|
|
49
|
-
return filter(expression, curData);
|
|
50
|
-
},
|
|
51
|
-
formula: function (expression, data) {
|
|
52
|
-
// 邮箱格式直接返回,后续需要在 amis-formula 中处理
|
|
53
|
-
if (/^\$\{([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((.[a-zA-Z0-9_-]{2,3}){1,2})\}$/.test(expression)) {
|
|
54
|
-
return expression.substring(2, expression.length - 1); // 剔除前后特殊字符
|
|
55
|
-
}
|
|
56
|
-
var curData = data || {};
|
|
57
|
-
var result = undefined;
|
|
58
|
-
try {
|
|
59
|
-
// 执行 ${} 格式类表达式,且支持 filter 过滤器。(备注: isPureVariable 可用于判断是否有 过滤器。)
|
|
60
|
-
result = resolveVariableAndFilter(expression, curData, '| raw');
|
|
61
|
-
}
|
|
62
|
-
catch (e) {
|
|
63
|
-
console.warn('[formula]表达式执行异常,当前表达式: ', expression, ',当前上下文数据: ', data);
|
|
64
|
-
return expression;
|
|
65
|
-
}
|
|
66
|
-
// 备注: 此处不用 result ?? expression 是为了避免 没有对应结果时直接显示 expression: ${xxx}
|
|
67
|
-
return result;
|
|
68
|
-
},
|
|
69
|
-
evalFormula: function (expression, data) {
|
|
70
|
-
var curData = data || {};
|
|
71
|
-
var result = undefined;
|
|
72
|
-
try {
|
|
73
|
-
result = evaluate(expression, curData, {
|
|
74
|
-
evalMode: true,
|
|
75
|
-
allowFilter: false
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
catch (e) {
|
|
79
|
-
console.warn('[evalFormula]表达式执行异常,当前表达式: ', expression, ',当前上下文数据: ', data);
|
|
80
|
-
return expression;
|
|
81
|
-
}
|
|
82
|
-
return result !== null && result !== void 0 ? result : expression;
|
|
83
|
-
},
|
|
84
|
-
js: function (expression, data) {
|
|
85
|
-
var debug = false;
|
|
86
|
-
var idx = expression.indexOf('debugger');
|
|
87
|
-
if (~idx) {
|
|
88
|
-
debug = true;
|
|
89
|
-
expression = expression.replace(/debugger;?/, '');
|
|
90
|
-
}
|
|
91
|
-
var fn;
|
|
92
|
-
if (expression in FORMULA_EVAL_CACHE) {
|
|
93
|
-
fn = FORMULA_EVAL_CACHE[expression];
|
|
94
|
-
}
|
|
95
|
-
else {
|
|
96
|
-
fn = new Function('data', 'utils', "with(data) {".concat(debug ? 'debugger;' : '', "return (").concat(expression, ");}"));
|
|
97
|
-
FORMULA_EVAL_CACHE[expression] = fn;
|
|
98
|
-
}
|
|
99
|
-
data = data || {};
|
|
100
|
-
var curResult = undefined;
|
|
101
|
-
try {
|
|
102
|
-
curResult = fn.call(data, data, getFilters());
|
|
103
|
-
}
|
|
104
|
-
catch (e) {
|
|
105
|
-
console.warn('[formula:js]表达式执行异常,当前表达式: ', expression, ',当前上下文数据: ', data);
|
|
106
|
-
return expression;
|
|
107
|
-
}
|
|
108
|
-
return curResult;
|
|
109
|
-
},
|
|
110
|
-
var: function (expression, data) {
|
|
111
|
-
var curData = data || {};
|
|
112
|
-
var result = getVariable(curData, expression); // 不支持过滤器
|
|
113
|
-
return result !== null && result !== void 0 ? result : expression;
|
|
114
|
-
},
|
|
115
|
-
collect: function (expression) {
|
|
116
|
-
var variables = [];
|
|
117
|
-
if (isObjectByLodash(expression) || isString(expression)) {
|
|
118
|
-
// 仅对 Object类型 和 String类型 进行变量提取
|
|
119
|
-
variables = collectVariables(expression);
|
|
120
|
-
}
|
|
121
|
-
else {
|
|
122
|
-
variables = [];
|
|
123
|
-
}
|
|
124
|
-
return variables;
|
|
125
|
-
}
|
|
126
|
-
};
|
|
127
|
-
// 根据表达式类型自动匹配指定运算器,也可以通过设置 execMode 直接指定运算器
|
|
128
|
-
function formulaExec(value, data, execMode) {
|
|
129
|
-
if (!value) {
|
|
130
|
-
return '';
|
|
131
|
-
}
|
|
132
|
-
var OpenFormulaExecEvalMode = false;
|
|
133
|
-
var curExecMode = '';
|
|
134
|
-
if (isBoolean(execMode)) {
|
|
135
|
-
// OpenFormulaExecEvalMode 设置为 true 后,非 ${ xxx } 格式也使用表达式运算器
|
|
136
|
-
OpenFormulaExecEvalMode = execMode;
|
|
137
|
-
}
|
|
138
|
-
else if (isString(execMode)) {
|
|
139
|
-
// 指定 execMode 可以直接选用对应的运算器
|
|
140
|
-
curExecMode = execMode;
|
|
141
|
-
}
|
|
142
|
-
if (!isString(value)) {
|
|
143
|
-
// 非字符串类型,直接返回,比如:boolean、number类型、Object、Array类型
|
|
144
|
-
return value;
|
|
145
|
-
}
|
|
146
|
-
else if (curExecMode && FormulaExec[curExecMode]) {
|
|
147
|
-
return FormulaExec[curExecMode](value, data);
|
|
148
|
-
}
|
|
149
|
-
var curValue = value.trim(); // 剔除前后空格
|
|
150
|
-
// OpenFormulaExecEvalMode 为 true 时,非 ${ xxx } 格式也会尝试使用表达式运算器
|
|
151
|
-
if (OpenFormulaExecEvalMode && /^[0-9a-zA-Z_]+$/.test(curValue)) {
|
|
152
|
-
// 普通字符串类型(非表达式),先试一下从上下文中获取数据
|
|
153
|
-
var curValueTemp = FormulaExec['var'](curValue, data);
|
|
154
|
-
// 备注: 其他特殊格式,比如邮箱、日期
|
|
155
|
-
return curValueTemp !== null && curValueTemp !== void 0 ? curValueTemp : curValue;
|
|
156
|
-
}
|
|
157
|
-
else if (curValue.startsWith('${') && curValue.endsWith('}')) {
|
|
158
|
-
// ${ xxx } 格式 使用 formula 运算器
|
|
159
|
-
return FormulaExec['formula'](curValue, data);
|
|
160
|
-
}
|
|
161
|
-
else if (isExpression(curValue)) {
|
|
162
|
-
// 表达式格式使用 formula 运算器
|
|
163
|
-
return FormulaExec['formula'](curValue, data);
|
|
164
|
-
}
|
|
165
|
-
else if (/(\${).+(\})/.test(curValue)) {
|
|
166
|
-
// 包含 ${ xxx } 则使用 tpl 运算器
|
|
167
|
-
return FormulaExec['tpl'](curValue, data); // 可识别 <% %> 语法
|
|
168
|
-
}
|
|
169
|
-
else if (OpenFormulaExecEvalMode) {
|
|
170
|
-
// 支持 ${} 和 非 ${} 表达式
|
|
171
|
-
return FormulaExec['evalFormula'](curValue, data);
|
|
172
|
-
}
|
|
173
|
-
else {
|
|
174
|
-
return curValue;
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
// 用于注册自定义 formulaExec 运算器
|
|
178
|
-
function registerFormulaExec(execMode, formulaExec) {
|
|
179
|
-
if (FormulaExec[execMode]) {
|
|
180
|
-
console.error("registerFormulaExec: \u8FD0\u7B97\u5668\u6CE8\u518C\u5931\u8D25\uFF0C\u5B58\u5728\u540C\u540D\u8FD0\u7B97\u5668\uFF08$(execMode)\uFF09\u3002");
|
|
181
|
-
}
|
|
182
|
-
else {
|
|
183
|
-
FormulaExec[execMode] = formulaExec;
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
// 用于判断是否优先使用value。
|
|
187
|
-
function isExpression(expression) {
|
|
188
|
-
if (!expression || !isString(expression)) {
|
|
189
|
-
// 非字符串类型,比如:Object、Array类型、boolean、number类型
|
|
190
|
-
return false;
|
|
191
|
-
}
|
|
192
|
-
// 备注1: "\\${xxx}"不作为表达式,至少含一个${xxx}才算是表达式
|
|
193
|
-
// 备注2: safari 不支持 /(?<!\\)(\${).+(\})/.test(expression)
|
|
194
|
-
return /(^|[^\\])\$\{.+\}/.test(expression);
|
|
195
|
-
}
|
|
196
|
-
// 用于判断是否需要执行表达式:
|
|
197
|
-
function isNeedFormula(expression, prevData, curData) {
|
|
198
|
-
try {
|
|
199
|
-
var variables = FormulaExec.collect(expression);
|
|
200
|
-
return variables.some(function (variable) {
|
|
201
|
-
return FormulaExec.var(variable, prevData) !== FormulaExec.var(variable, curData);
|
|
202
|
-
});
|
|
203
|
-
}
|
|
204
|
-
catch (e) {
|
|
205
|
-
console.warn('[isNeedFormula]表达式执行异常,当前表达式: ', expression, ',当前上下文数据: ', curData);
|
|
206
|
-
return false;
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
// 将 \${xx} 替换成 ${xx}
|
|
210
|
-
function replaceExpression(expression) {
|
|
211
|
-
if (expression &&
|
|
212
|
-
isString(expression) &&
|
|
213
|
-
/(\\)(\${).+(\})/.test(expression)) {
|
|
214
|
-
return expression.replace(/\\\$\{/g, '${');
|
|
215
|
-
}
|
|
216
|
-
return expression;
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
export { FormulaExec, formulaExec, isExpression, isNeedFormula, registerFormulaExec, replaceExpression };
|
package/esm/utils/getVariable.js
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* amis-core v2.6.0
|
|
3
|
-
* Copyright 2018-2022 fex
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import { keyToPath } from './keyToPath.js';
|
|
7
|
-
|
|
8
|
-
function getVariable(data, key, canAccessSuper) {
|
|
9
|
-
if (canAccessSuper === void 0) { canAccessSuper = true; }
|
|
10
|
-
if (!data || !key) {
|
|
11
|
-
return undefined;
|
|
12
|
-
}
|
|
13
|
-
else if (canAccessSuper ? key in data : data.hasOwnProperty(key)) {
|
|
14
|
-
return data[key];
|
|
15
|
-
}
|
|
16
|
-
return keyToPath(key).reduce(function (obj, key) {
|
|
17
|
-
return obj &&
|
|
18
|
-
typeof obj === 'object' &&
|
|
19
|
-
(canAccessSuper ? key in obj : obj.hasOwnProperty(key))
|
|
20
|
-
? obj[key]
|
|
21
|
-
: undefined;
|
|
22
|
-
}, data);
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
export { getVariable };
|
package/esm/utils/grammar.d.ts
DELETED
package/esm/utils/grammar.js
DELETED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* amis-core v2.6.0
|
|
3
|
-
* Copyright 2018-2022 fex
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import { parse } from 'amis-formula';
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* @file 公式语法解析
|
|
10
|
-
*/
|
|
11
|
-
function traverseAst(ast, iterator) {
|
|
12
|
-
if (!ast || !ast.type) {
|
|
13
|
-
return;
|
|
14
|
-
}
|
|
15
|
-
iterator(ast);
|
|
16
|
-
Object.keys(ast).forEach(function (key) {
|
|
17
|
-
var value = ast[key];
|
|
18
|
-
if (Array.isArray(value)) {
|
|
19
|
-
value.forEach(function (child) { return traverseAst(child, iterator); });
|
|
20
|
-
}
|
|
21
|
-
else {
|
|
22
|
-
traverseAst(value, iterator);
|
|
23
|
-
}
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
// 缓存,用于提升性能
|
|
27
|
-
var COLLECT_EXPRESSION_CACHE = {};
|
|
28
|
-
// 提取表达式中有哪些变量
|
|
29
|
-
function collectVariables(strOrAst, execMode) {
|
|
30
|
-
var variables = [];
|
|
31
|
-
if (typeof strOrAst === 'string' && COLLECT_EXPRESSION_CACHE[strOrAst]) {
|
|
32
|
-
return COLLECT_EXPRESSION_CACHE[strOrAst];
|
|
33
|
-
}
|
|
34
|
-
var ast = typeof strOrAst === 'string'
|
|
35
|
-
? parse(strOrAst, {
|
|
36
|
-
evalMode: execMode !== null && execMode !== void 0 ? execMode : false
|
|
37
|
-
})
|
|
38
|
-
: strOrAst;
|
|
39
|
-
traverseAst(ast, function (item) {
|
|
40
|
-
if (item.type === 'variable') {
|
|
41
|
-
variables.push(item.name);
|
|
42
|
-
}
|
|
43
|
-
});
|
|
44
|
-
if (typeof strOrAst === 'string') {
|
|
45
|
-
COLLECT_EXPRESSION_CACHE[strOrAst] = variables;
|
|
46
|
-
}
|
|
47
|
-
return variables;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
export { collectVariables };
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 后续好多地方可能都要支持 action,所以提取公共功能
|
|
3
|
-
*/
|
|
4
|
-
/// <reference types="react" />
|
|
5
|
-
import { RendererProps } from '../factory';
|
|
6
|
-
export declare function handleAction(e: React.MouseEvent<any>, action: any, props: RendererProps, data?: any): void;
|
|
7
|
-
export default handleAction;
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* amis-core v2.6.0
|
|
3
|
-
* Copyright 2018-2022 fex
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import { str2function, normalizeApi } from './api.js';
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* 后续好多地方可能都要支持 action,所以提取公共功能
|
|
10
|
-
*/
|
|
11
|
-
function handleAction(e, action, props, data) {
|
|
12
|
-
// https://reactjs.org/docs/legacy-event-pooling.html
|
|
13
|
-
e.persist(); // 等 react 17之后去掉 event pooling 了,这个应该就没用了
|
|
14
|
-
var onAction = props.onAction;
|
|
15
|
-
var onClick = action.onClick;
|
|
16
|
-
if (typeof onClick === 'string') {
|
|
17
|
-
onClick = str2function(onClick, 'event', 'props', 'data');
|
|
18
|
-
}
|
|
19
|
-
var result = onClick && onClick(e, props, data || props.data);
|
|
20
|
-
if (e.isDefaultPrevented() || result === false || !onAction) {
|
|
21
|
-
return;
|
|
22
|
-
}
|
|
23
|
-
e.preventDefault();
|
|
24
|
-
// download 是一种 ajax 的简写
|
|
25
|
-
if (action.actionType === 'download') {
|
|
26
|
-
action.actionType = 'ajax';
|
|
27
|
-
var api = normalizeApi(action.api);
|
|
28
|
-
api.responseType = 'blob';
|
|
29
|
-
action.api = api;
|
|
30
|
-
}
|
|
31
|
-
onAction(e, action, data || props.data);
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
export { handleAction as default, handleAction };
|
package/esm/utils/helper.d.ts
DELETED
|
@@ -1,323 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
import { Schema, PlainObject, FunctionPropertyNames } from '../types';
|
|
3
|
-
import qs from 'qs';
|
|
4
|
-
import { IIRendererStore } from '../store';
|
|
5
|
-
import { autobindMethod } from './autobind';
|
|
6
|
-
import { cloneObject, createObject, deleteVariable, extendObject, isObject, setVariable } from './object';
|
|
7
|
-
import { string2regExp } from './string2regExp';
|
|
8
|
-
import { getVariable } from './getVariable';
|
|
9
|
-
import { keyToPath } from './keyToPath';
|
|
10
|
-
export { createObject, cloneObject, isObject, string2regExp, getVariable, setVariable, deleteVariable, keyToPath, extendObject };
|
|
11
|
-
export declare function preventDefault(event: TouchEvent | Event): void;
|
|
12
|
-
export declare function isMobile(): any;
|
|
13
|
-
export declare function range(num: number, min: number, max: number): number;
|
|
14
|
-
/**
|
|
15
|
-
* 给目标对象添加其他属性,可读取但是不会被遍历。
|
|
16
|
-
* @param target
|
|
17
|
-
* @param props
|
|
18
|
-
*/
|
|
19
|
-
export declare function injectPropsToObject(target: any, props: any): any;
|
|
20
|
-
export declare function isSuperDataModified(data: any, prevData: any, store: IIRendererStore): boolean;
|
|
21
|
-
export declare function syncDataFromSuper(data: any, superObject: any, prevSuperObject: any, store: IIRendererStore, force: boolean): any;
|
|
22
|
-
/**
|
|
23
|
-
* 生成 8 位随机数字。
|
|
24
|
-
*
|
|
25
|
-
* @return {string} 8位随机数字
|
|
26
|
-
*/
|
|
27
|
-
export declare function guid(): string;
|
|
28
|
-
export declare function findIndex(arr: Array<any>, detect: (item?: any, index?: number) => boolean): number;
|
|
29
|
-
export declare function hasOwnPropertyInPath(data: {
|
|
30
|
-
[propName: string]: any;
|
|
31
|
-
}, key: string): boolean;
|
|
32
|
-
export declare function noop(): void;
|
|
33
|
-
export declare function anyChanged(attrs: string | Array<string>, from: {
|
|
34
|
-
[propName: string]: any;
|
|
35
|
-
}, to: {
|
|
36
|
-
[propName: string]: any;
|
|
37
|
-
}, strictMode?: boolean): boolean;
|
|
38
|
-
export declare function rmUndefined(obj: PlainObject): PlainObject;
|
|
39
|
-
export declare function isObjectShallowModified(prev: any, next: any, strictMode?: boolean, ignoreUndefined?: boolean, statck?: Array<any>): boolean;
|
|
40
|
-
export declare function isArrayChildrenModified(prev: Array<any>, next: Array<any>, strictMode?: boolean): boolean;
|
|
41
|
-
export declare function immutableExtends(to: any, from: any, deep?: boolean): any;
|
|
42
|
-
export declare function makeColumnClassBuild(steps: number, classNameTpl?: string): (schema: Schema) => any;
|
|
43
|
-
export declare function hasVisibleExpression(schema: {
|
|
44
|
-
visibleOn?: string;
|
|
45
|
-
hiddenOn?: string;
|
|
46
|
-
visible?: boolean;
|
|
47
|
-
hidden?: boolean;
|
|
48
|
-
}): string | undefined;
|
|
49
|
-
export declare function isVisible(schema: {
|
|
50
|
-
visibleOn?: string;
|
|
51
|
-
hiddenOn?: string;
|
|
52
|
-
visible?: boolean;
|
|
53
|
-
hidden?: boolean;
|
|
54
|
-
}, data?: object): boolean;
|
|
55
|
-
export declare function isUnfolded(node: any, config: {
|
|
56
|
-
foldedField?: string;
|
|
57
|
-
unfoldedField?: string;
|
|
58
|
-
}): boolean;
|
|
59
|
-
/**
|
|
60
|
-
* 过滤掉被隐藏的数组元素
|
|
61
|
-
*/
|
|
62
|
-
export declare function visibilityFilter(items: any, data?: object): any;
|
|
63
|
-
export declare function isDisabled(schema: {
|
|
64
|
-
disabledOn?: string;
|
|
65
|
-
disabled?: boolean;
|
|
66
|
-
}, data?: object): boolean | "" | undefined;
|
|
67
|
-
export declare function hasAbility(schema: any, ability: string, data?: object, defaultValue?: boolean): boolean;
|
|
68
|
-
export declare function makeHorizontalDeeper(horizontal: {
|
|
69
|
-
left: string;
|
|
70
|
-
right: string;
|
|
71
|
-
offset: string;
|
|
72
|
-
leftFixed?: any;
|
|
73
|
-
}, count: number): {
|
|
74
|
-
left: string | number;
|
|
75
|
-
right: string | number;
|
|
76
|
-
offset: string | number;
|
|
77
|
-
leftFixed?: any;
|
|
78
|
-
};
|
|
79
|
-
export declare function promisify<T extends Function>(fn: T): (...args: Array<any>) => Promise<any> & {
|
|
80
|
-
raw: T;
|
|
81
|
-
};
|
|
82
|
-
/**
|
|
83
|
-
*
|
|
84
|
-
* @param node 当前元素
|
|
85
|
-
* @param compute 自定义计算,找到的父元素是否满足特殊场景
|
|
86
|
-
* @returns 返回控制当前元素滚动的父元素
|
|
87
|
-
*/
|
|
88
|
-
export declare function getScrollParent(node: HTMLElement, compute?: (parent: HTMLElement) => boolean): HTMLElement | null;
|
|
89
|
-
/**
|
|
90
|
-
* Deep diff between two object, using lodash
|
|
91
|
-
* @param {Object} object Object compared
|
|
92
|
-
* @param {Object} base Object to compare with
|
|
93
|
-
* @return {Object} Return a new object who represent the diff
|
|
94
|
-
*/
|
|
95
|
-
export declare function difference<T extends {
|
|
96
|
-
[propName: string]: any;
|
|
97
|
-
}, U extends {
|
|
98
|
-
[propName: string]: any;
|
|
99
|
-
}>(object: T, base: U, keepProps?: Array<string>): {
|
|
100
|
-
[propName: string]: any;
|
|
101
|
-
};
|
|
102
|
-
export declare const padArr: (arr: Array<any>, size?: number, fillUndefined?: boolean) => Array<Array<any>>;
|
|
103
|
-
export declare function __uri(id: string): string;
|
|
104
|
-
export declare function isBreakpoint(str: string): boolean;
|
|
105
|
-
export declare function until(fn: () => Promise<any>, when: (ret: any) => boolean, getCanceler: (fn: () => any) => void, interval?: number): Promise<unknown>;
|
|
106
|
-
export declare function omitControls(controls: Array<any>, omitItems: Array<string>): Array<any>;
|
|
107
|
-
export declare function isEmpty(thing: any): boolean;
|
|
108
|
-
/**
|
|
109
|
-
* 基于时间戳的 uuid
|
|
110
|
-
*
|
|
111
|
-
* @returns uniqueId
|
|
112
|
-
*/
|
|
113
|
-
export declare const uuid: () => string;
|
|
114
|
-
export declare const uuidv4: () => string;
|
|
115
|
-
export interface TreeItem {
|
|
116
|
-
children?: TreeArray;
|
|
117
|
-
[propName: string]: any;
|
|
118
|
-
}
|
|
119
|
-
export interface TreeArray extends Array<TreeItem> {
|
|
120
|
-
}
|
|
121
|
-
/**
|
|
122
|
-
* 类似于 arr.map 方法,此方法主要针对类似下面示例的树形结构。
|
|
123
|
-
* [
|
|
124
|
-
* {
|
|
125
|
-
* children: []
|
|
126
|
-
* },
|
|
127
|
-
* // 其他成员
|
|
128
|
-
* ]
|
|
129
|
-
*
|
|
130
|
-
* @param {Tree} tree 树形数据
|
|
131
|
-
* @param {Function} iterator 处理函数,返回的数据会被替换成新的。
|
|
132
|
-
* @return {Tree} 返回处理过的 tree
|
|
133
|
-
*/
|
|
134
|
-
export declare function mapTree<T extends TreeItem>(tree: Array<T>, iterator: (item: T, key: number, level: number, paths: Array<T>) => T, level?: number, depthFirst?: boolean, paths?: Array<T>): any[];
|
|
135
|
-
/**
|
|
136
|
-
* 遍历树
|
|
137
|
-
* @param tree
|
|
138
|
-
* @param iterator
|
|
139
|
-
*/
|
|
140
|
-
export declare function eachTree<T extends TreeItem>(tree: Array<T>, iterator: (item: T, key: number, level: number, paths?: Array<T>) => any, level?: number, paths?: Array<T>): void;
|
|
141
|
-
/**
|
|
142
|
-
* 在树中查找节点。
|
|
143
|
-
* @param tree
|
|
144
|
-
* @param iterator
|
|
145
|
-
*/
|
|
146
|
-
export declare function findTree<T extends TreeItem>(tree: Array<T>, iterator: (item: T, key: number, level: number, paths: Array<T>) => any): T | null;
|
|
147
|
-
/**
|
|
148
|
-
* 在树中查找节点, 返回下标数组。
|
|
149
|
-
* @param tree
|
|
150
|
-
* @param iterator
|
|
151
|
-
*/
|
|
152
|
-
export declare function findTreeIndex<T extends TreeItem>(tree: Array<T>, iterator: (item: T, key: number, level: number, paths: Array<T>) => any): Array<number> | undefined;
|
|
153
|
-
export declare function getTree<T extends TreeItem>(tree: Array<T>, idx: Array<number> | number): T | undefined | null;
|
|
154
|
-
/**
|
|
155
|
-
* 过滤树节点
|
|
156
|
-
*
|
|
157
|
-
* @param tree
|
|
158
|
-
* @param iterator
|
|
159
|
-
*/
|
|
160
|
-
export declare function filterTree<T extends TreeItem>(tree: Array<T>, iterator: (item: T, key: number, level: number) => any, level?: number, depthFirst?: boolean): T[];
|
|
161
|
-
/**
|
|
162
|
-
* 判断树中每个节点是否满足某个条件。
|
|
163
|
-
* @param tree
|
|
164
|
-
* @param iterator
|
|
165
|
-
*/
|
|
166
|
-
export declare function everyTree<T extends TreeItem>(tree: Array<T>, iterator: (item: T, key: number, level: number, paths: Array<T>, indexes: Array<number>) => boolean, level?: number, paths?: Array<T>, indexes?: Array<number>): boolean;
|
|
167
|
-
/**
|
|
168
|
-
* 判断树中是否有某些节点满足某个条件。
|
|
169
|
-
* @param tree
|
|
170
|
-
* @param iterator
|
|
171
|
-
*/
|
|
172
|
-
export declare function someTree<T extends TreeItem>(tree: Array<T>, iterator: (item: T, key: number, level: number, paths: Array<T>) => boolean): boolean;
|
|
173
|
-
/**
|
|
174
|
-
* 将树打平变成一维数组,可以传入第二个参数实现打平节点中的其他属性。
|
|
175
|
-
*
|
|
176
|
-
* 比如:
|
|
177
|
-
*
|
|
178
|
-
* flattenTree([
|
|
179
|
-
* {
|
|
180
|
-
* id: 1,
|
|
181
|
-
* children: [
|
|
182
|
-
* { id: 2 },
|
|
183
|
-
* { id: 3 },
|
|
184
|
-
* ]
|
|
185
|
-
* }
|
|
186
|
-
* ], item => item.id); // 输出为 [1, 2, 3]
|
|
187
|
-
*
|
|
188
|
-
* @param tree
|
|
189
|
-
* @param mapper
|
|
190
|
-
*/
|
|
191
|
-
export declare function flattenTree<T extends TreeItem>(tree: Array<T>): Array<T>;
|
|
192
|
-
export declare function flattenTree<T extends TreeItem, U>(tree: Array<T>, mapper: (value: T, index: number, level: number, paths?: Array<T>) => U): Array<U>;
|
|
193
|
-
/**
|
|
194
|
-
* 将树打平变成一维数组,用法和flattenTree类似,区别是结果仅保留叶节点
|
|
195
|
-
*
|
|
196
|
-
* 比如:
|
|
197
|
-
*
|
|
198
|
-
* flattenTreeWithLeafNodes([
|
|
199
|
-
* {
|
|
200
|
-
* id: 1,
|
|
201
|
-
* children: [
|
|
202
|
-
* { id: 2 },
|
|
203
|
-
* { id: 3 },
|
|
204
|
-
* ]
|
|
205
|
-
* }
|
|
206
|
-
* ], item => item.id); // 输出为 [2, 3]
|
|
207
|
-
*
|
|
208
|
-
* @param tree
|
|
209
|
-
* @param mapper
|
|
210
|
-
*/
|
|
211
|
-
export declare function flattenTreeWithLeafNodes<T extends TreeItem>(tree: Array<T>): Array<T>;
|
|
212
|
-
export declare function flattenTreeWithLeafNodes<T extends TreeItem, U>(tree: Array<T>, mapper: (value: T, index: number) => U): Array<U>;
|
|
213
|
-
/**
|
|
214
|
-
* 操作树,遵循 imutable, 每次返回一个新的树。
|
|
215
|
-
* 类似数组的 splice 不同的地方这个方法不修改原始数据,
|
|
216
|
-
* 同时第二个参数不是下标,而是下标数组,分别代表每一层的下标。
|
|
217
|
-
*
|
|
218
|
-
* 至于如何获取下标数组,请查看 findTreeIndex
|
|
219
|
-
*
|
|
220
|
-
* @param tree
|
|
221
|
-
* @param idx
|
|
222
|
-
* @param deleteCount
|
|
223
|
-
* @param ...items
|
|
224
|
-
*/
|
|
225
|
-
export declare function spliceTree<T extends TreeItem>(tree: Array<T>, idx: Array<number> | number, deleteCount?: number, ...items: Array<T>): Array<T>;
|
|
226
|
-
/**
|
|
227
|
-
* 计算树的深度
|
|
228
|
-
* @param tree
|
|
229
|
-
*/
|
|
230
|
-
export declare function getTreeDepth<T extends TreeItem>(tree: Array<T>): number;
|
|
231
|
-
/**
|
|
232
|
-
* 从树中获取某个值的所有祖先
|
|
233
|
-
* @param tree
|
|
234
|
-
* @param value
|
|
235
|
-
*/
|
|
236
|
-
export declare function getTreeAncestors<T extends TreeItem>(tree: Array<T>, value: T, includeSelf?: boolean): Array<T> | null;
|
|
237
|
-
/**
|
|
238
|
-
* 从树中获取某个值的上级
|
|
239
|
-
* @param tree
|
|
240
|
-
* @param value
|
|
241
|
-
*/
|
|
242
|
-
export declare function getTreeParent<T extends TreeItem>(tree: Array<T>, value: T): T | null;
|
|
243
|
-
export declare function ucFirst(str?: string): string | undefined;
|
|
244
|
-
export declare function lcFirst(str?: string): string;
|
|
245
|
-
export declare function camel(str?: string): string;
|
|
246
|
-
export declare function getWidthRate(value: any, strictMode?: boolean): number;
|
|
247
|
-
export declare function getLevelFromClassName(value: string, defaultValue?: string): string;
|
|
248
|
-
export declare function pickEventsProps(props: any): any;
|
|
249
|
-
export declare const autobind: typeof autobindMethod;
|
|
250
|
-
export declare const bulkBindFunctions: <T extends {
|
|
251
|
-
[propName: string]: any;
|
|
252
|
-
}>(context: T, funNames: FunctionPropertyNames<T>[]) => void;
|
|
253
|
-
export declare function sortArray<T extends any>(items: Array<T>, field: string, dir: -1 | 1): Array<T>;
|
|
254
|
-
export declare function hasFile(object: any): boolean;
|
|
255
|
-
export declare function qsstringify(data: any, options?: any, keepEmptyArray?: boolean): string;
|
|
256
|
-
export declare function qsparse(data: string, options?: any): qs.ParsedQs;
|
|
257
|
-
export declare function object2formData(data: any, options?: any, fd?: FormData): any;
|
|
258
|
-
export declare function chainFunctions(...fns: Array<(...args: Array<any>) => void>): (...args: Array<any>) => void;
|
|
259
|
-
export declare function chainEvents(props: any, schema: any): any;
|
|
260
|
-
export declare function mapObject(value: any, fn: Function, skipFn?: (value: any) => boolean): any;
|
|
261
|
-
export declare function loadScript(src: string): Promise<void>;
|
|
262
|
-
export declare class SkipOperation extends Error {
|
|
263
|
-
}
|
|
264
|
-
/**
|
|
265
|
-
* 深度查找具有某个 key 名字段的对象,实际实现是 internalFindObjectsWithKey,这里包一层是为了做循环引用检测
|
|
266
|
-
* @param obj
|
|
267
|
-
* @param key
|
|
268
|
-
*/
|
|
269
|
-
export declare function findObjectsWithKey(obj: any, key: string): any[];
|
|
270
|
-
/**
|
|
271
|
-
* 获取浏览器滚动条宽度 https://stackoverflow.com/a/13382873
|
|
272
|
-
*/
|
|
273
|
-
export declare function getScrollbarWidth(): number;
|
|
274
|
-
export declare function getPropValue<T extends {
|
|
275
|
-
value?: any;
|
|
276
|
-
name?: string;
|
|
277
|
-
data?: any;
|
|
278
|
-
defaultValue?: any;
|
|
279
|
-
}>(props: T, getter?: (props: T) => any, canAccessSuper?: boolean): any;
|
|
280
|
-
export declare function detectPropValueChanged<T extends {
|
|
281
|
-
value?: any;
|
|
282
|
-
name?: string;
|
|
283
|
-
data?: any;
|
|
284
|
-
defaultValue?: any;
|
|
285
|
-
}>(props: T, prevProps: T, onChange: (value: any) => void, getter?: (props: T) => any): void;
|
|
286
|
-
export declare function removeHTMLTag(str: string): string;
|
|
287
|
-
/**
|
|
288
|
-
* 将路径格式的value转换成普通格式的value值
|
|
289
|
-
*
|
|
290
|
-
* @example
|
|
291
|
-
*
|
|
292
|
-
* 'a/b/c' => 'c';
|
|
293
|
-
* {label: 'A/B/C', value: 'a/b/c'} => {label: 'C', value: 'c'};
|
|
294
|
-
* 'a/b/c,a/d' => 'c,d';
|
|
295
|
-
* ['a/b/c', 'a/d'] => ['c', 'd'];
|
|
296
|
-
* [{label: 'A/B/C', value: 'a/b/c'},{label: 'A/D', value: 'a/d'}] => [{label: 'C', value: 'c'},{label: 'D', value: 'd'}]
|
|
297
|
-
*/
|
|
298
|
-
export declare function normalizeNodePath(value: any, enableNodePath: boolean, labelField?: string, valueField?: string, pathSeparator?: string, delimiter?: string): {
|
|
299
|
-
nodeValueArray: any[];
|
|
300
|
-
nodePathArray: any[];
|
|
301
|
-
};
|
|
302
|
-
export declare function isClickOnInput(e: React.MouseEvent<HTMLElement>): boolean;
|
|
303
|
-
export declare function hashCode(s: string): number;
|
|
304
|
-
/**
|
|
305
|
-
* 遍历 schema
|
|
306
|
-
* @param json
|
|
307
|
-
* @param mapper
|
|
308
|
-
*/
|
|
309
|
-
export declare function JSONTraverse(json: any, mapper: (value: any, key: string | number, host: Object) => any): void;
|
|
310
|
-
export declare function convertArrayValueToMoment(value: number[], types: string[], mom: moment.Moment): moment.Moment;
|
|
311
|
-
export declare function getRange(min: number, max: number, step?: number): number[];
|
|
312
|
-
export declare function repeatCount(count: number, iterator: (index: number) => any): any[];
|
|
313
|
-
export declare function isNumeric(value: any): boolean;
|
|
314
|
-
/**
|
|
315
|
-
* 获取URL链接中的query参数(包含hash mode)
|
|
316
|
-
*
|
|
317
|
-
* @param location Location对象,或者类Location结构的对象
|
|
318
|
-
*/
|
|
319
|
-
export declare function parseQuery(location?: Location | {
|
|
320
|
-
query?: any;
|
|
321
|
-
search?: any;
|
|
322
|
-
[propName: string]: any;
|
|
323
|
-
}): Record<string, any>;
|