@tmagic/editor 1.8.0-manmanyu.8 → 1.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/es/Editor.vue_vue_type_script_setup_true_lang.js +22 -13
- package/dist/es/components/CodeBlockEditor.vue_vue_type_script_setup_true_lang.js +10 -5
- package/dist/es/components/CodeParams.vue_vue_type_script_setup_true_lang.js +7 -6
- package/dist/es/components/CompareForm.vue_vue_type_script_setup_true_lang.js +21 -119
- package/dist/es/components/ContentMenu.vue_vue_type_script_setup_true_lang.js +21 -5
- package/dist/es/components/FloatingBox.vue_vue_type_script_setup_true_lang.js +62 -16
- 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 +3 -2
- package/dist/es/components/ScrollBar.js +0 -1
- package/dist/es/components/ScrollBar.vue_vue_type_script_setup_true_lang.js +5 -4
- 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 +1 -1
- 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 +56 -0
- package/dist/es/editorProps.js +7 -1
- package/dist/es/fields/Code.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/es/fields/CodeLink.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/es/fields/CodeSelect.vue_vue_type_script_setup_true_lang.js +30 -113
- package/dist/es/fields/CodeSelectCol.vue_vue_type_script_setup_true_lang.js +2 -2
- 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 +7 -6
- package/dist/es/fields/DataSourceFieldSelect/Index.vue_vue_type_script_setup_true_lang.js +4 -2
- package/dist/es/fields/DataSourceFields.vue_vue_type_script_setup_true_lang.js +12 -4
- package/dist/es/fields/DataSourceInput.vue_vue_type_script_setup_true_lang.js +9 -20
- package/dist/es/fields/DataSourceMethodSelect.vue_vue_type_script_setup_true_name_true_lang.js +2 -2
- package/dist/es/fields/DataSourceMethods.vue_vue_type_script_setup_true_lang.js +5 -3
- package/dist/es/fields/DataSourceMocks.vue_vue_type_script_setup_true_lang.js +9 -4
- package/dist/es/fields/DataSourceSelect.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/es/fields/DisplayConds.vue_vue_type_script_setup_true_lang.js +10 -110
- package/dist/es/fields/EventSelect.vue_vue_type_script_setup_true_lang.js +52 -363
- package/dist/es/fields/KeyValue.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/es/fields/PageFragmentSelect.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/es/fields/StyleSetter/Index.vue_vue_type_script_setup_true_lang.js +3 -6
- package/dist/es/fields/StyleSetter/components/BackgroundPosition.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/es/fields/StyleSetter/components/Border.vue_vue_type_script_setup_true_lang.js +4 -35
- package/dist/es/fields/StyleSetter/components/Box.vue_vue_type_script_setup_true_lang.js +3 -3
- package/dist/es/fields/StyleSetter/configs.js +663 -0
- package/dist/es/fields/StyleSetter/icons/align-items/Center.js +1 -1
- package/dist/es/fields/StyleSetter/icons/align-items/FlexEnd.js +1 -1
- package/dist/es/fields/StyleSetter/icons/align-items/FlexStart.js +1 -1
- package/dist/es/fields/StyleSetter/icons/align-items/SpaceAround.js +1 -1
- package/dist/es/fields/StyleSetter/icons/align-items/SpaceBetween.js +1 -1
- package/dist/es/fields/StyleSetter/icons/background-repeat/NoRepeat.js +1 -1
- package/dist/es/fields/StyleSetter/icons/background-repeat/Repeat.js +1 -1
- package/dist/es/fields/StyleSetter/icons/background-repeat/RepeatX.js +1 -1
- package/dist/es/fields/StyleSetter/icons/background-repeat/RepeatY.js +1 -1
- 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 +1 -1
- package/dist/es/fields/StyleSetter/icons/flex-direction/ColumnReverse.js +1 -1
- package/dist/es/fields/StyleSetter/icons/flex-direction/Row.js +1 -1
- package/dist/es/fields/StyleSetter/icons/flex-direction/RowReverse.js +1 -1
- package/dist/es/fields/StyleSetter/icons/justify-content/Center.js +1 -1
- package/dist/es/fields/StyleSetter/icons/justify-content/FlexEnd.js +1 -1
- package/dist/es/fields/StyleSetter/icons/justify-content/FlexStart.js +1 -1
- package/dist/es/fields/StyleSetter/icons/justify-content/SpaceAround.js +1 -1
- package/dist/es/fields/StyleSetter/icons/justify-content/SpaceBetween.js +1 -1
- 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 +29 -106
- package/dist/es/fields/StyleSetter/pro/Border.vue_vue_type_script_setup_true_lang.js +8 -11
- package/dist/es/fields/StyleSetter/pro/Font.vue_vue_type_script_setup_true_lang.js +30 -89
- package/dist/es/fields/StyleSetter/pro/Layout.vue_vue_type_script_setup_true_lang.js +29 -297
- package/dist/es/fields/StyleSetter/pro/Position.vue_vue_type_script_setup_true_lang.js +29 -82
- package/dist/es/fields/StyleSetter/pro/Transform.vue_vue_type_script_setup_true_lang.js +8 -24
- package/dist/es/fields/UISelect.js +0 -1
- package/dist/es/fields/UISelect.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/es/fields/configs/codeSelect.js +98 -0
- package/dist/es/fields/configs/displayConds.js +158 -0
- package/dist/es/fields/configs/eventSelect.js +225 -0
- package/dist/es/fields/configs/stickyAddButton.js +21 -0
- package/dist/es/fields/headless-validation.js +139 -0
- package/dist/es/headless.js +2 -0
- package/dist/es/hooks/use-code-block-edit.js +4 -2
- package/dist/es/hooks/use-compare-form.js +101 -0
- package/dist/es/hooks/use-form-context.js +29 -0
- package/dist/es/hooks/use-stage.js +1 -0
- 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 +1 -1
- package/dist/es/icons/FolderMinusIcon.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/es/index.js +17 -9
- package/dist/es/initService.js +52 -16
- 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 +26 -10
- package/dist/es/layouts/Framework.vue_vue_type_script_setup_true_lang.js +11 -8
- package/dist/es/layouts/NavMenu.vue_vue_type_script_setup_true_lang.js +3 -3
- 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 +1 -1
- package/dist/es/layouts/history-list/BucketTab.vue_vue_type_script_setup_true_lang.js +8 -5
- package/dist/es/layouts/history-list/GroupRow.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/es/layouts/history-list/HistoryDiffDialog.vue_vue_type_script_setup_true_lang.js +26 -10
- package/dist/es/layouts/history-list/HistoryListPanel.vue_vue_type_script_setup_true_lang.js +36 -28
- package/dist/es/layouts/history-list/InitialRow.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/es/layouts/history-list/PageTab.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/es/layouts/history-list/composables.js +1 -1
- package/dist/es/layouts/history-list/useHistoryList.js +4 -4
- package/dist/es/layouts/history-list/useHistoryRevert.js +38 -33
- 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 +1 -1
- 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 -20
- package/dist/es/layouts/props-panel/PropsPanel.vue_vue_type_script_setup_true_lang.js +53 -35
- 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 +21 -36
- package/dist/es/layouts/sidebar/code-block/CodeBlockList.vue_vue_type_script_setup_true_lang.js +1 -1
- 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 +9 -4
- 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 +4 -4
- 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 +3 -3
- 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 +1 -1
- package/dist/es/layouts/sidebar/layer/LayerPanel.vue_vue_type_script_setup_true_lang.js +6 -4
- package/dist/es/layouts/sidebar/layer/use-click.js +3 -3
- package/dist/es/layouts/sidebar/layer/use-drag.js +11 -10
- 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 +55 -9
- 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 +8 -8
- package/dist/es/plugin.js +35 -23
- package/dist/es/services/codeBlock.js +40 -31
- package/dist/es/services/dataSource.js +46 -34
- package/dist/es/services/dep.js +162 -41
- package/dist/es/services/editor.js +373 -137
- package/dist/es/services/events.js +4 -4
- package/dist/es/services/history.js +275 -392
- package/dist/es/services/keybinding.js +3 -3
- package/dist/es/services/props.js +2 -1
- package/dist/es/services/storage.js +2 -2
- package/dist/es/services/ui.js +7 -2
- package/dist/es/style.css +277 -114
- package/dist/es/utils/code-block.js +14 -7
- package/dist/es/utils/config.js +4 -1
- package/dist/es/utils/const.js +2 -2
- package/dist/es/utils/content-menu.js +2 -2
- package/dist/es/utils/data-source/index.js +34 -12
- package/dist/es/utils/dep/collect-worker-client.js +154 -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 +4 -2
- package/dist/es/utils/event.js +135 -0
- package/dist/es/utils/history.js +35 -47
- package/dist/es/utils/monaco-editor.js +22 -6
- package/dist/es/utils/operator.js +2 -2
- package/dist/es/utils/props.js +50 -106
- package/dist/es/utils/type-match-rules.js +356 -0
- package/dist/style.css +277 -114
- package/dist/themes/magic-admin.css +978 -175
- package/dist/tmagic-editor-headless.umd.cjs +10880 -0
- package/dist/tmagic-editor.umd.cjs +13047 -11363
- package/package.json +18 -13
- package/src/Editor.vue +23 -6
- package/src/components/CodeBlockEditor.vue +3 -0
- package/src/components/CodeParams.vue +10 -4
- package/src/components/CompareForm.vue +20 -190
- package/src/components/ContentMenu.vue +34 -6
- package/src/components/FloatingBox.vue +71 -7
- package/src/components/ScrollBar.vue +0 -67
- package/src/components/ViewForm.vue +54 -0
- package/src/editorProps.ts +23 -10
- package/src/fields/Code.vue +1 -1
- package/src/fields/CodeSelect.vue +20 -113
- package/src/fields/CodeSelectCol.vue +1 -1
- package/src/fields/CondOpSelect.vue +5 -26
- package/src/fields/DataSourceFieldSelect/FieldSelect.vue +2 -2
- package/src/fields/DataSourceFieldSelect/Index.vue +4 -1
- package/src/fields/DataSourceFields.vue +5 -1
- package/src/fields/DataSourceInput.vue +10 -28
- package/src/fields/DataSourceMethodSelect.vue +1 -1
- package/src/fields/DataSourceMethods.vue +6 -2
- package/src/fields/DataSourceMocks.vue +3 -0
- package/src/fields/DataSourceSelect.vue +1 -1
- package/src/fields/DisplayConds.vue +17 -139
- package/src/fields/EventSelect.vue +29 -416
- package/src/fields/KeyValue.vue +1 -1
- package/src/fields/StyleSetter/Index.vue +2 -8
- package/src/fields/StyleSetter/components/Border.vue +4 -38
- package/src/fields/StyleSetter/components/Box.vue +1 -1
- package/src/fields/StyleSetter/components/Position.vue +1 -1
- package/src/fields/StyleSetter/configs.ts +690 -0
- package/src/fields/StyleSetter/pro/Background.vue +9 -64
- package/src/fields/StyleSetter/pro/Border.vue +5 -16
- package/src/fields/StyleSetter/pro/Font.vue +11 -71
- package/src/fields/StyleSetter/pro/Layout.vue +10 -230
- package/src/fields/StyleSetter/pro/Position.vue +11 -82
- package/src/fields/StyleSetter/pro/Transform.vue +6 -34
- package/src/fields/UISelect.vue +0 -12
- package/src/fields/configs/codeSelect.ts +127 -0
- package/src/fields/configs/displayConds.ts +184 -0
- package/src/fields/configs/eventSelect.ts +309 -0
- package/src/fields/configs/stickyAddButton.ts +32 -0
- package/src/fields/headless-validation.ts +177 -0
- package/src/headless.ts +33 -0
- package/src/hooks/index.ts +1 -0
- package/src/hooks/use-compare-form.ts +166 -0
- package/src/hooks/use-form-context.ts +56 -0
- package/src/hooks/use-stage.ts +1 -0
- package/src/index.ts +9 -0
- package/src/initService.ts +73 -18
- package/src/layouts/CodeEditor.vue +32 -6
- package/src/layouts/Framework.vue +7 -6
- package/src/layouts/history-list/BucketTab.vue +2 -2
- package/src/layouts/history-list/HistoryDiffDialog.vue +33 -15
- package/src/layouts/history-list/HistoryListPanel.vue +16 -18
- package/src/layouts/history-list/useHistoryRevert.ts +57 -41
- package/src/layouts/props-panel/FormPanel.vue +75 -20
- package/src/layouts/props-panel/PropsPanel.vue +81 -30
- package/src/layouts/props-panel/use-style-panel.ts +4 -3
- package/src/layouts/sidebar/ComponentListPanel.vue +6 -2
- package/src/layouts/sidebar/Sidebar.vue +5 -3
- 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 +3 -0
- package/src/layouts/sidebar/data-source/DataSourceListPanel.vue +3 -3
- package/src/layouts/sidebar/data-source/useContentMenu.ts +14 -2
- package/src/layouts/sidebar/layer/LayerMenu.vue +2 -2
- package/src/layouts/sidebar/layer/LayerNodeContent.vue +57 -0
- package/src/layouts/sidebar/layer/LayerPanel.vue +5 -2
- 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 +80 -10
- package/src/layouts/workspace/viewer/ViewerMenu.vue +7 -7
- package/src/plugin.ts +35 -25
- package/src/services/codeBlock.ts +4 -0
- package/src/services/dataSource.ts +3 -0
- package/src/services/dep.ts +292 -47
- package/src/services/editor.ts +383 -120
- package/src/services/events.ts +8 -7
- package/src/services/history.ts +22 -1
- package/src/services/keybinding.ts +3 -3
- package/src/services/ui.ts +26 -5
- package/src/theme/code-block.scss +0 -37
- package/src/theme/display-conds.scss +4 -0
- package/src/theme/event.scss +25 -33
- package/src/theme/floating-box.scss +9 -1
- package/src/theme/framework.scss +4 -1
- package/src/theme/layer-node-content.scss +14 -0
- package/src/theme/nav-menu.scss +5 -1
- package/src/theme/props-panel.scss +17 -3
- package/src/theme/scroll-bar.scss +64 -0
- package/src/theme/theme.scss +3 -0
- package/src/theme/themes/magic-admin/index.scss +109 -9
- package/src/theme/ui-select.scss +9 -0
- package/src/type.ts +216 -6
- package/src/utils/code-block.ts +1 -0
- package/src/utils/config.ts +9 -1
- package/src/utils/const.ts +3 -3
- package/src/utils/content-menu.ts +2 -2
- package/src/utils/data-source/index.ts +31 -12
- package/src/utils/dep/collect-worker-client.ts +215 -0
- package/src/utils/dep/idle-task.ts +104 -35
- package/src/utils/dep/worker.ts +113 -9
- package/src/utils/event.ts +237 -0
- package/src/utils/index.ts +2 -0
- package/src/utils/monaco-editor.ts +27 -0
- package/src/utils/operator.ts +2 -2
- package/src/utils/props.ts +61 -122
- package/src/utils/type-match-rules.ts +697 -0
- package/types/headless.d.ts +17 -0
- package/types/index.d.ts +1494 -978
- package/src/fields/StyleSetter/icons/align-items/index copy.ts +0 -5
|
@@ -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: {
|
|
@@ -48,9 +48,10 @@ var ScrollBar_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defi
|
|
|
48
48
|
return props.scrollSize * ratio;
|
|
49
49
|
};
|
|
50
50
|
const scrollBy = (delta) => {
|
|
51
|
-
if (delta < 0)
|
|
52
|
-
|
|
53
|
-
|
|
51
|
+
if (delta < 0) {
|
|
52
|
+
if (props.pos <= 0) emit("scroll", 0);
|
|
53
|
+
else emit("scroll", -Math.min(-delta, props.pos));
|
|
54
|
+
} else {
|
|
54
55
|
const leftPos = props.size - (thumbSize.value + thumbPos.value);
|
|
55
56
|
if (leftPos <= 0) emit("scroll", 0);
|
|
56
57
|
else emit("scroll", Math.min(delta, leftPos));
|
|
@@ -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: {
|
|
@@ -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,56 @@
|
|
|
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
|
+
size: {},
|
|
16
|
+
loadConfig: {},
|
|
17
|
+
services: {},
|
|
18
|
+
disabled: {
|
|
19
|
+
type: Boolean,
|
|
20
|
+
default: true
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
setup(__props, { expose: __expose }) {
|
|
24
|
+
const { config, currentValues, wrapperStyle, formContext, loadConfig, formRef } = useCompareForm(__props);
|
|
25
|
+
__expose({
|
|
26
|
+
form: formRef,
|
|
27
|
+
config,
|
|
28
|
+
reload: loadConfig
|
|
29
|
+
});
|
|
30
|
+
return (_ctx, _cache) => {
|
|
31
|
+
return openBlock(), createElementBlock("div", {
|
|
32
|
+
class: "m-editor-view-form-wrapper",
|
|
33
|
+
style: normalizeStyle(unref(wrapperStyle))
|
|
34
|
+
}, [unref(config).length ? (openBlock(), createBlock(unref(MForm), {
|
|
35
|
+
key: 0,
|
|
36
|
+
ref: "form",
|
|
37
|
+
class: "m-editor-view-form",
|
|
38
|
+
config: unref(config),
|
|
39
|
+
"init-values": unref(currentValues),
|
|
40
|
+
disabled: __props.disabled,
|
|
41
|
+
"label-width": __props.labelWidth,
|
|
42
|
+
context: unref(formContext),
|
|
43
|
+
size: __props.size
|
|
44
|
+
}, null, 8, [
|
|
45
|
+
"config",
|
|
46
|
+
"init-values",
|
|
47
|
+
"disabled",
|
|
48
|
+
"label-width",
|
|
49
|
+
"context",
|
|
50
|
+
"size"
|
|
51
|
+
])) : createCommentVNode("v-if", true)], 4);
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
//#endregion
|
|
56
|
+
export { ViewForm_vue_vue_type_script_setup_true_lang_default as default };
|
package/dist/es/editorProps.js
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
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,
|
|
@@ -11,6 +16,7 @@ var defaultEditorProps = {
|
|
|
11
16
|
containerHighlightClassName: CONTAINER_HIGHLIGHT_CLASS_NAME,
|
|
12
17
|
containerHighlightDuration: 800,
|
|
13
18
|
containerHighlightType: ContainerHighlightType.DEFAULT,
|
|
19
|
+
containerHighlightAddOnly: false,
|
|
14
20
|
disabledShowSrc: false,
|
|
15
21
|
disabledDataSource: false,
|
|
16
22
|
disabledCodeBlock: false,
|
|
@@ -34,4 +40,4 @@ var defaultEditorProps = {
|
|
|
34
40
|
customContentMenu: (menus) => menus
|
|
35
41
|
};
|
|
36
42
|
//#endregion
|
|
37
|
-
export { defaultEditorProps };
|
|
43
|
+
export { ENABLE_PROPS_FORM_VALIDATE, defaultEditorProps };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import CodeEditor_default from "../layouts/CodeEditor.js";
|
|
2
2
|
import { computed, createBlock, defineComponent, openBlock } from "vue";
|
|
3
3
|
//#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 =
|
|
4
|
+
var Code_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
5
5
|
name: "MFieldsVsCode",
|
|
6
6
|
__name: "Code",
|
|
7
7
|
props: {
|
|
@@ -2,7 +2,7 @@ import { getEditorConfig } from "../utils/config.js";
|
|
|
2
2
|
import { serializeConfig } from "../utils/editor.js";
|
|
3
3
|
import { computed, createBlock, defineComponent, openBlock, reactive, resolveComponent, watch } from "vue";
|
|
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: {
|
|
@@ -1,12 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { createCodeSelectConfig, normalizeCodeSelectValue } from "./configs/codeSelect.js";
|
|
2
2
|
import { MContainer } from "@tmagic/form";
|
|
3
|
-
import {
|
|
4
|
-
import { HookCodeType, HookType } from "@tmagic/core";
|
|
5
|
-
import { computed, createElementBlock, createTextVNode, createVNode, defineComponent, normalizeClass, openBlock, toDisplayString, unref, watch, withCtx } from "vue";
|
|
6
|
-
import { isEmpty } from "lodash-es";
|
|
7
|
-
import { Plus } from "@element-plus/icons-vue";
|
|
3
|
+
import { computed, createElementBlock, createVNode, defineComponent, normalizeClass, openBlock, unref, watch } from "vue";
|
|
8
4
|
//#region packages/editor/src/fields/CodeSelect.vue?vue&type=script&setup=true&lang.ts
|
|
9
|
-
var CodeSelect_vue_vue_type_script_setup_true_lang_default =
|
|
5
|
+
var CodeSelect_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
10
6
|
name: "MFieldsCodeSelect",
|
|
11
7
|
__name: "CodeSelect",
|
|
12
8
|
props: {
|
|
@@ -27,7 +23,6 @@ var CodeSelect_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
|
|
|
27
23
|
emits: ["change"],
|
|
28
24
|
setup(__props, { emit: __emit }) {
|
|
29
25
|
const emit = __emit;
|
|
30
|
-
const { dataSourceService, codeBlockService } = useServices();
|
|
31
26
|
const props = __props;
|
|
32
27
|
/**
|
|
33
28
|
* 对比模式判定:
|
|
@@ -43,113 +38,35 @@ var CodeSelect_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
|
|
|
43
38
|
* 仅当存在历史值时才启用对比,避免 lastValues 缺失时退化为「全部新增」的空对比。
|
|
44
39
|
*/
|
|
45
40
|
const isCompareMode = computed(() => Boolean(props.isCompare && props.lastValues));
|
|
46
|
-
const
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
};
|
|
51
|
-
const name = props.config.name || "";
|
|
52
|
-
emit("change", defaultCode, { modifyKey: `hookData.${(props.model[name]?.hookData || []).length}` });
|
|
53
|
-
};
|
|
54
|
-
const codeConfig = computed(() => ({
|
|
55
|
-
type: "group-list",
|
|
56
|
-
name: "hookData",
|
|
57
|
-
enableToggleMode: false,
|
|
58
|
-
expandAll: true,
|
|
59
|
-
flat: true,
|
|
60
|
-
addable: () => false,
|
|
61
|
-
title: (mForm, { model, index }) => {
|
|
62
|
-
if (model.codeType === HookCodeType.DATA_SOURCE_METHOD) {
|
|
63
|
-
if (Array.isArray(model.codeId)) {
|
|
64
|
-
if (model.codeId.length < 2) return index;
|
|
65
|
-
return `${dataSourceService.getDataSourceById(model.codeId[0])?.title} / ${model.codeId[1]}`;
|
|
66
|
-
}
|
|
67
|
-
return Array.isArray(model.codeId) ? model.codeId.join("/") : index;
|
|
68
|
-
}
|
|
69
|
-
const codeContent = codeBlockService.getCodeContentById(model.codeId);
|
|
70
|
-
if (codeContent) return codeContent.name;
|
|
71
|
-
return model.codeId || index;
|
|
72
|
-
},
|
|
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
|
-
options: [{
|
|
81
|
-
value: HookCodeType.CODE,
|
|
82
|
-
text: "代码块"
|
|
83
|
-
}, {
|
|
84
|
-
value: HookCodeType.DATA_SOURCE_METHOD,
|
|
85
|
-
text: "数据源方法"
|
|
86
|
-
}],
|
|
87
|
-
defaultValue: "code",
|
|
88
|
-
onChange: (_mForm, v, { setModel }) => {
|
|
89
|
-
if (v === HookCodeType.DATA_SOURCE_METHOD) setModel("codeId", []);
|
|
90
|
-
else setModel("codeId", "");
|
|
91
|
-
return v;
|
|
92
|
-
}
|
|
93
|
-
},
|
|
94
|
-
{
|
|
95
|
-
type: "code-select-col",
|
|
96
|
-
name: "codeId",
|
|
97
|
-
text: "代码块",
|
|
98
|
-
display: (_mForm, { model }) => model.codeType !== HookCodeType.DATA_SOURCE_METHOD,
|
|
99
|
-
notEditable: () => !codeBlockService.getEditStatus()
|
|
100
|
-
},
|
|
101
|
-
{
|
|
102
|
-
type: "data-source-method-select",
|
|
103
|
-
name: "codeId",
|
|
104
|
-
text: "数据源字段",
|
|
105
|
-
display: (_mForm, { model }) => model.codeType === HookCodeType.DATA_SOURCE_METHOD,
|
|
106
|
-
notEditable: () => !dataSourceService.get("editable")
|
|
107
|
-
}
|
|
108
|
-
]
|
|
109
|
-
}));
|
|
110
|
-
watch(() => props.model[props.name], (value) => {
|
|
111
|
-
if (isEmpty(value)) props.model[props.name] = {
|
|
112
|
-
hookType: HookType.CODE,
|
|
113
|
-
hookData: []
|
|
114
|
-
};
|
|
115
|
-
}, { immediate: true });
|
|
41
|
+
const codeConfig = computed(() => createCodeSelectConfig(props.config));
|
|
42
|
+
watch(() => props.model[props.name], () => {
|
|
43
|
+
normalizeCodeSelectValue(props.model, props.name);
|
|
44
|
+
});
|
|
116
45
|
const changeHandler = (v, eventData) => emit("change", v, eventData);
|
|
117
46
|
return (_ctx, _cache) => {
|
|
118
|
-
return openBlock(), createElementBlock("div", { class: normalizeClass(["m-fields-code-select", __props.config.className]) }, [createVNode(unref(
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
disabled: __props.disabled,
|
|
142
|
-
onClick: _cache[0] || (_cache[0] = ($event) => newHandler())
|
|
143
|
-
}, {
|
|
144
|
-
default: withCtx(() => [createTextVNode("添加" + toDisplayString(__props.config.text), 1)]),
|
|
145
|
-
_: 1
|
|
146
|
-
}, 8, [
|
|
147
|
-
"icon",
|
|
148
|
-
"size",
|
|
149
|
-
"disabled"
|
|
150
|
-
])]),
|
|
151
|
-
_: 1
|
|
152
|
-
}, 8, ["flat"])], 2);
|
|
47
|
+
return openBlock(), createElementBlock("div", { class: normalizeClass(["m-fields-code-select", __props.config.className]) }, [createVNode(unref(MContainer), {
|
|
48
|
+
config: codeConfig.value,
|
|
49
|
+
size: __props.size,
|
|
50
|
+
class: "code-select-content",
|
|
51
|
+
prop: __props.prop,
|
|
52
|
+
disabled: __props.disabled,
|
|
53
|
+
"is-compare": isCompareMode.value,
|
|
54
|
+
"last-values": __props.lastValues?.[__props.name],
|
|
55
|
+
model: __props.model[__props.name],
|
|
56
|
+
"label-position": __props.config.labelPosition,
|
|
57
|
+
"label-width": __props.config.labelWidth,
|
|
58
|
+
onChange: changeHandler
|
|
59
|
+
}, null, 8, [
|
|
60
|
+
"config",
|
|
61
|
+
"size",
|
|
62
|
+
"prop",
|
|
63
|
+
"disabled",
|
|
64
|
+
"is-compare",
|
|
65
|
+
"last-values",
|
|
66
|
+
"model",
|
|
67
|
+
"label-position",
|
|
68
|
+
"label-width"
|
|
69
|
+
])], 2);
|
|
153
70
|
};
|
|
154
71
|
}
|
|
155
72
|
});
|
|
@@ -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: {
|
|
@@ -35,7 +35,7 @@ var CodeSelectCol_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
|
|
|
35
35
|
setup(__props, { emit: __emit }) {
|
|
36
36
|
const mForm = inject("mForm");
|
|
37
37
|
const { codeBlockService, uiService } = useServices();
|
|
38
|
-
const eventBus = inject("eventBus");
|
|
38
|
+
const eventBus = inject("eventBus", null);
|
|
39
39
|
const emit = __emit;
|
|
40
40
|
const props = __props;
|
|
41
41
|
/**
|
|
@@ -1,10 +1,11 @@
|
|
|
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
|
+
import { removeDataSourceFieldPrefix } from "@tmagic/utils";
|
|
5
6
|
import { Fragment, computed, createBlock, createElementBlock, defineComponent, mergeProps, openBlock, renderList, resolveDynamicComponent, unref, withCtx } from "vue";
|
|
6
7
|
//#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 =
|
|
8
|
+
var CondOpSelect_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
8
9
|
name: "MFieldsCondOpSelect",
|
|
9
10
|
__name: "CondOpSelect",
|
|
10
11
|
props: {
|
|
@@ -29,23 +30,10 @@ var CondOpSelect_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ d
|
|
|
29
30
|
const props = __props;
|
|
30
31
|
const optionComponent = getDesignConfig("components")?.option;
|
|
31
32
|
const options = computed(() => {
|
|
32
|
-
const [id, ...fieldNames] = [...props.config.parentFields || [], ...props.model.field];
|
|
33
|
-
const
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
text: "是",
|
|
37
|
-
value: "is"
|
|
38
|
-
}, {
|
|
39
|
-
text: "不是",
|
|
40
|
-
value: "not"
|
|
41
|
-
}];
|
|
42
|
-
if (type === "number") return [...eqOptions, ...numberOptions];
|
|
43
|
-
if (type === "string") return [...arrayOptions, ...eqOptions];
|
|
44
|
-
return [
|
|
45
|
-
...arrayOptions,
|
|
46
|
-
...eqOptions,
|
|
47
|
-
...numberOptions
|
|
48
|
-
];
|
|
33
|
+
const [id, ...fieldNames] = [...props.config.parentFields || [], ...props.model.field || []];
|
|
34
|
+
const ds = id ? dataSourceService.getDataSourceById(removeDataSourceFieldPrefix(id)) : void 0;
|
|
35
|
+
const type = getFieldType(ds, fieldNames);
|
|
36
|
+
return getCondOpOptionsByFieldType(type);
|
|
49
37
|
});
|
|
50
38
|
const fieldChangeHandler = (v) => {
|
|
51
39
|
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 },
|
|
@@ -20,10 +20,10 @@ var FieldSelect_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ de
|
|
|
20
20
|
notEditable: { type: [Boolean, Function] },
|
|
21
21
|
dataSourceId: {}
|
|
22
22
|
}, {
|
|
23
|
-
"modelValue": { default: [] },
|
|
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;
|
|
@@ -31,7 +31,7 @@ var FieldSelect_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ de
|
|
|
31
31
|
const optionComponent = getDesignConfig("components")?.option;
|
|
32
32
|
const { dataSourceService, uiService } = useServices();
|
|
33
33
|
const mForm = inject("mForm");
|
|
34
|
-
const eventBus = inject("eventBus");
|
|
34
|
+
const eventBus = inject("eventBus", null);
|
|
35
35
|
const allDataSources = computed(() => dataSourceService.get("dataSources") || []);
|
|
36
36
|
const dataSources = computed(() => {
|
|
37
37
|
if (!props.dataSourceId) return allDataSources.value;
|
|
@@ -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;
|
|
@@ -7,7 +7,7 @@ import { TMagicButton, TMagicTooltip, tMagicMessage } from "@tmagic/design";
|
|
|
7
7
|
import { DATA_SOURCE_FIELDS_SELECT_VALUE_PREFIX, removeDataSourceFieldPrefix } from "@tmagic/utils";
|
|
8
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 Index_vue_vue_type_script_setup_true_lang_default =
|
|
10
|
+
var Index_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
11
11
|
name: "MFieldsDataSourceFieldSelect",
|
|
12
12
|
__name: "Index",
|
|
13
13
|
props: {
|
|
@@ -59,7 +59,9 @@ var Index_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
|
|
|
59
59
|
let value;
|
|
60
60
|
if (typeof props.config.checkStrictly !== "function") value = props.config.checkStrictly;
|
|
61
61
|
else {
|
|
62
|
-
const
|
|
62
|
+
const fieldValue = props.model[props.name];
|
|
63
|
+
const rawDsId = props.config.dataSourceId ?? (Array.isArray(fieldValue) ? fieldValue[0] : fieldValue);
|
|
64
|
+
const dsId = removeDataSourceFieldPrefix(`${rawDsId}`);
|
|
63
65
|
const dataSource = dataSources.value.find((ds) => ds.id === dsId);
|
|
64
66
|
value = props.config.checkStrictly(mForm, {
|
|
65
67
|
values: mForm?.initValues || {},
|
|
@@ -14,10 +14,10 @@ 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: {},
|
|
@@ -48,7 +48,7 @@ var DataSourceFields_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
|
|
|
48
48
|
},
|
|
49
49
|
"visible1Modifiers": {}
|
|
50
50
|
}),
|
|
51
|
-
emits:
|
|
51
|
+
emits: /*@__PURE__*/ mergeModels(["change"], [
|
|
52
52
|
"update:width",
|
|
53
53
|
"update:visible",
|
|
54
54
|
"update:visible1"
|
|
@@ -315,7 +315,9 @@ var DataSourceFields_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
|
|
|
315
315
|
const addDialogVisible = useModel(__props, "visible");
|
|
316
316
|
const addFromJsonDialogVisible = useModel(__props, "visible1");
|
|
317
317
|
const { height: editorHeight } = useEditorContentHeight();
|
|
318
|
-
const
|
|
318
|
+
const parentFloating = inject("parentFloating", ref(null));
|
|
319
|
+
const { boxPosition, calcBoxPosition } = useNextFloatBoxPosition(uiService, parentFloating);
|
|
320
|
+
const frameworkWidth = computed(() => uiService.get("frameworkRect")?.width || 0);
|
|
319
321
|
/**
|
|
320
322
|
* 由 DataSourceConfigPanel 注入:打开数据源详情后需要直接打开的字段路径(字段名数组)。
|
|
321
323
|
* 当前层消费 path[0],并把剩余路径下发给嵌套字段,实现逐层打开。
|
|
@@ -356,6 +358,7 @@ var DataSourceFields_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
|
|
|
356
358
|
_: 1
|
|
357
359
|
}, 8, ["disabled"])])) : createCommentVNode("v-if", true),
|
|
358
360
|
createVNode(FloatingBox_default, {
|
|
361
|
+
"body-style": { padding: "0 16px" },
|
|
359
362
|
visible: addDialogVisible.value,
|
|
360
363
|
"onUpdate:visible": _cache[2] || (_cache[2] = ($event) => addDialogVisible.value = $event),
|
|
361
364
|
width: width.value,
|
|
@@ -363,6 +366,7 @@ var DataSourceFields_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
|
|
|
363
366
|
height: unref(editorHeight),
|
|
364
367
|
"onUpdate:height": _cache[4] || (_cache[4] = ($event) => isRef(editorHeight) ? editorHeight.value = $event : null),
|
|
365
368
|
title: fieldTitle.value,
|
|
369
|
+
"framework-width": frameworkWidth.value,
|
|
366
370
|
position: unref(boxPosition)
|
|
367
371
|
}, {
|
|
368
372
|
body: withCtx(() => [createVNode(unref(MFormBox), {
|
|
@@ -385,9 +389,11 @@ var DataSourceFields_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
|
|
|
385
389
|
"width",
|
|
386
390
|
"height",
|
|
387
391
|
"title",
|
|
392
|
+
"framework-width",
|
|
388
393
|
"position"
|
|
389
394
|
]),
|
|
390
395
|
createVNode(FloatingBox_default, {
|
|
396
|
+
"body-style": { padding: "0 16px" },
|
|
391
397
|
visible: addFromJsonDialogVisible.value,
|
|
392
398
|
"onUpdate:visible": _cache[5] || (_cache[5] = ($event) => addFromJsonDialogVisible.value = $event),
|
|
393
399
|
width: width.value,
|
|
@@ -395,6 +401,7 @@ var DataSourceFields_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
|
|
|
395
401
|
height: unref(editorHeight),
|
|
396
402
|
"onUpdate:height": _cache[7] || (_cache[7] = ($event) => isRef(editorHeight) ? editorHeight.value = $event : null),
|
|
397
403
|
title: "快速添加数据定义",
|
|
404
|
+
"framework-width": frameworkWidth.value,
|
|
398
405
|
position: unref(boxPosition)
|
|
399
406
|
}, {
|
|
400
407
|
body: withCtx(() => [createVNode(unref(MFormBox), {
|
|
@@ -408,6 +415,7 @@ var DataSourceFields_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
|
|
|
408
415
|
"visible",
|
|
409
416
|
"width",
|
|
410
417
|
"height",
|
|
418
|
+
"framework-width",
|
|
411
419
|
"position"
|
|
412
420
|
])
|
|
413
421
|
]);
|
|
@@ -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: {
|
|
@@ -128,30 +128,19 @@ var DataSourceInput_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
|
|
|
128
128
|
*/
|
|
129
129
|
const fieldQuerySearch = (queryString, leftAngleIndex, dotIndex, cb) => {
|
|
130
130
|
let result = [];
|
|
131
|
-
const
|
|
131
|
+
const dsKey = queryString.substring(leftAngleIndex + 1, dotIndex);
|
|
132
|
+
const keys = getKeysArray(dsKey);
|
|
132
133
|
const dsId = keys.shift();
|
|
133
134
|
const ds = dataSources.value.find((ds) => ds.id === dsId);
|
|
134
135
|
if (!ds) {
|
|
135
136
|
cb([]);
|
|
136
137
|
return;
|
|
137
138
|
}
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
while (key) {
|
|
141
|
-
if (isNumber(key)) {
|
|
142
|
-
key = keys.shift();
|
|
143
|
-
continue;
|
|
144
|
-
}
|
|
145
|
-
for (const field of fields) if (field.name === key) {
|
|
146
|
-
fields = field.fields || [];
|
|
147
|
-
key = keys.shift();
|
|
148
|
-
break;
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
if (curCharIsDot(dotIndex)) result = fields || [];
|
|
139
|
+
const { fields } = resolveFieldByPath(ds.fields, keys, { skipNumberIndices: true });
|
|
140
|
+
if (curCharIsDot(dotIndex)) result = fields;
|
|
152
141
|
else if (dotIndex > -1) {
|
|
153
142
|
const queryName = queryString.substring(dotIndex + 1).toLowerCase();
|
|
154
|
-
result = fields.filter((field) => field.name?.toLowerCase().includes(queryName) || field.title?.toLowerCase().includes(queryName))
|
|
143
|
+
result = fields.filter((field) => field.name?.toLowerCase().includes(queryName) || field.title?.toLowerCase().includes(queryName));
|
|
155
144
|
}
|
|
156
145
|
cb(result.map((field) => ({
|
|
157
146
|
value: field.name,
|
|
@@ -230,7 +219,7 @@ var DataSourceInput_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
|
|
|
230
219
|
onSelect: selectHandler
|
|
231
220
|
}), {
|
|
232
221
|
suffix: withCtx(() => [createVNode(Icon_default, { icon: unref(Coin) }, null, 8, ["icon"])]),
|
|
233
|
-
default: withCtx((
|
|
222
|
+
default: withCtx((slotProps) => [createElementVNode("div", _hoisted_1, [createElementVNode("div", null, toDisplayString(slotProps?.item?.text || ""), 1), createElementVNode("span", _hoisted_2, toDisplayString(slotProps?.item?.value || ""), 1)])]),
|
|
234
223
|
_: 1
|
|
235
224
|
}, 16, ["modelValue"])) : (openBlock(), createElementBlock("div", {
|
|
236
225
|
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: {
|
|
@@ -36,7 +36,7 @@ var DataSourceMethodSelect_vue_vue_type_script_setup_true_name_true_lang_default
|
|
|
36
36
|
setup(__props, { emit: __emit }) {
|
|
37
37
|
const { dataSourceService, uiService } = useServices();
|
|
38
38
|
const mForm = inject("mForm");
|
|
39
|
-
const eventBus = inject("eventBus");
|
|
39
|
+
const eventBus = inject("eventBus", null);
|
|
40
40
|
const emit = __emit;
|
|
41
41
|
const props = __props;
|
|
42
42
|
const dataSourceSidePanel = computed(() => (uiService.get("sideBarItems") || []).find((item) => item.$key === SideItemKey.DATA_SOURCE));
|