@tmagic/editor 1.8.0-beta.0 → 1.8.0-beta.10
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 +31 -5
- package/dist/es/components/CodeBlockEditor.vue_vue_type_script_setup_true_lang.js +21 -113
- package/dist/es/components/CodeParams.vue_vue_type_script_setup_true_lang.js +7 -1
- package/dist/es/components/CompareForm.js +5 -0
- package/dist/es/components/CompareForm.vue_vue_type_script_setup_true_lang.js +196 -0
- package/dist/es/components/ContentMenu.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/es/components/FloatingBox.vue_vue_type_script_setup_true_lang.js +2 -2
- 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.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/editorProps.js +2 -0
- package/dist/es/fields/Code.vue_vue_type_script_setup_true_lang.js +20 -4
- package/dist/es/fields/CodeLink.vue_vue_type_script_setup_true_lang.js +3 -6
- package/dist/es/fields/CodeSelect.vue_vue_type_script_setup_true_lang.js +19 -3
- package/dist/es/fields/CodeSelectCol.vue_vue_type_script_setup_true_lang.js +42 -8
- package/dist/es/fields/CondOpSelect.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/es/fields/DataSourceFieldSelect/FieldSelect.vue_vue_type_script_setup_true_lang.js +14 -6
- package/dist/es/fields/DataSourceFieldSelect/Index.vue_vue_type_script_setup_true_lang.js +13 -4
- package/dist/es/fields/DataSourceFields.vue_vue_type_script_setup_true_lang.js +41 -16
- package/dist/es/fields/DataSourceInput.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/es/fields/DataSourceMethodSelect.vue_vue_type_script_setup_true_name_true_lang.js +9 -5
- package/dist/es/fields/DataSourceMethods.vue_vue_type_script_setup_true_lang.js +40 -19
- package/dist/es/fields/DataSourceMocks.vue_vue_type_script_setup_true_lang.js +17 -9
- package/dist/es/fields/DataSourceSelect.vue_vue_type_script_setup_true_lang.js +4 -2
- package/dist/es/fields/DisplayConds.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/es/fields/EventSelect.vue_vue_type_script_setup_true_lang.js +59 -12
- package/dist/es/fields/KeyValue.vue_vue_type_script_setup_true_lang.js +12 -7
- 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 +9 -3
- 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 +38 -8
- package/dist/es/fields/StyleSetter/components/Box.vue_vue_type_script_setup_true_lang.js +4 -2
- 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 +11 -3
- package/dist/es/fields/StyleSetter/pro/Border.vue_vue_type_script_setup_true_lang.js +17 -4
- package/dist/es/fields/StyleSetter/pro/Font.vue_vue_type_script_setup_true_lang.js +11 -3
- package/dist/es/fields/StyleSetter/pro/Layout.vue_vue_type_script_setup_true_lang.js +15 -3
- package/dist/es/fields/StyleSetter/pro/Position.vue_vue_type_script_setup_true_lang.js +11 -3
- package/dist/es/fields/StyleSetter/pro/Transform.vue_vue_type_script_setup_true_lang.js +11 -3
- package/dist/es/fields/UISelect.vue_vue_type_script_setup_true_lang.js +9 -6
- package/dist/es/hooks/use-code-block-edit.js +7 -4
- package/dist/es/hooks/use-data-source-edit.js +5 -2
- package/dist/es/hooks/use-stage.js +22 -10
- 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/FolderMinusIcon.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/es/index.js +14 -3
- package/dist/es/initService.js +7 -7
- 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 +7 -6
- package/dist/es/layouts/Framework.vue_vue_type_script_setup_true_lang.js +14 -9
- package/dist/es/layouts/NavMenu.vue_vue_type_script_setup_true_lang.js +12 -4
- package/dist/es/layouts/NavMenuColumn.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/es/layouts/history-list/Bucket.js +5 -0
- package/dist/es/layouts/history-list/Bucket.vue_vue_type_script_setup_true_lang.js +71 -0
- 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.js +5 -0
- package/dist/es/layouts/history-list/GroupRow.vue_vue_type_script_setup_true_lang.js +269 -0
- package/dist/es/layouts/history-list/HistoryDiffDialog.js +5 -0
- package/dist/es/layouts/history-list/HistoryDiffDialog.vue_vue_type_script_setup_true_lang.js +287 -0
- package/dist/es/layouts/history-list/HistoryListPanel.js +5 -0
- package/dist/es/layouts/history-list/HistoryListPanel.vue_vue_type_script_setup_true_lang.js +327 -0
- package/dist/es/layouts/history-list/InitialRow.js +5 -0
- package/dist/es/layouts/history-list/InitialRow.vue_vue_type_script_setup_true_lang.js +83 -0
- package/dist/es/layouts/history-list/PageTab.js +5 -0
- package/dist/es/layouts/history-list/PageTab.vue_vue_type_script_setup_true_lang.js +95 -0
- package/dist/es/layouts/history-list/composables.js +184 -0
- package/dist/es/layouts/history-list/useHistoryList.js +56 -0
- package/dist/es/layouts/history-list/useHistoryRevert.js +306 -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 +1 -1
- package/dist/es/layouts/props-panel/PropsPanel.vue_vue_type_script_setup_true_lang.js +6 -2
- package/dist/es/layouts/sidebar/ComponentListPanel.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/es/layouts/sidebar/Sidebar.vue_vue_type_script_setup_true_lang.js +8 -4
- 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 +2 -2
- package/dist/es/layouts/sidebar/code-block/useContentMenu.js +1 -1
- 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 +19 -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 +25 -3
- package/dist/es/layouts/sidebar/data-source/useContentMenu.js +1 -1
- package/dist/es/layouts/sidebar/layer/LayerMenu.vue_vue_type_script_setup_true_lang.js +6 -6
- 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 +1 -1
- package/dist/es/layouts/sidebar/layer/use-node-status.js +38 -4
- 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 +1 -1
- 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 +9 -9
- package/dist/es/services/BaseService.js +31 -68
- package/dist/es/services/codeBlock.js +286 -8
- package/dist/es/services/componentList.js +2 -2
- package/dist/es/services/dataSource.js +287 -8
- package/dist/es/services/dep.js +21 -9
- package/dist/es/services/editor.js +655 -194
- package/dist/es/services/events.js +2 -2
- package/dist/es/services/history.js +390 -47
- package/dist/es/services/keybinding.js +5 -5
- package/dist/es/services/props.js +8 -8
- package/dist/es/services/stageOverlay.js +2 -2
- package/dist/es/services/storage.js +2 -2
- package/dist/es/services/ui.js +5 -2
- package/dist/es/style.css +456 -8
- package/dist/es/utils/code-block.js +122 -0
- package/dist/es/utils/content-menu.js +19 -12
- package/dist/es/utils/data-source/index.js +2 -0
- package/dist/es/utils/dep/worker.js +1 -1
- package/dist/es/utils/editor.js +106 -52
- package/dist/es/utils/history.js +220 -0
- package/dist/es/utils/indexed-db.js +86 -0
- package/dist/es/utils/undo-redo.js +80 -1
- package/dist/style.css +456 -8
- package/dist/tmagic-editor.umd.cjs +9085 -4480
- package/package.json +8 -8
- package/src/Editor.vue +25 -1
- package/src/components/CodeBlockEditor.vue +20 -109
- package/src/components/CodeParams.vue +6 -0
- package/src/components/CompareForm.vue +277 -0
- package/src/components/ToolButton.vue +2 -2
- package/src/editorProps.ts +9 -0
- package/src/fields/Code.vue +19 -3
- package/src/fields/CodeLink.vue +2 -5
- package/src/fields/CodeSelect.vue +17 -1
- package/src/fields/CodeSelectCol.vue +37 -3
- package/src/fields/DataSourceFieldSelect/FieldSelect.vue +23 -3
- package/src/fields/DataSourceFieldSelect/Index.vue +9 -2
- package/src/fields/DataSourceFields.vue +48 -10
- package/src/fields/DataSourceInput.vue +3 -3
- package/src/fields/DataSourceMethodSelect.vue +12 -4
- package/src/fields/DataSourceMethods.vue +55 -24
- package/src/fields/DataSourceMocks.vue +13 -3
- package/src/fields/DataSourceSelect.vue +4 -1
- package/src/fields/EventSelect.vue +57 -8
- package/src/fields/KeyValue.vue +17 -4
- package/src/fields/StyleSetter/Index.vue +6 -0
- package/src/fields/StyleSetter/components/Border.vue +30 -7
- package/src/fields/StyleSetter/components/Box.vue +2 -0
- package/src/fields/StyleSetter/pro/Background.vue +15 -1
- package/src/fields/StyleSetter/pro/Border.vue +24 -2
- package/src/fields/StyleSetter/pro/Font.vue +15 -1
- package/src/fields/StyleSetter/pro/Layout.vue +17 -1
- package/src/fields/StyleSetter/pro/Position.vue +15 -1
- package/src/fields/StyleSetter/pro/Transform.vue +15 -1
- package/src/fields/UISelect.vue +5 -2
- package/src/hooks/use-code-block-edit.ts +9 -5
- package/src/hooks/use-data-source-edit.ts +2 -2
- package/src/hooks/use-stage.ts +26 -9
- package/src/index.ts +8 -0
- package/src/initService.ts +1 -1
- package/src/layouts/CodeEditor.vue +17 -5
- package/src/layouts/Framework.vue +11 -6
- package/src/layouts/NavMenu.vue +12 -3
- package/src/layouts/history-list/Bucket.vue +91 -0
- package/src/layouts/history-list/BucketTab.vue +72 -0
- package/src/layouts/history-list/GroupRow.vue +304 -0
- package/src/layouts/history-list/HistoryDiffDialog.vue +273 -0
- package/src/layouts/history-list/HistoryListPanel.vue +367 -0
- package/src/layouts/history-list/InitialRow.vue +71 -0
- package/src/layouts/history-list/PageTab.vue +118 -0
- package/src/layouts/history-list/composables.ts +309 -0
- package/src/layouts/history-list/useHistoryList.ts +60 -0
- package/src/layouts/history-list/useHistoryRevert.ts +405 -0
- package/src/layouts/page-bar/PageBar.vue +4 -2
- package/src/layouts/props-panel/PropsPanel.vue +5 -1
- package/src/layouts/sidebar/ComponentListPanel.vue +9 -5
- package/src/layouts/sidebar/Sidebar.vue +8 -3
- package/src/layouts/sidebar/code-block/CodeBlockList.vue +5 -5
- package/src/layouts/sidebar/code-block/CodeBlockListPanel.vue +1 -1
- package/src/layouts/sidebar/code-block/useContentMenu.ts +1 -1
- package/src/layouts/sidebar/data-source/DataSourceConfigPanel.vue +31 -2
- package/src/layouts/sidebar/data-source/DataSourceListPanel.vue +27 -2
- package/src/layouts/sidebar/data-source/useContentMenu.ts +1 -1
- package/src/layouts/sidebar/layer/LayerMenu.vue +19 -11
- package/src/layouts/sidebar/layer/LayerNodeTool.vue +7 -4
- package/src/layouts/sidebar/layer/use-node-status.ts +64 -12
- package/src/layouts/workspace/viewer/Stage.vue +1 -1
- package/src/layouts/workspace/viewer/ViewerMenu.vue +8 -8
- package/src/services/BaseService.ts +35 -86
- package/src/services/codeBlock.ts +361 -5
- package/src/services/dataSource.ts +336 -6
- package/src/services/dep.ts +32 -9
- package/src/services/editor.ts +834 -194
- package/src/services/history.ts +509 -49
- package/src/services/keybinding.ts +3 -3
- package/src/services/props.ts +2 -2
- package/src/services/ui.ts +7 -0
- package/src/theme/history-list-panel.scss +557 -0
- package/src/theme/page-bar.scss +0 -4
- package/src/theme/props-panel.scss +3 -3
- package/src/theme/style-setter/border.scss +4 -1
- package/src/theme/theme.scss +1 -0
- package/src/type.ts +594 -31
- package/src/utils/code-block.ts +150 -0
- package/src/utils/content-menu.ts +25 -13
- package/src/utils/data-source/index.ts +2 -0
- package/src/utils/dep/worker.ts +5 -3
- package/src/utils/editor.ts +170 -61
- package/src/utils/history.ts +286 -0
- package/src/utils/index.ts +3 -0
- package/src/utils/indexed-db.ts +122 -0
- package/src/utils/undo-redo.ts +111 -0
- package/types/index.d.ts +3173 -889
- package/dist/es/utils/compose.js +0 -44
- package/dist/es/utils/editor-history.js +0 -100
- package/src/utils/compose.ts +0 -52
- package/src/utils/editor-history.ts +0 -138
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import CodeBlockEditor_default from "../components/CodeBlockEditor.js";
|
|
2
2
|
import { MagicTable } from "@tmagic/table";
|
|
3
3
|
import { TMagicButton, tMagicMessageBox } from "@tmagic/design";
|
|
4
|
-
import { createBlock, createCommentVNode, createElementBlock,
|
|
4
|
+
import { computed, createBlock, createCommentVNode, createElementBlock, createTextVNode, createVNode, defineComponent, inject, nextTick, onMounted, openBlock, ref, unref, useTemplateRef, withCtx } from "vue";
|
|
5
5
|
import { cloneDeep } from "lodash-es";
|
|
6
6
|
//#region packages/editor/src/fields/DataSourceMethods.vue?vue&type=script&setup=true&lang.ts
|
|
7
7
|
var _hoisted_1 = { class: "m-editor-data-source-methods" };
|
|
8
|
-
var _hoisted_2 = {
|
|
9
|
-
|
|
8
|
+
var _hoisted_2 = {
|
|
9
|
+
key: 0,
|
|
10
|
+
class: "m-editor-data-source-methods-footer"
|
|
11
|
+
};
|
|
12
|
+
var DataSourceMethods_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
10
13
|
name: "MFieldsDataSourceMethods",
|
|
11
14
|
__name: "DataSourceMethods",
|
|
12
15
|
props: {
|
|
@@ -28,9 +31,25 @@ var DataSourceMethods_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
|
|
|
28
31
|
setup(__props, { emit: __emit }) {
|
|
29
32
|
const props = __props;
|
|
30
33
|
const emit = __emit;
|
|
34
|
+
const mForm = inject("mForm");
|
|
35
|
+
/** 对比模式下隐藏新增/编辑/删除等操作按钮,仅保留只读展示。 */
|
|
36
|
+
const isCompare = computed(() => Boolean(mForm?.isCompare));
|
|
31
37
|
const codeConfig = ref();
|
|
32
38
|
const codeBlockEditorRef = useTemplateRef("codeBlockEditor");
|
|
33
39
|
let editIndex = -1;
|
|
40
|
+
const editMethod = (method, index) => {
|
|
41
|
+
let codeContent = "({ params, dataSource, app }) => {\n // place your code here\n}";
|
|
42
|
+
if (method.content) if (typeof method.content !== "string") codeContent = method.content.toString();
|
|
43
|
+
else codeContent = method.content;
|
|
44
|
+
codeConfig.value = {
|
|
45
|
+
...cloneDeep(method),
|
|
46
|
+
content: codeContent
|
|
47
|
+
};
|
|
48
|
+
editIndex = index;
|
|
49
|
+
nextTick(() => {
|
|
50
|
+
codeBlockEditorRef.value?.show();
|
|
51
|
+
});
|
|
52
|
+
};
|
|
34
53
|
const methodColumns = [
|
|
35
54
|
{
|
|
36
55
|
label: "名称",
|
|
@@ -55,17 +74,7 @@ var DataSourceMethods_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
|
|
|
55
74
|
actions: [{
|
|
56
75
|
text: "编辑",
|
|
57
76
|
handler: (method, index) => {
|
|
58
|
-
|
|
59
|
-
if (method.content) if (typeof method.content !== "string") codeContent = method.content.toString();
|
|
60
|
-
else codeContent = method.content;
|
|
61
|
-
codeConfig.value = {
|
|
62
|
-
...cloneDeep(method),
|
|
63
|
-
content: codeContent
|
|
64
|
-
};
|
|
65
|
-
editIndex = index;
|
|
66
|
-
nextTick(() => {
|
|
67
|
-
codeBlockEditorRef.value?.show();
|
|
68
|
-
});
|
|
77
|
+
editMethod(method, index);
|
|
69
78
|
}
|
|
70
79
|
}, {
|
|
71
80
|
text: "删除",
|
|
@@ -78,6 +87,8 @@ var DataSourceMethods_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
|
|
|
78
87
|
}]
|
|
79
88
|
}
|
|
80
89
|
];
|
|
90
|
+
/** 对比模式下移除「操作」列(编辑/删除按钮),仅保留只读列。 */
|
|
91
|
+
const displayColumns = computed(() => isCompare.value ? methodColumns.filter((col) => !col.actions) : methodColumns);
|
|
81
92
|
const createCodeHandler = () => {
|
|
82
93
|
codeConfig.value = {
|
|
83
94
|
name: "",
|
|
@@ -111,14 +122,24 @@ var DataSourceMethods_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
|
|
|
111
122
|
codeConfig.value = void 0;
|
|
112
123
|
codeBlockEditorRef.value?.hide();
|
|
113
124
|
};
|
|
125
|
+
/** 由 DataSourceConfigPanel 注入:打开数据源详情后需要直接打开的方法名 */
|
|
126
|
+
const editingMethodName = inject("editingDataSourceMethodName", computed(() => ""));
|
|
127
|
+
onMounted(() => {
|
|
128
|
+
const methodName = editingMethodName.value;
|
|
129
|
+
if (!methodName) return;
|
|
130
|
+
const methods = props.model[props.name] || [];
|
|
131
|
+
const index = methods.findIndex((method) => method.name === methodName);
|
|
132
|
+
if (index === -1) return;
|
|
133
|
+
editMethod(methods[index], index);
|
|
134
|
+
});
|
|
114
135
|
return (_ctx, _cache) => {
|
|
115
136
|
return openBlock(), createElementBlock("div", _hoisted_1, [
|
|
116
137
|
createVNode(unref(MagicTable), {
|
|
117
138
|
data: __props.model[__props.name],
|
|
118
|
-
columns:
|
|
139
|
+
columns: displayColumns.value,
|
|
119
140
|
border: true
|
|
120
|
-
}, null, 8, ["data"]),
|
|
121
|
-
|
|
141
|
+
}, null, 8, ["data", "columns"]),
|
|
142
|
+
!isCompare.value ? (openBlock(), createElementBlock("div", _hoisted_2, [createVNode(unref(TMagicButton), {
|
|
122
143
|
size: "small",
|
|
123
144
|
type: "primary",
|
|
124
145
|
disabled: __props.disabled,
|
|
@@ -127,9 +148,9 @@ var DataSourceMethods_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
|
|
|
127
148
|
}, {
|
|
128
149
|
default: withCtx(() => [..._cache[0] || (_cache[0] = [createTextVNode("添加", -1)])]),
|
|
129
150
|
_: 1
|
|
130
|
-
}, 8, ["disabled"])]),
|
|
151
|
+
}, 8, ["disabled"])])) : createCommentVNode("v-if", true),
|
|
131
152
|
codeConfig.value ? (openBlock(), createBlock(CodeBlockEditor_default, {
|
|
132
|
-
key:
|
|
153
|
+
key: 1,
|
|
133
154
|
ref: "codeBlockEditor",
|
|
134
155
|
disabled: __props.disabled,
|
|
135
156
|
content: codeConfig.value,
|
|
@@ -7,14 +7,17 @@ import { MFormBox } from "@tmagic/form";
|
|
|
7
7
|
import { MagicTable } from "@tmagic/table";
|
|
8
8
|
import { TMagicButton, TMagicSwitch, tMagicMessageBox } from "@tmagic/design";
|
|
9
9
|
import { getDefaultValueFromFields } from "@tmagic/utils";
|
|
10
|
-
import {
|
|
10
|
+
import { computed, createCommentVNode, createElementBlock, createTextVNode, createVNode, defineComponent, inject, isRef, mergeModels, openBlock, ref, unref, useModel, withCtx } from "vue";
|
|
11
11
|
//#region packages/editor/src/fields/DataSourceMocks.vue?vue&type=script&setup=true&lang.ts
|
|
12
12
|
var _hoisted_1 = { class: "m-editor-data-source-fields" };
|
|
13
|
-
var _hoisted_2 = {
|
|
14
|
-
|
|
13
|
+
var _hoisted_2 = {
|
|
14
|
+
key: 0,
|
|
15
|
+
class: "m-editor-data-source-fields-footer"
|
|
16
|
+
};
|
|
17
|
+
var DataSourceMocks_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
15
18
|
name: "MFieldsDataSourceMocks",
|
|
16
19
|
__name: "DataSourceMocks",
|
|
17
|
-
props:
|
|
20
|
+
props: /*@__PURE__*/ mergeModels({
|
|
18
21
|
config: {},
|
|
19
22
|
model: {},
|
|
20
23
|
initValues: {},
|
|
@@ -37,11 +40,14 @@ var DataSourceMocks_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
|
|
|
37
40
|
},
|
|
38
41
|
"visibleModifiers": {}
|
|
39
42
|
}),
|
|
40
|
-
emits:
|
|
43
|
+
emits: /*@__PURE__*/ mergeModels(["change"], ["update:width", "update:visible"]),
|
|
41
44
|
setup(__props, { emit: __emit }) {
|
|
42
45
|
const props = __props;
|
|
43
46
|
const emit = __emit;
|
|
44
47
|
const { uiService } = useServices();
|
|
48
|
+
const mForm = inject("mForm");
|
|
49
|
+
/** 对比模式下隐藏新增/编辑/删除等操作按钮,仅保留只读展示。 */
|
|
50
|
+
const isCompare = computed(() => Boolean(mForm?.isCompare));
|
|
45
51
|
const width = useModel(__props, "width");
|
|
46
52
|
const drawerTitle = ref("");
|
|
47
53
|
const formValues = ref({});
|
|
@@ -175,6 +181,8 @@ var DataSourceMocks_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
|
|
|
175
181
|
}]
|
|
176
182
|
}
|
|
177
183
|
];
|
|
184
|
+
/** 对比模式下移除「操作」列(编辑/删除按钮),仅保留只读列。 */
|
|
185
|
+
const displayColumns = computed(() => isCompare.value ? columns.filter((col) => !col.actions) : columns);
|
|
178
186
|
const newHandler = () => {
|
|
179
187
|
const isFirstRow = props.model[props.name].length === 0;
|
|
180
188
|
formValues.value = {
|
|
@@ -209,9 +217,9 @@ var DataSourceMocks_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
|
|
|
209
217
|
return openBlock(), createElementBlock("div", _hoisted_1, [
|
|
210
218
|
createVNode(unref(MagicTable), {
|
|
211
219
|
data: __props.model[__props.name],
|
|
212
|
-
columns
|
|
213
|
-
}, null, 8, ["data"]),
|
|
214
|
-
|
|
220
|
+
columns: displayColumns.value
|
|
221
|
+
}, null, 8, ["data", "columns"]),
|
|
222
|
+
!isCompare.value ? (openBlock(), createElementBlock("div", _hoisted_2, [createVNode(unref(TMagicButton), {
|
|
215
223
|
size: "small",
|
|
216
224
|
type: "primary",
|
|
217
225
|
disabled: __props.disabled,
|
|
@@ -220,7 +228,7 @@ var DataSourceMocks_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
|
|
|
220
228
|
}, {
|
|
221
229
|
default: withCtx(() => [..._cache[4] || (_cache[4] = [createTextVNode("添加", -1)])]),
|
|
222
230
|
_: 1
|
|
223
|
-
}, 8, ["disabled"])]),
|
|
231
|
+
}, 8, ["disabled"])])) : createCommentVNode("v-if", true),
|
|
224
232
|
createVNode(FloatingBox_default, {
|
|
225
233
|
visible: addDialogVisible.value,
|
|
226
234
|
"onUpdate:visible": _cache[1] || (_cache[1] = ($event) => addDialogVisible.value = $event),
|
|
@@ -7,7 +7,7 @@ import { computed, createBlock, createCommentVNode, createElementBlock, createVN
|
|
|
7
7
|
import { Edit, View } from "@element-plus/icons-vue";
|
|
8
8
|
//#region packages/editor/src/fields/DataSourceSelect.vue?vue&type=script&setup=true&lang.ts
|
|
9
9
|
var _hoisted_1 = { class: "m-fields-data-source-select" };
|
|
10
|
-
var DataSourceSelect_vue_vue_type_script_setup_true_lang_default =
|
|
10
|
+
var DataSourceSelect_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
11
11
|
name: "MFieldsDataSourceSelect",
|
|
12
12
|
__name: "DataSourceSelect",
|
|
13
13
|
props: {
|
|
@@ -34,6 +34,8 @@ var DataSourceSelect_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
|
|
|
34
34
|
const eventBus = inject("eventBus");
|
|
35
35
|
const dataSources = computed(() => dataSourceService.get("dataSources"));
|
|
36
36
|
const notEditable = computed(() => filterFunction(mForm, props.config.notEditable, props));
|
|
37
|
+
/** 对比模式下隐藏查看/编辑操作按钮,仅保留只读展示。 */
|
|
38
|
+
const isCompare = computed(() => Boolean(mForm?.isCompare));
|
|
37
39
|
const hasDataSourceSidePanel = computed(() => uiService.get("sideBarItems").find((item) => item.$key === SideItemKey.DATA_SOURCE));
|
|
38
40
|
const selectConfig = computed(() => {
|
|
39
41
|
const { type, dataSourceType, value, ...config } = props.config;
|
|
@@ -80,7 +82,7 @@ var DataSourceSelect_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
|
|
|
80
82
|
"disabled",
|
|
81
83
|
"config",
|
|
82
84
|
"last-values"
|
|
83
|
-
]), __props.model[__props.name] && hasDataSourceSidePanel.value ? (openBlock(), createBlock(unref(TMagicTooltip), {
|
|
85
|
+
]), __props.model[__props.name] && hasDataSourceSidePanel.value && !isCompare.value ? (openBlock(), createBlock(unref(TMagicTooltip), {
|
|
84
86
|
key: 0,
|
|
85
87
|
content: notEditable.value ? "查看" : "编辑"
|
|
86
88
|
}, {
|
|
@@ -3,7 +3,7 @@ import { getCascaderOptionsFromFields, getFieldType } from "../utils/data-source
|
|
|
3
3
|
import { MGroupList, filterFunction } from "@tmagic/form";
|
|
4
4
|
import { computed, createBlock, defineComponent, inject, openBlock, unref } from "vue";
|
|
5
5
|
//#region packages/editor/src/fields/DisplayConds.vue?vue&type=script&setup=true&lang.ts
|
|
6
|
-
var DisplayConds_vue_vue_type_script_setup_true_lang_default =
|
|
6
|
+
var DisplayConds_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
7
7
|
name: "m-fields-display-conds",
|
|
8
8
|
__name: "DisplayConds",
|
|
9
9
|
props: {
|
|
@@ -4,7 +4,7 @@ import { MContainer, MPanel, MTable, defineFormItem } from "@tmagic/form";
|
|
|
4
4
|
import { TMagicButton } from "@tmagic/design";
|
|
5
5
|
import { DATA_SOURCE_FIELDS_CHANGE_EVENT_PREFIX, traverseNode } from "@tmagic/utils";
|
|
6
6
|
import { ActionType } from "@tmagic/core";
|
|
7
|
-
import { Fragment, computed, createBlock, createElementBlock, createTextVNode, createVNode, defineComponent, openBlock, renderList, unref, withCtx } from "vue";
|
|
7
|
+
import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createTextVNode, createVNode, defineComponent, openBlock, renderList, unref, withCtx } from "vue";
|
|
8
8
|
import { has } from "lodash-es";
|
|
9
9
|
import { Delete } from "@element-plus/icons-vue";
|
|
10
10
|
//#region packages/editor/src/fields/EventSelect.vue?vue&type=script&setup=true&lang.ts
|
|
@@ -13,7 +13,7 @@ var _hoisted_2 = {
|
|
|
13
13
|
key: 1,
|
|
14
14
|
class: "fullWidth"
|
|
15
15
|
};
|
|
16
|
-
var EventSelect_vue_vue_type_script_setup_true_lang_default =
|
|
16
|
+
var EventSelect_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
17
17
|
name: "MFieldsEventSelect",
|
|
18
18
|
__name: "EventSelect",
|
|
19
19
|
props: {
|
|
@@ -243,6 +243,39 @@ var EventSelect_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ de
|
|
|
243
243
|
if (props.model[props.name].length === 0) return false;
|
|
244
244
|
return !has(props.model[props.name][0], "actions");
|
|
245
245
|
});
|
|
246
|
+
/**
|
|
247
|
+
* 对比模式判定:
|
|
248
|
+
*
|
|
249
|
+
* event-select 内部由「事件列表 + 嵌套子表单」组成,属于复合字段。父级 `MFormContainer` 已将其
|
|
250
|
+
* 归入「自接管对比字段」(见 Container.vue 的 `SELF_DIFF_FIELD_TYPES`),即对比时只渲染一次本组件,
|
|
251
|
+
* 并把当前值 `model` 与历史值 `lastValues` 一并传入,由本组件把 `is-compare`/`lastValues` 透传给
|
|
252
|
+
* 内部的 MPanel / MFormContainer,逐项(事件名、动作)展示前后差异。
|
|
253
|
+
*
|
|
254
|
+
* 仅当存在历史值时才启用对比,避免 lastValues 缺失时退化为「全部新增」的空对比。
|
|
255
|
+
*/
|
|
256
|
+
const isCompareMode = computed(() => Boolean(props.isCompare && props.lastValues));
|
|
257
|
+
/**
|
|
258
|
+
* 待渲染的事件卡片列表。
|
|
259
|
+
*
|
|
260
|
+
* - 非对比模式:直接映射当前事件列表,`lastCardItem` 为空;
|
|
261
|
+
* - 对比模式:按索引对齐当前值与历史值,取两者长度的最大值,使得「新增」(仅当前有)与
|
|
262
|
+
* 「删除」(仅历史有)的事件都能被渲染出来;缺失的一侧用空对象兜底,从而让子级正确高亮差异。
|
|
263
|
+
*/
|
|
264
|
+
const displayList = computed(() => {
|
|
265
|
+
const current = props.model[props.name] || [];
|
|
266
|
+
if (!isCompareMode.value) return current.map((cardItem, index) => ({
|
|
267
|
+
cardItem,
|
|
268
|
+
lastCardItem: void 0,
|
|
269
|
+
index
|
|
270
|
+
}));
|
|
271
|
+
const last = props.lastValues?.[props.name] || [];
|
|
272
|
+
const length = Math.max(current.length, last.length);
|
|
273
|
+
return Array.from({ length }, (_, index) => ({
|
|
274
|
+
cardItem: current[index] ?? {},
|
|
275
|
+
lastCardItem: last[index] ?? {},
|
|
276
|
+
index
|
|
277
|
+
}));
|
|
278
|
+
});
|
|
246
279
|
const addEvent = () => {
|
|
247
280
|
const defaultEvent = {
|
|
248
281
|
name: "",
|
|
@@ -267,14 +300,19 @@ var EventSelect_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ de
|
|
|
267
300
|
size: __props.size,
|
|
268
301
|
disabled: __props.disabled,
|
|
269
302
|
model: __props.model,
|
|
303
|
+
"last-values": __props.lastValues,
|
|
304
|
+
"is-compare": isCompareMode.value,
|
|
270
305
|
config: tableConfig.value,
|
|
271
306
|
onChange: onChangeHandler
|
|
272
307
|
}, null, 8, [
|
|
273
308
|
"size",
|
|
274
309
|
"disabled",
|
|
275
310
|
"model",
|
|
311
|
+
"last-values",
|
|
312
|
+
"is-compare",
|
|
276
313
|
"config"
|
|
277
|
-
])) : (openBlock(), createElementBlock("div", _hoisted_2, [
|
|
314
|
+
])) : (openBlock(), createElementBlock("div", _hoisted_2, [!isCompareMode.value ? (openBlock(), createBlock(unref(TMagicButton), {
|
|
315
|
+
key: 0,
|
|
278
316
|
class: "create-button",
|
|
279
317
|
type: "primary",
|
|
280
318
|
size: __props.size,
|
|
@@ -283,44 +321,51 @@ var EventSelect_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ de
|
|
|
283
321
|
}, {
|
|
284
322
|
default: withCtx(() => [..._cache[1] || (_cache[1] = [createTextVNode("添加事件", -1)])]),
|
|
285
323
|
_: 1
|
|
286
|
-
}, 8, ["size", "disabled"]), (openBlock(true), createElementBlock(Fragment, null, renderList(
|
|
324
|
+
}, 8, ["size", "disabled"])) : createCommentVNode("v-if", true), (openBlock(true), createElementBlock(Fragment, null, renderList(displayList.value, (entry) => {
|
|
287
325
|
return openBlock(), createBlock(unref(MPanel), {
|
|
288
|
-
key: index,
|
|
326
|
+
key: entry.index,
|
|
289
327
|
disabled: __props.disabled,
|
|
290
328
|
size: __props.size,
|
|
291
|
-
prop: `${__props.prop}.${index}`,
|
|
329
|
+
prop: `${__props.prop}.${entry.index}`,
|
|
292
330
|
config: actionsConfig.value,
|
|
293
|
-
model: cardItem,
|
|
331
|
+
model: entry.cardItem,
|
|
332
|
+
"last-values": entry.lastCardItem,
|
|
333
|
+
"is-compare": isCompareMode.value,
|
|
294
334
|
"label-width": __props.config.labelWidth || "100px",
|
|
295
335
|
onChange: onChangeHandler
|
|
296
336
|
}, {
|
|
297
337
|
header: withCtx(() => [createVNode(unref(MContainer), {
|
|
298
338
|
class: "fullWidth",
|
|
299
339
|
config: eventNameConfig.value,
|
|
300
|
-
model: cardItem,
|
|
340
|
+
model: entry.cardItem,
|
|
341
|
+
"last-values": entry.lastCardItem,
|
|
342
|
+
"is-compare": isCompareMode.value,
|
|
301
343
|
disabled: __props.disabled,
|
|
302
344
|
size: __props.size,
|
|
303
|
-
prop: `${__props.prop}.${index}`,
|
|
345
|
+
prop: `${__props.prop}.${entry.index}`,
|
|
304
346
|
onChange: eventNameChangeHandler
|
|
305
347
|
}, null, 8, [
|
|
306
348
|
"config",
|
|
307
349
|
"model",
|
|
350
|
+
"last-values",
|
|
351
|
+
"is-compare",
|
|
308
352
|
"disabled",
|
|
309
353
|
"size",
|
|
310
354
|
"prop"
|
|
311
|
-
]),
|
|
355
|
+
]), !isCompareMode.value ? (openBlock(), createBlock(unref(TMagicButton), {
|
|
356
|
+
key: 0,
|
|
312
357
|
style: { "color": "#f56c6c" },
|
|
313
358
|
link: "",
|
|
314
359
|
icon: unref(Delete),
|
|
315
360
|
disabled: __props.disabled,
|
|
316
361
|
size: __props.size,
|
|
317
|
-
onClick: ($event) => removeEvent(Number(index))
|
|
362
|
+
onClick: ($event) => removeEvent(Number(entry.index))
|
|
318
363
|
}, null, 8, [
|
|
319
364
|
"icon",
|
|
320
365
|
"disabled",
|
|
321
366
|
"size",
|
|
322
367
|
"onClick"
|
|
323
|
-
])]),
|
|
368
|
+
])) : createCommentVNode("v-if", true)]),
|
|
324
369
|
_: 2
|
|
325
370
|
}, 1032, [
|
|
326
371
|
"disabled",
|
|
@@ -328,6 +373,8 @@ var EventSelect_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ de
|
|
|
328
373
|
"prop",
|
|
329
374
|
"config",
|
|
330
375
|
"model",
|
|
376
|
+
"last-values",
|
|
377
|
+
"is-compare",
|
|
331
378
|
"label-width"
|
|
332
379
|
]);
|
|
333
380
|
}), 128))]))]);
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import CodeEditor_default from "../layouts/CodeEditor.js";
|
|
2
2
|
import CodeIcon_default from "../icons/CodeIcon.js";
|
|
3
3
|
import { TMagicButton, TMagicInput } from "@tmagic/design";
|
|
4
|
-
import { Fragment, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, openBlock, ref, renderList, unref, watchEffect, withCtx } from "vue";
|
|
4
|
+
import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, inject, openBlock, ref, renderList, unref, watchEffect, withCtx } from "vue";
|
|
5
5
|
import { Delete, Plus } from "@element-plus/icons-vue";
|
|
6
6
|
//#region packages/editor/src/fields/KeyValue.vue?vue&type=script&setup=true&lang.ts
|
|
7
7
|
var _hoisted_1 = { class: "m-fields-key-value" };
|
|
8
8
|
var _hoisted_2 = { key: 0 };
|
|
9
|
-
var KeyValue_vue_vue_type_script_setup_true_lang_default =
|
|
9
|
+
var KeyValue_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
10
10
|
name: "MFieldsKeyValue",
|
|
11
11
|
__name: "KeyValue",
|
|
12
12
|
props: {
|
|
@@ -28,6 +28,9 @@ var KeyValue_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defin
|
|
|
28
28
|
setup(__props, { emit: __emit }) {
|
|
29
29
|
const props = __props;
|
|
30
30
|
const emit = __emit;
|
|
31
|
+
const mForm = inject("mForm");
|
|
32
|
+
/** 对比模式下隐藏增删/代码切换等操作按钮,仅保留只读展示。 */
|
|
33
|
+
const isCompare = computed(() => Boolean(mForm?.isCompare));
|
|
31
34
|
const records = ref([]);
|
|
32
35
|
const showCode = ref(false);
|
|
33
36
|
watchEffect(() => {
|
|
@@ -98,7 +101,8 @@ var KeyValue_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defin
|
|
|
98
101
|
"disabled",
|
|
99
102
|
"size"
|
|
100
103
|
]),
|
|
101
|
-
|
|
104
|
+
!isCompare.value ? (openBlock(), createBlock(unref(TMagicButton), {
|
|
105
|
+
key: 0,
|
|
102
106
|
class: "m-fields-key-value-delete",
|
|
103
107
|
type: "danger",
|
|
104
108
|
size: __props.size,
|
|
@@ -112,9 +116,10 @@ var KeyValue_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defin
|
|
|
112
116
|
"disabled",
|
|
113
117
|
"icon",
|
|
114
118
|
"onClick"
|
|
115
|
-
])
|
|
119
|
+
])) : createCommentVNode("v-if", true)
|
|
116
120
|
]);
|
|
117
|
-
}), 128)),
|
|
121
|
+
}), 128)), !isCompare.value ? (openBlock(), createBlock(unref(TMagicButton), {
|
|
122
|
+
key: 0,
|
|
118
123
|
type: "primary",
|
|
119
124
|
size: __props.size,
|
|
120
125
|
disabled: __props.disabled,
|
|
@@ -128,7 +133,7 @@ var KeyValue_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defin
|
|
|
128
133
|
"size",
|
|
129
134
|
"disabled",
|
|
130
135
|
"icon"
|
|
131
|
-
])])) : createCommentVNode("v-if", true),
|
|
136
|
+
])) : createCommentVNode("v-if", true)])) : createCommentVNode("v-if", true),
|
|
132
137
|
__props.config.advanced && showCode.value ? (openBlock(), createBlock(CodeEditor_default, {
|
|
133
138
|
key: 1,
|
|
134
139
|
"editor-custom-type": "m-fields-key-value",
|
|
@@ -142,7 +147,7 @@ var KeyValue_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defin
|
|
|
142
147
|
parse: true,
|
|
143
148
|
onSave: save
|
|
144
149
|
}, null, 8, ["init-values", "options"])) : createCommentVNode("v-if", true),
|
|
145
|
-
__props.config.advanced ? (openBlock(), createBlock(unref(TMagicButton), {
|
|
150
|
+
__props.config.advanced && !isCompare.value ? (openBlock(), createBlock(unref(TMagicButton), {
|
|
146
151
|
key: 2,
|
|
147
152
|
size: "default",
|
|
148
153
|
disabled: __props.disabled,
|
|
@@ -7,7 +7,7 @@ import { Edit } from "@element-plus/icons-vue";
|
|
|
7
7
|
//#region packages/editor/src/fields/PageFragmentSelect.vue?vue&type=script&setup=true&lang.ts
|
|
8
8
|
var _hoisted_1 = { class: "m-fields-page-fragment-select" };
|
|
9
9
|
var _hoisted_2 = { class: "page-fragment-select-container" };
|
|
10
|
-
var PageFragmentSelect_vue_vue_type_script_setup_true_lang_default =
|
|
10
|
+
var PageFragmentSelect_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
11
11
|
name: "MFieldsPageFragmentSelect",
|
|
12
12
|
__name: "PageFragmentSelect",
|
|
13
13
|
props: {
|
|
@@ -9,7 +9,7 @@ import { TMagicCollapse, TMagicCollapseItem } from "@tmagic/design";
|
|
|
9
9
|
import { Fragment, createBlock, createCommentVNode, createElementBlock, createTextVNode, createVNode, defineComponent, openBlock, renderList, resolveDynamicComponent, shallowRef, toDisplayString, unref, withCtx } from "vue";
|
|
10
10
|
import { Grid } from "@element-plus/icons-vue";
|
|
11
11
|
//#region packages/editor/src/fields/StyleSetter/Index.vue?vue&type=script&setup=true&lang.ts
|
|
12
|
-
var Index_vue_vue_type_script_setup_true_lang_default =
|
|
12
|
+
var Index_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
13
13
|
name: "MFieldsStyleSetter",
|
|
14
14
|
__name: "Index",
|
|
15
15
|
props: {
|
|
@@ -24,7 +24,7 @@ var Index_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
|
|
|
24
24
|
lastValues: {},
|
|
25
25
|
isCompare: { type: Boolean }
|
|
26
26
|
},
|
|
27
|
-
emits: ["change"],
|
|
27
|
+
emits: ["change", "addDiffCount"],
|
|
28
28
|
setup(__props, { emit: __emit }) {
|
|
29
29
|
const props = __props;
|
|
30
30
|
const emit = __emit;
|
|
@@ -63,6 +63,7 @@ var Index_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
|
|
|
63
63
|
});
|
|
64
64
|
emit("change", v, eventData);
|
|
65
65
|
};
|
|
66
|
+
const onAddDiffCount = () => emit("addDiffCount");
|
|
66
67
|
return (_ctx, _cache) => {
|
|
67
68
|
return openBlock(), createBlock(unref(TMagicCollapse), {
|
|
68
69
|
class: "m-fields-style-setter",
|
|
@@ -78,11 +79,16 @@ var Index_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
|
|
|
78
79
|
default: withCtx(() => [item.component ? (openBlock(), createBlock(resolveDynamicComponent(item.component), {
|
|
79
80
|
key: 0,
|
|
80
81
|
values: __props.model[__props.name],
|
|
82
|
+
"last-values": __props.lastValues?.[__props.name],
|
|
83
|
+
"is-compare": __props.isCompare,
|
|
81
84
|
size: __props.size,
|
|
82
85
|
disabled: __props.disabled,
|
|
83
|
-
onChange: change
|
|
86
|
+
onChange: change,
|
|
87
|
+
onAddDiffCount
|
|
84
88
|
}, null, 40, [
|
|
85
89
|
"values",
|
|
90
|
+
"last-values",
|
|
91
|
+
"is-compare",
|
|
86
92
|
"size",
|
|
87
93
|
"disabled"
|
|
88
94
|
])) : createCommentVNode("v-if", true)]),
|
|
@@ -4,7 +4,7 @@ import { Fragment, createBlock, createElementBlock, createElementVNode, createVN
|
|
|
4
4
|
var _hoisted_1 = { class: "background-position-container" };
|
|
5
5
|
var _hoisted_2 = { class: "presets-value-list" };
|
|
6
6
|
var _hoisted_3 = { class: "custom-value" };
|
|
7
|
-
var BackgroundPosition_vue_vue_type_script_setup_true_lang_default =
|
|
7
|
+
var BackgroundPosition_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
8
8
|
__name: "BackgroundPosition",
|
|
9
9
|
props: {
|
|
10
10
|
config: {},
|
|
@@ -7,14 +7,16 @@ var _hoisted_3 = { class: "border-icon-container-row" };
|
|
|
7
7
|
var _hoisted_4 = { class: "border-icon-container-row" };
|
|
8
8
|
var _hoisted_5 = { class: "border-icon-container-row" };
|
|
9
9
|
var _hoisted_6 = { class: "border-value-container" };
|
|
10
|
-
var Border_vue_vue_type_script_setup_true_lang_default =
|
|
10
|
+
var Border_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
11
11
|
__name: "Border",
|
|
12
12
|
props: {
|
|
13
13
|
model: {},
|
|
14
|
+
lastValues: {},
|
|
15
|
+
isCompare: { type: Boolean },
|
|
14
16
|
disabled: { type: Boolean },
|
|
15
17
|
size: {}
|
|
16
18
|
},
|
|
17
|
-
emits: ["change"],
|
|
19
|
+
emits: ["change", "addDiffCount"],
|
|
18
20
|
setup(__props, { emit: __emit }) {
|
|
19
21
|
const direction = ref("");
|
|
20
22
|
const config = computed(() => defineFormItem({ items: [
|
|
@@ -52,44 +54,72 @@ var Border_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineC
|
|
|
52
54
|
] }));
|
|
53
55
|
const selectDirection = (d) => direction.value = d || "";
|
|
54
56
|
const emit = __emit;
|
|
57
|
+
const props = __props;
|
|
58
|
+
const hasValue = (value) => value !== void 0 && value !== null && value !== "";
|
|
59
|
+
const isConfigured = (d) => [
|
|
60
|
+
"Width",
|
|
61
|
+
"Color",
|
|
62
|
+
"Style"
|
|
63
|
+
].some((key) => hasValue(props.model?.[`border${d}${key}`]));
|
|
55
64
|
const change = (value, eventData) => {
|
|
56
65
|
eventData.changeRecords?.forEach((record) => {
|
|
57
66
|
emit("change", record.value, { modifyKey: record.propPath });
|
|
58
67
|
});
|
|
59
68
|
};
|
|
69
|
+
const onAddDiffCount = () => emit("addDiffCount");
|
|
60
70
|
return (_ctx, _cache) => {
|
|
61
71
|
return openBlock(), createElementBlock("div", _hoisted_1, [createElementVNode("div", _hoisted_2, [
|
|
62
72
|
createElementVNode("div", _hoisted_3, [createElementVNode("div", {
|
|
63
|
-
class: normalizeClass(["border-icon border-icon-top", {
|
|
73
|
+
class: normalizeClass(["border-icon border-icon-top", {
|
|
74
|
+
active: direction.value === "Top",
|
|
75
|
+
configured: isConfigured("Top")
|
|
76
|
+
}]),
|
|
64
77
|
onClick: _cache[0] || (_cache[0] = ($event) => selectDirection("Top"))
|
|
65
78
|
}, null, 2)]),
|
|
66
79
|
createElementVNode("div", _hoisted_4, [
|
|
67
80
|
createElementVNode("div", {
|
|
68
|
-
class: normalizeClass(["border-icon border-icon-left", {
|
|
81
|
+
class: normalizeClass(["border-icon border-icon-left", {
|
|
82
|
+
active: direction.value === "Left",
|
|
83
|
+
configured: isConfigured("Left")
|
|
84
|
+
}]),
|
|
69
85
|
onClick: _cache[1] || (_cache[1] = ($event) => selectDirection("Left"))
|
|
70
86
|
}, null, 2),
|
|
71
87
|
createElementVNode("div", {
|
|
72
|
-
class: normalizeClass(["border-icon", {
|
|
88
|
+
class: normalizeClass(["border-icon", {
|
|
89
|
+
active: direction.value === "",
|
|
90
|
+
configured: isConfigured("")
|
|
91
|
+
}]),
|
|
73
92
|
onClick: _cache[2] || (_cache[2] = ($event) => selectDirection())
|
|
74
93
|
}, null, 2),
|
|
75
94
|
createElementVNode("div", {
|
|
76
|
-
class: normalizeClass(["border-icon border-icon-right", {
|
|
95
|
+
class: normalizeClass(["border-icon border-icon-right", {
|
|
96
|
+
active: direction.value === "Right",
|
|
97
|
+
configured: isConfigured("Right")
|
|
98
|
+
}]),
|
|
77
99
|
onClick: _cache[3] || (_cache[3] = ($event) => selectDirection("Right"))
|
|
78
100
|
}, null, 2)
|
|
79
101
|
]),
|
|
80
102
|
createElementVNode("div", _hoisted_5, [createElementVNode("div", {
|
|
81
|
-
class: normalizeClass(["border-icon border-icon-bottom", {
|
|
103
|
+
class: normalizeClass(["border-icon border-icon-bottom", {
|
|
104
|
+
active: direction.value === "Bottom",
|
|
105
|
+
configured: isConfigured("Bottom")
|
|
106
|
+
}]),
|
|
82
107
|
onClick: _cache[4] || (_cache[4] = ($event) => selectDirection("Bottom"))
|
|
83
108
|
}, null, 2)])
|
|
84
109
|
]), createElementVNode("div", _hoisted_6, [createVNode(unref(MContainer), {
|
|
85
110
|
config: config.value,
|
|
86
111
|
model: __props.model,
|
|
112
|
+
"last-values": __props.lastValues,
|
|
113
|
+
"is-compare": __props.isCompare,
|
|
87
114
|
size: __props.size,
|
|
88
115
|
disabled: __props.disabled,
|
|
89
|
-
onChange: change
|
|
116
|
+
onChange: change,
|
|
117
|
+
onAddDiffCount
|
|
90
118
|
}, null, 8, [
|
|
91
119
|
"config",
|
|
92
120
|
"model",
|
|
121
|
+
"last-values",
|
|
122
|
+
"is-compare",
|
|
93
123
|
"size",
|
|
94
124
|
"disabled"
|
|
95
125
|
])])]);
|
|
@@ -12,12 +12,14 @@ var _hoisted_4 = [
|
|
|
12
12
|
"disabled",
|
|
13
13
|
"onChange"
|
|
14
14
|
];
|
|
15
|
-
var Box_vue_vue_type_script_setup_true_lang_default =
|
|
15
|
+
var Box_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
16
16
|
__name: "Box",
|
|
17
17
|
props: {
|
|
18
18
|
disabled: { type: Boolean },
|
|
19
19
|
size: {},
|
|
20
|
-
model: {}
|
|
20
|
+
model: {},
|
|
21
|
+
lastValues: {},
|
|
22
|
+
isCompare: { type: Boolean }
|
|
21
23
|
},
|
|
22
24
|
emits: ["change"],
|
|
23
25
|
setup(__props, { emit: __emit }) {
|
|
@@ -12,6 +12,6 @@ function _sfc_render(_ctx, _cache) {
|
|
|
12
12
|
fill: "#5D5D5D"
|
|
13
13
|
}, null, -1)])]);
|
|
14
14
|
}
|
|
15
|
-
var NoRepeat_default =
|
|
15
|
+
var NoRepeat_default = /*#__PURE__*/ _plugin_vue_export_helper_default(_sfc_main, [["render", _sfc_render]]);
|
|
16
16
|
//#endregion
|
|
17
17
|
export { NoRepeat_default as default };
|
|
@@ -9,6 +9,6 @@ var _hoisted_1 = {
|
|
|
9
9
|
function _sfc_render(_ctx, _cache) {
|
|
10
10
|
return openBlock(), createElementBlock("svg", _hoisted_1, [..._cache[0] || (_cache[0] = [createStaticVNode("<path d=\"M884.736 102.4l-147.456 0c-20.48 0-36.864 16.384-36.864 36.864l0 147.456C696.32 311.296 712.704 327.68 733.184 327.68l147.456 0c20.48 0 36.864-16.384 36.864-36.864L917.504 139.264C921.6 118.784 905.216 102.4 884.736 102.4zM884.736 290.816l-147.456 0L737.28 139.264l147.456 0L884.736 290.816z\"></path><path d=\"M884.736 696.32l-147.456 0c-20.48 0-36.864 16.384-36.864 36.864l0 147.456c0 20.48 16.384 36.864 36.864 36.864l147.456 0c20.48 0 36.864-16.384 36.864-36.864l0-147.456C921.6 712.704 905.216 696.32 884.736 696.32zM884.736 884.736l-147.456 0 0-147.456 147.456 0L884.736 884.736z\"></path><path d=\"M884.736 401.408l-147.456 0c-20.48 0-36.864 16.384-36.864 36.864l0 147.456c0 20.48 16.384 36.864 36.864 36.864l147.456 0c20.48 0 36.864-16.384 36.864-36.864l0-147.456C921.6 417.792 905.216 401.408 884.736 401.408zM884.736 585.728l-147.456 0 0-147.456 147.456 0L884.736 585.728z\"></path><path d=\"M585.728 401.408l-147.456 0c-20.48 0-36.864 16.384-36.864 36.864l0 147.456c0 20.48 16.384 36.864 36.864 36.864l147.456 0c20.48 0 36.864-16.384 36.864-36.864l0-147.456C622.592 417.792 606.208 401.408 585.728 401.408zM585.728 585.728l-147.456 0 0-147.456 147.456 0L585.728 585.728z\"></path><path d=\"M585.728 102.4l-147.456 0c-20.48 0-36.864 16.384-36.864 36.864l0 147.456c0 20.48 16.384 36.864 36.864 36.864l147.456 0c20.48 0 36.864-16.384 36.864-36.864L622.592 139.264C622.592 118.784 606.208 102.4 585.728 102.4zM585.728 290.816l-147.456 0L438.272 139.264l147.456 0L585.728 290.816z\"></path><path d=\"M585.728 696.32l-147.456 0c-20.48 0-36.864 16.384-36.864 36.864l0 147.456c0 20.48 16.384 36.864 36.864 36.864l147.456 0c20.48 0 36.864-16.384 36.864-36.864l0-147.456C622.592 712.704 606.208 696.32 585.728 696.32zM585.728 884.736l-147.456 0 0-147.456 147.456 0L585.728 884.736z\"></path><path d=\"M290.816 696.32 139.264 696.32c-20.48 0-36.864 16.384-36.864 36.864l0 147.456c0 20.48 16.384 36.864 36.864 36.864l147.456 0c20.48 0 36.864-16.384 36.864-36.864l0-147.456C327.68 712.704 311.296 696.32 290.816 696.32zM290.816 884.736 139.264 884.736l0-147.456 147.456 0L286.72 884.736z\"></path><path d=\"M290.816 401.408 139.264 401.408c-20.48 0-36.864 16.384-36.864 36.864l0 147.456c0 20.48 16.384 36.864 36.864 36.864l147.456 0c20.48 0 36.864-16.384 36.864-36.864l0-147.456C327.68 417.792 311.296 401.408 290.816 401.408zM290.816 585.728 139.264 585.728l0-147.456 147.456 0L286.72 585.728z\"></path><path d=\"M290.816 102.4 139.264 102.4c-20.48 0-36.864 16.384-36.864 36.864l0 147.456C102.4 311.296 118.784 327.68 139.264 327.68l147.456 0C311.296 327.68 327.68 311.296 327.68 290.816L327.68 139.264C327.68 118.784 311.296 102.4 290.816 102.4zM290.816 290.816 139.264 290.816 139.264 139.264l147.456 0L286.72 290.816z\"></path>", 9)])]);
|
|
11
11
|
}
|
|
12
|
-
var Repeat_default =
|
|
12
|
+
var Repeat_default = /*#__PURE__*/ _plugin_vue_export_helper_default(_sfc_main, [["render", _sfc_render]]);
|
|
13
13
|
//#endregion
|
|
14
14
|
export { Repeat_default as default };
|
|
@@ -12,6 +12,6 @@ function _sfc_render(_ctx, _cache) {
|
|
|
12
12
|
fill: "#333333"
|
|
13
13
|
}, null, -1)])]);
|
|
14
14
|
}
|
|
15
|
-
var RepeatX_default =
|
|
15
|
+
var RepeatX_default = /*#__PURE__*/ _plugin_vue_export_helper_default(_sfc_main, [["render", _sfc_render]]);
|
|
16
16
|
//#endregion
|
|
17
17
|
export { RepeatX_default as default };
|
|
@@ -12,6 +12,6 @@ function _sfc_render(_ctx, _cache) {
|
|
|
12
12
|
fill: "#333333"
|
|
13
13
|
}, null, -1)])]);
|
|
14
14
|
}
|
|
15
|
-
var RepeatY_default =
|
|
15
|
+
var RepeatY_default = /*#__PURE__*/ _plugin_vue_export_helper_default(_sfc_main, [["render", _sfc_render]]);
|
|
16
16
|
//#endregion
|
|
17
17
|
export { RepeatY_default as default };
|