@tmagic/editor 1.8.0-beta.2 → 1.8.0-beta.4
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 +9 -0
- package/dist/es/components/CompareForm.vue_vue_type_script_setup_true_lang.js +46 -28
- package/dist/es/editorProps.js +2 -0
- package/dist/es/fields/CodeLink.vue_vue_type_script_setup_true_lang.js +2 -5
- package/dist/es/hooks/use-code-block-edit.js +6 -3
- package/dist/es/hooks/use-data-source-edit.js +5 -2
- package/dist/es/hooks/use-stage.js +8 -4
- package/dist/es/index.js +3 -1
- package/dist/es/layouts/CodeEditor.vue_vue_type_script_setup_true_lang.js +2 -5
- package/dist/es/layouts/NavMenu.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 +37 -14
- package/dist/es/layouts/history-list/BucketTab.js +5 -0
- package/dist/es/layouts/history-list/{CodeBlockTab.vue_vue_type_script_setup_true_lang.js → BucketTab.vue_vue_type_script_setup_true_lang.js} +30 -16
- package/dist/es/layouts/history-list/GroupRow.vue_vue_type_script_setup_true_lang.js +91 -60
- package/dist/es/layouts/history-list/HistoryDiffDialog.vue_vue_type_script_setup_true_lang.js +82 -30
- package/dist/es/layouts/history-list/HistoryListPanel.vue_vue_type_script_setup_true_lang.js +140 -66
- package/dist/es/layouts/history-list/InitialRow.vue_vue_type_script_setup_true_lang.js +15 -9
- package/dist/es/layouts/history-list/PageTab.vue_vue_type_script_setup_true_lang.js +15 -6
- package/dist/es/layouts/history-list/composables.js +72 -2
- package/dist/es/layouts/props-panel/PropsPanel.vue_vue_type_script_setup_true_lang.js +5 -1
- package/dist/es/layouts/sidebar/ComponentListPanel.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/es/layouts/sidebar/code-block/CodeBlockList.vue_vue_type_script_setup_true_lang.js +3 -3
- package/dist/es/layouts/sidebar/code-block/CodeBlockListPanel.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/es/layouts/sidebar/code-block/useContentMenu.js +1 -1
- package/dist/es/layouts/sidebar/data-source/DataSourceListPanel.vue_vue_type_script_setup_true_lang.js +1 -1
- 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 +5 -5
- package/dist/es/layouts/sidebar/layer/LayerNodeTool.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 +1 -1
- package/dist/es/layouts/workspace/viewer/ViewerMenu.vue_vue_type_script_setup_true_lang.js +8 -8
- package/dist/es/services/codeBlock.js +25 -10
- package/dist/es/services/dataSource.js +24 -10
- package/dist/es/services/editor.js +98 -46
- package/dist/es/services/history.js +7 -2
- package/dist/es/services/keybinding.js +3 -3
- package/dist/es/style.css +60 -16
- package/dist/es/utils/content-menu.js +17 -9
- package/dist/style.css +60 -16
- package/dist/tmagic-editor.umd.cjs +795 -443
- package/package.json +7 -7
- package/src/Editor.vue +8 -0
- package/src/components/CompareForm.vue +50 -19
- package/src/editorProps.ts +7 -0
- package/src/fields/CodeLink.vue +2 -5
- package/src/hooks/use-code-block-edit.ts +4 -3
- package/src/hooks/use-data-source-edit.ts +2 -2
- package/src/hooks/use-stage.ts +4 -3
- package/src/index.ts +2 -0
- package/src/layouts/CodeEditor.vue +2 -5
- package/src/layouts/NavMenu.vue +1 -1
- package/src/layouts/history-list/Bucket.vue +58 -29
- package/src/layouts/history-list/BucketTab.vue +80 -0
- package/src/layouts/history-list/GroupRow.vue +110 -58
- package/src/layouts/history-list/HistoryDiffDialog.vue +53 -33
- package/src/layouts/history-list/HistoryListPanel.vue +165 -52
- package/src/layouts/history-list/InitialRow.vue +17 -6
- package/src/layouts/history-list/PageTab.vue +25 -7
- package/src/layouts/history-list/composables.ts +92 -1
- package/src/layouts/props-panel/PropsPanel.vue +5 -1
- package/src/layouts/sidebar/ComponentListPanel.vue +9 -5
- 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/DataSourceListPanel.vue +1 -1
- 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/workspace/viewer/Stage.vue +1 -1
- package/src/layouts/workspace/viewer/ViewerMenu.vue +8 -8
- package/src/services/codeBlock.ts +33 -9
- package/src/services/dataSource.ts +30 -8
- package/src/services/editor.ts +111 -34
- package/src/services/history.ts +10 -0
- package/src/services/keybinding.ts +3 -3
- package/src/theme/history-list-panel.scss +67 -14
- package/src/theme/props-panel.scss +3 -3
- package/src/type.ts +146 -0
- package/src/utils/content-menu.ts +18 -9
- package/types/index.d.ts +387 -156
- package/dist/es/layouts/history-list/CodeBlockTab.js +0 -5
- package/dist/es/layouts/history-list/DataSourceTab.js +0 -5
- package/dist/es/layouts/history-list/DataSourceTab.vue_vue_type_script_setup_true_lang.js +0 -62
- package/src/layouts/history-list/CodeBlockTab.vue +0 -61
- package/src/layouts/history-list/DataSourceTab.vue +0 -61
|
@@ -1,30 +1,27 @@
|
|
|
1
|
-
import { opLabel } from "./composables.js";
|
|
1
|
+
import { opLabel, sourceLabel } from "./composables.js";
|
|
2
2
|
import { Fragment, computed, createCommentVNode, createElementBlock, createElementVNode, defineComponent, normalizeClass, openBlock, renderList, toDisplayString, unref, withModifiers } from "vue";
|
|
3
3
|
//#region packages/editor/src/layouts/history-list/GroupRow.vue?vue&type=script&setup=true&lang.ts
|
|
4
4
|
var _hoisted_1 = ["title"];
|
|
5
5
|
var _hoisted_2 = ["title"];
|
|
6
6
|
var _hoisted_3 = { class: "m-editor-history-list-item-desc" };
|
|
7
|
-
var _hoisted_4 =
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
};
|
|
11
|
-
var _hoisted_5 = {
|
|
7
|
+
var _hoisted_4 = ["title"];
|
|
8
|
+
var _hoisted_5 = ["title"];
|
|
9
|
+
var _hoisted_6 = {
|
|
12
10
|
key: 2,
|
|
13
11
|
class: "m-editor-history-list-item-merge"
|
|
14
12
|
};
|
|
15
|
-
var
|
|
13
|
+
var _hoisted_7 = {
|
|
16
14
|
key: 0,
|
|
17
15
|
class: "m-editor-history-list-substeps"
|
|
18
16
|
};
|
|
19
|
-
var
|
|
20
|
-
var
|
|
21
|
-
var
|
|
22
|
-
var
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
var
|
|
27
|
-
var _hoisted_12 = ["onClick"];
|
|
17
|
+
var _hoisted_8 = ["title"];
|
|
18
|
+
var _hoisted_9 = { class: "m-editor-history-list-item-index" };
|
|
19
|
+
var _hoisted_10 = { class: "m-editor-history-list-substep-desc" };
|
|
20
|
+
var _hoisted_11 = ["title"];
|
|
21
|
+
var _hoisted_12 = ["title"];
|
|
22
|
+
var _hoisted_13 = ["onClick"];
|
|
23
|
+
var _hoisted_14 = ["onClick"];
|
|
24
|
+
var _hoisted_15 = ["onClick"];
|
|
28
25
|
var GroupRow_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
29
26
|
name: "MEditorHistoryListGroupRow",
|
|
30
27
|
__name: "GroupRow",
|
|
@@ -34,10 +31,20 @@ var GroupRow_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defin
|
|
|
34
31
|
merged: { type: Boolean },
|
|
35
32
|
opType: {},
|
|
36
33
|
desc: {},
|
|
34
|
+
source: {},
|
|
35
|
+
time: {},
|
|
36
|
+
timeTitle: {},
|
|
37
37
|
stepCount: {},
|
|
38
38
|
subSteps: {},
|
|
39
39
|
expanded: { type: Boolean },
|
|
40
|
-
isCurrent: {
|
|
40
|
+
isCurrent: {
|
|
41
|
+
type: Boolean,
|
|
42
|
+
default: false
|
|
43
|
+
},
|
|
44
|
+
gotoEnabled: {
|
|
45
|
+
type: Boolean,
|
|
46
|
+
default: true
|
|
47
|
+
}
|
|
41
48
|
},
|
|
42
49
|
emits: [
|
|
43
50
|
"toggle",
|
|
@@ -48,33 +55,29 @@ var GroupRow_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defin
|
|
|
48
55
|
setup(__props, { emit: __emit }) {
|
|
49
56
|
const props = __props;
|
|
50
57
|
const emit = __emit;
|
|
51
|
-
/**
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
58
|
+
/**
|
|
59
|
+
* 仅合并组头部可点击(切换展开 / 收起);
|
|
60
|
+
* 单步组的跳转改由头部的「回退」按钮触发,整行不再可点击。
|
|
61
|
+
*/
|
|
62
|
+
const isHeadClickable = computed(() => props.merged);
|
|
56
63
|
const headTitle = computed(() => {
|
|
57
64
|
if (props.merged) return props.expanded ? "点击收起子步" : "点击展开子步";
|
|
58
65
|
if (props.isCurrent) return "当前所在记录";
|
|
59
|
-
return "
|
|
66
|
+
return "";
|
|
60
67
|
});
|
|
61
68
|
/**
|
|
62
|
-
*
|
|
63
|
-
* - 合并组:仅切换展开 / 收起,不触发 goto;
|
|
64
|
-
* - 单步组:跳转到该唯一步骤;当前组忽略点击。
|
|
69
|
+
* 头部点击行为:仅合并组切换展开 / 收起;单步组不再响应整行点击。
|
|
65
70
|
*/
|
|
66
71
|
const onHeadClick = () => {
|
|
67
|
-
if (props.merged)
|
|
68
|
-
emit("toggle", props.groupKey);
|
|
69
|
-
return;
|
|
70
|
-
}
|
|
71
|
-
if (props.isCurrent) return;
|
|
72
|
-
if (!props.subSteps.length) return;
|
|
73
|
-
emit("goto", props.subSteps[0].index);
|
|
72
|
+
if (props.merged) emit("toggle", props.groupKey);
|
|
74
73
|
};
|
|
75
|
-
const
|
|
76
|
-
if (
|
|
77
|
-
emit("goto",
|
|
74
|
+
const onGotoClick = (index) => {
|
|
75
|
+
if (!props.gotoEnabled) return;
|
|
76
|
+
emit("goto", index);
|
|
77
|
+
};
|
|
78
|
+
const subStepTitle = (s) => {
|
|
79
|
+
if (s.isCurrent) return "当前所在记录";
|
|
80
|
+
return "";
|
|
78
81
|
};
|
|
79
82
|
/** 单步组头部是否展示"查看差异"入口:要求该唯一子步本身可对比。 */
|
|
80
83
|
const headDiffable = computed(() => !props.merged && Boolean(props.subSteps[0]?.diffable));
|
|
@@ -127,51 +130,79 @@ var GroupRow_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defin
|
|
|
127
130
|
}, toDisplayString(headIndexLabel.value), 9, _hoisted_2),
|
|
128
131
|
createElementVNode("span", { class: normalizeClass(["m-editor-history-list-item-op", `op-${__props.opType}`]) }, toDisplayString(unref(opLabel)(__props.opType)), 3),
|
|
129
132
|
createElementVNode("span", _hoisted_3, toDisplayString(__props.desc), 1),
|
|
130
|
-
__props.
|
|
131
|
-
|
|
133
|
+
!__props.merged && unref(sourceLabel)(__props.source) ? (openBlock(), createElementBlock("span", {
|
|
134
|
+
key: 0,
|
|
135
|
+
class: "m-editor-history-list-item-source",
|
|
136
|
+
title: `操作途径:${unref(sourceLabel)(__props.source)}`
|
|
137
|
+
}, toDisplayString(unref(sourceLabel)(__props.source)), 9, _hoisted_4)) : createCommentVNode("v-if", true),
|
|
138
|
+
!__props.merged && __props.time ? (openBlock(), createElementBlock("span", {
|
|
132
139
|
key: 1,
|
|
133
|
-
class: "m-editor-history-list-item-
|
|
134
|
-
title:
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
__props.merged ? (openBlock(), createElementBlock("span", _hoisted_5, "合并 " + toDisplayString(__props.stepCount) + " 步", 1)) : createCommentVNode("v-if", true),
|
|
140
|
+
class: "m-editor-history-list-item-time",
|
|
141
|
+
title: __props.timeTitle || __props.time
|
|
142
|
+
}, toDisplayString(__props.time), 9, _hoisted_5)) : createCommentVNode("v-if", true),
|
|
143
|
+
__props.merged ? (openBlock(), createElementBlock("span", _hoisted_6, "合并 " + toDisplayString(__props.stepCount) + " 步", 1)) : createCommentVNode("v-if", true),
|
|
138
144
|
!__props.merged && headRevertable.value ? (openBlock(), createElementBlock("span", {
|
|
139
145
|
key: 3,
|
|
140
146
|
class: "m-editor-history-list-item-revert",
|
|
141
147
|
title: "将该步骤的修改作为一次新操作反向应用(不影响后续历史)",
|
|
142
|
-
onClick: _cache[
|
|
148
|
+
onClick: _cache[0] || (_cache[0] = withModifiers(($event) => onRevertClick(__props.subSteps[0].index), ["stop"]))
|
|
143
149
|
}, "回滚")) : createCommentVNode("v-if", true),
|
|
144
|
-
__props.merged ? (openBlock(), createElementBlock("span", {
|
|
150
|
+
!__props.merged && __props.gotoEnabled && !__props.isCurrent && __props.subSteps.length ? (openBlock(), createElementBlock("span", {
|
|
145
151
|
key: 4,
|
|
152
|
+
class: "m-editor-history-list-item-goto",
|
|
153
|
+
title: "回到该记录",
|
|
154
|
+
onClick: _cache[1] || (_cache[1] = withModifiers(($event) => onGotoClick(__props.subSteps[0].index), ["stop"]))
|
|
155
|
+
}, "回到")) : createCommentVNode("v-if", true),
|
|
156
|
+
!__props.merged && headDiffable.value ? (openBlock(), createElementBlock("span", {
|
|
157
|
+
key: 5,
|
|
158
|
+
class: "m-editor-history-list-item-diff",
|
|
159
|
+
title: "查看修改差异",
|
|
160
|
+
onClick: _cache[2] || (_cache[2] = withModifiers(($event) => onDiffClick(__props.subSteps[0].index), ["stop"]))
|
|
161
|
+
}, "查看差异")) : createCommentVNode("v-if", true),
|
|
162
|
+
__props.merged ? (openBlock(), createElementBlock("span", {
|
|
163
|
+
key: 6,
|
|
146
164
|
class: normalizeClass(["m-editor-history-list-group-toggle", { "is-expanded": __props.expanded }])
|
|
147
165
|
}, "▾", 2)) : createCommentVNode("v-if", true)
|
|
148
|
-
], 10, _hoisted_1), __props.merged && __props.expanded ? (openBlock(), createElementBlock("ul",
|
|
166
|
+
], 10, _hoisted_1), __props.merged && __props.expanded ? (openBlock(), createElementBlock("ul", _hoisted_7, [(openBlock(true), createElementBlock(Fragment, null, renderList(subStepsDisplay.value, (s) => {
|
|
149
167
|
return openBlock(), createElementBlock("li", {
|
|
150
168
|
key: s.index,
|
|
151
169
|
class: normalizeClass({
|
|
152
170
|
"is-undone": !s.applied,
|
|
153
|
-
"is-current": s.isCurrent
|
|
154
|
-
"is-clickable": !s.isCurrent
|
|
171
|
+
"is-current": s.isCurrent
|
|
155
172
|
}),
|
|
156
|
-
title: s
|
|
157
|
-
onClick: ($event) => onSubStepClick(s)
|
|
173
|
+
title: subStepTitle(s)
|
|
158
174
|
}, [
|
|
159
|
-
createElementVNode("span",
|
|
160
|
-
createElementVNode("span",
|
|
161
|
-
s.
|
|
162
|
-
|
|
175
|
+
createElementVNode("span", _hoisted_9, "#" + toDisplayString(s.index + 1), 1),
|
|
176
|
+
createElementVNode("span", _hoisted_10, toDisplayString(s.desc), 1),
|
|
177
|
+
unref(sourceLabel)(s.source) ? (openBlock(), createElementBlock("span", {
|
|
178
|
+
key: 0,
|
|
179
|
+
class: "m-editor-history-list-item-source",
|
|
180
|
+
title: `操作途径:${unref(sourceLabel)(s.source)}`
|
|
181
|
+
}, toDisplayString(unref(sourceLabel)(s.source)), 9, _hoisted_11)) : createCommentVNode("v-if", true),
|
|
182
|
+
s.time ? (openBlock(), createElementBlock("span", {
|
|
163
183
|
key: 1,
|
|
164
|
-
class: "m-editor-history-list-item-
|
|
165
|
-
title:
|
|
166
|
-
|
|
167
|
-
}, "查看差异", 8, _hoisted_11)) : createCommentVNode("v-if", true),
|
|
184
|
+
class: "m-editor-history-list-item-time",
|
|
185
|
+
title: s.timeTitle || s.time
|
|
186
|
+
}, toDisplayString(s.time), 9, _hoisted_12)) : createCommentVNode("v-if", true),
|
|
168
187
|
s.revertable ? (openBlock(), createElementBlock("span", {
|
|
169
188
|
key: 2,
|
|
170
189
|
class: "m-editor-history-list-item-revert",
|
|
171
190
|
title: "将该步骤的修改作为一次新操作反向应用(不影响后续历史)",
|
|
172
191
|
onClick: withModifiers(($event) => onRevertClick(s.index), ["stop"])
|
|
173
|
-
}, "回滚", 8,
|
|
174
|
-
|
|
192
|
+
}, "回滚", 8, _hoisted_13)) : createCommentVNode("v-if", true),
|
|
193
|
+
__props.gotoEnabled && !s.isCurrent ? (openBlock(), createElementBlock("span", {
|
|
194
|
+
key: 3,
|
|
195
|
+
class: "m-editor-history-list-item-goto",
|
|
196
|
+
title: "回到该记录",
|
|
197
|
+
onClick: withModifiers(($event) => onGotoClick(s.index), ["stop"])
|
|
198
|
+
}, "回到", 8, _hoisted_14)) : createCommentVNode("v-if", true),
|
|
199
|
+
s.diffable ? (openBlock(), createElementBlock("span", {
|
|
200
|
+
key: 4,
|
|
201
|
+
class: "m-editor-history-list-item-diff",
|
|
202
|
+
title: "查看修改差异",
|
|
203
|
+
onClick: withModifiers(($event) => onDiffClick(s.index), ["stop"])
|
|
204
|
+
}, "查看差异", 8, _hoisted_15)) : createCommentVNode("v-if", true)
|
|
205
|
+
], 10, _hoisted_8);
|
|
175
206
|
}), 128))])) : createCommentVNode("v-if", true)], 2);
|
|
176
207
|
};
|
|
177
208
|
}
|
package/dist/es/layouts/history-list/HistoryDiffDialog.vue_vue_type_script_setup_true_lang.js
CHANGED
|
@@ -1,27 +1,44 @@
|
|
|
1
1
|
import CodeEditor_default from "../CodeEditor.js";
|
|
2
2
|
import CompareForm_default from "../../components/CompareForm.js";
|
|
3
3
|
import { TMagicButton, TMagicDialog, TMagicRadioButton, TMagicRadioGroup, TMagicTag } from "@tmagic/design";
|
|
4
|
-
import { Teleport, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, openBlock, ref, toDisplayString, unref, watch, withCtx } from "vue";
|
|
4
|
+
import { Fragment, Teleport, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, openBlock, ref, toDisplayString, unref, watch, withCtx } from "vue";
|
|
5
5
|
import { isEqual } from "lodash-es";
|
|
6
6
|
//#region packages/editor/src/layouts/history-list/HistoryDiffDialog.vue?vue&type=script&setup=true&lang.ts
|
|
7
7
|
var _hoisted_1 = {
|
|
8
8
|
key: 0,
|
|
9
9
|
class: "m-editor-history-diff-dialog-body"
|
|
10
10
|
};
|
|
11
|
-
var _hoisted_2 = {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
var
|
|
11
|
+
var _hoisted_2 = {
|
|
12
|
+
key: 0,
|
|
13
|
+
class: "m-editor-history-diff-dialog-notice"
|
|
14
|
+
};
|
|
15
|
+
var _hoisted_3 = { class: "m-editor-history-diff-dialog-header" };
|
|
16
|
+
var _hoisted_4 = { class: "m-editor-history-diff-dialog-target" };
|
|
17
|
+
var _hoisted_5 = { class: "m-editor-history-diff-dialog-controls" };
|
|
18
|
+
var _hoisted_6 = { class: "m-editor-history-diff-dialog-legend" };
|
|
19
|
+
var _hoisted_7 = {
|
|
16
20
|
key: 0,
|
|
17
21
|
class: "m-editor-history-diff-dialog-tip"
|
|
18
22
|
};
|
|
19
23
|
var HistoryDiffDialog_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
20
24
|
name: "MEditorHistoryDiffDialog",
|
|
21
25
|
__name: "HistoryDiffDialog",
|
|
22
|
-
props: {
|
|
23
|
-
|
|
24
|
-
|
|
26
|
+
props: {
|
|
27
|
+
extendState: {},
|
|
28
|
+
loadConfig: {},
|
|
29
|
+
width: { default: "900px" },
|
|
30
|
+
onConfirm: {},
|
|
31
|
+
selfDiffFieldTypes: {}
|
|
32
|
+
},
|
|
33
|
+
emits: ["close"],
|
|
34
|
+
setup(__props, { expose: __expose, emit: __emit }) {
|
|
35
|
+
const props = __props;
|
|
36
|
+
const emit = __emit;
|
|
37
|
+
/**
|
|
38
|
+
* 差异对比模式:
|
|
39
|
+
* - before:该步骤修改前 vs 该步骤修改后(默认行为,体现这一步带来的变化)
|
|
40
|
+
* - current:该步骤修改后 vs 当前最新值(用于查看「该步骤之后是否还被改过」)
|
|
41
|
+
*/
|
|
25
42
|
const visible = ref(false);
|
|
26
43
|
const payload = ref(null);
|
|
27
44
|
const mode = ref("before");
|
|
@@ -43,6 +60,7 @@ var HistoryDiffDialog_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
|
|
|
43
60
|
scrollBeyondLastLine: false,
|
|
44
61
|
hideUnchangedRegions: { enabled: true }
|
|
45
62
|
};
|
|
63
|
+
const dialogTitle = computed(() => props.onConfirm ? "确认回滚" : "查看修改差异");
|
|
46
64
|
const hasCurrent = computed(() => payload.value?.currentValue !== void 0 && payload.value?.currentValue !== null);
|
|
47
65
|
/** 左侧(旧/参照)值 */
|
|
48
66
|
const leftValue = computed(() => {
|
|
@@ -63,13 +81,20 @@ var HistoryDiffDialog_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
|
|
|
63
81
|
if (mode.value !== "current" || !payload.value) return false;
|
|
64
82
|
return isEqual(payload.value.value, payload.value.currentValue);
|
|
65
83
|
});
|
|
84
|
+
const onConfirmClick = () => {
|
|
85
|
+
const cb = props.onConfirm;
|
|
86
|
+
cb?.();
|
|
87
|
+
visible.value = false;
|
|
88
|
+
};
|
|
66
89
|
const targetText = computed(() => {
|
|
67
90
|
if (!payload.value) return "";
|
|
68
|
-
const
|
|
91
|
+
const categoryText = {
|
|
69
92
|
node: "节点",
|
|
70
93
|
"data-source": "数据源",
|
|
71
94
|
"code-block": "代码块"
|
|
72
|
-
}
|
|
95
|
+
};
|
|
96
|
+
const { category } = payload.value;
|
|
97
|
+
const prefix = category ? categoryText[category] : "";
|
|
73
98
|
const label = payload.value.targetLabel || payload.value.type || "";
|
|
74
99
|
const { id } = payload.value;
|
|
75
100
|
return [prefix, id !== void 0 && id !== "" ? `${label}(${id})` : label].filter(Boolean).join(":");
|
|
@@ -86,6 +111,9 @@ var HistoryDiffDialog_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
|
|
|
86
111
|
watch(visible, (v) => {
|
|
87
112
|
if (!v) payload.value = null;
|
|
88
113
|
});
|
|
114
|
+
const onClose = () => {
|
|
115
|
+
emit("close");
|
|
116
|
+
};
|
|
89
117
|
__expose({
|
|
90
118
|
open,
|
|
91
119
|
close
|
|
@@ -93,33 +121,49 @@ var HistoryDiffDialog_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
|
|
|
93
121
|
return (_ctx, _cache) => {
|
|
94
122
|
return openBlock(), createBlock(Teleport, { to: "body" }, [createVNode(unref(TMagicDialog), {
|
|
95
123
|
modelValue: visible.value,
|
|
96
|
-
"onUpdate:modelValue": _cache[
|
|
124
|
+
"onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => visible.value = $event),
|
|
97
125
|
class: "m-editor-history-diff-dialog",
|
|
98
|
-
title:
|
|
99
|
-
width: "900px",
|
|
126
|
+
title: dialogTitle.value,
|
|
100
127
|
top: "5vh",
|
|
101
128
|
"destroy-on-close": "",
|
|
102
|
-
"append-to-body": ""
|
|
129
|
+
"append-to-body": "",
|
|
130
|
+
width: __props.width,
|
|
131
|
+
onClose
|
|
103
132
|
}, {
|
|
104
|
-
footer: withCtx(() => [createVNode(unref(TMagicButton), {
|
|
133
|
+
footer: withCtx(() => [__props.onConfirm ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [createVNode(unref(TMagicButton), {
|
|
105
134
|
size: "small",
|
|
106
135
|
onClick: _cache[2] || (_cache[2] = ($event) => visible.value = false)
|
|
107
136
|
}, {
|
|
108
|
-
default: withCtx(() => [..._cache[
|
|
137
|
+
default: withCtx(() => [..._cache[10] || (_cache[10] = [createTextVNode("取消", -1)])]),
|
|
109
138
|
_: 1
|
|
110
|
-
})
|
|
139
|
+
}), createVNode(unref(TMagicButton), {
|
|
140
|
+
size: "small",
|
|
141
|
+
type: "primary",
|
|
142
|
+
onClick: onConfirmClick
|
|
143
|
+
}, {
|
|
144
|
+
default: withCtx(() => [..._cache[11] || (_cache[11] = [createTextVNode("确定回滚", -1)])]),
|
|
145
|
+
_: 1
|
|
146
|
+
})], 64)) : (openBlock(), createBlock(unref(TMagicButton), {
|
|
147
|
+
key: 1,
|
|
148
|
+
size: "small",
|
|
149
|
+
onClick: _cache[3] || (_cache[3] = ($event) => visible.value = false)
|
|
150
|
+
}, {
|
|
151
|
+
default: withCtx(() => [..._cache[12] || (_cache[12] = [createTextVNode("关闭", -1)])]),
|
|
152
|
+
_: 1
|
|
153
|
+
}))]),
|
|
111
154
|
default: withCtx(() => [payload.value ? (openBlock(), createElementBlock("div", _hoisted_1, [
|
|
112
|
-
|
|
155
|
+
__props.onConfirm ? (openBlock(), createElementBlock("div", _hoisted_2, "仅回滚有差异的字段")) : createCommentVNode("v-if", true),
|
|
156
|
+
createElementVNode("div", _hoisted_3, [createElementVNode("span", _hoisted_4, toDisplayString(targetText.value), 1), createElementVNode("div", _hoisted_5, [createVNode(unref(TMagicRadioGroup), {
|
|
113
157
|
modelValue: viewMode.value,
|
|
114
158
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => viewMode.value = $event),
|
|
115
159
|
size: "small",
|
|
116
160
|
class: "m-editor-history-diff-dialog-view"
|
|
117
161
|
}, {
|
|
118
162
|
default: withCtx(() => [createVNode(unref(TMagicRadioButton), { value: "form" }, {
|
|
119
|
-
default: withCtx(() => [..._cache[
|
|
163
|
+
default: withCtx(() => [..._cache[5] || (_cache[5] = [createTextVNode("表单对比", -1)])]),
|
|
120
164
|
_: 1
|
|
121
165
|
}), createVNode(unref(TMagicRadioButton), { value: "code" }, {
|
|
122
|
-
default: withCtx(() => [..._cache[
|
|
166
|
+
default: withCtx(() => [..._cache[6] || (_cache[6] = [createTextVNode("源码对比", -1)])]),
|
|
123
167
|
_: 1
|
|
124
168
|
})]),
|
|
125
169
|
_: 1
|
|
@@ -130,18 +174,18 @@ var HistoryDiffDialog_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
|
|
|
130
174
|
class: "m-editor-history-diff-dialog-mode"
|
|
131
175
|
}, {
|
|
132
176
|
default: withCtx(() => [createVNode(unref(TMagicRadioButton), { value: "before" }, {
|
|
133
|
-
default: withCtx(() => [..._cache[
|
|
177
|
+
default: withCtx(() => [..._cache[7] || (_cache[7] = [createTextVNode("与修改前对比", -1)])]),
|
|
134
178
|
_: 1
|
|
135
179
|
}), createVNode(unref(TMagicRadioButton), {
|
|
136
180
|
value: "current",
|
|
137
181
|
disabled: !hasCurrent.value
|
|
138
182
|
}, {
|
|
139
|
-
default: withCtx(() => [..._cache[
|
|
183
|
+
default: withCtx(() => [..._cache[8] || (_cache[8] = [createTextVNode("与当前对比", -1)])]),
|
|
140
184
|
_: 1
|
|
141
185
|
}, 8, ["disabled"])]),
|
|
142
186
|
_: 1
|
|
143
187
|
}, 8, ["modelValue"])])]),
|
|
144
|
-
createElementVNode("div",
|
|
188
|
+
createElementVNode("div", _hoisted_6, [
|
|
145
189
|
createVNode(unref(TMagicTag), {
|
|
146
190
|
size: "small",
|
|
147
191
|
type: "danger"
|
|
@@ -149,7 +193,7 @@ var HistoryDiffDialog_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
|
|
|
149
193
|
default: withCtx(() => [createTextVNode(toDisplayString(leftLabel.value), 1)]),
|
|
150
194
|
_: 1
|
|
151
195
|
}),
|
|
152
|
-
_cache[
|
|
196
|
+
_cache[9] || (_cache[9] = createElementVNode("span", { class: "m-editor-history-diff-dialog-arrow" }, "→", -1)),
|
|
153
197
|
createVNode(unref(TMagicTag), {
|
|
154
198
|
size: "small",
|
|
155
199
|
type: "success"
|
|
@@ -157,16 +201,18 @@ var HistoryDiffDialog_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
|
|
|
157
201
|
default: withCtx(() => [createTextVNode(toDisplayString(rightLabel.value), 1)]),
|
|
158
202
|
_: 1
|
|
159
203
|
}),
|
|
160
|
-
mode.value === "current" && isSameAsCurrent.value ? (openBlock(), createElementBlock("span",
|
|
204
|
+
mode.value === "current" && isSameAsCurrent.value ? (openBlock(), createElementBlock("span", _hoisted_7, " 当前值与该步修改后一致,无差异 ")) : createCommentVNode("v-if", true)
|
|
161
205
|
]),
|
|
162
206
|
viewMode.value === "form" ? (openBlock(), createBlock(CompareForm_default, {
|
|
163
|
-
key:
|
|
207
|
+
key: 1,
|
|
164
208
|
category: payload.value.category,
|
|
165
209
|
type: payload.value.type,
|
|
166
210
|
"data-source-type": payload.value.dataSourceType,
|
|
167
211
|
value: rightValue.value,
|
|
168
212
|
"last-value": leftValue.value,
|
|
169
213
|
"extend-state": __props.extendState,
|
|
214
|
+
"load-config": __props.loadConfig,
|
|
215
|
+
"self-diff-field-types": __props.selfDiffFieldTypes,
|
|
170
216
|
height: "70vh"
|
|
171
217
|
}, null, 8, [
|
|
172
218
|
"category",
|
|
@@ -174,9 +220,11 @@ var HistoryDiffDialog_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
|
|
|
174
220
|
"data-source-type",
|
|
175
221
|
"value",
|
|
176
222
|
"last-value",
|
|
177
|
-
"extend-state"
|
|
223
|
+
"extend-state",
|
|
224
|
+
"load-config",
|
|
225
|
+
"self-diff-field-types"
|
|
178
226
|
])) : (openBlock(), createBlock(CodeEditor_default, {
|
|
179
|
-
key:
|
|
227
|
+
key: 2,
|
|
180
228
|
type: "diff",
|
|
181
229
|
language: "json",
|
|
182
230
|
"init-values": leftValue.value,
|
|
@@ -187,7 +235,11 @@ var HistoryDiffDialog_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
|
|
|
187
235
|
}, null, 8, ["init-values", "modified-values"]))
|
|
188
236
|
])) : createCommentVNode("v-if", true)]),
|
|
189
237
|
_: 1
|
|
190
|
-
}, 8, [
|
|
238
|
+
}, 8, [
|
|
239
|
+
"modelValue",
|
|
240
|
+
"title",
|
|
241
|
+
"width"
|
|
242
|
+
])]);
|
|
191
243
|
};
|
|
192
244
|
}
|
|
193
245
|
});
|