@tmagic/editor 1.8.0-beta.2 → 1.8.0-beta.21
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/dist/es/Editor.vue_vue_type_script_setup_true_lang.js +43 -9
- package/dist/es/components/CodeBlockEditor.vue_vue_type_script_setup_true_lang.js +8 -4
- package/dist/es/components/CodeParams.vue_vue_type_script_setup_true_lang.js +3 -2
- package/dist/es/components/CompareForm.vue_vue_type_script_setup_true_lang.js +22 -98
- package/dist/es/components/ContentMenu.vue_vue_type_script_setup_true_lang.js +32 -9
- package/dist/es/components/FloatingBox.vue_vue_type_script_setup_true_lang.js +68 -17
- package/dist/es/components/Icon.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/es/components/Resizer.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/es/components/ScrollBar.js +0 -1
- package/dist/es/components/ScrollBar.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/es/components/ScrollViewer.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/es/components/SearchInput.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/es/components/SplitView.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/es/components/ToolButton.vue_vue_type_script_setup_true_lang.js +7 -7
- package/dist/es/components/Tree.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/es/components/TreeNode.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/es/components/ViewForm.js +5 -0
- package/dist/es/components/ViewForm.vue_vue_type_script_setup_true_lang.js +58 -0
- package/dist/es/editorProps.js +9 -1
- package/dist/es/fields/Code.vue_vue_type_script_setup_true_lang.js +16 -5
- package/dist/es/fields/CodeLink.vue_vue_type_script_setup_true_lang.js +7 -7
- package/dist/es/fields/CodeSelect.vue_vue_type_script_setup_true_lang.js +81 -44
- package/dist/es/fields/CodeSelectCol.vue_vue_type_script_setup_true_lang.js +10 -3
- package/dist/es/fields/CondOpSelect.vue_vue_type_script_setup_true_lang.js +7 -19
- package/dist/es/fields/DataSourceFieldSelect/FieldSelect.vue_vue_type_script_setup_true_lang.js +13 -6
- package/dist/es/fields/DataSourceFieldSelect/Index.vue_vue_type_script_setup_true_lang.js +11 -8
- package/dist/es/fields/DataSourceFields.vue_vue_type_script_setup_true_lang.js +39 -12
- package/dist/es/fields/DataSourceInput.vue_vue_type_script_setup_true_lang.js +11 -20
- package/dist/es/fields/DataSourceMethodSelect.vue_vue_type_script_setup_true_name_true_lang.js +11 -6
- package/dist/es/fields/DataSourceMethods.vue_vue_type_script_setup_true_lang.js +30 -14
- package/dist/es/fields/DataSourceMocks.vue_vue_type_script_setup_true_lang.js +11 -4
- package/dist/es/fields/DataSourceSelect.vue_vue_type_script_setup_true_lang.js +5 -2
- package/dist/es/fields/DisplayConds.vue_vue_type_script_setup_true_lang.js +38 -6
- package/dist/es/fields/EventSelect.vue_vue_type_script_setup_true_lang.js +156 -155
- package/dist/es/fields/KeyValue.vue_vue_type_script_setup_true_lang.js +5 -2
- package/dist/es/fields/PageFragmentSelect.vue_vue_type_script_setup_true_lang.js +5 -2
- package/dist/es/fields/StyleSetter/Index.vue_vue_type_script_setup_true_lang.js +8 -10
- package/dist/es/fields/StyleSetter/components/BackgroundPosition.vue_vue_type_script_setup_true_lang.js +5 -2
- package/dist/es/fields/StyleSetter/components/Border.vue_vue_type_script_setup_true_lang.js +28 -6
- package/dist/es/fields/StyleSetter/components/Box.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/es/fields/StyleSetter/icons/align-items/Center.js +31 -0
- package/dist/es/fields/StyleSetter/icons/align-items/FlexEnd.js +31 -0
- package/dist/es/fields/StyleSetter/icons/align-items/FlexStart.js +31 -0
- package/dist/es/fields/StyleSetter/icons/align-items/SpaceAround.js +50 -0
- package/dist/es/fields/StyleSetter/icons/align-items/SpaceBetween.js +50 -0
- package/dist/es/fields/StyleSetter/icons/background-repeat/NoRepeat.js +7 -7
- package/dist/es/fields/StyleSetter/icons/background-repeat/Repeat.js +6 -3
- package/dist/es/fields/StyleSetter/icons/background-repeat/RepeatX.js +29 -6
- package/dist/es/fields/StyleSetter/icons/background-repeat/RepeatY.js +32 -6
- package/dist/es/fields/StyleSetter/icons/display/Block.js +1 -1
- package/dist/es/fields/StyleSetter/icons/display/Flex.js +1 -1
- package/dist/es/fields/StyleSetter/icons/display/Inline.js +1 -1
- package/dist/es/fields/StyleSetter/icons/display/InlineBlock.js +1 -1
- package/dist/es/fields/StyleSetter/icons/display/None.js +1 -1
- package/dist/es/fields/StyleSetter/icons/flex-direction/Column.js +11 -3
- package/dist/es/fields/StyleSetter/icons/flex-direction/ColumnReverse.js +11 -3
- package/dist/es/fields/StyleSetter/icons/flex-direction/Row.js +11 -3
- package/dist/es/fields/StyleSetter/icons/flex-direction/RowReverse.js +11 -3
- package/dist/es/fields/StyleSetter/icons/justify-content/Center.js +17 -3
- package/dist/es/fields/StyleSetter/icons/justify-content/FlexEnd.js +19 -3
- package/dist/es/fields/StyleSetter/icons/justify-content/FlexStart.js +19 -3
- package/dist/es/fields/StyleSetter/icons/justify-content/SpaceAround.js +37 -3
- package/dist/es/fields/StyleSetter/icons/justify-content/SpaceBetween.js +33 -3
- package/dist/es/fields/StyleSetter/icons/text-align/Center.js +1 -1
- package/dist/es/fields/StyleSetter/icons/text-align/Left.js +1 -1
- package/dist/es/fields/StyleSetter/icons/text-align/Right.js +1 -1
- package/dist/es/fields/StyleSetter/pro/Background.vue_vue_type_script_setup_true_lang.js +56 -30
- package/dist/es/fields/StyleSetter/pro/Border.vue_vue_type_script_setup_true_lang.js +7 -4
- package/dist/es/fields/StyleSetter/pro/Font.vue_vue_type_script_setup_true_lang.js +35 -26
- package/dist/es/fields/StyleSetter/pro/Layout.vue_vue_type_script_setup_true_lang.js +76 -48
- package/dist/es/fields/StyleSetter/pro/Position.vue_vue_type_script_setup_true_lang.js +29 -23
- package/dist/es/fields/StyleSetter/pro/Transform.vue_vue_type_script_setup_true_lang.js +7 -4
- package/dist/es/fields/UISelect.js +0 -1
- package/dist/es/fields/UISelect.vue_vue_type_script_setup_true_lang.js +5 -2
- package/dist/es/hooks/use-code-block-edit.js +6 -3
- package/dist/es/hooks/use-compare-form.js +119 -0
- package/dist/es/hooks/use-data-source-edit.js +5 -2
- package/dist/es/hooks/use-stage.js +9 -4
- package/dist/es/icons/CenterIcon.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/es/icons/CodeIcon.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/es/icons/DatasourceIcon.js +17 -0
- package/dist/es/icons/FolderMinusIcon.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/es/index.js +24 -10
- package/dist/es/initService.js +19 -13
- package/dist/es/layouts/AddPageBox.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/es/layouts/CodeEditor.vue_vue_type_script_setup_true_lang.js +24 -12
- package/dist/es/layouts/Framework.vue_vue_type_script_setup_true_lang.js +25 -18
- package/dist/es/layouts/NavMenu.vue_vue_type_script_setup_true_lang.js +4 -4
- package/dist/es/layouts/NavMenuColumn.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/es/layouts/history-list/Bucket.vue_vue_type_script_setup_true_lang.js +25 -38
- package/dist/es/layouts/history-list/BucketTab.js +5 -0
- package/dist/es/layouts/history-list/BucketTab.vue_vue_type_script_setup_true_lang.js +62 -0
- package/dist/es/layouts/history-list/GroupRow.vue_vue_type_script_setup_true_lang.js +177 -88
- package/dist/es/layouts/history-list/HistoryDiffDialog.vue_vue_type_script_setup_true_lang.js +139 -37
- package/dist/es/layouts/history-list/HistoryListPanel.vue_vue_type_script_setup_true_lang.js +164 -107
- package/dist/es/layouts/history-list/InitialRow.vue_vue_type_script_setup_true_lang.js +44 -9
- package/dist/es/layouts/history-list/PageTab.vue_vue_type_script_setup_true_lang.js +49 -53
- package/dist/es/layouts/history-list/composables.js +138 -108
- package/dist/es/layouts/history-list/useHistoryList.js +56 -0
- package/dist/es/layouts/history-list/useHistoryRevert.js +317 -0
- package/dist/es/layouts/page-bar/AddButton.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/es/layouts/page-bar/PageBar.vue_vue_type_script_setup_true_lang.js +5 -3
- package/dist/es/layouts/page-bar/PageBarScrollContainer.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/es/layouts/page-bar/PageList.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/es/layouts/page-bar/Search.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/es/layouts/props-panel/FormPanel.vue_vue_type_script_setup_true_lang.js +50 -7
- package/dist/es/layouts/props-panel/PropsPanel.vue_vue_type_script_setup_true_lang.js +33 -13
- package/dist/es/layouts/props-panel/use-style-panel.js +3 -2
- package/dist/es/layouts/sidebar/ComponentListPanel.vue_vue_type_script_setup_true_lang.js +3 -3
- package/dist/es/layouts/sidebar/Sidebar.vue_vue_type_script_setup_true_lang.js +26 -38
- package/dist/es/layouts/sidebar/code-block/CodeBlockList.vue_vue_type_script_setup_true_lang.js +4 -4
- package/dist/es/layouts/sidebar/code-block/CodeBlockListPanel.vue_vue_type_script_setup_true_lang.js +4 -4
- package/dist/es/layouts/sidebar/code-block/useContentMenu.js +19 -4
- package/dist/es/layouts/sidebar/data-source/DataSourceAddButton.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/es/layouts/sidebar/data-source/DataSourceConfigPanel.vue_vue_type_script_setup_true_lang.js +23 -6
- package/dist/es/layouts/sidebar/data-source/DataSourceList.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/es/layouts/sidebar/data-source/DataSourceListPanel.vue_vue_type_script_setup_true_lang.js +27 -5
- package/dist/es/layouts/sidebar/data-source/useContentMenu.js +19 -4
- package/dist/es/layouts/sidebar/layer/LayerMenu.vue_vue_type_script_setup_true_lang.js +8 -8
- package/dist/es/layouts/sidebar/layer/LayerNodeContent.js +5 -0
- package/dist/es/layouts/sidebar/layer/LayerNodeContent.vue_vue_type_script_setup_true_lang.js +46 -0
- package/dist/es/layouts/sidebar/layer/LayerNodeTool.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/es/layouts/sidebar/layer/LayerPanel.vue_vue_type_script_setup_true_lang.js +3 -2
- package/dist/es/layouts/sidebar/layer/use-click.js +3 -3
- package/dist/es/layouts/sidebar/layer/use-node-status.js +2 -2
- package/dist/es/layouts/workspace/Breadcrumb.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/es/layouts/workspace/Workspace.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/es/layouts/workspace/viewer/NodeListMenu.vue_vue_type_script_setup_true_lang.js +9 -3
- package/dist/es/layouts/workspace/viewer/Stage.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/es/layouts/workspace/viewer/StageOverlay.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/es/layouts/workspace/viewer/ViewerMenu.vue_vue_type_script_setup_true_lang.js +16 -16
- package/dist/es/plugin.js +5 -2
- package/dist/es/services/codeBlock.js +137 -56
- package/dist/es/services/dataSource.js +122 -52
- package/dist/es/services/dep.js +162 -41
- package/dist/es/services/editor.js +613 -179
- package/dist/es/services/events.js +2 -2
- package/dist/es/services/history.js +350 -386
- package/dist/es/services/keybinding.js +6 -6
- package/dist/es/services/props.js +3 -2
- package/dist/es/services/storage.js +2 -2
- package/dist/es/services/ui.js +10 -2
- package/dist/es/style.css +549 -113
- package/dist/es/utils/config.js +4 -1
- package/dist/es/utils/const.js +2 -2
- package/dist/es/utils/content-menu.js +19 -11
- package/dist/es/utils/data-source/index.js +34 -11
- package/dist/es/utils/dep/collect-worker-client.js +114 -0
- package/dist/es/utils/dep/idle-task.js +70 -22
- package/dist/es/utils/dep/worker.js +1 -1
- package/dist/es/utils/editor.js +103 -49
- package/dist/es/utils/event.js +135 -0
- package/dist/es/utils/history.js +220 -0
- package/dist/es/utils/indexed-db.js +86 -0
- package/dist/es/utils/monaco-editor.js +22 -6
- package/dist/es/utils/operator.js +2 -2
- package/dist/es/utils/props.js +114 -33
- package/dist/es/utils/type-match-rules.js +367 -0
- package/dist/es/utils/undo-redo.js +60 -1
- package/dist/style.css +549 -113
- package/dist/themes/magic-admin.css +3028 -0
- package/dist/tmagic-editor.umd.cjs +14403 -10121
- package/package.json +8 -8
- package/src/Editor.vue +43 -2
- package/src/components/CodeBlockEditor.vue +3 -0
- package/src/components/CompareForm.vue +18 -146
- package/src/components/ContentMenu.vue +44 -8
- package/src/components/FloatingBox.vue +84 -9
- package/src/components/ScrollBar.vue +0 -67
- package/src/components/ToolButton.vue +2 -2
- package/src/components/ViewForm.vue +55 -0
- package/src/editorProps.ts +30 -0
- package/src/fields/Code.vue +10 -2
- package/src/fields/CodeLink.vue +2 -5
- package/src/fields/CodeSelect.vue +54 -40
- package/src/fields/CodeSelectCol.vue +8 -1
- package/src/fields/CondOpSelect.vue +2 -24
- package/src/fields/DataSourceFieldSelect/FieldSelect.vue +16 -2
- package/src/fields/DataSourceFieldSelect/Index.vue +14 -5
- package/src/fields/DataSourceFields.vue +42 -8
- package/src/fields/DataSourceInput.vue +10 -28
- package/src/fields/DataSourceMethodSelect.vue +9 -4
- package/src/fields/DataSourceMethods.vue +42 -21
- package/src/fields/DataSourceMocks.vue +3 -0
- package/src/fields/DisplayConds.vue +18 -1
- package/src/fields/EventSelect.vue +152 -166
- package/src/fields/StyleSetter/Index.vue +3 -12
- package/src/fields/StyleSetter/components/Border.vue +15 -6
- package/src/fields/StyleSetter/icons/align-items/Center.vue +19 -0
- package/src/fields/StyleSetter/icons/align-items/FlexEnd.vue +19 -0
- package/src/fields/StyleSetter/icons/align-items/FlexStart.vue +19 -0
- package/src/fields/StyleSetter/icons/align-items/SpaceAround.vue +34 -0
- package/src/fields/StyleSetter/icons/align-items/SpaceBetween.vue +34 -0
- package/src/fields/StyleSetter/icons/align-items/index.ts +5 -0
- package/src/fields/StyleSetter/icons/background-repeat/NoRepeat.vue +20 -4
- package/src/fields/StyleSetter/icons/background-repeat/Repeat.vue +10 -28
- package/src/fields/StyleSetter/icons/background-repeat/RepeatX.vue +4 -5
- package/src/fields/StyleSetter/icons/background-repeat/RepeatY.vue +4 -5
- package/src/fields/StyleSetter/icons/flex-direction/Column.vue +4 -3
- package/src/fields/StyleSetter/icons/flex-direction/ColumnReverse.vue +4 -3
- package/src/fields/StyleSetter/icons/flex-direction/Row.vue +4 -3
- package/src/fields/StyleSetter/icons/flex-direction/RowReverse.vue +4 -3
- package/src/fields/StyleSetter/icons/justify-content/Center.vue +5 -2
- package/src/fields/StyleSetter/icons/justify-content/FlexEnd.vue +15 -2
- package/src/fields/StyleSetter/icons/justify-content/FlexStart.vue +15 -2
- package/src/fields/StyleSetter/icons/justify-content/SpaceAround.vue +28 -3
- package/src/fields/StyleSetter/icons/justify-content/SpaceBetween.vue +28 -2
- package/src/fields/StyleSetter/pro/Background.vue +99 -55
- package/src/fields/StyleSetter/pro/Border.vue +9 -11
- package/src/fields/StyleSetter/pro/Font.vue +66 -64
- package/src/fields/StyleSetter/pro/Layout.vue +211 -139
- package/src/fields/StyleSetter/pro/Position.vue +69 -67
- package/src/fields/StyleSetter/pro/Transform.vue +23 -25
- package/src/fields/UISelect.vue +0 -12
- package/src/hooks/index.ts +1 -0
- package/src/hooks/use-code-block-edit.ts +4 -3
- package/src/hooks/use-compare-form.ts +187 -0
- package/src/hooks/use-data-source-edit.ts +2 -2
- package/src/hooks/use-stage.ts +5 -3
- package/src/icons/DatasourceIcon.vue +7 -0
- package/src/index.ts +12 -0
- package/src/initService.ts +26 -16
- package/src/layouts/CodeEditor.vue +34 -11
- package/src/layouts/Framework.vue +15 -8
- package/src/layouts/NavMenu.vue +3 -3
- package/src/layouts/history-list/Bucket.vue +33 -41
- package/src/layouts/history-list/BucketTab.vue +72 -0
- package/src/layouts/history-list/GroupRow.vue +190 -93
- package/src/layouts/history-list/HistoryDiffDialog.vue +169 -90
- package/src/layouts/history-list/HistoryListPanel.vue +191 -95
- package/src/layouts/history-list/InitialRow.vue +38 -8
- package/src/layouts/history-list/PageTab.vue +67 -43
- package/src/layouts/history-list/composables.ts +239 -125
- package/src/layouts/history-list/useHistoryList.ts +60 -0
- package/src/layouts/history-list/useHistoryRevert.ts +425 -0
- package/src/layouts/page-bar/PageBar.vue +4 -2
- package/src/layouts/props-panel/FormPanel.vue +72 -6
- package/src/layouts/props-panel/PropsPanel.vue +62 -18
- package/src/layouts/props-panel/use-style-panel.ts +4 -3
- package/src/layouts/sidebar/ComponentListPanel.vue +10 -6
- package/src/layouts/sidebar/Sidebar.vue +13 -6
- package/src/layouts/sidebar/code-block/CodeBlockList.vue +5 -5
- package/src/layouts/sidebar/code-block/CodeBlockListPanel.vue +5 -2
- package/src/layouts/sidebar/code-block/useContentMenu.ts +14 -2
- package/src/layouts/sidebar/data-source/DataSourceConfigPanel.vue +34 -2
- package/src/layouts/sidebar/data-source/DataSourceListPanel.vue +29 -4
- package/src/layouts/sidebar/data-source/useContentMenu.ts +14 -2
- package/src/layouts/sidebar/layer/LayerMenu.vue +21 -13
- package/src/layouts/sidebar/layer/LayerNodeContent.vue +57 -0
- package/src/layouts/sidebar/layer/LayerNodeTool.vue +7 -4
- package/src/layouts/sidebar/layer/LayerPanel.vue +4 -1
- package/src/layouts/sidebar/layer/use-click.ts +3 -3
- package/src/layouts/sidebar/layer/use-node-status.ts +2 -2
- package/src/layouts/workspace/viewer/NodeListMenu.vue +4 -1
- package/src/layouts/workspace/viewer/Stage.vue +1 -1
- package/src/layouts/workspace/viewer/ViewerMenu.vue +15 -15
- package/src/plugin.ts +6 -3
- package/src/services/codeBlock.ts +152 -47
- package/src/services/dataSource.ts +120 -41
- package/src/services/dep.ts +292 -47
- package/src/services/editor.ts +820 -224
- package/src/services/events.ts +3 -3
- package/src/services/history.ts +449 -412
- package/src/services/keybinding.ts +6 -6
- package/src/services/ui.ts +33 -5
- package/src/theme/code-block.scss +37 -0
- package/src/theme/common/var.scss +1 -1
- package/src/theme/component-list-panel.scss +2 -2
- package/src/theme/data-source-field.scss +4 -0
- package/src/theme/display-conds.scss +11 -0
- package/src/theme/event.scss +70 -1
- package/src/theme/floating-box.scss +9 -1
- package/src/theme/framework.scss +4 -1
- package/src/theme/history-list-panel.scss +157 -23
- package/src/theme/layer-node-content.scss +14 -0
- package/src/theme/nav-menu.scss +5 -1
- package/src/theme/page-bar.scss +0 -4
- package/src/theme/props-panel.scss +5 -4
- package/src/theme/scroll-bar.scss +64 -0
- package/src/theme/style-setter/border.scss +17 -5
- package/src/theme/theme.scss +4 -0
- package/src/theme/themes/magic-admin/index.scss +214 -0
- package/src/theme/ui-select.scss +9 -0
- package/src/type.ts +668 -124
- package/src/utils/config.ts +9 -1
- package/src/utils/const.ts +3 -2
- package/src/utils/content-menu.ts +20 -11
- package/src/utils/data-source/index.ts +32 -12
- package/src/utils/dep/collect-worker-client.ts +149 -0
- package/src/utils/dep/idle-task.ts +104 -35
- package/src/utils/dep/worker.ts +113 -9
- package/src/utils/editor.ts +166 -60
- package/src/utils/event.ts +237 -0
- package/src/utils/history.ts +286 -0
- package/src/utils/index.ts +4 -0
- package/src/utils/indexed-db.ts +122 -0
- package/src/utils/monaco-editor.ts +27 -0
- package/src/utils/operator.ts +2 -2
- package/src/utils/props.ts +114 -11
- package/src/utils/type-match-rules.ts +684 -0
- package/src/utils/undo-redo.ts +88 -0
- package/types/index.d.ts +1990 -517
- package/dist/es/layouts/history-list/CodeBlockTab.js +0 -5
- package/dist/es/layouts/history-list/CodeBlockTab.vue_vue_type_script_setup_true_lang.js +0 -62
- package/dist/es/layouts/history-list/DataSourceTab.js +0 -5
- package/dist/es/layouts/history-list/DataSourceTab.vue_vue_type_script_setup_true_lang.js +0 -62
- package/src/layouts/history-list/CodeBlockTab.vue +0 -61
- package/src/layouts/history-list/DataSourceTab.vue +0 -61
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import { useServices } from "../../hooks/use-services.js";
|
|
2
2
|
import Icon_default from "../../components/Icon.js";
|
|
3
|
+
import DatasourceIcon_default from "../../icons/DatasourceIcon.js";
|
|
3
4
|
import FieldSelect_default from "./FieldSelect.js";
|
|
4
5
|
import { getFormField } from "@tmagic/form";
|
|
5
6
|
import { TMagicButton, TMagicTooltip, tMagicMessage } from "@tmagic/design";
|
|
6
7
|
import { DATA_SOURCE_FIELDS_SELECT_VALUE_PREFIX, removeDataSourceFieldPrefix } from "@tmagic/utils";
|
|
7
|
-
import { computed, createBlock, createCommentVNode, createElementBlock, createVNode, defineComponent, inject, openBlock, ref, resolveComponent, resolveDynamicComponent, unref, watch, withCtx } from "vue";
|
|
8
|
-
import { Coin } from "@element-plus/icons-vue";
|
|
8
|
+
import { computed, createBlock, createCommentVNode, createElementBlock, createVNode, defineComponent, inject, normalizeClass, openBlock, ref, resolveComponent, resolveDynamicComponent, unref, watch, withCtx } from "vue";
|
|
9
9
|
//#region packages/editor/src/fields/DataSourceFieldSelect/Index.vue?vue&type=script&setup=true&lang.ts
|
|
10
|
-
var
|
|
11
|
-
var Index_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
10
|
+
var Index_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
12
11
|
name: "MFieldsDataSourceFieldSelect",
|
|
13
12
|
__name: "Index",
|
|
14
13
|
props: {
|
|
@@ -24,13 +23,17 @@ var Index_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
|
|
|
24
23
|
},
|
|
25
24
|
size: {},
|
|
26
25
|
lastValues: {},
|
|
27
|
-
isCompare: { type: Boolean }
|
|
26
|
+
isCompare: { type: Boolean },
|
|
27
|
+
text: {},
|
|
28
|
+
labelWidth: {},
|
|
29
|
+
labelPosition: {}
|
|
28
30
|
},
|
|
29
31
|
emits: ["change"],
|
|
30
32
|
setup(__props, { emit: __emit }) {
|
|
31
33
|
const emit = __emit;
|
|
32
34
|
const props = __props;
|
|
33
35
|
const showDataSourceFieldSelect = ref(false);
|
|
36
|
+
const isSelectValid = computed(() => !disabledDataSource.value && (showDataSourceFieldSelect.value || !props.config.fieldConfig));
|
|
34
37
|
watch(() => props.model[props.name], (value) => {
|
|
35
38
|
if (Array.isArray(value) && typeof value[0] === "string" && value[0].startsWith(DATA_SOURCE_FIELDS_SELECT_VALUE_PREFIX)) showDataSourceFieldSelect.value = true;
|
|
36
39
|
else showDataSourceFieldSelect.value = false;
|
|
@@ -100,7 +103,7 @@ var Index_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
|
|
|
100
103
|
showDataSourceFieldSelect.value = !showDataSourceFieldSelect.value;
|
|
101
104
|
};
|
|
102
105
|
return (_ctx, _cache) => {
|
|
103
|
-
return openBlock(), createElementBlock("div",
|
|
106
|
+
return openBlock(), createElementBlock("div", { class: normalizeClass(["m-fields-data-source-field-select", { [`data-source-field-${type.value}`]: !isSelectValid.value }]) }, [isSelectValid.value ? (openBlock(), createBlock(FieldSelect_default, {
|
|
104
107
|
key: 0,
|
|
105
108
|
"model-value": __props.model[__props.name],
|
|
106
109
|
disabled: __props.disabled,
|
|
@@ -151,7 +154,7 @@ var Index_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
|
|
|
151
154
|
disabled: __props.disabled,
|
|
152
155
|
onClick: onToggleDataSourceFieldSelectHandler
|
|
153
156
|
}, {
|
|
154
|
-
default: withCtx(() => [createVNode(Icon_default, { icon:
|
|
157
|
+
default: withCtx(() => [createVNode(Icon_default, { icon: DatasourceIcon_default })]),
|
|
155
158
|
_: 1
|
|
156
159
|
}, 8, [
|
|
157
160
|
"type",
|
|
@@ -159,7 +162,7 @@ var Index_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
|
|
|
159
162
|
"disabled"
|
|
160
163
|
])]),
|
|
161
164
|
_: 1
|
|
162
|
-
}, 8, ["disabled"])) : createCommentVNode("v-if", true)]);
|
|
165
|
+
}, 8, ["disabled"])) : createCommentVNode("v-if", true)], 2);
|
|
163
166
|
};
|
|
164
167
|
}
|
|
165
168
|
});
|
|
@@ -7,17 +7,17 @@ import { MFormBox } from "@tmagic/form";
|
|
|
7
7
|
import { MagicTable } from "@tmagic/table";
|
|
8
8
|
import { TMagicButton, tMagicMessage, tMagicMessageBox } from "@tmagic/design";
|
|
9
9
|
import { getDefaultValueFromFields } from "@tmagic/utils";
|
|
10
|
-
import { computed, createCommentVNode, createElementBlock, createTextVNode, createVNode, defineComponent, inject, isRef, mergeModels, openBlock, ref, unref, useModel, withCtx } from "vue";
|
|
10
|
+
import { computed, createCommentVNode, createElementBlock, createTextVNode, createVNode, defineComponent, inject, isRef, mergeModels, onMounted, openBlock, provide, ref, unref, useModel, withCtx } from "vue";
|
|
11
11
|
//#region packages/editor/src/fields/DataSourceFields.vue?vue&type=script&setup=true&lang.ts
|
|
12
12
|
var _hoisted_1 = { class: "m-editor-data-source-fields" };
|
|
13
13
|
var _hoisted_2 = {
|
|
14
14
|
key: 0,
|
|
15
15
|
class: "m-editor-data-source-fields-footer"
|
|
16
16
|
};
|
|
17
|
-
var DataSourceFields_vue_vue_type_script_setup_true_lang_default =
|
|
17
|
+
var DataSourceFields_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
18
18
|
name: "MFieldsDataSourceFields",
|
|
19
19
|
__name: "DataSourceFields",
|
|
20
|
-
props:
|
|
20
|
+
props: /*@__PURE__*/ mergeModels({
|
|
21
21
|
config: {},
|
|
22
22
|
model: {},
|
|
23
23
|
initValues: {},
|
|
@@ -30,7 +30,10 @@ var DataSourceFields_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
|
|
|
30
30
|
},
|
|
31
31
|
size: {},
|
|
32
32
|
lastValues: {},
|
|
33
|
-
isCompare: { type: Boolean }
|
|
33
|
+
isCompare: { type: Boolean },
|
|
34
|
+
text: {},
|
|
35
|
+
labelWidth: {},
|
|
36
|
+
labelPosition: {}
|
|
34
37
|
}, {
|
|
35
38
|
"width": { default: 670 },
|
|
36
39
|
"widthModifiers": {},
|
|
@@ -45,7 +48,7 @@ var DataSourceFields_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
|
|
|
45
48
|
},
|
|
46
49
|
"visible1Modifiers": {}
|
|
47
50
|
}),
|
|
48
|
-
emits:
|
|
51
|
+
emits: /*@__PURE__*/ mergeModels(["change"], [
|
|
49
52
|
"update:width",
|
|
50
53
|
"update:visible",
|
|
51
54
|
"update:visible1"
|
|
@@ -66,6 +69,15 @@ var DataSourceFields_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
|
|
|
66
69
|
calcBoxPosition();
|
|
67
70
|
addDialogVisible.value = true;
|
|
68
71
|
};
|
|
72
|
+
const editField = (row, index) => {
|
|
73
|
+
fieldValues.value = {
|
|
74
|
+
...row,
|
|
75
|
+
index
|
|
76
|
+
};
|
|
77
|
+
fieldTitle.value = `编辑${row.title}`;
|
|
78
|
+
calcBoxPosition();
|
|
79
|
+
addDialogVisible.value = true;
|
|
80
|
+
};
|
|
69
81
|
const fieldChange = ({ index, ...value }, data) => {
|
|
70
82
|
addDialogVisible.value = false;
|
|
71
83
|
if (index > -1) emit("change", value, {
|
|
@@ -117,13 +129,7 @@ var DataSourceFields_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
|
|
|
117
129
|
actions: [{
|
|
118
130
|
text: "编辑",
|
|
119
131
|
handler: (row, index) => {
|
|
120
|
-
|
|
121
|
-
...row,
|
|
122
|
-
index
|
|
123
|
-
};
|
|
124
|
-
fieldTitle.value = `编辑${row.title}`;
|
|
125
|
-
calcBoxPosition();
|
|
126
|
-
addDialogVisible.value = true;
|
|
132
|
+
editField(row, index);
|
|
127
133
|
}
|
|
128
134
|
}, {
|
|
129
135
|
text: "删除",
|
|
@@ -310,6 +316,21 @@ var DataSourceFields_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
|
|
|
310
316
|
const addFromJsonDialogVisible = useModel(__props, "visible1");
|
|
311
317
|
const { height: editorHeight } = useEditorContentHeight();
|
|
312
318
|
const { boxPosition, calcBoxPosition } = useNextFloatBoxPosition(uiService, inject("parentFloating", ref(null)));
|
|
319
|
+
const frameworkWidth = computed(() => uiService.get("frameworkRect")?.width || 0);
|
|
320
|
+
/**
|
|
321
|
+
* 由 DataSourceConfigPanel 注入:打开数据源详情后需要直接打开的字段路径(字段名数组)。
|
|
322
|
+
* 当前层消费 path[0],并把剩余路径下发给嵌套字段,实现逐层打开。
|
|
323
|
+
*/
|
|
324
|
+
const editingFieldPath = inject("editingDataSourceFieldPath", computed(() => []));
|
|
325
|
+
provide("editingDataSourceFieldPath", computed(() => editingFieldPath.value.slice(1)));
|
|
326
|
+
onMounted(() => {
|
|
327
|
+
const path = editingFieldPath.value;
|
|
328
|
+
if (!path.length) return;
|
|
329
|
+
const fields = props.model[props.name] || [];
|
|
330
|
+
const index = fields.findIndex((field) => field.name === path[0]);
|
|
331
|
+
if (index === -1) return;
|
|
332
|
+
editField(fields[index], index);
|
|
333
|
+
});
|
|
313
334
|
return (_ctx, _cache) => {
|
|
314
335
|
return openBlock(), createElementBlock("div", _hoisted_1, [
|
|
315
336
|
createVNode(unref(MagicTable), {
|
|
@@ -336,6 +357,7 @@ var DataSourceFields_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
|
|
|
336
357
|
_: 1
|
|
337
358
|
}, 8, ["disabled"])])) : createCommentVNode("v-if", true),
|
|
338
359
|
createVNode(FloatingBox_default, {
|
|
360
|
+
"body-style": { padding: "0 16px" },
|
|
339
361
|
visible: addDialogVisible.value,
|
|
340
362
|
"onUpdate:visible": _cache[2] || (_cache[2] = ($event) => addDialogVisible.value = $event),
|
|
341
363
|
width: width.value,
|
|
@@ -343,6 +365,7 @@ var DataSourceFields_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
|
|
|
343
365
|
height: unref(editorHeight),
|
|
344
366
|
"onUpdate:height": _cache[4] || (_cache[4] = ($event) => isRef(editorHeight) ? editorHeight.value = $event : null),
|
|
345
367
|
title: fieldTitle.value,
|
|
368
|
+
"framework-width": frameworkWidth.value,
|
|
346
369
|
position: unref(boxPosition)
|
|
347
370
|
}, {
|
|
348
371
|
body: withCtx(() => [createVNode(unref(MFormBox), {
|
|
@@ -365,9 +388,11 @@ var DataSourceFields_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
|
|
|
365
388
|
"width",
|
|
366
389
|
"height",
|
|
367
390
|
"title",
|
|
391
|
+
"framework-width",
|
|
368
392
|
"position"
|
|
369
393
|
]),
|
|
370
394
|
createVNode(FloatingBox_default, {
|
|
395
|
+
"body-style": { padding: "0 16px" },
|
|
371
396
|
visible: addFromJsonDialogVisible.value,
|
|
372
397
|
"onUpdate:visible": _cache[5] || (_cache[5] = ($event) => addFromJsonDialogVisible.value = $event),
|
|
373
398
|
width: width.value,
|
|
@@ -375,6 +400,7 @@ var DataSourceFields_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
|
|
|
375
400
|
height: unref(editorHeight),
|
|
376
401
|
"onUpdate:height": _cache[7] || (_cache[7] = ($event) => isRef(editorHeight) ? editorHeight.value = $event : null),
|
|
377
402
|
title: "快速添加数据定义",
|
|
403
|
+
"framework-width": frameworkWidth.value,
|
|
378
404
|
position: unref(boxPosition)
|
|
379
405
|
}, {
|
|
380
406
|
body: withCtx(() => [createVNode(unref(MFormBox), {
|
|
@@ -388,6 +414,7 @@ var DataSourceFields_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
|
|
|
388
414
|
"visible",
|
|
389
415
|
"width",
|
|
390
416
|
"height",
|
|
417
|
+
"framework-width",
|
|
391
418
|
"position"
|
|
392
419
|
])
|
|
393
420
|
]);
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { useServices } from "../hooks/use-services.js";
|
|
2
|
-
import { getDisplayField } from "../utils/data-source/index.js";
|
|
2
|
+
import { getDisplayField, resolveFieldByPath } from "../utils/data-source/index.js";
|
|
3
3
|
import Icon_default from "../components/Icon.js";
|
|
4
4
|
import { TMagicInput, TMagicTag, getDesignConfig } from "@tmagic/design";
|
|
5
|
-
import { getKeysArray
|
|
5
|
+
import { getKeysArray } from "@tmagic/utils";
|
|
6
6
|
import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, mergeProps, nextTick, normalizeClass, openBlock, ref, renderList, resolveDynamicComponent, toDisplayString, unref, useTemplateRef, watch, withCtx } from "vue";
|
|
7
7
|
import { Coin } from "@element-plus/icons-vue";
|
|
8
8
|
//#region packages/editor/src/fields/DataSourceInput.vue?vue&type=script&setup=true&lang.ts
|
|
@@ -15,7 +15,7 @@ var _hoisted_2 = { style: {
|
|
|
15
15
|
"font-size": "10px",
|
|
16
16
|
"color": "rgba(0, 0, 0, 0.6)"
|
|
17
17
|
} };
|
|
18
|
-
var DataSourceInput_vue_vue_type_script_setup_true_lang_default =
|
|
18
|
+
var DataSourceInput_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
19
19
|
name: "MFieldsDataSourceInput",
|
|
20
20
|
__name: "DataSourceInput",
|
|
21
21
|
props: {
|
|
@@ -31,7 +31,10 @@ var DataSourceInput_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
|
|
|
31
31
|
},
|
|
32
32
|
size: {},
|
|
33
33
|
lastValues: {},
|
|
34
|
-
isCompare: { type: Boolean }
|
|
34
|
+
isCompare: { type: Boolean },
|
|
35
|
+
text: {},
|
|
36
|
+
labelWidth: {},
|
|
37
|
+
labelPosition: {}
|
|
35
38
|
},
|
|
36
39
|
emits: ["change"],
|
|
37
40
|
setup(__props, { emit: __emit }) {
|
|
@@ -132,23 +135,11 @@ var DataSourceInput_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
|
|
|
132
135
|
cb([]);
|
|
133
136
|
return;
|
|
134
137
|
}
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
while (key) {
|
|
138
|
-
if (isNumber(key)) {
|
|
139
|
-
key = keys.shift();
|
|
140
|
-
continue;
|
|
141
|
-
}
|
|
142
|
-
for (const field of fields) if (field.name === key) {
|
|
143
|
-
fields = field.fields || [];
|
|
144
|
-
key = keys.shift();
|
|
145
|
-
break;
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
if (curCharIsDot(dotIndex)) result = fields || [];
|
|
138
|
+
const { fields } = resolveFieldByPath(ds.fields, keys, { skipNumberIndices: true });
|
|
139
|
+
if (curCharIsDot(dotIndex)) result = fields;
|
|
149
140
|
else if (dotIndex > -1) {
|
|
150
141
|
const queryName = queryString.substring(dotIndex + 1).toLowerCase();
|
|
151
|
-
result = fields.filter((field) => field.name?.toLowerCase().includes(queryName) || field.title?.toLowerCase().includes(queryName))
|
|
142
|
+
result = fields.filter((field) => field.name?.toLowerCase().includes(queryName) || field.title?.toLowerCase().includes(queryName));
|
|
152
143
|
}
|
|
153
144
|
cb(result.map((field) => ({
|
|
154
145
|
value: field.name,
|
|
@@ -227,7 +218,7 @@ var DataSourceInput_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
|
|
|
227
218
|
onSelect: selectHandler
|
|
228
219
|
}), {
|
|
229
220
|
suffix: withCtx(() => [createVNode(Icon_default, { icon: unref(Coin) }, null, 8, ["icon"])]),
|
|
230
|
-
default: withCtx((
|
|
221
|
+
default: withCtx((slotProps) => [createElementVNode("div", _hoisted_1, [createElementVNode("div", null, toDisplayString(slotProps?.item?.text || ""), 1), createElementVNode("span", _hoisted_2, toDisplayString(slotProps?.item?.value || ""), 1)])]),
|
|
231
222
|
_: 1
|
|
232
223
|
}, 16, ["modelValue"])) : (openBlock(), createElementBlock("div", {
|
|
233
224
|
key: 2,
|
package/dist/es/fields/DataSourceMethodSelect.vue_vue_type_script_setup_true_name_true_lang.js
CHANGED
|
@@ -11,7 +11,7 @@ import { Edit, View } from "@element-plus/icons-vue";
|
|
|
11
11
|
//#region packages/editor/src/fields/DataSourceMethodSelect.vue?vue&type=script&setup=true&name=true&lang.ts
|
|
12
12
|
var _hoisted_1 = { class: "m-fields-data-source-method-select" };
|
|
13
13
|
var _hoisted_2 = { class: "data-source-method-select-container" };
|
|
14
|
-
var DataSourceMethodSelect_vue_vue_type_script_setup_true_name_true_lang_default =
|
|
14
|
+
var DataSourceMethodSelect_vue_vue_type_script_setup_true_name_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
15
15
|
name: "MFieldsDataSourceMethodSelect",
|
|
16
16
|
__name: "DataSourceMethodSelect",
|
|
17
17
|
props: {
|
|
@@ -27,7 +27,10 @@ var DataSourceMethodSelect_vue_vue_type_script_setup_true_name_true_lang_default
|
|
|
27
27
|
},
|
|
28
28
|
size: {},
|
|
29
29
|
lastValues: {},
|
|
30
|
-
isCompare: { type: Boolean }
|
|
30
|
+
isCompare: { type: Boolean },
|
|
31
|
+
text: {},
|
|
32
|
+
labelWidth: {},
|
|
33
|
+
labelPosition: {}
|
|
31
34
|
},
|
|
32
35
|
emits: ["change"],
|
|
33
36
|
setup(__props, { emit: __emit }) {
|
|
@@ -36,7 +39,7 @@ var DataSourceMethodSelect_vue_vue_type_script_setup_true_name_true_lang_default
|
|
|
36
39
|
const eventBus = inject("eventBus");
|
|
37
40
|
const emit = __emit;
|
|
38
41
|
const props = __props;
|
|
39
|
-
const
|
|
42
|
+
const dataSourceSidePanel = computed(() => (uiService.get("sideBarItems") || []).find((item) => item.$key === SideItemKey.DATA_SOURCE));
|
|
40
43
|
const notEditable = computed(() => filterFunction(mForm, props.config.notEditable, props));
|
|
41
44
|
/** 对比模式下隐藏查看/编辑操作按钮,仅保留只读展示。 */
|
|
42
45
|
const isCompare = computed(() => Boolean(mForm?.isCompare));
|
|
@@ -124,9 +127,11 @@ var DataSourceMethodSelect_vue_vue_type_script_setup_true_name_true_lang_default
|
|
|
124
127
|
emit("change", props.model[props.name], eventData);
|
|
125
128
|
};
|
|
126
129
|
const editCodeHandler = () => {
|
|
127
|
-
const [id] = props.model[props.name];
|
|
130
|
+
const [id, methodName] = props.model[props.name];
|
|
128
131
|
if (!dataSourceService.getDataSourceById(id)) return;
|
|
129
|
-
|
|
132
|
+
const sideBarItem = dataSourceSidePanel.value;
|
|
133
|
+
if (sideBarItem) uiService.set("sideBarActiveTabName", sideBarItem.text || sideBarItem.$key || SideItemKey.DATA_SOURCE);
|
|
134
|
+
eventBus?.emit("edit-data-source-method", id, methodName);
|
|
130
135
|
};
|
|
131
136
|
return (_ctx, _cache) => {
|
|
132
137
|
return openBlock(), createElementBlock("div", _hoisted_1, [createElementVNode("div", _hoisted_2, [createVNode(unref(MCascader), {
|
|
@@ -145,7 +150,7 @@ var DataSourceMethodSelect_vue_vue_type_script_setup_true_name_true_lang_default
|
|
|
145
150
|
"size",
|
|
146
151
|
"disabled",
|
|
147
152
|
"prop"
|
|
148
|
-
]), __props.model[__props.name] && isCustomMethod.value &&
|
|
153
|
+
]), __props.model[__props.name] && isCustomMethod.value && dataSourceSidePanel.value && !isCompare.value ? (openBlock(), createBlock(unref(TMagicTooltip), {
|
|
149
154
|
key: 0,
|
|
150
155
|
content: notEditable.value ? "查看" : "编辑"
|
|
151
156
|
}, {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import CodeBlockEditor_default from "../components/CodeBlockEditor.js";
|
|
2
2
|
import { MagicTable } from "@tmagic/table";
|
|
3
3
|
import { TMagicButton, tMagicMessageBox } from "@tmagic/design";
|
|
4
|
-
import { computed, createBlock, createCommentVNode, createElementBlock, createTextVNode, createVNode, defineComponent, inject, nextTick, openBlock, ref, unref, useTemplateRef, withCtx } from "vue";
|
|
4
|
+
import { computed, createBlock, createCommentVNode, createElementBlock, createTextVNode, createVNode, defineComponent, inject, nextTick, onMounted, openBlock, ref, unref, useTemplateRef, withCtx } from "vue";
|
|
5
5
|
import { cloneDeep } from "lodash-es";
|
|
6
6
|
//#region packages/editor/src/fields/DataSourceMethods.vue?vue&type=script&setup=true&lang.ts
|
|
7
7
|
var _hoisted_1 = { class: "m-editor-data-source-methods" };
|
|
@@ -9,7 +9,7 @@ var _hoisted_2 = {
|
|
|
9
9
|
key: 0,
|
|
10
10
|
class: "m-editor-data-source-methods-footer"
|
|
11
11
|
};
|
|
12
|
-
var DataSourceMethods_vue_vue_type_script_setup_true_lang_default =
|
|
12
|
+
var DataSourceMethods_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
13
13
|
name: "MFieldsDataSourceMethods",
|
|
14
14
|
__name: "DataSourceMethods",
|
|
15
15
|
props: {
|
|
@@ -25,7 +25,10 @@ var DataSourceMethods_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
|
|
|
25
25
|
},
|
|
26
26
|
size: {},
|
|
27
27
|
lastValues: {},
|
|
28
|
-
isCompare: { type: Boolean }
|
|
28
|
+
isCompare: { type: Boolean },
|
|
29
|
+
text: {},
|
|
30
|
+
labelWidth: {},
|
|
31
|
+
labelPosition: {}
|
|
29
32
|
},
|
|
30
33
|
emits: ["change"],
|
|
31
34
|
setup(__props, { emit: __emit }) {
|
|
@@ -37,6 +40,19 @@ var DataSourceMethods_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
|
|
|
37
40
|
const codeConfig = ref();
|
|
38
41
|
const codeBlockEditorRef = useTemplateRef("codeBlockEditor");
|
|
39
42
|
let editIndex = -1;
|
|
43
|
+
const editMethod = (method, index) => {
|
|
44
|
+
let codeContent = "({ params, dataSource, app }) => {\n // place your code here\n}";
|
|
45
|
+
if (method.content) if (typeof method.content !== "string") codeContent = method.content.toString();
|
|
46
|
+
else codeContent = method.content;
|
|
47
|
+
codeConfig.value = {
|
|
48
|
+
...cloneDeep(method),
|
|
49
|
+
content: codeContent
|
|
50
|
+
};
|
|
51
|
+
editIndex = index;
|
|
52
|
+
nextTick(() => {
|
|
53
|
+
codeBlockEditorRef.value?.show();
|
|
54
|
+
});
|
|
55
|
+
};
|
|
40
56
|
const methodColumns = [
|
|
41
57
|
{
|
|
42
58
|
label: "名称",
|
|
@@ -61,17 +77,7 @@ var DataSourceMethods_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
|
|
|
61
77
|
actions: [{
|
|
62
78
|
text: "编辑",
|
|
63
79
|
handler: (method, index) => {
|
|
64
|
-
|
|
65
|
-
if (method.content) if (typeof method.content !== "string") codeContent = method.content.toString();
|
|
66
|
-
else codeContent = method.content;
|
|
67
|
-
codeConfig.value = {
|
|
68
|
-
...cloneDeep(method),
|
|
69
|
-
content: codeContent
|
|
70
|
-
};
|
|
71
|
-
editIndex = index;
|
|
72
|
-
nextTick(() => {
|
|
73
|
-
codeBlockEditorRef.value?.show();
|
|
74
|
-
});
|
|
80
|
+
editMethod(method, index);
|
|
75
81
|
}
|
|
76
82
|
}, {
|
|
77
83
|
text: "删除",
|
|
@@ -119,6 +125,16 @@ var DataSourceMethods_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
|
|
|
119
125
|
codeConfig.value = void 0;
|
|
120
126
|
codeBlockEditorRef.value?.hide();
|
|
121
127
|
};
|
|
128
|
+
/** 由 DataSourceConfigPanel 注入:打开数据源详情后需要直接打开的方法名 */
|
|
129
|
+
const editingMethodName = inject("editingDataSourceMethodName", computed(() => ""));
|
|
130
|
+
onMounted(() => {
|
|
131
|
+
const methodName = editingMethodName.value;
|
|
132
|
+
if (!methodName) return;
|
|
133
|
+
const methods = props.model[props.name] || [];
|
|
134
|
+
const index = methods.findIndex((method) => method.name === methodName);
|
|
135
|
+
if (index === -1) return;
|
|
136
|
+
editMethod(methods[index], index);
|
|
137
|
+
});
|
|
122
138
|
return (_ctx, _cache) => {
|
|
123
139
|
return openBlock(), createElementBlock("div", _hoisted_1, [
|
|
124
140
|
createVNode(unref(MagicTable), {
|
|
@@ -14,10 +14,10 @@ var _hoisted_2 = {
|
|
|
14
14
|
key: 0,
|
|
15
15
|
class: "m-editor-data-source-fields-footer"
|
|
16
16
|
};
|
|
17
|
-
var DataSourceMocks_vue_vue_type_script_setup_true_lang_default =
|
|
17
|
+
var DataSourceMocks_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
18
18
|
name: "MFieldsDataSourceMocks",
|
|
19
19
|
__name: "DataSourceMocks",
|
|
20
|
-
props:
|
|
20
|
+
props: /*@__PURE__*/ mergeModels({
|
|
21
21
|
config: {},
|
|
22
22
|
model: {},
|
|
23
23
|
initValues: {},
|
|
@@ -30,7 +30,10 @@ var DataSourceMocks_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
|
|
|
30
30
|
},
|
|
31
31
|
size: {},
|
|
32
32
|
lastValues: {},
|
|
33
|
-
isCompare: { type: Boolean }
|
|
33
|
+
isCompare: { type: Boolean },
|
|
34
|
+
text: {},
|
|
35
|
+
labelWidth: {},
|
|
36
|
+
labelPosition: {}
|
|
34
37
|
}, {
|
|
35
38
|
"width": { default: 670 },
|
|
36
39
|
"widthModifiers": {},
|
|
@@ -40,7 +43,7 @@ var DataSourceMocks_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
|
|
|
40
43
|
},
|
|
41
44
|
"visibleModifiers": {}
|
|
42
45
|
}),
|
|
43
|
-
emits:
|
|
46
|
+
emits: /*@__PURE__*/ mergeModels(["change"], ["update:width", "update:visible"]),
|
|
44
47
|
setup(__props, { emit: __emit }) {
|
|
45
48
|
const props = __props;
|
|
46
49
|
const emit = __emit;
|
|
@@ -213,6 +216,7 @@ var DataSourceMocks_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
|
|
|
213
216
|
const addDialogVisible = useModel(__props, "visible");
|
|
214
217
|
const { height: editorHeight } = useEditorContentHeight();
|
|
215
218
|
const { boxPosition, calcBoxPosition } = useNextFloatBoxPosition(uiService, inject("parentFloating", ref(null)));
|
|
219
|
+
const frameworkWidth = computed(() => uiService.get("frameworkRect")?.width || 0);
|
|
216
220
|
return (_ctx, _cache) => {
|
|
217
221
|
return openBlock(), createElementBlock("div", _hoisted_1, [
|
|
218
222
|
createVNode(unref(MagicTable), {
|
|
@@ -230,6 +234,7 @@ var DataSourceMocks_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
|
|
|
230
234
|
_: 1
|
|
231
235
|
}, 8, ["disabled"])])) : createCommentVNode("v-if", true),
|
|
232
236
|
createVNode(FloatingBox_default, {
|
|
237
|
+
"body-style": { padding: "0 16px" },
|
|
233
238
|
visible: addDialogVisible.value,
|
|
234
239
|
"onUpdate:visible": _cache[1] || (_cache[1] = ($event) => addDialogVisible.value = $event),
|
|
235
240
|
width: width.value,
|
|
@@ -237,6 +242,7 @@ var DataSourceMocks_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
|
|
|
237
242
|
height: unref(editorHeight),
|
|
238
243
|
"onUpdate:height": _cache[3] || (_cache[3] = ($event) => isRef(editorHeight) ? editorHeight.value = $event : null),
|
|
239
244
|
title: drawerTitle.value,
|
|
245
|
+
"framework-width": frameworkWidth.value,
|
|
240
246
|
position: unref(boxPosition)
|
|
241
247
|
}, {
|
|
242
248
|
body: withCtx(() => [createVNode(unref(MFormBox), {
|
|
@@ -257,6 +263,7 @@ var DataSourceMocks_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
|
|
|
257
263
|
"width",
|
|
258
264
|
"height",
|
|
259
265
|
"title",
|
|
266
|
+
"framework-width",
|
|
260
267
|
"position"
|
|
261
268
|
])
|
|
262
269
|
]);
|
|
@@ -7,7 +7,7 @@ import { computed, createBlock, createCommentVNode, createElementBlock, createVN
|
|
|
7
7
|
import { Edit, View } from "@element-plus/icons-vue";
|
|
8
8
|
//#region packages/editor/src/fields/DataSourceSelect.vue?vue&type=script&setup=true&lang.ts
|
|
9
9
|
var _hoisted_1 = { class: "m-fields-data-source-select" };
|
|
10
|
-
var DataSourceSelect_vue_vue_type_script_setup_true_lang_default =
|
|
10
|
+
var DataSourceSelect_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
11
11
|
name: "MFieldsDataSourceSelect",
|
|
12
12
|
__name: "DataSourceSelect",
|
|
13
13
|
props: {
|
|
@@ -23,7 +23,10 @@ var DataSourceSelect_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
|
|
|
23
23
|
},
|
|
24
24
|
size: {},
|
|
25
25
|
lastValues: {},
|
|
26
|
-
isCompare: { type: Boolean }
|
|
26
|
+
isCompare: { type: Boolean },
|
|
27
|
+
text: {},
|
|
28
|
+
labelWidth: {},
|
|
29
|
+
labelPosition: {}
|
|
27
30
|
},
|
|
28
31
|
emits: ["change"],
|
|
29
32
|
setup(__props, { emit: __emit }) {
|
|
@@ -3,7 +3,7 @@ import { getCascaderOptionsFromFields, getFieldType } from "../utils/data-source
|
|
|
3
3
|
import { MGroupList, filterFunction } from "@tmagic/form";
|
|
4
4
|
import { computed, createBlock, defineComponent, inject, openBlock, unref } from "vue";
|
|
5
5
|
//#region packages/editor/src/fields/DisplayConds.vue?vue&type=script&setup=true&lang.ts
|
|
6
|
-
var DisplayConds_vue_vue_type_script_setup_true_lang_default =
|
|
6
|
+
var DisplayConds_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
7
7
|
name: "m-fields-display-conds",
|
|
8
8
|
__name: "DisplayConds",
|
|
9
9
|
props: {
|
|
@@ -19,7 +19,10 @@ var DisplayConds_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ d
|
|
|
19
19
|
},
|
|
20
20
|
size: {},
|
|
21
21
|
lastValues: {},
|
|
22
|
-
isCompare: { type: Boolean }
|
|
22
|
+
isCompare: { type: Boolean },
|
|
23
|
+
text: {},
|
|
24
|
+
labelWidth: {},
|
|
25
|
+
labelPosition: {}
|
|
23
26
|
},
|
|
24
27
|
emits: ["change"],
|
|
25
28
|
setup(__props, { emit: __emit }) {
|
|
@@ -43,11 +46,14 @@ var DisplayConds_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ d
|
|
|
43
46
|
titlePrefix: props.config.titlePrefix,
|
|
44
47
|
expandAll: true,
|
|
45
48
|
enableToggleMode: false,
|
|
49
|
+
flat: props.config.flat,
|
|
46
50
|
items: [{
|
|
47
51
|
type: "table",
|
|
48
52
|
name: "cond",
|
|
49
|
-
operateColWidth:
|
|
53
|
+
operateColWidth: props.config.operateColWidth,
|
|
50
54
|
enableToggleMode: false,
|
|
55
|
+
fixed: props.config.fixed,
|
|
56
|
+
flat: props.config.flat,
|
|
51
57
|
items: [
|
|
52
58
|
parentFields.value.length ? {
|
|
53
59
|
type: "cascader",
|
|
@@ -70,7 +76,16 @@ var DisplayConds_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ d
|
|
|
70
76
|
value: "key",
|
|
71
77
|
label: "字段",
|
|
72
78
|
checkStrictly: false,
|
|
73
|
-
onChange: fieldOnChange
|
|
79
|
+
onChange: fieldOnChange,
|
|
80
|
+
defaultValue: () => [],
|
|
81
|
+
rules: [{
|
|
82
|
+
required: true,
|
|
83
|
+
trigger: "blur",
|
|
84
|
+
message: "请选择字段"
|
|
85
|
+
}, {
|
|
86
|
+
typeMatch: true,
|
|
87
|
+
trigger: "change"
|
|
88
|
+
}]
|
|
74
89
|
} : {
|
|
75
90
|
type: "data-source-field-select",
|
|
76
91
|
name: "field",
|
|
@@ -83,14 +98,31 @@ var DisplayConds_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ d
|
|
|
83
98
|
"boolean",
|
|
84
99
|
"any"
|
|
85
100
|
],
|
|
86
|
-
onChange: fieldOnChange
|
|
101
|
+
onChange: fieldOnChange,
|
|
102
|
+
defaultValue: () => [],
|
|
103
|
+
rules: [{
|
|
104
|
+
required: true,
|
|
105
|
+
trigger: "blur",
|
|
106
|
+
message: "请选择字段"
|
|
107
|
+
}, {
|
|
108
|
+
typeMatch: true,
|
|
109
|
+
trigger: "change"
|
|
110
|
+
}]
|
|
87
111
|
},
|
|
88
112
|
{
|
|
89
113
|
type: "cond-op-select",
|
|
90
114
|
parentFields: parentFields.value,
|
|
91
115
|
label: "条件",
|
|
92
116
|
width: 140,
|
|
93
|
-
name: "op"
|
|
117
|
+
name: "op",
|
|
118
|
+
rules: [{
|
|
119
|
+
required: true,
|
|
120
|
+
trigger: "blur",
|
|
121
|
+
message: "请选择条件"
|
|
122
|
+
}, {
|
|
123
|
+
typeMatch: true,
|
|
124
|
+
trigger: "change"
|
|
125
|
+
}]
|
|
94
126
|
},
|
|
95
127
|
{
|
|
96
128
|
label: "值",
|