@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,7 +1,7 @@
|
|
|
1
1
|
import { computed, createElementBlock, createElementVNode, defineComponent, normalizeClass, normalizeStyle, onBeforeUnmount, onMounted, openBlock, useTemplateRef } from "vue";
|
|
2
2
|
import Gesto from "gesto";
|
|
3
3
|
//#region packages/editor/src/components/ScrollBar.vue?vue&type=script&setup=true&lang.ts
|
|
4
|
-
var ScrollBar_vue_vue_type_script_setup_true_lang_default =
|
|
4
|
+
var ScrollBar_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
5
5
|
name: "MEditorScrollBar",
|
|
6
6
|
__name: "ScrollBar",
|
|
7
7
|
props: {
|
|
@@ -7,7 +7,7 @@ var _hoisted_1 = {
|
|
|
7
7
|
class: "m-editor-scroll-viewer-container",
|
|
8
8
|
ref: "container"
|
|
9
9
|
};
|
|
10
|
-
var ScrollViewer_vue_vue_type_script_setup_true_lang_default =
|
|
10
|
+
var ScrollViewer_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
11
11
|
name: "MEditorScrollViewer",
|
|
12
12
|
__name: "ScrollViewer",
|
|
13
13
|
props: {
|
|
@@ -2,7 +2,7 @@ import { TMagicIcon, TMagicInput } from "@tmagic/design";
|
|
|
2
2
|
import { createBlock, createVNode, defineComponent, openBlock, ref, unref, withCtx } from "vue";
|
|
3
3
|
import { Search } from "@element-plus/icons-vue";
|
|
4
4
|
//#region packages/editor/src/components/SearchInput.vue?vue&type=script&setup=true&lang.ts
|
|
5
|
-
var SearchInput_vue_vue_type_script_setup_true_lang_default =
|
|
5
|
+
var SearchInput_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
6
6
|
name: "MEditorSearchInput",
|
|
7
7
|
__name: "SearchInput",
|
|
8
8
|
emits: ["search"],
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import Resizer_default from "./Resizer.js";
|
|
2
2
|
import { Fragment, computed, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, normalizeClass, normalizeStyle, onBeforeUnmount, onMounted, openBlock, ref, renderSlot, useTemplateRef, watchEffect } from "vue";
|
|
3
3
|
//#region packages/editor/src/components/SplitView.vue?vue&type=script&setup=true&lang.ts
|
|
4
|
-
var SplitView_vue_vue_type_script_setup_true_lang_default =
|
|
4
|
+
var SplitView_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
5
5
|
name: "MEditorSplitView",
|
|
6
6
|
__name: "SplitView",
|
|
7
7
|
props: {
|
|
@@ -9,7 +9,7 @@ var _hoisted_1 = {
|
|
|
9
9
|
class: "menu-item-text"
|
|
10
10
|
};
|
|
11
11
|
var _hoisted_2 = { class: "el-dropdown-link menubar-menu-button" };
|
|
12
|
-
var ToolButton_vue_vue_type_script_setup_true_lang_default =
|
|
12
|
+
var ToolButton_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
13
13
|
name: "MEditorToolButton",
|
|
14
14
|
__name: "ToolButton",
|
|
15
15
|
props: {
|
|
@@ -73,11 +73,11 @@ var ToolButton_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
|
|
|
73
73
|
placement: "bottom-start",
|
|
74
74
|
content: __props.data.tooltip
|
|
75
75
|
}, {
|
|
76
|
-
default: withCtx(() => [createVNode(unref(TMagicButton), {
|
|
76
|
+
default: withCtx(() => [createVNode(unref(TMagicButton), mergeProps({
|
|
77
77
|
size: "small",
|
|
78
78
|
link: "",
|
|
79
79
|
disabled: disabled.value
|
|
80
|
-
}, createSlots({ _: 2 }, [__props.data.icon ? {
|
|
80
|
+
}, __props.data.buttonProps || {}), createSlots({ _: 2 }, [__props.data.icon ? {
|
|
81
81
|
name: "icon",
|
|
82
82
|
fn: withCtx(() => [createVNode(Icon_default, { icon: __props.data.icon }, null, 8, ["icon"])]),
|
|
83
83
|
key: "0"
|
|
@@ -85,15 +85,15 @@ var ToolButton_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
|
|
|
85
85
|
name: "default",
|
|
86
86
|
fn: withCtx(() => [createTextVNode(toDisplayString(__props.data.text), 1)]),
|
|
87
87
|
key: "1"
|
|
88
|
-
} : void 0]),
|
|
88
|
+
} : void 0]), 1040, ["disabled"])]),
|
|
89
89
|
_: 1
|
|
90
|
-
}, 8, ["content"])) : (openBlock(), createBlock(unref(TMagicButton), {
|
|
90
|
+
}, 8, ["content"])) : (openBlock(), createBlock(unref(TMagicButton), mergeProps({
|
|
91
91
|
key: 1,
|
|
92
92
|
size: "small",
|
|
93
93
|
link: "",
|
|
94
94
|
disabled: disabled.value,
|
|
95
95
|
title: __props.data.text
|
|
96
|
-
}, createSlots({ _: 2 }, [__props.data.icon ? {
|
|
96
|
+
}, __props.data.buttonProps || {}), createSlots({ _: 2 }, [__props.data.icon ? {
|
|
97
97
|
name: "icon",
|
|
98
98
|
fn: withCtx(() => [createVNode(Icon_default, { icon: __props.data.icon }, null, 8, ["icon"])]),
|
|
99
99
|
key: "0"
|
|
@@ -101,7 +101,7 @@ var ToolButton_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
|
|
|
101
101
|
name: "default",
|
|
102
102
|
fn: withCtx(() => [createTextVNode(toDisplayString(__props.data.text), 1)]),
|
|
103
103
|
key: "1"
|
|
104
|
-
} : void 0]),
|
|
104
|
+
} : void 0]), 1040, ["disabled", "title"]))], 64)) : __props.data.type === "dropdown" ? (openBlock(), createBlock(unref(TMagicDropdown), {
|
|
105
105
|
key: 3,
|
|
106
106
|
trigger: "click",
|
|
107
107
|
disabled: disabled.value,
|
|
@@ -5,7 +5,7 @@ var _hoisted_1 = {
|
|
|
5
5
|
key: 1,
|
|
6
6
|
class: "m-editor-tree-empty"
|
|
7
7
|
};
|
|
8
|
-
var Tree_vue_vue_type_script_setup_true_lang_default =
|
|
8
|
+
var Tree_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
9
9
|
name: "MEditorTree",
|
|
10
10
|
__name: "Tree",
|
|
11
11
|
props: {
|
|
@@ -16,7 +16,7 @@ var _hoisted_4 = {
|
|
|
16
16
|
key: 0,
|
|
17
17
|
class: "m-editor-tree-node-children"
|
|
18
18
|
};
|
|
19
|
-
var TreeNode_vue_vue_type_script_setup_true_lang_default =
|
|
19
|
+
var TreeNode_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
20
20
|
name: "MEditorTreeNode",
|
|
21
21
|
__name: "TreeNode",
|
|
22
22
|
props: {
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import ViewForm_vue_vue_type_script_setup_true_lang_default from "./ViewForm.vue_vue_type_script_setup_true_lang.js";
|
|
2
|
+
//#region packages/editor/src/components/ViewForm.vue
|
|
3
|
+
var ViewForm_default = ViewForm_vue_vue_type_script_setup_true_lang_default;
|
|
4
|
+
//#endregion
|
|
5
|
+
export { ViewForm_default as default };
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { useCompareForm } from "../hooks/use-compare-form.js";
|
|
2
|
+
import { MForm } from "@tmagic/form";
|
|
3
|
+
import { createBlock, createCommentVNode, createElementBlock, defineComponent, normalizeStyle, openBlock, unref } from "vue";
|
|
4
|
+
//#region packages/editor/src/components/ViewForm.vue?vue&type=script&setup=true&lang.ts
|
|
5
|
+
var ViewForm_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
6
|
+
name: "MEditorViewForm",
|
|
7
|
+
__name: "ViewForm",
|
|
8
|
+
props: {
|
|
9
|
+
value: {},
|
|
10
|
+
type: {},
|
|
11
|
+
category: { default: "node" },
|
|
12
|
+
dataSourceType: {},
|
|
13
|
+
labelWidth: { default: "120px" },
|
|
14
|
+
height: {},
|
|
15
|
+
extendState: {},
|
|
16
|
+
baseFormState: {},
|
|
17
|
+
size: {},
|
|
18
|
+
loadConfig: {},
|
|
19
|
+
services: {},
|
|
20
|
+
disabled: {
|
|
21
|
+
type: Boolean,
|
|
22
|
+
default: true
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
setup(__props, { expose: __expose }) {
|
|
26
|
+
const { config, currentValues, wrapperStyle, mergedExtendState, loadConfig, formRef } = useCompareForm(__props);
|
|
27
|
+
__expose({
|
|
28
|
+
form: formRef,
|
|
29
|
+
config,
|
|
30
|
+
reload: loadConfig
|
|
31
|
+
});
|
|
32
|
+
return (_ctx, _cache) => {
|
|
33
|
+
return openBlock(), createElementBlock("div", {
|
|
34
|
+
class: "m-editor-view-form-wrapper",
|
|
35
|
+
style: normalizeStyle(unref(wrapperStyle))
|
|
36
|
+
}, [unref(config).length ? (openBlock(), createBlock(unref(MForm), {
|
|
37
|
+
key: 0,
|
|
38
|
+
ref: "form",
|
|
39
|
+
class: "m-editor-view-form",
|
|
40
|
+
config: unref(config),
|
|
41
|
+
"init-values": unref(currentValues),
|
|
42
|
+
disabled: __props.disabled,
|
|
43
|
+
"label-width": __props.labelWidth,
|
|
44
|
+
"extend-state": unref(mergedExtendState),
|
|
45
|
+
size: __props.size
|
|
46
|
+
}, null, 8, [
|
|
47
|
+
"config",
|
|
48
|
+
"init-values",
|
|
49
|
+
"disabled",
|
|
50
|
+
"label-width",
|
|
51
|
+
"extend-state",
|
|
52
|
+
"size"
|
|
53
|
+
])) : createCommentVNode("v-if", true)], 4);
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
//#endregion
|
|
58
|
+
export { ViewForm_vue_vue_type_script_setup_true_lang_default as default };
|
package/dist/es/editorProps.js
CHANGED
|
@@ -1,20 +1,28 @@
|
|
|
1
1
|
import { CONTAINER_HIGHLIGHT_CLASS_NAME, ContainerHighlightType, RenderType } from "@tmagic/stage";
|
|
2
2
|
import { getIdFromEl } from "@tmagic/utils";
|
|
3
3
|
//#region packages/editor/src/editorProps.ts
|
|
4
|
+
/**
|
|
5
|
+
* 「属性配置表单校验」联动能力的 provide/inject 注入键。
|
|
6
|
+
* 使用 Symbol 避免与其它字符串键冲突,供 PropsPanel / FormPanel 注入判断校验失败时是否仍更新节点并记录错误。
|
|
7
|
+
*/
|
|
8
|
+
var ENABLE_PROPS_FORM_VALIDATE = Symbol("enablePropsFormValidate");
|
|
4
9
|
var defaultEditorProps = {
|
|
5
10
|
renderType: RenderType.IFRAME,
|
|
6
11
|
disabledMultiSelect: false,
|
|
7
12
|
alwaysMultiSelect: false,
|
|
8
13
|
disabledPageFragment: false,
|
|
14
|
+
disabledFlashTip: false,
|
|
9
15
|
disabledStageOverlay: false,
|
|
10
16
|
containerHighlightClassName: CONTAINER_HIGHLIGHT_CLASS_NAME,
|
|
11
17
|
containerHighlightDuration: 800,
|
|
12
18
|
containerHighlightType: ContainerHighlightType.DEFAULT,
|
|
19
|
+
containerHighlightAddOnly: false,
|
|
13
20
|
disabledShowSrc: false,
|
|
14
21
|
disabledDataSource: false,
|
|
15
22
|
disabledCodeBlock: false,
|
|
16
23
|
componentGroupList: () => [],
|
|
17
24
|
datasourceList: () => [],
|
|
25
|
+
historyListExtraTabs: () => [],
|
|
18
26
|
menu: () => ({
|
|
19
27
|
left: [],
|
|
20
28
|
right: []
|
|
@@ -32,4 +40,4 @@ var defaultEditorProps = {
|
|
|
32
40
|
customContentMenu: (menus) => menus
|
|
33
41
|
};
|
|
34
42
|
//#endregion
|
|
35
|
-
export { defaultEditorProps };
|
|
43
|
+
export { ENABLE_PROPS_FORM_VALIDATE, defaultEditorProps };
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import CodeEditor_default from "../layouts/CodeEditor.js";
|
|
2
|
-
import {
|
|
2
|
+
import { FORM_SILENT_MODE_KEY } from "@tmagic/form";
|
|
3
|
+
import { computed, createBlock, createCommentVNode, defineComponent, inject, openBlock, unref } from "vue";
|
|
3
4
|
//#region packages/editor/src/fields/Code.vue?vue&type=script&setup=true&lang.ts
|
|
4
|
-
var Code_vue_vue_type_script_setup_true_lang_default =
|
|
5
|
+
var Code_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
5
6
|
name: "MFieldsVsCode",
|
|
6
7
|
__name: "Code",
|
|
7
8
|
props: {
|
|
@@ -17,10 +18,19 @@ var Code_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCom
|
|
|
17
18
|
},
|
|
18
19
|
size: {},
|
|
19
20
|
lastValues: {},
|
|
20
|
-
isCompare: { type: Boolean }
|
|
21
|
+
isCompare: { type: Boolean },
|
|
22
|
+
text: {},
|
|
23
|
+
labelWidth: {},
|
|
24
|
+
labelPosition: {}
|
|
21
25
|
},
|
|
22
26
|
emits: ["change"],
|
|
23
27
|
setup(__props, { emit: __emit }) {
|
|
28
|
+
/**
|
|
29
|
+
* 静默模式(submitForm/validateForm 隐藏挂载)下跳过 monaco 渲染:
|
|
30
|
+
* 校验由 FormItem 针对 model 中的值完成,与编辑器实例无关;本组件挂载无值副作用
|
|
31
|
+
* (save 仅由用户操作/编辑器内容变更触发),跳过可省去 monaco worker/model 的无谓实例化。
|
|
32
|
+
*/
|
|
33
|
+
const silentMode = inject(FORM_SILENT_MODE_KEY, false);
|
|
24
34
|
const emit = __emit;
|
|
25
35
|
const props = __props;
|
|
26
36
|
/**
|
|
@@ -38,7 +48,8 @@ var Code_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCom
|
|
|
38
48
|
emit("change", v);
|
|
39
49
|
};
|
|
40
50
|
return (_ctx, _cache) => {
|
|
41
|
-
return openBlock(), createBlock(CodeEditor_default, {
|
|
51
|
+
return !unref(silentMode) ? (openBlock(), createBlock(CodeEditor_default, {
|
|
52
|
+
key: 0,
|
|
42
53
|
height: __props.config.height,
|
|
43
54
|
type: diffMode.value ? "diff" : void 0,
|
|
44
55
|
"init-values": diffMode.value ? (__props.lastValues || {})[__props.name] : __props.model[__props.name],
|
|
@@ -62,7 +73,7 @@ var Code_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCom
|
|
|
62
73
|
"autosize",
|
|
63
74
|
"parse",
|
|
64
75
|
"editor-custom-type"
|
|
65
|
-
]);
|
|
76
|
+
])) : createCommentVNode("v-if", true);
|
|
66
77
|
};
|
|
67
78
|
}
|
|
68
79
|
});
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { getEditorConfig } from "../utils/config.js";
|
|
2
|
+
import { serializeConfig } from "../utils/editor.js";
|
|
2
3
|
import { computed, createBlock, defineComponent, openBlock, reactive, resolveComponent, watch } from "vue";
|
|
3
|
-
import serialize from "serialize-javascript";
|
|
4
4
|
//#region packages/editor/src/fields/CodeLink.vue?vue&type=script&setup=true&lang.ts
|
|
5
|
-
var CodeLink_vue_vue_type_script_setup_true_lang_default =
|
|
5
|
+
var CodeLink_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
6
6
|
name: "MFieldsCodeLink",
|
|
7
7
|
__name: "CodeLink",
|
|
8
8
|
props: {
|
|
@@ -15,7 +15,10 @@ var CodeLink_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defin
|
|
|
15
15
|
disabled: { type: Boolean },
|
|
16
16
|
size: {},
|
|
17
17
|
lastValues: {},
|
|
18
|
-
isCompare: { type: Boolean }
|
|
18
|
+
isCompare: { type: Boolean },
|
|
19
|
+
text: {},
|
|
20
|
+
labelWidth: {},
|
|
21
|
+
labelPosition: {}
|
|
19
22
|
},
|
|
20
23
|
emits: ["change"],
|
|
21
24
|
setup(__props, { emit: __emit }) {
|
|
@@ -39,10 +42,7 @@ var CodeLink_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defin
|
|
|
39
42
|
});
|
|
40
43
|
const modelValue = reactive({ form: { [props.name]: "" } });
|
|
41
44
|
watch(() => props.model[props.name], (value) => {
|
|
42
|
-
modelValue.form = { [props.name]:
|
|
43
|
-
space: 2,
|
|
44
|
-
unsafe: true
|
|
45
|
-
}).replace(/"(\w+)":\s/g, "$1: ") };
|
|
45
|
+
modelValue.form = { [props.name]: serializeConfig(value) };
|
|
46
46
|
}, { immediate: true });
|
|
47
47
|
const changeHandler = (v) => {
|
|
48
48
|
if (!props.name || !props.model) return;
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { useServices } from "../hooks/use-services.js";
|
|
2
2
|
import { MContainer } from "@tmagic/form";
|
|
3
|
-
import { TMagicCard } from "@tmagic/design";
|
|
3
|
+
import { TMagicButton, TMagicCard } from "@tmagic/design";
|
|
4
4
|
import { HookCodeType, HookType } from "@tmagic/core";
|
|
5
|
-
import { computed, createElementBlock, createVNode, defineComponent, normalizeClass, openBlock, unref, watch, withCtx } from "vue";
|
|
5
|
+
import { computed, createElementBlock, createTextVNode, createVNode, defineComponent, normalizeClass, openBlock, toDisplayString, unref, watch, withCtx } from "vue";
|
|
6
6
|
import { isEmpty } from "lodash-es";
|
|
7
|
+
import { Plus } from "@element-plus/icons-vue";
|
|
7
8
|
//#region packages/editor/src/fields/CodeSelect.vue?vue&type=script&setup=true&lang.ts
|
|
8
|
-
var CodeSelect_vue_vue_type_script_setup_true_lang_default =
|
|
9
|
+
var CodeSelect_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
9
10
|
name: "MFieldsCodeSelect",
|
|
10
11
|
__name: "CodeSelect",
|
|
11
12
|
props: {
|
|
@@ -18,7 +19,10 @@ var CodeSelect_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
|
|
|
18
19
|
disabled: { type: Boolean },
|
|
19
20
|
size: {},
|
|
20
21
|
lastValues: {},
|
|
21
|
-
isCompare: { type: Boolean }
|
|
22
|
+
isCompare: { type: Boolean },
|
|
23
|
+
text: {},
|
|
24
|
+
labelWidth: {},
|
|
25
|
+
labelPosition: {}
|
|
22
26
|
},
|
|
23
27
|
emits: ["change"],
|
|
24
28
|
setup(__props, { emit: __emit }) {
|
|
@@ -39,11 +43,21 @@ var CodeSelect_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
|
|
|
39
43
|
* 仅当存在历史值时才启用对比,避免 lastValues 缺失时退化为「全部新增」的空对比。
|
|
40
44
|
*/
|
|
41
45
|
const isCompareMode = computed(() => Boolean(props.isCompare && props.lastValues));
|
|
46
|
+
const newHandler = () => {
|
|
47
|
+
const defaultCode = {
|
|
48
|
+
codeType: HookCodeType.CODE,
|
|
49
|
+
codeId: ""
|
|
50
|
+
};
|
|
51
|
+
const name = props.config.name || "";
|
|
52
|
+
const hookData = props.model[name]?.hookData || [];
|
|
53
|
+
emit("change", defaultCode, { modifyKey: `hookData.${hookData.length}` });
|
|
54
|
+
};
|
|
42
55
|
const codeConfig = computed(() => ({
|
|
43
56
|
type: "group-list",
|
|
44
57
|
name: "hookData",
|
|
45
58
|
enableToggleMode: false,
|
|
46
59
|
expandAll: true,
|
|
60
|
+
addable: () => false,
|
|
47
61
|
title: (mForm, { model, index }) => {
|
|
48
62
|
if (model.codeType === HookCodeType.DATA_SOURCE_METHOD) {
|
|
49
63
|
if (Array.isArray(model.codeId)) {
|
|
@@ -56,45 +70,54 @@ var CodeSelect_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
|
|
|
56
70
|
if (codeContent) return codeContent.name;
|
|
57
71
|
return model.codeId || index;
|
|
58
72
|
},
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
name: "codeId",
|
|
83
|
-
span: 18,
|
|
84
|
-
labelWidth: 0,
|
|
85
|
-
display: (_mForm, { model }) => model.codeType !== HookCodeType.DATA_SOURCE_METHOD,
|
|
86
|
-
notEditable: () => !codeBlockService.getEditStatus()
|
|
87
|
-
},
|
|
88
|
-
{
|
|
89
|
-
type: "data-source-method-select",
|
|
90
|
-
name: "codeId",
|
|
91
|
-
span: 18,
|
|
92
|
-
labelWidth: 0,
|
|
93
|
-
display: (_mForm, { model }) => model.codeType === HookCodeType.DATA_SOURCE_METHOD,
|
|
94
|
-
notEditable: () => !dataSourceService.get("editable")
|
|
73
|
+
titlePrefix: props.config.name === void 0 ? void 0 : String(props.config.name),
|
|
74
|
+
items: [
|
|
75
|
+
{
|
|
76
|
+
text: "代码类型",
|
|
77
|
+
type: "select",
|
|
78
|
+
name: "codeType",
|
|
79
|
+
labelPosition: "right",
|
|
80
|
+
rules: [{
|
|
81
|
+
typeMatch: true,
|
|
82
|
+
trigger: "change"
|
|
83
|
+
}],
|
|
84
|
+
options: [{
|
|
85
|
+
value: HookCodeType.CODE,
|
|
86
|
+
text: "代码块"
|
|
87
|
+
}, {
|
|
88
|
+
value: HookCodeType.DATA_SOURCE_METHOD,
|
|
89
|
+
text: "数据源方法"
|
|
90
|
+
}],
|
|
91
|
+
defaultValue: HookCodeType.CODE,
|
|
92
|
+
onChange: (_mForm, v, { setModel }) => {
|
|
93
|
+
if (v === HookCodeType.DATA_SOURCE_METHOD) setModel("codeId", []);
|
|
94
|
+
else setModel("codeId", "");
|
|
95
|
+
return v;
|
|
95
96
|
}
|
|
96
|
-
|
|
97
|
-
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
type: "code-select-col",
|
|
100
|
+
name: "codeId",
|
|
101
|
+
text: "代码块",
|
|
102
|
+
rules: [{
|
|
103
|
+
typeMatch: true,
|
|
104
|
+
trigger: "change"
|
|
105
|
+
}],
|
|
106
|
+
display: (_mForm, { model }) => model.codeType !== HookCodeType.DATA_SOURCE_METHOD,
|
|
107
|
+
notEditable: () => !codeBlockService.getEditStatus()
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
type: "data-source-method-select",
|
|
111
|
+
name: "codeId",
|
|
112
|
+
text: "数据源字段",
|
|
113
|
+
rules: [{
|
|
114
|
+
typeMatch: true,
|
|
115
|
+
trigger: "change"
|
|
116
|
+
}],
|
|
117
|
+
display: (_mForm, { model }) => model.codeType === HookCodeType.DATA_SOURCE_METHOD,
|
|
118
|
+
notEditable: () => !dataSourceService.get("editable")
|
|
119
|
+
}
|
|
120
|
+
]
|
|
98
121
|
}));
|
|
99
122
|
watch(() => props.model[props.name], (value) => {
|
|
100
123
|
if (isEmpty(value)) props.model[props.name] = {
|
|
@@ -104,10 +127,11 @@ var CodeSelect_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
|
|
|
104
127
|
}, { immediate: true });
|
|
105
128
|
const changeHandler = (v, eventData) => emit("change", v, eventData);
|
|
106
129
|
return (_ctx, _cache) => {
|
|
107
|
-
return openBlock(), createElementBlock("div", { class: normalizeClass(["m-fields-code-select", __props.config.className]) }, [createVNode(unref(TMagicCard),
|
|
130
|
+
return openBlock(), createElementBlock("div", { class: normalizeClass(["m-fields-code-select", __props.config.className]) }, [createVNode(unref(TMagicCard), { flat: __props.config.flat }, {
|
|
108
131
|
default: withCtx(() => [createVNode(unref(MContainer), {
|
|
109
132
|
config: codeConfig.value,
|
|
110
133
|
size: __props.size,
|
|
134
|
+
class: "code-select-content",
|
|
111
135
|
prop: __props.prop,
|
|
112
136
|
disabled: __props.disabled,
|
|
113
137
|
"is-compare": isCompareMode.value,
|
|
@@ -122,9 +146,22 @@ var CodeSelect_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
|
|
|
122
146
|
"is-compare",
|
|
123
147
|
"last-values",
|
|
124
148
|
"model"
|
|
149
|
+
]), createVNode(unref(TMagicButton), {
|
|
150
|
+
class: "create-button fullWidth",
|
|
151
|
+
icon: unref(Plus),
|
|
152
|
+
size: __props.size,
|
|
153
|
+
disabled: __props.disabled,
|
|
154
|
+
onClick: _cache[0] || (_cache[0] = ($event) => newHandler())
|
|
155
|
+
}, {
|
|
156
|
+
default: withCtx(() => [createTextVNode("添加" + toDisplayString(__props.config.text), 1)]),
|
|
157
|
+
_: 1
|
|
158
|
+
}, 8, [
|
|
159
|
+
"icon",
|
|
160
|
+
"size",
|
|
161
|
+
"disabled"
|
|
125
162
|
])]),
|
|
126
163
|
_: 1
|
|
127
|
-
})], 2);
|
|
164
|
+
}, 8, ["flat"])], 2);
|
|
128
165
|
};
|
|
129
166
|
}
|
|
130
167
|
});
|
|
@@ -10,7 +10,7 @@ import { Edit, View } from "@element-plus/icons-vue";
|
|
|
10
10
|
//#region packages/editor/src/fields/CodeSelectCol.vue?vue&type=script&setup=true&lang.ts
|
|
11
11
|
var _hoisted_1 = { class: "m-fields-code-select-col" };
|
|
12
12
|
var _hoisted_2 = { class: "code-select-container" };
|
|
13
|
-
var CodeSelectCol_vue_vue_type_script_setup_true_lang_default =
|
|
13
|
+
var CodeSelectCol_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
14
14
|
name: "MFieldsCodeSelectCol",
|
|
15
15
|
__name: "CodeSelectCol",
|
|
16
16
|
props: {
|
|
@@ -26,7 +26,10 @@ var CodeSelectCol_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
|
|
|
26
26
|
},
|
|
27
27
|
size: {},
|
|
28
28
|
lastValues: {},
|
|
29
|
-
isCompare: { type: Boolean }
|
|
29
|
+
isCompare: { type: Boolean },
|
|
30
|
+
text: {},
|
|
31
|
+
labelWidth: {},
|
|
32
|
+
labelPosition: {}
|
|
30
33
|
},
|
|
31
34
|
emits: ["change"],
|
|
32
35
|
setup(__props, { emit: __emit }) {
|
|
@@ -47,7 +50,8 @@ var CodeSelectCol_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
|
|
|
47
50
|
*/
|
|
48
51
|
const isCompareMode = computed(() => Boolean(props.isCompare && props.lastValues));
|
|
49
52
|
const notEditable = computed(() => filterFunction(mForm, props.config.notEditable, props));
|
|
50
|
-
const
|
|
53
|
+
const codeBlockSidePanel = computed(() => (uiService.get("sideBarItems") || []).find((item) => item.$key === SideItemKey.CODE_BLOCK));
|
|
54
|
+
const hasCodeBlockSidePanel = computed(() => codeBlockSidePanel.value);
|
|
51
55
|
/**
|
|
52
56
|
* 根据代码块id获取代码块参数配置
|
|
53
57
|
* @param codeId 代码块ID
|
|
@@ -71,6 +75,7 @@ var CodeSelectCol_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
|
|
|
71
75
|
type: "select",
|
|
72
76
|
name: props.name,
|
|
73
77
|
disabled: props.disabled,
|
|
78
|
+
text: props.config.text,
|
|
74
79
|
options: () => {
|
|
75
80
|
if (codeDsl.value) return map(codeDsl.value, (value, key) => ({
|
|
76
81
|
text: `${value.name}(${key})`,
|
|
@@ -102,6 +107,8 @@ var CodeSelectCol_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
|
|
|
102
107
|
emit("change", props.model[props.name], eventData);
|
|
103
108
|
};
|
|
104
109
|
const editCode = (id) => {
|
|
110
|
+
const sideBarItem = codeBlockSidePanel.value;
|
|
111
|
+
if (sideBarItem) uiService.set("sideBarActiveTabName", sideBarItem.text || sideBarItem.$key || SideItemKey.CODE_BLOCK);
|
|
105
112
|
eventBus?.emit("edit-code", id);
|
|
106
113
|
};
|
|
107
114
|
return (_ctx, _cache) => {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { getCondOpOptionsByFieldType } from "../utils/props.js";
|
|
2
2
|
import { useServices } from "../hooks/use-services.js";
|
|
3
3
|
import { getFieldType } from "../utils/data-source/index.js";
|
|
4
4
|
import { TMagicSelect, getDesignConfig } from "@tmagic/design";
|
|
5
5
|
import { Fragment, computed, createBlock, createElementBlock, defineComponent, mergeProps, openBlock, renderList, resolveDynamicComponent, unref, withCtx } from "vue";
|
|
6
6
|
//#region packages/editor/src/fields/CondOpSelect.vue?vue&type=script&setup=true&lang.ts
|
|
7
|
-
var CondOpSelect_vue_vue_type_script_setup_true_lang_default =
|
|
7
|
+
var CondOpSelect_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
8
8
|
name: "MFieldsCondOpSelect",
|
|
9
9
|
__name: "CondOpSelect",
|
|
10
10
|
props: {
|
|
@@ -17,7 +17,10 @@ var CondOpSelect_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ d
|
|
|
17
17
|
disabled: { type: Boolean },
|
|
18
18
|
size: {},
|
|
19
19
|
lastValues: {},
|
|
20
|
-
isCompare: { type: Boolean }
|
|
20
|
+
isCompare: { type: Boolean },
|
|
21
|
+
text: {},
|
|
22
|
+
labelWidth: {},
|
|
23
|
+
labelPosition: {}
|
|
21
24
|
},
|
|
22
25
|
emits: ["change"],
|
|
23
26
|
setup(__props, { emit: __emit }) {
|
|
@@ -27,22 +30,7 @@ var CondOpSelect_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ d
|
|
|
27
30
|
const optionComponent = getDesignConfig("components")?.option;
|
|
28
31
|
const options = computed(() => {
|
|
29
32
|
const [id, ...fieldNames] = [...props.config.parentFields || [], ...props.model.field];
|
|
30
|
-
|
|
31
|
-
if (type === "array") return arrayOptions;
|
|
32
|
-
if (type === "boolean" || type === "null") return [{
|
|
33
|
-
text: "是",
|
|
34
|
-
value: "is"
|
|
35
|
-
}, {
|
|
36
|
-
text: "不是",
|
|
37
|
-
value: "not"
|
|
38
|
-
}];
|
|
39
|
-
if (type === "number") return [...eqOptions, ...numberOptions];
|
|
40
|
-
if (type === "string") return [...arrayOptions, ...eqOptions];
|
|
41
|
-
return [
|
|
42
|
-
...arrayOptions,
|
|
43
|
-
...eqOptions,
|
|
44
|
-
...numberOptions
|
|
45
|
-
];
|
|
33
|
+
return getCondOpOptionsByFieldType(getFieldType(dataSourceService.getDataSourceById(id), fieldNames));
|
|
46
34
|
});
|
|
47
35
|
const fieldChangeHandler = (v) => {
|
|
48
36
|
emit("change", v);
|
package/dist/es/fields/DataSourceFieldSelect/FieldSelect.vue_vue_type_script_setup_true_lang.js
CHANGED
|
@@ -9,9 +9,9 @@ import { Fragment, computed, createBlock, createCommentVNode, createElementBlock
|
|
|
9
9
|
import { Edit, View } from "@element-plus/icons-vue";
|
|
10
10
|
//#region packages/editor/src/fields/DataSourceFieldSelect/FieldSelect.vue?vue&type=script&setup=true&lang.ts
|
|
11
11
|
var _hoisted_1 = { class: "m-editor-data-source-field-select" };
|
|
12
|
-
var FieldSelect_vue_vue_type_script_setup_true_lang_default =
|
|
12
|
+
var FieldSelect_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
13
13
|
__name: "FieldSelect",
|
|
14
|
-
props:
|
|
14
|
+
props: /*@__PURE__*/ mergeModels({
|
|
15
15
|
value: {},
|
|
16
16
|
disabled: { type: Boolean },
|
|
17
17
|
checkStrictly: { type: Boolean },
|
|
@@ -23,7 +23,7 @@ var FieldSelect_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ de
|
|
|
23
23
|
"modelValue": { default: [] },
|
|
24
24
|
"modelModifiers": {}
|
|
25
25
|
}),
|
|
26
|
-
emits:
|
|
26
|
+
emits: /*@__PURE__*/ mergeModels(["change"], ["update:modelValue"]),
|
|
27
27
|
setup(__props, { emit: __emit }) {
|
|
28
28
|
const props = __props;
|
|
29
29
|
const emit = __emit;
|
|
@@ -49,7 +49,8 @@ var FieldSelect_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ de
|
|
|
49
49
|
const selectFieldsId = ref([]);
|
|
50
50
|
watch(modelValue, (value) => {
|
|
51
51
|
if (props.dataSourceId) {
|
|
52
|
-
|
|
52
|
+
const dsIdValue = valueIsKey.value ? props.dataSourceId : `${DATA_SOURCE_FIELDS_SELECT_VALUE_PREFIX}${props.dataSourceId}`;
|
|
53
|
+
selectDataSourceId.value = dsIdValue;
|
|
53
54
|
selectFieldsId.value = Array.isArray(value) ? value : [];
|
|
54
55
|
} else if (Array.isArray(value) && value.length) {
|
|
55
56
|
const [dsId, ...fields] = value;
|
|
@@ -89,9 +90,15 @@ var FieldSelect_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ de
|
|
|
89
90
|
modelValue.value = v;
|
|
90
91
|
emit("change", v);
|
|
91
92
|
};
|
|
92
|
-
const
|
|
93
|
+
const dataSourceSidePanel = computed(() => uiService.get("sideBarItems").find((item) => item.$key === SideItemKey.DATA_SOURCE));
|
|
94
|
+
const hasDataSourceSidePanel = computed(() => dataSourceSidePanel.value);
|
|
93
95
|
const editHandler = (id) => {
|
|
94
|
-
|
|
96
|
+
const sideBarItem = dataSourceSidePanel.value;
|
|
97
|
+
if (sideBarItem) uiService.set("sideBarActiveTabName", sideBarItem.text || sideBarItem.$key || SideItemKey.DATA_SOURCE);
|
|
98
|
+
const dataSourceId = removeDataSourceFieldPrefix(id);
|
|
99
|
+
const fieldPath = selectFieldsId.value;
|
|
100
|
+
if (fieldPath.length) eventBus?.emit("edit-data-source-field", dataSourceId, [...fieldPath]);
|
|
101
|
+
else eventBus?.emit("edit-data-source", dataSourceId);
|
|
95
102
|
};
|
|
96
103
|
return (_ctx, _cache) => {
|
|
97
104
|
return openBlock(), createElementBlock("div", _hoisted_1, [__props.dataSourceId ? (openBlock(), createBlock(unref(TMagicCascader), {
|