@nocobase/flow-engine 2.0.0-alpha.3 → 2.0.0-alpha.30
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/lib/BlockScopedFlowEngine.d.ts +23 -0
- package/lib/BlockScopedFlowEngine.js +90 -0
- package/lib/FlowContextProvider.d.ts +2 -2
- package/lib/FlowContextProvider.js +3 -3
- package/lib/FlowDefinition.d.ts +4 -2
- package/lib/JSRunner.js +3 -0
- package/lib/ViewScopedFlowEngine.d.ts +1 -1
- package/lib/components/FieldModelRenderer.js +10 -4
- package/lib/components/FieldSkeleton.d.ts +10 -0
- package/lib/components/FieldSkeleton.js +64 -0
- package/lib/components/FlowContextSelector.js +7 -2
- package/lib/components/FlowModelRenderer.d.ts +2 -5
- package/lib/components/FlowModelRenderer.js +16 -47
- package/lib/components/FormItem.js +5 -1
- package/lib/{runjs-context/snippets/global/requireAsync.snippet.d.ts → components/dnd/findModelUidPosition.d.ts} +4 -7
- package/lib/{runjs-context/snippets/scene/jsblock/jsx-mount.snippet.js → components/dnd/findModelUidPosition.js} +23 -19
- package/lib/components/dnd/gridDragPlanner.d.ts +130 -0
- package/lib/components/dnd/gridDragPlanner.js +497 -0
- package/lib/components/dnd/index.d.ts +2 -2
- package/lib/components/dnd/index.js +5 -5
- package/lib/components/settings/independents/dropdown/FlowsDropdownButton.js +2 -2
- package/lib/components/settings/wrappers/contextual/DefaultSettingsIcon.js +17 -5
- package/lib/components/settings/wrappers/contextual/FlowsContextMenu.js +2 -2
- package/lib/components/settings/wrappers/contextual/StepSettingsDialog.js +7 -1
- package/lib/components/variables/VariableInput.js +16 -2
- package/lib/components/variables/VariableTag.js +43 -2
- package/lib/components/variables/types.d.ts +2 -0
- package/lib/data-source/index.d.ts +12 -4
- package/lib/data-source/index.js +19 -13
- package/lib/data-source/sortCollectionsByInherits.d.ts +10 -0
- package/lib/data-source/sortCollectionsByInherits.js +71 -0
- package/lib/executor/FlowExecutor.d.ts +4 -5
- package/lib/executor/FlowExecutor.js +135 -100
- package/lib/flowContext.d.ts +33 -5
- package/lib/flowContext.js +193 -76
- package/lib/flowEngine.d.ts +8 -1
- package/lib/flowEngine.js +18 -6
- package/lib/flowSettings.d.ts +2 -1
- package/lib/flowSettings.js +12 -8
- package/lib/hooks/useApplyAutoFlows.js +2 -1
- package/lib/index.d.ts +7 -1
- package/lib/index.js +32 -3
- package/lib/locale/en-US.json +4 -2
- package/lib/locale/index.d.ts +4 -0
- package/lib/locale/zh-CN.json +4 -2
- package/lib/models/CollectionFieldModel.d.ts +2 -0
- package/lib/models/CollectionFieldModel.js +43 -3
- package/lib/models/flowModel.d.ts +28 -29
- package/lib/models/flowModel.js +114 -92
- package/lib/models/forkFlowModel.d.ts +4 -4
- package/lib/models/forkFlowModel.js +32 -8
- package/lib/provider.d.ts +3 -1
- package/lib/provider.js +7 -5
- package/lib/resources/multiRecordResource.js +2 -0
- package/lib/resources/singleRecordResource.js +1 -0
- package/lib/resources/sqlResource.d.ts +1 -0
- package/lib/resources/sqlResource.js +20 -24
- package/lib/runjs-context/contexts/FormJSFieldItemRunJSContext.d.ts +1 -6
- package/lib/runjs-context/contexts/FormJSFieldItemRunJSContext.js +27 -20
- package/lib/runjs-context/contexts/JSBlockRunJSContext.d.ts +1 -6
- package/lib/runjs-context/contexts/JSBlockRunJSContext.js +46 -33
- package/lib/runjs-context/contexts/JSCollectionActionRunJSContext.d.ts +1 -2
- package/lib/runjs-context/contexts/JSCollectionActionRunJSContext.js +14 -15
- package/lib/runjs-context/contexts/{LinkageRunJSContext.d.ts → JSColumnRunJSContext.d.ts} +6 -3
- package/lib/runjs-context/contexts/JSColumnRunJSContext.js +78 -0
- package/lib/runjs-context/contexts/JSFieldRunJSContext.d.ts +1 -6
- package/lib/runjs-context/contexts/JSFieldRunJSContext.js +28 -24
- package/lib/runjs-context/contexts/JSItemRunJSContext.d.ts +1 -6
- package/lib/runjs-context/contexts/JSItemRunJSContext.js +24 -20
- package/lib/runjs-context/contexts/JSRecordActionRunJSContext.d.ts +1 -2
- package/lib/runjs-context/contexts/JSRecordActionRunJSContext.js +16 -17
- package/lib/runjs-context/contexts/base.d.ts +9 -0
- package/lib/runjs-context/contexts/base.js +183 -0
- package/lib/runjs-context/helpers.d.ts +5 -2
- package/lib/runjs-context/helpers.js +36 -27
- package/lib/runjs-context/registry.d.ts +7 -4
- package/lib/runjs-context/registry.js +10 -42
- package/lib/runjs-context/setup.d.ts +9 -0
- package/lib/runjs-context/setup.js +82 -0
- package/lib/runjs-context/snippets/global/{copy-record-json.snippet.js → api-request.snippet.js} +25 -10
- package/lib/runjs-context/snippets/global/clipboard-copy-text.snippet.js +61 -0
- package/lib/runjs-context/snippets/global/{view-navigation-push.snippet.js → import-esm.snippet.js} +26 -12
- package/lib/runjs-context/snippets/global/message-error.snippet.js +6 -0
- package/lib/runjs-context/snippets/global/message-success.snippet.js +6 -0
- package/lib/runjs-context/snippets/global/notification-open.snippet.d.ts +3 -8
- package/lib/runjs-context/snippets/global/notification-open.snippet.js +8 -1
- package/lib/runjs-context/snippets/global/open-view-dialog.snippet.js +10 -3
- package/lib/runjs-context/snippets/global/open-view-drawer.snippet.js +10 -3
- package/lib/runjs-context/snippets/global/query-selector.snippet.js +53 -0
- package/lib/runjs-context/snippets/global/require-amd.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/global/{requireAsync.snippet.js → require-amd.snippet.js} +16 -13
- package/lib/runjs-context/snippets/global/window-open.snippet.d.ts +3 -8
- package/lib/runjs-context/snippets/global/window-open.snippet.js +8 -1
- package/lib/runjs-context/snippets/index.d.ts +14 -3
- package/lib/runjs-context/snippets/index.js +161 -40
- package/lib/runjs-context/snippets/scene/block/add-event-listener.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/{jsblock → block}/add-event-listener.snippet.js +11 -2
- package/lib/runjs-context/snippets/scene/block/api-fetch-render-list.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/block/api-fetch-render-list.snippet.js +64 -0
- package/lib/runjs-context/snippets/scene/block/chartjs-bar.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/block/chartjs-bar.snippet.js +99 -0
- package/lib/runjs-context/snippets/{libs → scene/block}/echarts-init.snippet.js +24 -7
- package/lib/runjs-context/snippets/scene/block/render-button-handler.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/{jsblock → block}/render-button-handler.snippet.js +17 -9
- package/lib/runjs-context/snippets/scene/block/render-iframe.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/block/render-iframe.snippet.js +57 -0
- package/lib/runjs-context/snippets/scene/block/render-info-card.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/block/render-info-card.snippet.js +71 -0
- package/lib/runjs-context/snippets/scene/block/render-react-jsx.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/{jsblock/render-card.snippet.js → block/render-react-jsx.snippet.js} +26 -13
- package/lib/runjs-context/snippets/scene/block/render-react.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/{jsblock → block}/render-react.snippet.js +18 -17
- package/lib/runjs-context/snippets/scene/block/render-statistics.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/block/render-statistics.snippet.js +95 -0
- package/lib/runjs-context/snippets/scene/block/render-timeline.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/block/render-timeline.snippet.js +84 -0
- package/lib/runjs-context/snippets/scene/block/resource-example.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/block/resource-example.snippet.js +60 -0
- package/lib/runjs-context/snippets/scene/block/three-users-orbit.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/block/three-users-orbit.snippet.js +283 -0
- package/lib/runjs-context/snippets/scene/block/vue-component.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/block/vue-component.snippet.js +124 -0
- package/lib/runjs-context/snippets/scene/detail/color-by-value.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/{jsfield → detail}/color-by-value.snippet.js +13 -3
- package/lib/runjs-context/snippets/scene/detail/copy-to-clipboard.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/{global → scene/detail}/copy-to-clipboard.snippet.js +28 -6
- package/lib/runjs-context/snippets/scene/detail/format-number.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/{jsfield → detail}/format-number.snippet.js +13 -3
- package/lib/runjs-context/snippets/scene/detail/innerHTML-value.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/{jsfield → detail}/innerHTML-value.snippet.js +13 -3
- package/lib/runjs-context/snippets/scene/detail/percentage-bar.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/detail/percentage-bar.snippet.js +82 -0
- package/lib/runjs-context/snippets/scene/detail/relative-time.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/detail/relative-time.snippet.js +80 -0
- package/lib/runjs-context/snippets/scene/detail/status-tag.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/detail/status-tag.snippet.js +74 -0
- package/lib/runjs-context/snippets/scene/form/calculate-total.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/form/calculate-total.snippet.js +63 -0
- package/lib/runjs-context/snippets/scene/form/cascade-select.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/form/cascade-select.snippet.js +81 -0
- package/lib/runjs-context/snippets/scene/form/conditional-required.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/form/conditional-required.snippet.js +64 -0
- package/lib/runjs-context/snippets/scene/form/copy-field-values.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/form/copy-field-values.snippet.js +74 -0
- package/lib/runjs-context/snippets/scene/form/render-basic.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/{jsitem → form}/render-basic.snippet.js +11 -2
- package/lib/runjs-context/snippets/scene/form/set-disabled.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/{linkage → form}/set-disabled.snippet.js +12 -3
- package/lib/runjs-context/snippets/scene/form/set-field-value.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/{linkage → form}/set-field-value.snippet.js +12 -3
- package/lib/runjs-context/snippets/scene/form/set-required.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/{linkage → form}/set-required.snippet.js +12 -3
- package/lib/runjs-context/snippets/scene/form/toggle-multiple-fields.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/form/toggle-multiple-fields.snippet.js +67 -0
- package/lib/runjs-context/snippets/scene/form/toggle-visible.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/{linkage → form}/toggle-visible.snippet.js +12 -3
- package/lib/runjs-context/snippets/scene/table/cell-open-dialog.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/table/cell-open-dialog.snippet.js +64 -0
- package/lib/runjs-context/snippets/scene/table/collection-selected-count.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/{actions → table}/collection-selected-count.snippet.js +11 -2
- package/lib/runjs-context/snippets/scene/table/concat-fields.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/table/concat-fields.snippet.js +79 -0
- package/lib/runjs-context/snippets/scene/table/destroy-selected.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/{global/log-json-record.snippet.js → scene/table/destroy-selected.snippet.js} +24 -11
- package/lib/runjs-context/snippets/scene/table/export-selected-json.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/table/export-selected-json.snippet.js +64 -0
- package/lib/runjs-context/snippets/scene/table/iterate-selected-rows.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/{actions → table}/iterate-selected-rows.snippet.js +11 -2
- package/lib/runjs-context/snippets/types.d.ts +9 -1
- package/lib/types.d.ts +28 -3
- package/lib/types.js +4 -3
- package/lib/utils/buildSettingsViewInputArgs.d.ts +19 -0
- package/lib/utils/buildSettingsViewInputArgs.js +75 -0
- package/lib/utils/createEphemeralContext.d.ts +13 -0
- package/lib/utils/createEphemeralContext.js +140 -0
- package/lib/utils/index.d.ts +3 -2
- package/lib/utils/index.js +5 -2
- package/lib/utils/jsxTransform.d.ts +15 -0
- package/lib/utils/jsxTransform.js +68 -0
- package/lib/utils/params-resolvers.js +3 -3
- package/lib/utils/safeGlobals.d.ts +5 -3
- package/lib/utils/safeGlobals.js +40 -0
- package/lib/utils/schema-utils.js +2 -2
- package/lib/utils/serverContextParams.d.ts +1 -0
- package/lib/utils/variablesParams.d.ts +9 -5
- package/lib/utils/variablesParams.js +47 -36
- package/lib/views/PageComponent.js +2 -1
- package/lib/views/createViewMeta.d.ts +29 -1
- package/lib/views/createViewMeta.js +338 -72
- package/lib/views/index.d.ts +1 -0
- package/lib/views/index.js +3 -0
- package/lib/views/useDialog.d.ts +8 -8
- package/lib/views/useDialog.js +8 -7
- package/lib/views/useDrawer.d.ts +8 -8
- package/lib/views/useDrawer.js +40 -26
- package/lib/views/usePage.d.ts +8 -8
- package/lib/views/usePage.js +8 -7
- package/package.json +5 -3
- package/src/BlockScopedFlowEngine.ts +86 -0
- package/src/FlowContextProvider.tsx +4 -2
- package/src/JSRunner.ts +3 -0
- package/src/ViewScopedFlowEngine.ts +1 -1
- package/src/__tests__/JSRunner.test.ts +62 -53
- package/src/__tests__/blockScopedFlowEngine.test.ts +154 -0
- package/src/__tests__/createViewMeta.popup.test.ts +132 -0
- package/src/__tests__/flow-engine.test.ts +3 -0
- package/src/__tests__/flowContextCreateJSRunner.test.ts +163 -0
- package/src/__tests__/flowEngine.saveModel.test.ts +4 -0
- package/src/__tests__/flowRunJSContextDefine.test.ts +508 -0
- package/src/__tests__/globalFlowRegistry.test.ts +1 -1
- package/src/__tests__/runjsContext.test.ts +216 -35
- package/src/__tests__/runjsContextImplementations.test.ts +217 -0
- package/src/__tests__/runjsContextRuntime.test.ts +269 -0
- package/src/__tests__/runjsEdgeCases.test.ts +281 -0
- package/src/__tests__/runjsLocales.test.ts +36 -0
- package/src/__tests__/runjsRuntimeFeatures.test.ts +449 -0
- package/src/__tests__/runjsSnippets.test.ts +140 -0
- package/src/__tests__/viewScopedFlowEngine.test.ts +3 -3
- package/src/components/DynamicFlowsEditor.tsx +3 -4
- package/src/components/FieldModelRenderer.tsx +16 -5
- package/src/components/FieldSkeleton.tsx +27 -0
- package/src/components/FlowContextSelector.tsx +6 -2
- package/src/components/FlowModelRenderer.tsx +30 -78
- package/src/components/FormItem.tsx +8 -1
- package/src/components/__tests__/flow-model-render-error-fallback.test.tsx +5 -5
- package/src/components/__tests__/gridDragPlanner.test.ts +494 -0
- package/src/components/dnd/README.md +149 -0
- package/src/components/dnd/findModelUidPosition.ts +26 -0
- package/src/components/dnd/gridDragPlanner.ts +659 -0
- package/src/components/dnd/index.tsx +3 -3
- package/src/components/settings/independents/dropdown/FlowsDropdownButton.tsx +1 -1
- package/src/components/settings/wrappers/contextual/DefaultSettingsIcon.tsx +17 -4
- package/src/components/settings/wrappers/contextual/FlowsContextMenu.tsx +1 -1
- package/src/components/settings/wrappers/contextual/StepSettingsDialog.tsx +14 -1
- package/src/components/settings/wrappers/contextual/__tests__/DefaultSettingsIcon.test.tsx +424 -0
- package/src/components/subModel/__tests__/AddSubModelButton.test.tsx +5 -7
- package/src/components/variables/VariableInput.tsx +22 -2
- package/src/components/variables/VariableTag.tsx +54 -2
- package/src/components/variables/types.ts +2 -0
- package/src/data-source/__tests__/sortCollectionsByInherits.test.ts +125 -0
- package/src/data-source/index.ts +17 -11
- package/src/data-source/sortCollectionsByInherits.ts +61 -0
- package/src/executor/FlowExecutor.ts +178 -121
- package/src/executor/__tests__/ctx-defs-injection.test.ts +197 -0
- package/src/executor/__tests__/flowExecutor.test.ts +151 -5
- package/src/flowContext.ts +266 -97
- package/src/flowEngine.ts +21 -6
- package/src/flowSettings.ts +9 -4
- package/src/hooks/useApplyAutoFlows.ts +3 -1
- package/src/index.ts +12 -1
- package/src/locale/en-US.json +4 -2
- package/src/locale/zh-CN.json +4 -2
- package/src/models/CollectionFieldModel.tsx +43 -4
- package/src/models/__tests__/flowModel.getFlows.sort.test.ts +4 -4
- package/src/models/__tests__/flowModel.test.ts +234 -111
- package/src/models/__tests__/forkFlowModel.test.ts +22 -7
- package/src/models/flowModel.tsx +149 -125
- package/src/models/forkFlowModel.ts +41 -8
- package/src/provider.tsx +10 -7
- package/src/resources/multiRecordResource.ts +2 -0
- package/src/resources/singleRecordResource.ts +1 -0
- package/src/resources/sqlResource.ts +20 -25
- package/src/runjs-context/contexts/FormJSFieldItemRunJSContext.ts +28 -21
- package/src/runjs-context/contexts/JSBlockRunJSContext.ts +46 -34
- package/src/runjs-context/contexts/JSCollectionActionRunJSContext.ts +15 -16
- package/src/runjs-context/contexts/JSColumnRunJSContext.ts +58 -0
- package/src/runjs-context/contexts/JSFieldRunJSContext.ts +30 -25
- package/src/runjs-context/contexts/JSItemRunJSContext.ts +25 -21
- package/src/runjs-context/contexts/JSRecordActionRunJSContext.ts +17 -18
- package/src/runjs-context/contexts/base.ts +171 -0
- package/src/runjs-context/helpers.ts +32 -30
- package/src/runjs-context/registry.ts +16 -47
- package/src/runjs-context/setup.ts +51 -0
- package/src/runjs-context/snippets/global/api-request.snippet.ts +38 -0
- package/src/runjs-context/snippets/global/clipboard-copy-text.snippet.ts +42 -0
- package/src/runjs-context/snippets/global/import-esm.snippet.ts +39 -0
- package/src/runjs-context/snippets/global/message-error.snippet.ts +6 -0
- package/src/runjs-context/snippets/global/message-success.snippet.ts +6 -0
- package/src/runjs-context/snippets/global/notification-open.snippet.ts +11 -1
- package/src/runjs-context/snippets/global/open-view-dialog.snippet.ts +10 -3
- package/src/runjs-context/snippets/global/open-view-drawer.snippet.ts +10 -3
- package/src/runjs-context/snippets/global/query-selector.snippet.ts +34 -0
- package/src/runjs-context/snippets/global/require-amd.snippet.ts +30 -0
- package/src/runjs-context/snippets/global/window-open.snippet.ts +11 -1
- package/src/runjs-context/snippets/index.ts +177 -39
- package/src/runjs-context/snippets/scene/{jsblock → block}/add-event-listener.snippet.ts +14 -2
- package/src/runjs-context/snippets/scene/block/api-fetch-render-list.snippet.ts +45 -0
- package/src/runjs-context/snippets/scene/block/chartjs-bar.snippet.ts +80 -0
- package/src/runjs-context/snippets/scene/block/echarts-init.snippet.ts +44 -0
- package/src/runjs-context/snippets/scene/block/render-button-handler.snippet.ts +35 -0
- package/src/runjs-context/snippets/scene/block/render-iframe.snippet.ts +38 -0
- package/src/runjs-context/snippets/scene/block/render-info-card.snippet.ts +52 -0
- package/src/runjs-context/snippets/scene/block/render-react-jsx.snippet.ts +39 -0
- package/src/runjs-context/snippets/scene/block/render-react.snippet.ts +38 -0
- package/src/runjs-context/snippets/scene/block/render-statistics.snippet.ts +76 -0
- package/src/runjs-context/snippets/scene/block/render-timeline.snippet.ts +65 -0
- package/src/runjs-context/snippets/scene/block/resource-example.snippet.ts +46 -0
- package/src/runjs-context/snippets/scene/block/three-users-orbit.snippet.ts +264 -0
- package/src/runjs-context/snippets/scene/block/vue-component.snippet.ts +105 -0
- package/src/runjs-context/snippets/scene/detail/color-by-value.snippet.ts +33 -0
- package/src/runjs-context/snippets/scene/detail/copy-to-clipboard.snippet.ts +45 -0
- package/src/runjs-context/snippets/scene/detail/format-number.snippet.ts +32 -0
- package/src/runjs-context/snippets/scene/detail/innerHTML-value.snippet.ts +31 -0
- package/src/runjs-context/snippets/scene/detail/percentage-bar.snippet.ts +63 -0
- package/src/runjs-context/snippets/scene/detail/relative-time.snippet.ts +61 -0
- package/src/runjs-context/snippets/scene/detail/status-tag.snippet.ts +55 -0
- package/src/runjs-context/snippets/scene/form/calculate-total.snippet.ts +44 -0
- package/src/runjs-context/snippets/scene/form/cascade-select.snippet.ts +62 -0
- package/src/runjs-context/snippets/scene/form/conditional-required.snippet.ts +45 -0
- package/src/runjs-context/snippets/scene/form/copy-field-values.snippet.ts +55 -0
- package/src/runjs-context/snippets/scene/{jsitem → form}/render-basic.snippet.ts +14 -2
- package/src/runjs-context/snippets/scene/{linkage → form}/set-disabled.snippet.ts +15 -3
- package/src/runjs-context/snippets/scene/{linkage → form}/set-field-value.snippet.ts +15 -3
- package/src/runjs-context/snippets/scene/{linkage → form}/set-required.snippet.ts +15 -3
- package/src/runjs-context/snippets/scene/form/toggle-multiple-fields.snippet.ts +48 -0
- package/src/runjs-context/snippets/scene/{linkage → form}/toggle-visible.snippet.ts +15 -3
- package/src/runjs-context/snippets/scene/table/cell-open-dialog.snippet.ts +45 -0
- package/src/runjs-context/snippets/scene/{actions → table}/collection-selected-count.snippet.ts +14 -2
- package/src/runjs-context/snippets/scene/table/concat-fields.snippet.ts +60 -0
- package/src/runjs-context/snippets/scene/table/destroy-selected.snippet.ts +36 -0
- package/src/runjs-context/snippets/scene/table/export-selected-json.snippet.ts +45 -0
- package/src/runjs-context/snippets/scene/{actions → table}/iterate-selected-rows.snippet.ts +14 -2
- package/src/runjs-context/snippets/types.ts +5 -1
- package/src/types.ts +34 -0
- package/src/utils/__tests__/jsxTransform.test.ts +38 -0
- package/src/utils/__tests__/safeGlobals.test.ts +22 -1
- package/src/utils/buildSettingsViewInputArgs.ts +72 -0
- package/src/utils/createEphemeralContext.ts +142 -0
- package/src/utils/index.ts +2 -2
- package/src/utils/jsxTransform.ts +39 -0
- package/src/utils/params-resolvers.ts +2 -2
- package/src/utils/safeGlobals.ts +49 -3
- package/src/utils/schema-utils.ts +1 -1
- package/src/utils/serverContextParams.ts +1 -0
- package/src/utils/variablesParams.ts +50 -38
- package/src/views/PageComponent.tsx +1 -1
- package/src/views/createViewMeta.ts +393 -70
- package/src/views/index.tsx +1 -0
- package/src/views/useDialog.tsx +12 -10
- package/src/views/useDrawer.tsx +60 -36
- package/src/views/usePage.tsx +13 -10
- package/lib/components/dnd/getMousePositionOnElement.d.ts +0 -50
- package/lib/components/dnd/getMousePositionOnElement.js +0 -95
- package/lib/components/dnd/moveBlock.d.ts +0 -33
- package/lib/components/dnd/moveBlock.js +0 -302
- package/lib/runjs-context/contexts/FlowRunJSContext.d.ts +0 -38
- package/lib/runjs-context/contexts/FlowRunJSContext.js +0 -217
- package/lib/runjs-context/contexts/LinkageRunJSContext.js +0 -62
- package/lib/runjs-context/index.d.ts +0 -19
- package/lib/runjs-context/index.js +0 -57
- package/lib/runjs-context/snippets/global/api-request-get.snippet.d.ts +0 -16
- package/lib/runjs-context/snippets/global/api-request-get.snippet.js +0 -42
- package/lib/runjs-context/snippets/global/api-request-post.snippet.d.ts +0 -16
- package/lib/runjs-context/snippets/global/api-request-post.snippet.js +0 -42
- package/lib/runjs-context/snippets/global/console-log-ctx.snippet.d.ts +0 -16
- package/lib/runjs-context/snippets/global/console-log-ctx.snippet.js +0 -41
- package/lib/runjs-context/snippets/global/sleep.snippet.d.ts +0 -16
- package/lib/runjs-context/snippets/global/sleep.snippet.js +0 -43
- package/lib/runjs-context/snippets/global/try-catch-async.snippet.d.ts +0 -16
- package/lib/runjs-context/snippets/global/try-catch-async.snippet.js +0 -44
- package/lib/runjs-context/snippets/libs/echarts-init.snippet.d.ts +0 -15
- package/lib/runjs-context/snippets/scene/actions/collection-selected-count.snippet.d.ts +0 -15
- package/lib/runjs-context/snippets/scene/actions/iterate-selected-rows.snippet.d.ts +0 -15
- package/lib/runjs-context/snippets/scene/actions/record-id-message.snippet.d.ts +0 -15
- package/lib/runjs-context/snippets/scene/actions/record-id-message.snippet.js +0 -43
- package/lib/runjs-context/snippets/scene/actions/run-action-basic.snippet.d.ts +0 -15
- package/lib/runjs-context/snippets/scene/actions/run-action-basic.snippet.js +0 -40
- package/lib/runjs-context/snippets/scene/jsblock/add-event-listener.snippet.d.ts +0 -15
- package/lib/runjs-context/snippets/scene/jsblock/append-style.snippet.d.ts +0 -15
- package/lib/runjs-context/snippets/scene/jsblock/append-style.snippet.js +0 -42
- package/lib/runjs-context/snippets/scene/jsblock/jsx-mount.snippet.d.ts +0 -15
- package/lib/runjs-context/snippets/scene/jsblock/jsx-unmount.snippet.d.ts +0 -15
- package/lib/runjs-context/snippets/scene/jsblock/jsx-unmount.snippet.js +0 -41
- package/lib/runjs-context/snippets/scene/jsblock/render-basic.snippet.d.ts +0 -15
- package/lib/runjs-context/snippets/scene/jsblock/render-basic.snippet.js +0 -41
- package/lib/runjs-context/snippets/scene/jsblock/render-button-handler.snippet.d.ts +0 -15
- package/lib/runjs-context/snippets/scene/jsblock/render-react.snippet.d.ts +0 -15
- package/lib/runjs-context/snippets/scene/jsfield/color-by-value.snippet.d.ts +0 -15
- package/lib/runjs-context/snippets/scene/jsfield/format-number.snippet.d.ts +0 -15
- package/lib/runjs-context/snippets/scene/jsfield/innerHTML-value.snippet.d.ts +0 -15
- package/lib/runjs-context/snippets/scene/jsitem/render-basic.snippet.d.ts +0 -15
- package/lib/runjs-context/snippets/scene/linkage/set-disabled.snippet.d.ts +0 -15
- package/lib/runjs-context/snippets/scene/linkage/set-field-value.snippet.d.ts +0 -15
- package/lib/runjs-context/snippets/scene/linkage/set-required.snippet.d.ts +0 -15
- package/lib/runjs-context/snippets/scene/linkage/toggle-visible.snippet.d.ts +0 -15
- package/src/components/dnd/getMousePositionOnElement.ts +0 -115
- package/src/components/dnd/moveBlock.ts +0 -379
- package/src/runjs-context/contexts/FlowRunJSContext.ts +0 -190
- package/src/runjs-context/contexts/LinkageRunJSContext.ts +0 -35
- package/src/runjs-context/index.ts +0 -20
- package/src/runjs-context/snippets/global/api-request-get.snippet.ts +0 -20
- package/src/runjs-context/snippets/global/api-request-post.snippet.ts +0 -20
- package/src/runjs-context/snippets/global/console-log-ctx.snippet.ts +0 -19
- package/src/runjs-context/snippets/global/copy-record-json.snippet.ts +0 -21
- package/src/runjs-context/snippets/global/copy-to-clipboard.snippet.ts +0 -21
- package/src/runjs-context/snippets/global/log-json-record.snippet.ts +0 -21
- package/src/runjs-context/snippets/global/requireAsync.snippet.ts +0 -24
- package/src/runjs-context/snippets/global/sleep.snippet.ts +0 -21
- package/src/runjs-context/snippets/global/try-catch-async.snippet.ts +0 -22
- package/src/runjs-context/snippets/global/view-navigation-push.snippet.ts +0 -23
- package/src/runjs-context/snippets/libs/echarts-init.snippet.ts +0 -24
- package/src/runjs-context/snippets/scene/actions/record-id-message.snippet.ts +0 -21
- package/src/runjs-context/snippets/scene/actions/run-action-basic.snippet.ts +0 -18
- package/src/runjs-context/snippets/scene/jsblock/append-style.snippet.ts +0 -20
- package/src/runjs-context/snippets/scene/jsblock/jsx-mount.snippet.ts +0 -24
- package/src/runjs-context/snippets/scene/jsblock/jsx-unmount.snippet.ts +0 -19
- package/src/runjs-context/snippets/scene/jsblock/render-basic.snippet.ts +0 -24
- package/src/runjs-context/snippets/scene/jsblock/render-button-handler.snippet.ts +0 -24
- package/src/runjs-context/snippets/scene/jsblock/render-card.snippet.ts +0 -30
- package/src/runjs-context/snippets/scene/jsblock/render-react.snippet.ts +0 -34
- package/src/runjs-context/snippets/scene/jsfield/color-by-value.snippet.ts +0 -20
- package/src/runjs-context/snippets/scene/jsfield/format-number.snippet.ts +0 -19
- package/src/runjs-context/snippets/scene/jsfield/innerHTML-value.snippet.ts +0 -18
- /package/lib/runjs-context/snippets/global/{copy-record-json.snippet.d.ts → api-request.snippet.d.ts} +0 -0
- /package/lib/runjs-context/snippets/global/{copy-to-clipboard.snippet.d.ts → clipboard-copy-text.snippet.d.ts} +0 -0
- /package/lib/runjs-context/snippets/global/{log-json-record.snippet.d.ts → import-esm.snippet.d.ts} +0 -0
- /package/lib/runjs-context/snippets/global/{view-navigation-push.snippet.d.ts → query-selector.snippet.d.ts} +0 -0
- /package/lib/runjs-context/snippets/scene/{jsblock/render-card.snippet.d.ts → block/echarts-init.snippet.d.ts} +0 -0
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
var __defProp = Object.defineProperty;
|
|
11
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
12
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
13
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
14
|
+
var __export = (target, all) => {
|
|
15
|
+
for (var name in all)
|
|
16
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
17
|
+
};
|
|
18
|
+
var __copyProps = (to, from, except, desc) => {
|
|
19
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
20
|
+
for (let key of __getOwnPropNames(from))
|
|
21
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
22
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
23
|
+
}
|
|
24
|
+
return to;
|
|
25
|
+
};
|
|
26
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
27
|
+
var export_selected_json_snippet_exports = {};
|
|
28
|
+
__export(export_selected_json_snippet_exports, {
|
|
29
|
+
default: () => export_selected_json_snippet_default
|
|
30
|
+
});
|
|
31
|
+
module.exports = __toCommonJS(export_selected_json_snippet_exports);
|
|
32
|
+
var import_JSCollectionActionRunJSContext = require("../../../contexts/JSCollectionActionRunJSContext");
|
|
33
|
+
const snippet = {
|
|
34
|
+
contexts: [import_JSCollectionActionRunJSContext.JSCollectionActionRunJSContext],
|
|
35
|
+
prefix: "sn-act-export",
|
|
36
|
+
label: "Export selected rows as JSON",
|
|
37
|
+
description: "Download selected rows as a JSON file",
|
|
38
|
+
locales: {
|
|
39
|
+
"zh-CN": {
|
|
40
|
+
label: "\u5BFC\u51FA\u9009\u4E2D\u884C\u4E3A JSON",
|
|
41
|
+
description: "\u5C06\u9009\u4E2D\u7684\u884C\u5BFC\u51FA\u4E3A JSON \u6587\u4EF6\u4E0B\u8F7D"
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
content: `
|
|
45
|
+
const rows = ctx.resource?.getSelectedRows?.() || [];
|
|
46
|
+
if (!rows.length) {
|
|
47
|
+
ctx.message.warning(ctx.t('Please select at least one row'));
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
// Create JSON file and download
|
|
52
|
+
const jsonStr = JSON.stringify(rows, null, 2);
|
|
53
|
+
const blob = new Blob([jsonStr], { type: 'application/json' });
|
|
54
|
+
const url = URL.createObjectURL(blob);
|
|
55
|
+
const link = document.createElement('a');
|
|
56
|
+
link.href = url;
|
|
57
|
+
link.download = \`export-\${new Date().toISOString().split('T')[0]}.json\`;
|
|
58
|
+
link.click();
|
|
59
|
+
URL.revokeObjectURL(url);
|
|
60
|
+
|
|
61
|
+
ctx.message.success(ctx.t('Exported {{count}} records', { count: rows.length }));
|
|
62
|
+
`
|
|
63
|
+
};
|
|
64
|
+
var export_selected_json_snippet_default = snippet;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
import type { SnippetModule } from '../../types';
|
|
10
|
+
declare const snippet: SnippetModule;
|
|
11
|
+
export default snippet;
|
|
@@ -29,10 +29,18 @@ __export(iterate_selected_rows_snippet_exports, {
|
|
|
29
29
|
default: () => iterate_selected_rows_snippet_default
|
|
30
30
|
});
|
|
31
31
|
module.exports = __toCommonJS(iterate_selected_rows_snippet_exports);
|
|
32
|
-
var
|
|
33
|
-
|
|
32
|
+
var import_JSCollectionActionRunJSContext = require("../../../contexts/JSCollectionActionRunJSContext");
|
|
33
|
+
const snippet = {
|
|
34
|
+
contexts: [import_JSCollectionActionRunJSContext.JSCollectionActionRunJSContext],
|
|
34
35
|
prefix: "sn-act-iterate",
|
|
35
36
|
label: "Iterate selected rows",
|
|
37
|
+
description: "Loop through selected rows and process each record",
|
|
38
|
+
locales: {
|
|
39
|
+
"zh-CN": {
|
|
40
|
+
label: "\u904D\u5386\u9009\u4E2D\u884C",
|
|
41
|
+
description: "\u904D\u5386\u9009\u4E2D\u884C\u5E76\u5904\u7406\u6BCF\u6761\u8BB0\u5F55"
|
|
42
|
+
}
|
|
43
|
+
},
|
|
36
44
|
content: `
|
|
37
45
|
const rows = ctx.resource?.getSelectedRows?.() || [];
|
|
38
46
|
for (const row of rows) {
|
|
@@ -41,3 +49,4 @@ for (const row of rows) {
|
|
|
41
49
|
ctx.message.success(ctx.t('Processed {{count}} rows', { count: rows.length }));
|
|
42
50
|
`
|
|
43
51
|
};
|
|
52
|
+
var iterate_selected_rows_snippet_default = snippet;
|
|
@@ -6,11 +6,19 @@
|
|
|
6
6
|
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
7
|
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
8
|
*/
|
|
9
|
+
export type SnippetContextSpecifier = string | {
|
|
10
|
+
name: string;
|
|
11
|
+
} | (new (...args: any[]) => any);
|
|
9
12
|
export type SnippetModule = {
|
|
10
13
|
content: string;
|
|
11
|
-
contexts?:
|
|
14
|
+
contexts?: SnippetContextSpecifier[];
|
|
12
15
|
versions?: string[];
|
|
16
|
+
scenes?: string[];
|
|
13
17
|
prefix?: string;
|
|
14
18
|
label?: string;
|
|
15
19
|
description?: string;
|
|
20
|
+
locales?: Record<string, {
|
|
21
|
+
label?: string;
|
|
22
|
+
description?: string;
|
|
23
|
+
}>;
|
|
16
24
|
};
|
package/lib/types.d.ts
CHANGED
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
import { ISchema } from '@formily/json-schema';
|
|
11
11
|
import { SubModelItem } from './components';
|
|
12
12
|
import { FlowContext, FlowModelContext, FlowRuntimeContext, FlowSettingsContext } from './flowContext';
|
|
13
|
+
import type { PropertyOptions } from './flowContext';
|
|
13
14
|
import type { FlowEngine } from './flowEngine';
|
|
14
15
|
import type { FlowModel } from './models';
|
|
15
16
|
/**
|
|
@@ -110,12 +111,14 @@ export declare enum ActionScene {
|
|
|
110
111
|
BLOCK_LINKAGE_RULES = 1,
|
|
111
112
|
/** 表单字段级联动规则可用 */
|
|
112
113
|
FIELD_LINKAGE_RULES = 2,
|
|
114
|
+
/** 子表单字段级联动规则可用 */
|
|
115
|
+
SUB_FORM_FIELD_LINKAGE_RULES = 3,
|
|
113
116
|
/** 详情字段级联动规则可用 */
|
|
114
|
-
DETAILS_FIELD_LINKAGE_RULES =
|
|
117
|
+
DETAILS_FIELD_LINKAGE_RULES = 4,
|
|
115
118
|
/** 按钮级联动规则可用 */
|
|
116
|
-
ACTION_LINKAGE_RULES =
|
|
119
|
+
ACTION_LINKAGE_RULES = 5,
|
|
117
120
|
/** 动态事件流可用 */
|
|
118
|
-
DYNAMIC_EVENT_FLOW =
|
|
121
|
+
DYNAMIC_EVENT_FLOW = 6
|
|
119
122
|
}
|
|
120
123
|
/**
|
|
121
124
|
* Defines a reusable action with generic model type support.
|
|
@@ -132,6 +135,18 @@ export interface ActionDefinition<TModel extends FlowModel = FlowModel, TCtx ext
|
|
|
132
135
|
uiMode?: StepUIMode | ((ctx: FlowRuntimeContext<TModel>) => StepUIMode | Promise<StepUIMode>);
|
|
133
136
|
scene?: ActionScene | ActionScene[];
|
|
134
137
|
sort?: number;
|
|
138
|
+
/**
|
|
139
|
+
* 在执行 Action 前为 ctx 定义临时属性。
|
|
140
|
+
* - 仅支持 PropertyOptions 形态(例如:{ foo: { value: 5 } });
|
|
141
|
+
* - 或函数形式(接收 ctx,返回 PropertyOptions 对象;支持 Promise)。
|
|
142
|
+
*/
|
|
143
|
+
defineProperties?: Record<string, PropertyOptions> | ((ctx: TCtx) => Record<string, PropertyOptions> | Promise<Record<string, PropertyOptions>>);
|
|
144
|
+
/**
|
|
145
|
+
* 在执行 Action 前为 ctx 定义临时方法。
|
|
146
|
+
* - 支持 JSON 形式(对象的值应为函数)
|
|
147
|
+
* - 或函数形式(接收 ctx,返回方法对象;支持 Promise)
|
|
148
|
+
*/
|
|
149
|
+
defineMethods?: Record<string, (this: TCtx, ...args: any[]) => any> | ((ctx: TCtx) => Record<string, (this: TCtx, ...args: any[]) => any> | Promise<Record<string, (this: TCtx, ...args: any[]) => any>>);
|
|
135
150
|
}
|
|
136
151
|
/**
|
|
137
152
|
* Flow 事件名称集合。
|
|
@@ -146,6 +161,15 @@ export type FlowEvent<TModel extends FlowModel = FlowModel> = FlowEventName | {
|
|
|
146
161
|
eventName: FlowEventName;
|
|
147
162
|
defaultParams?: Record<string, any>;
|
|
148
163
|
};
|
|
164
|
+
/**
|
|
165
|
+
* 事件分发选项。
|
|
166
|
+
*/
|
|
167
|
+
export interface DispatchEventOptions {
|
|
168
|
+
/** 是否顺序执行(默认并行) */
|
|
169
|
+
sequential?: boolean;
|
|
170
|
+
/** 是否使用缓存(默认 false;beforeRender 的默认值为 true,可覆盖) */
|
|
171
|
+
useCache?: boolean;
|
|
172
|
+
}
|
|
149
173
|
/**
|
|
150
174
|
* 事件定义:用于事件注册表(全局/模型类级)。
|
|
151
175
|
*/
|
|
@@ -240,6 +264,7 @@ export interface IFlowModelRepository<T extends FlowModel = FlowModel> {
|
|
|
240
264
|
}): Promise<Record<string, any>>;
|
|
241
265
|
destroy(uid: string): Promise<boolean>;
|
|
242
266
|
move(sourceId: string, targetId: string, position: 'before' | 'after'): Promise<void>;
|
|
267
|
+
duplicate(uid: string): Promise<Record<string, any> | null>;
|
|
243
268
|
}
|
|
244
269
|
/**
|
|
245
270
|
* 步骤设置对话框的属性接口
|
package/lib/types.js
CHANGED
|
@@ -32,9 +32,10 @@ module.exports = __toCommonJS(types_exports);
|
|
|
32
32
|
var ActionScene = /* @__PURE__ */ ((ActionScene2) => {
|
|
33
33
|
ActionScene2[ActionScene2["BLOCK_LINKAGE_RULES"] = 1] = "BLOCK_LINKAGE_RULES";
|
|
34
34
|
ActionScene2[ActionScene2["FIELD_LINKAGE_RULES"] = 2] = "FIELD_LINKAGE_RULES";
|
|
35
|
-
ActionScene2[ActionScene2["
|
|
36
|
-
ActionScene2[ActionScene2["
|
|
37
|
-
ActionScene2[ActionScene2["
|
|
35
|
+
ActionScene2[ActionScene2["SUB_FORM_FIELD_LINKAGE_RULES"] = 3] = "SUB_FORM_FIELD_LINKAGE_RULES";
|
|
36
|
+
ActionScene2[ActionScene2["DETAILS_FIELD_LINKAGE_RULES"] = 4] = "DETAILS_FIELD_LINKAGE_RULES";
|
|
37
|
+
ActionScene2[ActionScene2["ACTION_LINKAGE_RULES"] = 5] = "ACTION_LINKAGE_RULES";
|
|
38
|
+
ActionScene2[ActionScene2["DYNAMIC_EVENT_FLOW"] = 6] = "DYNAMIC_EVENT_FLOW";
|
|
38
39
|
return ActionScene2;
|
|
39
40
|
})(ActionScene || {});
|
|
40
41
|
// Annotate the CommonJS export names for ESM import in node:
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
import type { FlowModel } from '../models';
|
|
10
|
+
/**
|
|
11
|
+
* 统一构造设置弹窗 openView 的 inputArgs:
|
|
12
|
+
* - collectionName/dataSourceKey/filterByTk:优先从 model.context 推断;否则回退父视图 inputArgs
|
|
13
|
+
* - sourceId:优先从 resource.getSourceId();否则回退父视图 inputArgs
|
|
14
|
+
* - associationName:来自 association.resourceName 或 resource.getResourceName()
|
|
15
|
+
* - navigation:父视图 navigation 或传入的 navigationOverride
|
|
16
|
+
*/
|
|
17
|
+
export declare function buildSettingsViewInputArgs(model: FlowModel, extra?: Record<string, any>, options?: {
|
|
18
|
+
navigationOverride?: any;
|
|
19
|
+
}): Record<string, any>;
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
var __defProp = Object.defineProperty;
|
|
11
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
12
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
13
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
14
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
15
|
+
var __export = (target, all) => {
|
|
16
|
+
for (var name in all)
|
|
17
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
18
|
+
};
|
|
19
|
+
var __copyProps = (to, from, except, desc) => {
|
|
20
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
21
|
+
for (let key of __getOwnPropNames(from))
|
|
22
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
23
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
24
|
+
}
|
|
25
|
+
return to;
|
|
26
|
+
};
|
|
27
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
28
|
+
var buildSettingsViewInputArgs_exports = {};
|
|
29
|
+
__export(buildSettingsViewInputArgs_exports, {
|
|
30
|
+
buildSettingsViewInputArgs: () => buildSettingsViewInputArgs
|
|
31
|
+
});
|
|
32
|
+
module.exports = __toCommonJS(buildSettingsViewInputArgs_exports);
|
|
33
|
+
var import_variablesParams = require("./variablesParams");
|
|
34
|
+
function buildSettingsViewInputArgs(model, extra, options) {
|
|
35
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l;
|
|
36
|
+
const defaults = {};
|
|
37
|
+
try {
|
|
38
|
+
const ref = (0, import_variablesParams.inferRecordRef)(model.context);
|
|
39
|
+
if (ref == null ? void 0 : ref.collection) {
|
|
40
|
+
defaults.collectionName = ref.collection;
|
|
41
|
+
defaults.dataSourceKey = ref.dataSourceKey || "main";
|
|
42
|
+
defaults.filterByTk = ref.filterByTk;
|
|
43
|
+
}
|
|
44
|
+
const parentArgs = ((_b = (_a = model == null ? void 0 : model.context) == null ? void 0 : _a.view) == null ? void 0 : _b.inputArgs) || {};
|
|
45
|
+
if (!defaults.collectionName && (parentArgs == null ? void 0 : parentArgs.collectionName)) {
|
|
46
|
+
defaults.collectionName = parentArgs.collectionName;
|
|
47
|
+
defaults.dataSourceKey = parentArgs.dataSourceKey || defaults.dataSourceKey || "main";
|
|
48
|
+
}
|
|
49
|
+
if (defaults.filterByTk == null && (parentArgs == null ? void 0 : parentArgs.filterByTk) != null) {
|
|
50
|
+
defaults.filterByTk = parentArgs.filterByTk;
|
|
51
|
+
}
|
|
52
|
+
if (defaults.sourceId == null && (parentArgs == null ? void 0 : parentArgs.sourceId) != null) {
|
|
53
|
+
defaults.sourceId = parentArgs.sourceId;
|
|
54
|
+
}
|
|
55
|
+
const nav = (options == null ? void 0 : options.navigationOverride) ?? ((_d = (_c = model == null ? void 0 : model.context) == null ? void 0 : _c.view) == null ? void 0 : _d.navigation);
|
|
56
|
+
if (nav) {
|
|
57
|
+
defaults.navigation = nav;
|
|
58
|
+
}
|
|
59
|
+
const sid = (_g = (_f = (_e = model == null ? void 0 : model.context) == null ? void 0 : _e.resource) == null ? void 0 : _f.getSourceId) == null ? void 0 : _g.call(_f);
|
|
60
|
+
if (sid !== void 0 && sid !== null && String(sid) !== "") {
|
|
61
|
+
defaults.sourceId = sid;
|
|
62
|
+
}
|
|
63
|
+
const assocName = ((_i = (_h = model == null ? void 0 : model.context) == null ? void 0 : _h.association) == null ? void 0 : _i.resourceName) || ((_l = (_k = (_j = model == null ? void 0 : model.context) == null ? void 0 : _j.resource) == null ? void 0 : _k.getResourceName) == null ? void 0 : _l.call(_k));
|
|
64
|
+
if (typeof assocName === "string" && assocName) {
|
|
65
|
+
defaults.associationName = assocName;
|
|
66
|
+
}
|
|
67
|
+
} catch (_) {
|
|
68
|
+
}
|
|
69
|
+
return { ...defaults, ...extra || {} };
|
|
70
|
+
}
|
|
71
|
+
__name(buildSettingsViewInputArgs, "buildSettingsViewInputArgs");
|
|
72
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
73
|
+
0 && (module.exports = {
|
|
74
|
+
buildSettingsViewInputArgs
|
|
75
|
+
});
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
import { FlowContext } from '../flowContext';
|
|
10
|
+
import type { ActionDefinition } from '../types';
|
|
11
|
+
type ContextDefsLike<TCtx extends FlowContext> = Partial<Pick<ActionDefinition<any, TCtx>, 'defineProperties' | 'defineMethods'>> | null | undefined;
|
|
12
|
+
export declare function createEphemeralContext<TCtx extends FlowContext>(parent: TCtx, contextDefs?: ContextDefsLike<TCtx>): Promise<TCtx>;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
var __defProp = Object.defineProperty;
|
|
11
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
12
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
13
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
14
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
15
|
+
var __export = (target, all) => {
|
|
16
|
+
for (var name in all)
|
|
17
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
18
|
+
};
|
|
19
|
+
var __copyProps = (to, from, except, desc) => {
|
|
20
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
21
|
+
for (let key of __getOwnPropNames(from))
|
|
22
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
23
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
24
|
+
}
|
|
25
|
+
return to;
|
|
26
|
+
};
|
|
27
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
28
|
+
var createEphemeralContext_exports = {};
|
|
29
|
+
__export(createEphemeralContext_exports, {
|
|
30
|
+
createEphemeralContext: () => createEphemeralContext
|
|
31
|
+
});
|
|
32
|
+
module.exports = __toCommonJS(createEphemeralContext_exports);
|
|
33
|
+
var import_flowContext = require("../flowContext");
|
|
34
|
+
async function createEphemeralContext(parent, contextDefs) {
|
|
35
|
+
if (contextDefs == null || !contextDefs.defineProperties && !contextDefs.defineMethods) {
|
|
36
|
+
return parent;
|
|
37
|
+
}
|
|
38
|
+
const scoped = new import_flowContext.FlowContext();
|
|
39
|
+
scoped.addDelegate(parent);
|
|
40
|
+
const scopedProxy = scoped.createProxy();
|
|
41
|
+
const scopedObj = scopedProxy;
|
|
42
|
+
const parentObj = parent;
|
|
43
|
+
const getFromParent = /* @__PURE__ */ __name((key) => {
|
|
44
|
+
const val = Reflect.get(parentObj, key, parentObj);
|
|
45
|
+
return typeof val === "function" ? val.bind(parent) : val;
|
|
46
|
+
}, "getFromParent");
|
|
47
|
+
const hasInScopedOrParent = /* @__PURE__ */ __name((key) => key === "defineProperty" || key === "defineMethod" || Reflect.has(scopedObj, key) || Reflect.has(parentObj, key), "hasInScopedOrParent");
|
|
48
|
+
const injectionProxy = new Proxy(scopedProxy, {
|
|
49
|
+
get(_t, key, receiver) {
|
|
50
|
+
if (typeof key === "string") {
|
|
51
|
+
if (key === "defineProperty") {
|
|
52
|
+
return (propKey, options) => scoped.defineProperty(propKey, options);
|
|
53
|
+
}
|
|
54
|
+
if (key === "defineMethod") {
|
|
55
|
+
return (name, fn, des) => scoped.defineMethod(name, fn, des);
|
|
56
|
+
}
|
|
57
|
+
if (Reflect.has(scopedObj, key)) {
|
|
58
|
+
return Reflect.get(scopedObj, key, receiver);
|
|
59
|
+
}
|
|
60
|
+
return getFromParent(key);
|
|
61
|
+
}
|
|
62
|
+
return Reflect.get(scopedObj, key, receiver);
|
|
63
|
+
},
|
|
64
|
+
set(_t, key, value) {
|
|
65
|
+
return Reflect.set(parentObj, key, value);
|
|
66
|
+
},
|
|
67
|
+
has(_t, key) {
|
|
68
|
+
return hasInScopedOrParent(key);
|
|
69
|
+
},
|
|
70
|
+
getOwnPropertyDescriptor(_t, key) {
|
|
71
|
+
return Object.getOwnPropertyDescriptor(scopedObj, key) || Object.getOwnPropertyDescriptor(parentObj, key);
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
if (contextDefs) {
|
|
75
|
+
const defs = Array.isArray(contextDefs) ? contextDefs : [contextDefs];
|
|
76
|
+
for (const defLike of defs) {
|
|
77
|
+
if (!defLike) continue;
|
|
78
|
+
const dp = defLike.defineProperties;
|
|
79
|
+
if (dp) {
|
|
80
|
+
const raw = typeof dp === "function" ? await dp(injectionProxy) : dp;
|
|
81
|
+
if (!raw || typeof raw !== "object") {
|
|
82
|
+
throw new TypeError("defineProperties must return an object of PropertyOptions");
|
|
83
|
+
}
|
|
84
|
+
const propsDef = raw;
|
|
85
|
+
for (const [key, options] of Object.entries(propsDef)) {
|
|
86
|
+
if (!options || typeof options !== "object") {
|
|
87
|
+
throw new TypeError(`defineProperties['${key}'] must be a PropertyOptions object`);
|
|
88
|
+
}
|
|
89
|
+
scoped.defineProperty(key, options);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
const dm = defLike.defineMethods;
|
|
93
|
+
if (dm) {
|
|
94
|
+
const raw = typeof dm === "function" ? await dm(injectionProxy) : dm;
|
|
95
|
+
if (!raw || typeof raw !== "object") {
|
|
96
|
+
throw new TypeError("defineMethods must return an object of functions");
|
|
97
|
+
}
|
|
98
|
+
const methodsDef = raw;
|
|
99
|
+
for (const [key, fn] of Object.entries(methodsDef)) {
|
|
100
|
+
if (typeof fn !== "function") {
|
|
101
|
+
throw new TypeError(`defineMethods['${key}'] must be a function`);
|
|
102
|
+
}
|
|
103
|
+
scoped.defineMethod(key, fn);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
const outerProxy = new Proxy(scopedProxy, {
|
|
109
|
+
get(_t, key, receiver) {
|
|
110
|
+
if (typeof key === "string") {
|
|
111
|
+
if (key === "defineProperty") {
|
|
112
|
+
return (propKey, options) => parent.defineProperty(propKey, options);
|
|
113
|
+
}
|
|
114
|
+
if (key === "defineMethod") {
|
|
115
|
+
return (name, fn, des) => parent.defineMethod(name, fn, des);
|
|
116
|
+
}
|
|
117
|
+
if (Reflect.has(scopedObj, key)) {
|
|
118
|
+
return Reflect.get(scopedObj, key, receiver);
|
|
119
|
+
}
|
|
120
|
+
return getFromParent(key);
|
|
121
|
+
}
|
|
122
|
+
return Reflect.get(scopedObj, key, receiver);
|
|
123
|
+
},
|
|
124
|
+
set(_t, key, value) {
|
|
125
|
+
return Reflect.set(parentObj, key, value);
|
|
126
|
+
},
|
|
127
|
+
has(_t, key) {
|
|
128
|
+
return hasInScopedOrParent(key);
|
|
129
|
+
},
|
|
130
|
+
getOwnPropertyDescriptor(_t, key) {
|
|
131
|
+
return Object.getOwnPropertyDescriptor(scopedObj, key) || Object.getOwnPropertyDescriptor(parentObj, key);
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
return outerProxy;
|
|
135
|
+
}
|
|
136
|
+
__name(createEphemeralContext, "createEphemeralContext");
|
|
137
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
138
|
+
0 && (module.exports = {
|
|
139
|
+
createEphemeralContext
|
|
140
|
+
});
|
package/lib/utils/index.d.ts
CHANGED
|
@@ -15,8 +15,9 @@ export { resolveCreateModelOptions, resolveDefaultParams, resolveExpressions } f
|
|
|
15
15
|
export { compileUiSchema, resolveStepUiSchema, resolveUiMode } from './schema-utils';
|
|
16
16
|
export { setupRuntimeContextSteps } from './setupRuntimeContextSteps';
|
|
17
17
|
export { createCollectionContextMeta } from './createCollectionContextMeta';
|
|
18
|
-
export { buildRecordMeta, collectContextParamsForTemplate, createCurrentRecordMetaFactory, createRecordMetaFactory, extractUsedVariableNames, extractUsedVariablePaths,
|
|
18
|
+
export { buildRecordMeta, collectContextParamsForTemplate, createCurrentRecordMetaFactory, createRecordMetaFactory, extractUsedVariableNames, extractUsedVariablePaths, inferRecordRef, type RecordParamsBuilder, } from './variablesParams';
|
|
19
19
|
export { extractPropertyPath, formatPathToVariable, isVariableExpression } from './context';
|
|
20
20
|
export { clearAutoFlowError, getAutoFlowError, setAutoFlowError, type AutoFlowError } from './autoFlowError';
|
|
21
21
|
export { parsePathnameToViewParams, type ViewParam } from './parsePathnameToViewParams';
|
|
22
|
-
export {
|
|
22
|
+
export { buildSettingsViewInputArgs } from './buildSettingsViewInputArgs';
|
|
23
|
+
export { createSafeDocument, createSafeWindow, createSafeNavigator } from './safeGlobals';
|
package/lib/utils/index.js
CHANGED
|
@@ -32,6 +32,7 @@ __export(utils_exports, {
|
|
|
32
32
|
FlowExitException: () => import_exceptions.FlowExitException,
|
|
33
33
|
MENU_KEYS: () => import_constants.MENU_KEYS,
|
|
34
34
|
buildRecordMeta: () => import_variablesParams.buildRecordMeta,
|
|
35
|
+
buildSettingsViewInputArgs: () => import_buildSettingsViewInputArgs.buildSettingsViewInputArgs,
|
|
35
36
|
clearAutoFlowError: () => import_autoFlowError.clearAutoFlowError,
|
|
36
37
|
collectContextParamsForTemplate: () => import_variablesParams.collectContextParamsForTemplate,
|
|
37
38
|
compileUiSchema: () => import_schema_utils.compileUiSchema,
|
|
@@ -39,6 +40,7 @@ __export(utils_exports, {
|
|
|
39
40
|
createCurrentRecordMetaFactory: () => import_variablesParams.createCurrentRecordMetaFactory,
|
|
40
41
|
createRecordMetaFactory: () => import_variablesParams.createRecordMetaFactory,
|
|
41
42
|
createSafeDocument: () => import_safeGlobals.createSafeDocument,
|
|
43
|
+
createSafeNavigator: () => import_safeGlobals.createSafeNavigator,
|
|
42
44
|
createSafeWindow: () => import_safeGlobals.createSafeWindow,
|
|
43
45
|
defineAction: () => import_flow_definitions.defineAction,
|
|
44
46
|
escapeT: () => import_translation.escapeT,
|
|
@@ -48,7 +50,6 @@ __export(utils_exports, {
|
|
|
48
50
|
formatPathToVariable: () => import_context.formatPathToVariable,
|
|
49
51
|
getAutoFlowError: () => import_autoFlowError.getAutoFlowError,
|
|
50
52
|
getT: () => import_translation.getT,
|
|
51
|
-
inferParentRecordRef: () => import_variablesParams.inferParentRecordRef,
|
|
52
53
|
inferRecordRef: () => import_variablesParams.inferRecordRef,
|
|
53
54
|
isInheritedFrom: () => import_inheritance.isInheritedFrom,
|
|
54
55
|
isVariableExpression: () => import_context.isVariableExpression,
|
|
@@ -76,6 +77,7 @@ var import_variablesParams = require("./variablesParams");
|
|
|
76
77
|
var import_context = require("./context");
|
|
77
78
|
var import_autoFlowError = require("./autoFlowError");
|
|
78
79
|
var import_parsePathnameToViewParams = require("./parsePathnameToViewParams");
|
|
80
|
+
var import_buildSettingsViewInputArgs = require("./buildSettingsViewInputArgs");
|
|
79
81
|
var import_safeGlobals = require("./safeGlobals");
|
|
80
82
|
// Annotate the CommonJS export names for ESM import in node:
|
|
81
83
|
0 && (module.exports = {
|
|
@@ -85,6 +87,7 @@ var import_safeGlobals = require("./safeGlobals");
|
|
|
85
87
|
FlowExitException,
|
|
86
88
|
MENU_KEYS,
|
|
87
89
|
buildRecordMeta,
|
|
90
|
+
buildSettingsViewInputArgs,
|
|
88
91
|
clearAutoFlowError,
|
|
89
92
|
collectContextParamsForTemplate,
|
|
90
93
|
compileUiSchema,
|
|
@@ -92,6 +95,7 @@ var import_safeGlobals = require("./safeGlobals");
|
|
|
92
95
|
createCurrentRecordMetaFactory,
|
|
93
96
|
createRecordMetaFactory,
|
|
94
97
|
createSafeDocument,
|
|
98
|
+
createSafeNavigator,
|
|
95
99
|
createSafeWindow,
|
|
96
100
|
defineAction,
|
|
97
101
|
escapeT,
|
|
@@ -101,7 +105,6 @@ var import_safeGlobals = require("./safeGlobals");
|
|
|
101
105
|
formatPathToVariable,
|
|
102
106
|
getAutoFlowError,
|
|
103
107
|
getT,
|
|
104
|
-
inferParentRecordRef,
|
|
105
108
|
inferRecordRef,
|
|
106
109
|
isInheritedFrom,
|
|
107
110
|
isVariableExpression,
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Lightweight JSX -> JS compiler for RunJS user code.
|
|
11
|
+
* - Uses sucrase via dynamic import (lazy; avoids static cycles and cost when not needed)
|
|
12
|
+
* - Maps JSX to ctx.React.createElement / ctx.React.Fragment so no global React is required
|
|
13
|
+
* - If sucrase is unavailable or transform throws, returns original code as graceful fallback
|
|
14
|
+
*/
|
|
15
|
+
export declare function compileRunJs(code: string): Promise<string>;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
var __create = Object.create;
|
|
11
|
+
var __defProp = Object.defineProperty;
|
|
12
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
13
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
14
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
15
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
16
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
17
|
+
var __export = (target, all) => {
|
|
18
|
+
for (var name in all)
|
|
19
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
20
|
+
};
|
|
21
|
+
var __copyProps = (to, from, except, desc) => {
|
|
22
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
23
|
+
for (let key of __getOwnPropNames(from))
|
|
24
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
25
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
26
|
+
}
|
|
27
|
+
return to;
|
|
28
|
+
};
|
|
29
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
30
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
31
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
32
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
33
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
34
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
35
|
+
mod
|
|
36
|
+
));
|
|
37
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
38
|
+
var jsxTransform_exports = {};
|
|
39
|
+
__export(jsxTransform_exports, {
|
|
40
|
+
compileRunJs: () => compileRunJs
|
|
41
|
+
});
|
|
42
|
+
module.exports = __toCommonJS(jsxTransform_exports);
|
|
43
|
+
async function compileRunJs(code) {
|
|
44
|
+
var _a;
|
|
45
|
+
const maybeJSX = /<[A-Za-z]|<\//.test(code);
|
|
46
|
+
if (!maybeJSX) return code;
|
|
47
|
+
try {
|
|
48
|
+
const mod = await import("sucrase");
|
|
49
|
+
const transform = (mod == null ? void 0 : mod.transform) || ((_a = mod == null ? void 0 : mod.default) == null ? void 0 : _a.transform);
|
|
50
|
+
if (typeof transform !== "function") return code;
|
|
51
|
+
const res = transform(code, {
|
|
52
|
+
transforms: ["jsx"],
|
|
53
|
+
jsxPragma: "ctx.React.createElement",
|
|
54
|
+
jsxFragmentPragma: "ctx.React.Fragment",
|
|
55
|
+
// Keep ES syntax as-is; JSRunner runs in modern engines
|
|
56
|
+
disableESTransforms: true,
|
|
57
|
+
production: true
|
|
58
|
+
});
|
|
59
|
+
return (res && (res.code || (res == null ? void 0 : res.output))) ?? code;
|
|
60
|
+
} catch (_e) {
|
|
61
|
+
return code;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
__name(compileRunJs, "compileRunJs");
|
|
65
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
66
|
+
0 && (module.exports = {
|
|
67
|
+
compileRunJs
|
|
68
|
+
});
|
|
@@ -44,8 +44,8 @@ __export(params_resolvers_exports, {
|
|
|
44
44
|
resolveExpressions: () => resolveExpressions
|
|
45
45
|
});
|
|
46
46
|
module.exports = __toCommonJS(params_resolvers_exports);
|
|
47
|
+
var import_shared = require("@nocobase/shared");
|
|
47
48
|
var import_lodash = __toESM(require("lodash"));
|
|
48
|
-
var import_client = require("@nocobase/utils/client");
|
|
49
49
|
async function resolveDefaultParams(defaultParams, ctx) {
|
|
50
50
|
if (!defaultParams) {
|
|
51
51
|
return {};
|
|
@@ -275,9 +275,9 @@ async function compileExpression(expression, ctx) {
|
|
|
275
275
|
if (!first) return void 0;
|
|
276
276
|
const base = await ctx[first];
|
|
277
277
|
if (segs.length === 0) return base;
|
|
278
|
-
return (0,
|
|
278
|
+
return (0, import_shared.getValuesByPath)(base, segs.join("."));
|
|
279
279
|
}, "resolveDotOnlyPath");
|
|
280
|
-
const singleMatch = expression.match(/^\{\{\s*(
|
|
280
|
+
const singleMatch = expression.match(/^\s*\{\{\s*([^{}]+?)\s*\}\}\s*$/);
|
|
281
281
|
if (singleMatch) {
|
|
282
282
|
const inner = singleMatch[1];
|
|
283
283
|
const dotPath = matchDotOnly(inner);
|
|
@@ -7,10 +7,12 @@
|
|
|
7
7
|
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
8
|
*/
|
|
9
9
|
/**
|
|
10
|
-
* 统一的安全全局对象代理:window/document
|
|
11
|
-
* -
|
|
12
|
-
* - document
|
|
10
|
+
* 统一的安全全局对象代理:window/document/navigator
|
|
11
|
+
* - window:仅允许常用的定时器、console、Math、Date、addEventListener、open(安全包装)、location(安全代理)
|
|
12
|
+
* - document:仅允许 createElement/querySelector/querySelectorAll
|
|
13
|
+
* - navigator:仅提供极少量低风险能力(clipboard.writeText、onLine、language、languages)
|
|
13
14
|
* - 不允许随意访问未声明的属性,最小权限原则
|
|
14
15
|
*/
|
|
15
16
|
export declare function createSafeWindow(extra?: Record<string, any>): {};
|
|
16
17
|
export declare function createSafeDocument(extra?: Record<string, any>): {};
|
|
18
|
+
export declare function createSafeNavigator(extra?: Record<string, any>): {};
|