@tmagic/editor 1.8.0-beta.0 → 1.8.0-beta.2
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 +11 -2
- package/dist/es/components/CodeBlockEditor.vue_vue_type_script_setup_true_lang.js +18 -110
- package/dist/es/components/CodeParams.vue_vue_type_script_setup_true_lang.js +6 -0
- package/dist/es/components/CompareForm.js +5 -0
- package/dist/es/components/CompareForm.vue_vue_type_script_setup_true_lang.js +167 -0
- package/dist/es/fields/Code.vue_vue_type_script_setup_true_lang.js +19 -3
- package/dist/es/fields/CodeSelect.vue_vue_type_script_setup_true_lang.js +18 -2
- package/dist/es/fields/CodeSelectCol.vue_vue_type_script_setup_true_lang.js +37 -6
- package/dist/es/fields/DataSourceFieldSelect/FieldSelect.vue_vue_type_script_setup_true_lang.js +3 -1
- package/dist/es/fields/DataSourceFieldSelect/Index.vue_vue_type_script_setup_true_lang.js +12 -3
- package/dist/es/fields/DataSourceFields.vue_vue_type_script_setup_true_lang.js +14 -6
- package/dist/es/fields/DataSourceMethodSelect.vue_vue_type_script_setup_true_name_true_lang.js +3 -1
- package/dist/es/fields/DataSourceMethods.vue_vue_type_script_setup_true_lang.js +15 -7
- package/dist/es/fields/DataSourceMocks.vue_vue_type_script_setup_true_lang.js +14 -6
- package/dist/es/fields/DataSourceSelect.vue_vue_type_script_setup_true_lang.js +3 -1
- package/dist/es/fields/EventSelect.vue_vue_type_script_setup_true_lang.js +58 -11
- package/dist/es/fields/KeyValue.vue_vue_type_script_setup_true_lang.js +11 -6
- package/dist/es/fields/StyleSetter/Index.vue_vue_type_script_setup_true_lang.js +8 -2
- package/dist/es/fields/StyleSetter/components/Border.vue_vue_type_script_setup_true_lang.js +10 -2
- package/dist/es/fields/StyleSetter/components/Box.vue_vue_type_script_setup_true_lang.js +3 -1
- package/dist/es/fields/StyleSetter/pro/Background.vue_vue_type_script_setup_true_lang.js +10 -2
- package/dist/es/fields/StyleSetter/pro/Border.vue_vue_type_script_setup_true_lang.js +16 -3
- package/dist/es/fields/StyleSetter/pro/Font.vue_vue_type_script_setup_true_lang.js +10 -2
- package/dist/es/fields/StyleSetter/pro/Layout.vue_vue_type_script_setup_true_lang.js +14 -2
- package/dist/es/fields/StyleSetter/pro/Position.vue_vue_type_script_setup_true_lang.js +10 -2
- package/dist/es/fields/StyleSetter/pro/Transform.vue_vue_type_script_setup_true_lang.js +10 -2
- package/dist/es/fields/UISelect.vue_vue_type_script_setup_true_lang.js +8 -5
- package/dist/es/hooks/use-code-block-edit.js +2 -2
- package/dist/es/hooks/use-stage.js +15 -7
- package/dist/es/index.js +3 -1
- package/dist/es/initService.js +6 -6
- package/dist/es/layouts/CodeEditor.vue_vue_type_script_setup_true_lang.js +4 -0
- package/dist/es/layouts/Framework.vue_vue_type_script_setup_true_lang.js +12 -7
- package/dist/es/layouts/NavMenu.vue_vue_type_script_setup_true_lang.js +8 -0
- 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 +84 -0
- package/dist/es/layouts/history-list/CodeBlockTab.js +5 -0
- package/dist/es/layouts/history-list/CodeBlockTab.vue_vue_type_script_setup_true_lang.js +62 -0
- package/dist/es/layouts/history-list/DataSourceTab.js +5 -0
- package/dist/es/layouts/history-list/DataSourceTab.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 +180 -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 +195 -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 +270 -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 +48 -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 +99 -0
- package/dist/es/layouts/history-list/composables.js +154 -0
- package/dist/es/layouts/sidebar/layer/use-node-status.js +38 -4
- package/dist/es/services/BaseService.js +31 -68
- package/dist/es/services/codeBlock.js +205 -8
- package/dist/es/services/componentList.js +2 -2
- package/dist/es/services/dataSource.js +217 -8
- package/dist/es/services/dep.js +21 -9
- package/dist/es/services/editor.js +350 -160
- package/dist/es/services/events.js +2 -2
- package/dist/es/services/history.js +407 -12
- package/dist/es/services/keybinding.js +2 -2
- 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 +2 -2
- package/dist/es/style.css +347 -1
- package/dist/es/utils/code-block.js +122 -0
- package/dist/es/utils/content-menu.js +4 -5
- package/dist/es/utils/dep/worker.js +1 -1
- package/dist/es/utils/editor.js +3 -3
- package/dist/es/utils/undo-redo.js +20 -0
- package/dist/style.css +347 -1
- package/dist/tmagic-editor.umd.cjs +3273 -766
- package/package.json +7 -7
- package/src/Editor.vue +7 -0
- package/src/components/CodeBlockEditor.vue +20 -109
- package/src/components/CodeParams.vue +6 -0
- package/src/components/CompareForm.vue +225 -0
- package/src/editorProps.ts +2 -0
- package/src/fields/Code.vue +19 -3
- package/src/fields/CodeSelect.vue +17 -1
- package/src/fields/CodeSelectCol.vue +30 -2
- package/src/fields/DataSourceFieldSelect/FieldSelect.vue +7 -1
- package/src/fields/DataSourceFieldSelect/Index.vue +9 -2
- package/src/fields/DataSourceFields.vue +12 -3
- package/src/fields/DataSourceMethodSelect.vue +4 -1
- package/src/fields/DataSourceMethods.vue +14 -4
- 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 +15 -1
- 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 +5 -2
- package/src/hooks/use-stage.ts +23 -7
- package/src/index.ts +1 -0
- package/src/layouts/CodeEditor.vue +15 -0
- package/src/layouts/Framework.vue +10 -5
- package/src/layouts/NavMenu.vue +9 -0
- package/src/layouts/history-list/Bucket.vue +99 -0
- package/src/layouts/history-list/CodeBlockTab.vue +61 -0
- package/src/layouts/history-list/DataSourceTab.vue +61 -0
- package/src/layouts/history-list/GroupRow.vue +207 -0
- package/src/layouts/history-list/HistoryDiffDialog.vue +212 -0
- package/src/layouts/history-list/HistoryListPanel.vue +271 -0
- package/src/layouts/history-list/InitialRow.vue +41 -0
- package/src/layouts/history-list/PageTab.vue +94 -0
- package/src/layouts/history-list/composables.ts +195 -0
- package/src/layouts/sidebar/layer/use-node-status.ts +64 -12
- package/src/services/BaseService.ts +35 -86
- package/src/services/codeBlock.ts +256 -5
- package/src/services/dataSource.ts +257 -6
- package/src/services/dep.ts +32 -9
- package/src/services/editor.ts +454 -171
- package/src/services/history.ts +452 -8
- package/src/services/props.ts +2 -2
- package/src/theme/history-list-panel.scss +423 -0
- package/src/theme/theme.scss +1 -0
- package/src/type.ts +179 -6
- package/src/utils/code-block.ts +150 -0
- package/src/utils/content-menu.ts +8 -5
- package/src/utils/dep/worker.ts +5 -3
- package/src/utils/editor.ts +4 -1
- package/src/utils/index.ts +1 -0
- package/src/utils/undo-redo.ts +23 -0
- package/types/index.d.ts +2107 -810
- 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
|
@@ -20,10 +20,12 @@ var Layout_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineC
|
|
|
20
20
|
__name: "Layout",
|
|
21
21
|
props: {
|
|
22
22
|
values: {},
|
|
23
|
+
lastValues: {},
|
|
24
|
+
isCompare: { type: Boolean },
|
|
23
25
|
disabled: { type: Boolean },
|
|
24
26
|
size: {}
|
|
25
27
|
},
|
|
26
|
-
emits: ["change"],
|
|
28
|
+
emits: ["change", "addDiffCount"],
|
|
27
29
|
setup(__props, { emit: __emit }) {
|
|
28
30
|
const emit = __emit;
|
|
29
31
|
const config = defineFormItem({ items: [
|
|
@@ -259,25 +261,35 @@ var Layout_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineC
|
|
|
259
261
|
const change = (value, eventData) => {
|
|
260
262
|
emit("change", value, eventData);
|
|
261
263
|
};
|
|
264
|
+
const onAddDiffCount = () => emit("addDiffCount");
|
|
262
265
|
return (_ctx, _cache) => {
|
|
263
266
|
return openBlock(), createElementBlock(Fragment, null, [createVNode(unref(MContainer), {
|
|
264
267
|
config: unref(config),
|
|
265
268
|
model: __props.values,
|
|
269
|
+
"last-values": __props.lastValues,
|
|
270
|
+
"is-compare": __props.isCompare,
|
|
266
271
|
size: __props.size,
|
|
267
272
|
disabled: __props.disabled,
|
|
268
|
-
onChange: change
|
|
273
|
+
onChange: change,
|
|
274
|
+
onAddDiffCount
|
|
269
275
|
}, null, 8, [
|
|
270
276
|
"config",
|
|
271
277
|
"model",
|
|
278
|
+
"last-values",
|
|
279
|
+
"is-compare",
|
|
272
280
|
"size",
|
|
273
281
|
"disabled"
|
|
274
282
|
]), withDirectives(createVNode(Box_default, {
|
|
275
283
|
model: __props.values,
|
|
284
|
+
"last-values": __props.lastValues,
|
|
285
|
+
"is-compare": __props.isCompare,
|
|
276
286
|
size: __props.size,
|
|
277
287
|
disabled: __props.disabled,
|
|
278
288
|
onChange: change
|
|
279
289
|
}, null, 8, [
|
|
280
290
|
"model",
|
|
291
|
+
"last-values",
|
|
292
|
+
"is-compare",
|
|
281
293
|
"size",
|
|
282
294
|
"disabled"
|
|
283
295
|
]), [[vShow, !["fixed", "absolute"].includes(__props.values.position)]])], 64);
|
|
@@ -5,10 +5,12 @@ var Position_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defin
|
|
|
5
5
|
__name: "Position",
|
|
6
6
|
props: {
|
|
7
7
|
values: {},
|
|
8
|
+
lastValues: {},
|
|
9
|
+
isCompare: { type: Boolean },
|
|
8
10
|
disabled: { type: Boolean },
|
|
9
11
|
size: {}
|
|
10
12
|
},
|
|
11
|
-
emits: ["change"],
|
|
13
|
+
emits: ["change", "addDiffCount"],
|
|
12
14
|
setup(__props, { emit: __emit }) {
|
|
13
15
|
const props = __props;
|
|
14
16
|
const emit = __emit;
|
|
@@ -76,16 +78,22 @@ var Position_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defin
|
|
|
76
78
|
const change = (value, eventData) => {
|
|
77
79
|
emit("change", value, eventData);
|
|
78
80
|
};
|
|
81
|
+
const onAddDiffCount = () => emit("addDiffCount");
|
|
79
82
|
return (_ctx, _cache) => {
|
|
80
83
|
return openBlock(), createBlock(unref(MContainer), {
|
|
81
84
|
config: unref(config),
|
|
82
85
|
model: __props.values,
|
|
86
|
+
"last-values": __props.lastValues,
|
|
87
|
+
"is-compare": __props.isCompare,
|
|
83
88
|
size: __props.size,
|
|
84
89
|
disabled: __props.disabled,
|
|
85
|
-
onChange: change
|
|
90
|
+
onChange: change,
|
|
91
|
+
onAddDiffCount
|
|
86
92
|
}, null, 8, [
|
|
87
93
|
"config",
|
|
88
94
|
"model",
|
|
95
|
+
"last-values",
|
|
96
|
+
"is-compare",
|
|
89
97
|
"size",
|
|
90
98
|
"disabled"
|
|
91
99
|
]);
|
|
@@ -5,10 +5,12 @@ var Transform_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defi
|
|
|
5
5
|
__name: "Transform",
|
|
6
6
|
props: {
|
|
7
7
|
values: {},
|
|
8
|
+
lastValues: {},
|
|
9
|
+
isCompare: { type: Boolean },
|
|
8
10
|
disabled: { type: Boolean },
|
|
9
11
|
size: {}
|
|
10
12
|
},
|
|
11
|
-
emits: ["change"],
|
|
13
|
+
emits: ["change", "addDiffCount"],
|
|
12
14
|
setup(__props, { emit: __emit }) {
|
|
13
15
|
const emit = __emit;
|
|
14
16
|
const config = defineFormItem({ items: [{
|
|
@@ -34,16 +36,22 @@ var Transform_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defi
|
|
|
34
36
|
const change = (value, eventData) => {
|
|
35
37
|
emit("change", value, eventData);
|
|
36
38
|
};
|
|
39
|
+
const onAddDiffCount = () => emit("addDiffCount");
|
|
37
40
|
return (_ctx, _cache) => {
|
|
38
41
|
return openBlock(), createBlock(unref(MContainer), {
|
|
39
42
|
config: unref(config),
|
|
40
43
|
model: __props.values,
|
|
44
|
+
"last-values": __props.lastValues,
|
|
45
|
+
"is-compare": __props.isCompare,
|
|
41
46
|
size: __props.size,
|
|
42
47
|
disabled: __props.disabled,
|
|
43
|
-
onChange: change
|
|
48
|
+
onChange: change,
|
|
49
|
+
onAddDiffCount
|
|
44
50
|
}, null, 8, [
|
|
45
51
|
"config",
|
|
46
52
|
"model",
|
|
53
|
+
"last-values",
|
|
54
|
+
"is-compare",
|
|
47
55
|
"size",
|
|
48
56
|
"disabled"
|
|
49
57
|
]);
|
|
@@ -2,7 +2,7 @@ import { UI_SELECT_MODE_EVENT_NAME } from "../utils/const.js";
|
|
|
2
2
|
import { useServices } from "../hooks/use-services.js";
|
|
3
3
|
import { TMagicButton, TMagicTooltip } from "@tmagic/design";
|
|
4
4
|
import { getIdFromEl } from "@tmagic/utils";
|
|
5
|
-
import { Fragment, computed, createBlock, createElementBlock, createTextVNode, createVNode, defineComponent, inject, openBlock, ref, toDisplayString, unref, withCtx, withModifiers } from "vue";
|
|
5
|
+
import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createTextVNode, createVNode, defineComponent, inject, openBlock, ref, toDisplayString, unref, withCtx, withModifiers } from "vue";
|
|
6
6
|
import { throttle } from "lodash-es";
|
|
7
7
|
import { Close, Delete } from "@element-plus/icons-vue";
|
|
8
8
|
//#region packages/editor/src/fields/UISelect.vue?vue&type=script&setup=true&lang.ts
|
|
@@ -34,6 +34,8 @@ var UISelect_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defin
|
|
|
34
34
|
const mForm = inject("mForm");
|
|
35
35
|
const val = computed(() => props.model[props.name]);
|
|
36
36
|
const uiSelectMode = ref(false);
|
|
37
|
+
/** 对比模式下隐藏清除/选择等操作按钮,仅保留只读展示。 */
|
|
38
|
+
const isCompare = computed(() => Boolean(mForm?.isCompare));
|
|
37
39
|
const cancelHandler = () => {
|
|
38
40
|
uiService.set("uiSelectMode", false);
|
|
39
41
|
uiSelectMode.value = false;
|
|
@@ -96,7 +98,8 @@ var UISelect_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defin
|
|
|
96
98
|
"icon",
|
|
97
99
|
"disabled",
|
|
98
100
|
"size"
|
|
99
|
-
])])) : (openBlock(), createElementBlock("div", _hoisted_1, [val.value ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
|
|
101
|
+
])])) : (openBlock(), createElementBlock("div", _hoisted_1, [val.value ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [!isCompare.value ? (openBlock(), createBlock(unref(TMagicTooltip), {
|
|
102
|
+
key: 0,
|
|
100
103
|
content: "清除",
|
|
101
104
|
placement: "top"
|
|
102
105
|
}, {
|
|
@@ -114,7 +117,7 @@ var UISelect_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defin
|
|
|
114
117
|
"size"
|
|
115
118
|
])]),
|
|
116
119
|
_: 1
|
|
117
|
-
}), createVNode(unref(TMagicTooltip), {
|
|
120
|
+
})) : createCommentVNode("v-if", true), createVNode(unref(TMagicTooltip), {
|
|
118
121
|
content: "点击选中组件",
|
|
119
122
|
placement: "top"
|
|
120
123
|
}, {
|
|
@@ -134,7 +137,7 @@ var UISelect_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defin
|
|
|
134
137
|
_: 1
|
|
135
138
|
}, 8, ["disabled", "size"])]),
|
|
136
139
|
_: 1
|
|
137
|
-
})], 64)) : (openBlock(), createBlock(unref(TMagicTooltip), {
|
|
140
|
+
})], 64)) : !isCompare.value ? (openBlock(), createBlock(unref(TMagicTooltip), {
|
|
138
141
|
key: 1,
|
|
139
142
|
content: "点击此处选择",
|
|
140
143
|
placement: "top"
|
|
@@ -153,7 +156,7 @@ var UISelect_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defin
|
|
|
153
156
|
_: 1
|
|
154
157
|
}, 8, ["disabled", "size"])]),
|
|
155
158
|
_: 1
|
|
156
|
-
}))]));
|
|
159
|
+
})) : createCommentVNode("v-if", true)]));
|
|
157
160
|
};
|
|
158
161
|
}
|
|
159
162
|
});
|
|
@@ -36,9 +36,9 @@ var useCodeBlockEdit = (codeBlockService) => {
|
|
|
36
36
|
const deleteCode = async (key) => {
|
|
37
37
|
codeBlockService.deleteCodeDslByIds([key]);
|
|
38
38
|
};
|
|
39
|
-
const submitCodeBlockHandler = async (values) => {
|
|
39
|
+
const submitCodeBlockHandler = async (values, eventData) => {
|
|
40
40
|
if (!codeId.value) return;
|
|
41
|
-
await codeBlockService.setCodeDslById(codeId.value, values);
|
|
41
|
+
await codeBlockService.setCodeDslById(codeId.value, values, { changeRecords: eventData?.changeRecords });
|
|
42
42
|
codeBlockEditorRef.value?.hide();
|
|
43
43
|
};
|
|
44
44
|
return {
|
|
@@ -69,25 +69,33 @@ var useStage = (stageOptions) => {
|
|
|
69
69
|
});
|
|
70
70
|
stage.on("update", (ev) => {
|
|
71
71
|
if (ev.parentEl) {
|
|
72
|
-
|
|
72
|
+
const pId = getIdFromEl()(ev.parentEl);
|
|
73
|
+
if (!pId) return;
|
|
74
|
+
const configs = ev.data.map((data) => {
|
|
73
75
|
const id = getIdFromEl()(data.el);
|
|
74
|
-
|
|
75
|
-
|
|
76
|
+
if (!id) return null;
|
|
77
|
+
return {
|
|
76
78
|
id,
|
|
77
79
|
style: data.style
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
+
};
|
|
81
|
+
}).filter((cfg) => Boolean(cfg));
|
|
82
|
+
if (configs.length > 0) editor_default.moveToContainer(configs, pId);
|
|
80
83
|
return;
|
|
81
84
|
}
|
|
85
|
+
const configs = [];
|
|
86
|
+
const changeRecordList = [];
|
|
82
87
|
ev.data.forEach((data) => {
|
|
83
88
|
const id = getIdFromEl()(data.el);
|
|
84
89
|
if (!id) return;
|
|
85
90
|
const { style = {} } = data;
|
|
86
|
-
|
|
91
|
+
configs.push({
|
|
87
92
|
id,
|
|
88
93
|
style
|
|
89
|
-
}
|
|
94
|
+
});
|
|
95
|
+
changeRecordList.push(buildChangeRecords(style, "style"));
|
|
90
96
|
});
|
|
97
|
+
if (configs.length === 0) return;
|
|
98
|
+
editor_default.update(configs, { changeRecordList });
|
|
91
99
|
});
|
|
92
100
|
stage.on("sort", (ev) => {
|
|
93
101
|
editor_default.sort(ev.src, ev.dist);
|
package/dist/es/index.js
CHANGED
|
@@ -21,6 +21,7 @@ import { useFilter } from "./hooks/use-filter.js";
|
|
|
21
21
|
import { useGetSo } from "./hooks/use-getso.js";
|
|
22
22
|
import { useNextFloatBoxPosition } from "./hooks/use-next-float-box-position.js";
|
|
23
23
|
import { useNodeStatus } from "./hooks/use-node-status.js";
|
|
24
|
+
import { getCodeBlockFormConfig } from "./utils/code-block.js";
|
|
24
25
|
import { debug, error, info, log, warn } from "./utils/logger.js";
|
|
25
26
|
import { getCascaderOptionsFromFields, getDisplayField, getFieldType, getFormConfig, getFormValue } from "./utils/data-source/index.js";
|
|
26
27
|
import { IdleTask } from "./utils/dep/idle-task.js";
|
|
@@ -31,6 +32,7 @@ import SplitView_default from "./components/SplitView.js";
|
|
|
31
32
|
import Icon_default from "./components/Icon.js";
|
|
32
33
|
import ToolButton_default from "./components/ToolButton.js";
|
|
33
34
|
import CodeEditor_default from "./layouts/CodeEditor.js";
|
|
35
|
+
import CompareForm_default from "./components/CompareForm.js";
|
|
34
36
|
import FormPanel_default from "./layouts/props-panel/FormPanel.js";
|
|
35
37
|
import PropsPanel_default from "./layouts/props-panel/PropsPanel.js";
|
|
36
38
|
import FloatingBox_default from "./components/FloatingBox.js";
|
|
@@ -76,4 +78,4 @@ export * from "@tmagic/table";
|
|
|
76
78
|
export * from "@tmagic/stage";
|
|
77
79
|
export * from "@tmagic/design";
|
|
78
80
|
export * from "@tmagic/utils";
|
|
79
|
-
export { CODE_DRAFT_STORAGE_KEY, COPY_CODE_STORAGE_KEY, COPY_DS_STORAGE_KEY, COPY_STORAGE_KEY, CodeBlockEditor_default as CodeBlockEditor, CodeBlockList_default as CodeBlockList, CodeBlockListPanel_default as CodeBlockListPanel, CodeDeleteErrorType, CodeSelect_default as CodeSelect, CodeSelectCol_default as CodeSelectCol, ColumnLayout, ComponentListPanel_default as ComponentListPanel, CondOpSelect_default as CondOpSelect, ContentMenu_default as ContentMenu, DEFAULT_LEFT_COLUMN_WIDTH, DEFAULT_RIGHT_COLUMN_WIDTH, DataSourceAddButton_default as DataSourceAddButton, DataSourceConfigPanel_default as DataSourceConfigPanel, Index_default as DataSourceFieldSelect, DataSourceFields_default as DataSourceFields, DataSourceInput_default as DataSourceInput, DataSourceMethodSelect_default as DataSourceMethodSelect, DataSourceMethods_default as DataSourceMethods, DataSourceMocks_default as DataSourceMocks, DataSourceSelect_default as DataSourceSelect, DepTargetType, DisplayConds_default as DisplayConds, DragType, EventSelect_default as EventSelect, Fixed2Other, FloatingBox_default as FloatingBox, H_GUIDE_LINE_STORAGE_KEY, Icon_default as Icon, IdleTask, KeyBindingCommand, KeyValue_default as KeyValue, Keys, LEFT_COLUMN_WIDTH_STORAGE_KEY, LayerOffset, LayerPanel_default as LayerPanel, Layout, SplitView_default as LayoutContainer, MIN_CENTER_COLUMN_WIDTH, MIN_LEFT_COLUMN_WIDTH, MIN_RIGHT_COLUMN_WIDTH, PROPS_PANEL_WIDTH_STORAGE_KEY, PageFragmentSelect_default as PageFragmentSelect, FormPanel_default as PropsFormPanel, PropsPanel_default as PropsPanel, RIGHT_COLUMN_WIDTH_STORAGE_KEY, Resizer_default as Resizer, ScrollViewer, SideItemKey, SplitView_default as SplitView, StageCore, Index_default$1 as StyleSetter, CodeEditor_default as TMagicCodeEditor, Editor_default as TMagicEditor, ToolButton_default as ToolButton, Tree_default as Tree, TreeNode_default as TreeNode, UI_SELECT_MODE_EVENT_NAME, UndoRedo, V_GUIDE_LINE_STORAGE_KEY, advancedTabConfig, arrayOptions, beforePaste, buildChangeRecords, calcAlignCenterStyle, calcLayerTargetIndex, calcMoveStyle, canUsePluginMethods, change2Fixed, classifyDragSources, codeBlock_default as codeBlockService, collectRelatedNodes, dataSource_default as dataSourceService, debug, plugin_default as default, defaultIsExpandable, dep_default as depService, designPlugin, displayTabConfig, editorNodeMergeCustomizer, editor_default as editorService, eqOptions, error, eventTabConfig, events_default as eventsService, fillConfig, fixNodeLeft, fixNodePosition, formPlugin, generatePageName, generatePageNameByApp, getAddParent, getCascaderOptionsFromFields, getDefaultConfig, getDisplayField, getEditorConfig, getFieldType, getFormConfig, getFormValue, getGuideLineFromCache, getInitPositionStyle, getNodeIndex, getPageFragmentList, getPageList, getPageNameList, getPositionInContainer, getRelativeStyle, history_default as historyService, info, isIncludeDataSource, monaco_editor_default as loadMonaco, log, moveItemsInContainer, numberOptions, props_default as propsService, resolveSelectedNode, serializeConfig, setChildrenLayout, setEditorConfig, setLayout, stageOverlay_default as stageOverlayService, storage_default as storageService, styleTabConfig, tablePlugin, toggleFixedPosition, ui_default as uiService, updateStatus, useCodeBlockEdit, useEditorContentHeight, useFilter, useFloatBox, useGetSo, useNextFloatBoxPosition, useNodeStatus, useServices, useStage, useWindowRect, warn };
|
|
81
|
+
export { CODE_DRAFT_STORAGE_KEY, COPY_CODE_STORAGE_KEY, COPY_DS_STORAGE_KEY, COPY_STORAGE_KEY, CodeBlockEditor_default as CodeBlockEditor, CodeBlockList_default as CodeBlockList, CodeBlockListPanel_default as CodeBlockListPanel, CodeDeleteErrorType, CodeSelect_default as CodeSelect, CodeSelectCol_default as CodeSelectCol, ColumnLayout, CompareForm_default as CompareForm, ComponentListPanel_default as ComponentListPanel, CondOpSelect_default as CondOpSelect, ContentMenu_default as ContentMenu, DEFAULT_LEFT_COLUMN_WIDTH, DEFAULT_RIGHT_COLUMN_WIDTH, DataSourceAddButton_default as DataSourceAddButton, DataSourceConfigPanel_default as DataSourceConfigPanel, Index_default as DataSourceFieldSelect, DataSourceFields_default as DataSourceFields, DataSourceInput_default as DataSourceInput, DataSourceMethodSelect_default as DataSourceMethodSelect, DataSourceMethods_default as DataSourceMethods, DataSourceMocks_default as DataSourceMocks, DataSourceSelect_default as DataSourceSelect, DepTargetType, DisplayConds_default as DisplayConds, DragType, EventSelect_default as EventSelect, Fixed2Other, FloatingBox_default as FloatingBox, H_GUIDE_LINE_STORAGE_KEY, Icon_default as Icon, IdleTask, KeyBindingCommand, KeyValue_default as KeyValue, Keys, LEFT_COLUMN_WIDTH_STORAGE_KEY, LayerOffset, LayerPanel_default as LayerPanel, Layout, SplitView_default as LayoutContainer, MIN_CENTER_COLUMN_WIDTH, MIN_LEFT_COLUMN_WIDTH, MIN_RIGHT_COLUMN_WIDTH, PROPS_PANEL_WIDTH_STORAGE_KEY, PageFragmentSelect_default as PageFragmentSelect, FormPanel_default as PropsFormPanel, PropsPanel_default as PropsPanel, RIGHT_COLUMN_WIDTH_STORAGE_KEY, Resizer_default as Resizer, ScrollViewer, SideItemKey, SplitView_default as SplitView, StageCore, Index_default$1 as StyleSetter, CodeEditor_default as TMagicCodeEditor, Editor_default as TMagicEditor, ToolButton_default as ToolButton, Tree_default as Tree, TreeNode_default as TreeNode, UI_SELECT_MODE_EVENT_NAME, UndoRedo, V_GUIDE_LINE_STORAGE_KEY, advancedTabConfig, arrayOptions, beforePaste, buildChangeRecords, calcAlignCenterStyle, calcLayerTargetIndex, calcMoveStyle, canUsePluginMethods, change2Fixed, classifyDragSources, codeBlock_default as codeBlockService, collectRelatedNodes, dataSource_default as dataSourceService, debug, plugin_default as default, defaultIsExpandable, dep_default as depService, designPlugin, displayTabConfig, editorNodeMergeCustomizer, editor_default as editorService, eqOptions, error, eventTabConfig, events_default as eventsService, fillConfig, fixNodeLeft, fixNodePosition, formPlugin, generatePageName, generatePageNameByApp, getAddParent, getCascaderOptionsFromFields, getCodeBlockFormConfig, getDefaultConfig, getDisplayField, getEditorConfig, getFieldType, getFormConfig, getFormValue, getGuideLineFromCache, getInitPositionStyle, getNodeIndex, getPageFragmentList, getPageList, getPageNameList, getPositionInContainer, getRelativeStyle, history_default as historyService, info, isIncludeDataSource, monaco_editor_default as loadMonaco, log, moveItemsInContainer, numberOptions, props_default as propsService, resolveSelectedNode, serializeConfig, setChildrenLayout, setEditorConfig, setLayout, stageOverlay_default as stageOverlayService, storage_default as storageService, styleTabConfig, tablePlugin, toggleFixedPosition, ui_default as uiService, updateStatus, useCodeBlockEdit, useEditorContentHeight, useFilter, useFloatBox, useGetSo, useNextFloatBoxPosition, useNodeStatus, useServices, useStage, useWindowRect, warn };
|
package/dist/es/initService.js
CHANGED
|
@@ -2,7 +2,7 @@ import { isIncludeDataSource } from "./utils/editor.js";
|
|
|
2
2
|
import { getDepNodeIds, getNodes, isPage, isValueIncludeDataSource } from "@tmagic/utils";
|
|
3
3
|
import { DepTargetType, NODE_CONDS_KEY, NodeType, createCodeBlockTarget, createDataSourceCondTarget, createDataSourceMethodTarget, createDataSourceTarget, updateNode } from "@tmagic/core";
|
|
4
4
|
import { nextTick, onBeforeUnmount, reactive, toRaw, watch } from "vue";
|
|
5
|
-
import { cloneDeep } from "lodash-es";
|
|
5
|
+
import { cloneDeep as cloneDeep$1 } from "lodash-es";
|
|
6
6
|
//#region packages/editor/src/initService.ts
|
|
7
7
|
var initServiceState = (props, { editorService, historyService, componentListService, propsService, eventsService, uiService, codeBlockService, keybindingService, dataSourceService, depService }) => {
|
|
8
8
|
watch(() => props.modelValue, (modelValue) => {
|
|
@@ -86,9 +86,9 @@ var initServiceEvents = (props, emit, { editorService, codeBlockService, dataSou
|
|
|
86
86
|
const root = editorService.get("root");
|
|
87
87
|
if (!root) return;
|
|
88
88
|
return editorService.get("stage")?.update({
|
|
89
|
-
config: cloneDeep(node),
|
|
89
|
+
config: cloneDeep$1(node),
|
|
90
90
|
parentId: editorService.getParentById(node.id)?.id,
|
|
91
|
-
root: cloneDeep(root)
|
|
91
|
+
root: cloneDeep$1(root)
|
|
92
92
|
});
|
|
93
93
|
};
|
|
94
94
|
const updateDataSourceSchema = async () => {
|
|
@@ -128,7 +128,7 @@ var initServiceEvents = (props, emit, { editorService, codeBlockService, dataSou
|
|
|
128
128
|
if (!stage) return;
|
|
129
129
|
stage.reloadIframe(url);
|
|
130
130
|
stage.renderer?.once("runtime-ready", (runtime) => {
|
|
131
|
-
runtime.updateRootConfig?.(cloneDeep(toRaw(editorService.get("root"))));
|
|
131
|
+
runtime.updateRootConfig?.(cloneDeep$1(toRaw(editorService.get("root"))));
|
|
132
132
|
const page = editorService.get("page");
|
|
133
133
|
const node = editorService.get("node");
|
|
134
134
|
page?.id && runtime?.updatePageId?.(page.id);
|
|
@@ -155,7 +155,7 @@ var initServiceEvents = (props, emit, { editorService, codeBlockService, dataSou
|
|
|
155
155
|
const stage = await getStage();
|
|
156
156
|
const runtime = await stage.renderer?.getRuntime();
|
|
157
157
|
const app = await getTMagicApp();
|
|
158
|
-
if (!app?.dataSourceManager) runtime?.updateRootConfig?.(cloneDeep(toRaw(value)));
|
|
158
|
+
if (!app?.dataSourceManager) runtime?.updateRootConfig?.(cloneDeep$1(toRaw(value)));
|
|
159
159
|
const page = editorService.get("page");
|
|
160
160
|
const node = editorService.get("node");
|
|
161
161
|
page?.id && runtime?.updatePageId?.(page.id);
|
|
@@ -165,7 +165,7 @@ var initServiceEvents = (props, emit, { editorService, codeBlockService, dataSou
|
|
|
165
165
|
if (value) {
|
|
166
166
|
depService.clearIdleTasks();
|
|
167
167
|
await (typeof Worker === "undefined" ? collectIdle(value.items, true) : depService.collectByWorker(value));
|
|
168
|
-
const dsl = cloneDeep(toRaw(value));
|
|
168
|
+
const dsl = cloneDeep$1(toRaw(value));
|
|
169
169
|
if (dsl.dataSources && dsl.dataSourceDeps && app?.dataSourceManager) for (const node of getNodes(getDepNodeIds(dsl.dataSourceDeps), dsl.items)) updateNode(app.dataSourceManager.compiledNode(node), dsl);
|
|
170
170
|
runtime?.updateRootConfig?.(dsl);
|
|
171
171
|
}
|
|
@@ -194,6 +194,10 @@ var CodeEditor_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
|
|
|
194
194
|
deep: true,
|
|
195
195
|
immediate: true
|
|
196
196
|
});
|
|
197
|
+
watch(() => props.modifiedValues, (v, preV) => {
|
|
198
|
+
if (props.type !== "diff") return;
|
|
199
|
+
if (v !== preV) setEditorValue(props.initValues, props.modifiedValues);
|
|
200
|
+
}, { deep: true });
|
|
197
201
|
watch(() => props.options, (v) => {
|
|
198
202
|
vsEditor?.updateOptions(v);
|
|
199
203
|
vsDiffEditor?.updateOptions(v);
|
|
@@ -19,9 +19,11 @@ var Framework_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defi
|
|
|
19
19
|
props: {
|
|
20
20
|
disabledPageFragment: { type: Boolean },
|
|
21
21
|
pageBarSortOptions: {},
|
|
22
|
-
pageFilterFunction: { type: Function }
|
|
22
|
+
pageFilterFunction: { type: Function },
|
|
23
|
+
hideSidebar: { type: Boolean }
|
|
23
24
|
},
|
|
24
25
|
setup(__props) {
|
|
26
|
+
const props = __props;
|
|
25
27
|
const codeOptions = inject("codeOptions", {});
|
|
26
28
|
const { editorService, uiService, storageService } = useServices();
|
|
27
29
|
const contentEl = useTemplateRef("content");
|
|
@@ -41,7 +43,7 @@ var Framework_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defi
|
|
|
41
43
|
});
|
|
42
44
|
});
|
|
43
45
|
const columnWidthChange = (columnW) => {
|
|
44
|
-
storageService.setItem(LEFT_COLUMN_WIDTH_STORAGE_KEY, columnW.left, { protocol: Protocol.NUMBER });
|
|
46
|
+
if (!props.hideSidebar) storageService.setItem(LEFT_COLUMN_WIDTH_STORAGE_KEY, columnW.left, { protocol: Protocol.NUMBER });
|
|
45
47
|
storageService.setItem(RIGHT_COLUMN_WIDTH_STORAGE_KEY, columnW.right, { protocol: Protocol.NUMBER });
|
|
46
48
|
uiService.set("columnWidth", columnW);
|
|
47
49
|
};
|
|
@@ -87,15 +89,14 @@ var Framework_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defi
|
|
|
87
89
|
"left-class": "m-editor-framework-left",
|
|
88
90
|
"center-class": "m-editor-framework-center",
|
|
89
91
|
"right-class": "m-editor-framework-right",
|
|
90
|
-
left: columnWidth.value.left,
|
|
92
|
+
left: __props.hideSidebar ? void 0 : columnWidth.value.left,
|
|
91
93
|
right: columnWidth.value.right,
|
|
92
|
-
"min-left": unref(200),
|
|
94
|
+
"min-left": __props.hideSidebar ? 0 : unref(200),
|
|
93
95
|
"min-right": unref(300),
|
|
94
96
|
"min-center": unref(400),
|
|
95
97
|
width: frameworkRect.value.width,
|
|
96
98
|
onChange: columnWidthChange
|
|
97
99
|
}, createSlots({
|
|
98
|
-
left: withCtx(() => [renderSlot(_ctx.$slots, "sidebar")]),
|
|
99
100
|
center: withCtx(() => [page.value ? renderSlot(_ctx.$slots, "workspace", { key: 0 }) : renderSlot(_ctx.$slots, "empty", { key: 1 }, () => [createVNode(AddPageBox_default, { "disabled-page-fragment": __props.disabledPageFragment }, null, 8, ["disabled-page-fragment"])]), renderSlot(_ctx.$slots, "page-bar", {}, () => [createVNode(PageBar_default, {
|
|
100
101
|
"disabled-page-fragment": __props.disabledPageFragment,
|
|
101
102
|
"page-bar-sort-options": __props.pageBarSortOptions,
|
|
@@ -112,10 +113,14 @@ var Framework_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defi
|
|
|
112
113
|
"filter-function"
|
|
113
114
|
])])]),
|
|
114
115
|
_: 2
|
|
115
|
-
}, [
|
|
116
|
+
}, [!__props.hideSidebar ? {
|
|
117
|
+
name: "left",
|
|
118
|
+
fn: withCtx(() => [renderSlot(_ctx.$slots, "sidebar")]),
|
|
119
|
+
key: "0"
|
|
120
|
+
} : void 0, page.value ? {
|
|
116
121
|
name: "right",
|
|
117
122
|
fn: withCtx(() => [renderSlot(_ctx.$slots, "props-panel")]),
|
|
118
|
-
key: "
|
|
123
|
+
key: "1"
|
|
119
124
|
} : void 0]), 1032, [
|
|
120
125
|
"left",
|
|
121
126
|
"right",
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ColumnLayout } from "../type.js";
|
|
2
2
|
import { useServices } from "../hooks/use-services.js";
|
|
3
|
+
import HistoryListPanel_default from "./history-list/HistoryListPanel.js";
|
|
3
4
|
import NavMenuColumn_default from "./NavMenuColumn.js";
|
|
4
5
|
import { NodeType } from "@tmagic/core";
|
|
5
6
|
import { Fragment, computed, createBlock, createElementBlock, defineComponent, markRaw, normalizeStyle, onBeforeUnmount, onMounted, openBlock, renderList, unref, useTemplateRef } from "vue";
|
|
@@ -68,6 +69,13 @@ var NavMenu_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ define
|
|
|
68
69
|
handler: () => editorService.redo()
|
|
69
70
|
});
|
|
70
71
|
break;
|
|
72
|
+
case "history-list":
|
|
73
|
+
config.push({
|
|
74
|
+
type: "component",
|
|
75
|
+
className: "history-list",
|
|
76
|
+
component: markRaw(HistoryListPanel_default)
|
|
77
|
+
});
|
|
78
|
+
break;
|
|
71
79
|
case "zoom-in":
|
|
72
80
|
config.push({
|
|
73
81
|
type: "button",
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import Bucket_vue_vue_type_script_setup_true_lang_default from "./Bucket.vue_vue_type_script_setup_true_lang.js";
|
|
2
|
+
//#region packages/editor/src/layouts/history-list/Bucket.vue
|
|
3
|
+
var Bucket_default = Bucket_vue_vue_type_script_setup_true_lang_default;
|
|
4
|
+
//#endregion
|
|
5
|
+
export { Bucket_default as default };
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import GroupRow_default from "./GroupRow.js";
|
|
2
|
+
import InitialRow_default from "./InitialRow.js";
|
|
3
|
+
import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, openBlock, renderList, toDisplayString } from "vue";
|
|
4
|
+
//#region packages/editor/src/layouts/history-list/Bucket.vue?vue&type=script&setup=true&lang.ts
|
|
5
|
+
var _hoisted_1 = { class: "m-editor-history-list-bucket" };
|
|
6
|
+
var _hoisted_2 = { class: "m-editor-history-list-bucket-title" };
|
|
7
|
+
var _hoisted_3 = { class: "m-editor-history-list-bucket-count" };
|
|
8
|
+
var _hoisted_4 = { class: "m-editor-history-list-ul" };
|
|
9
|
+
var Bucket_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
10
|
+
name: "MEditorHistoryListBucket",
|
|
11
|
+
__name: "Bucket",
|
|
12
|
+
props: {
|
|
13
|
+
title: {},
|
|
14
|
+
bucketId: {},
|
|
15
|
+
prefix: {},
|
|
16
|
+
groups: {},
|
|
17
|
+
describeGroup: { type: Function },
|
|
18
|
+
describeStep: { type: Function },
|
|
19
|
+
isStepDiffable: { type: Function },
|
|
20
|
+
expanded: {}
|
|
21
|
+
},
|
|
22
|
+
emits: [
|
|
23
|
+
"toggle",
|
|
24
|
+
"goto",
|
|
25
|
+
"goto-initial",
|
|
26
|
+
"diff-step",
|
|
27
|
+
"revert-step"
|
|
28
|
+
],
|
|
29
|
+
setup(__props) {
|
|
30
|
+
const props = __props;
|
|
31
|
+
/** 该 bucket 是否处于初始状态(栈 cursor=0),等价于全部 group 都未 applied。 */
|
|
32
|
+
const isInitial = computed(() => props.groups.length > 0 && props.groups.every((g) => !g.applied));
|
|
33
|
+
return (_ctx, _cache) => {
|
|
34
|
+
return openBlock(), createElementBlock("div", _hoisted_1, [createElementVNode("div", _hoisted_2, [
|
|
35
|
+
createElementVNode("span", null, toDisplayString(__props.title), 1),
|
|
36
|
+
createElementVNode("code", null, toDisplayString(String(__props.bucketId)), 1),
|
|
37
|
+
createElementVNode("span", _hoisted_3, toDisplayString(__props.groups.length) + " 组", 1)
|
|
38
|
+
]), createElementVNode("ul", _hoisted_4, [
|
|
39
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(__props.groups, (group, gIdx) => {
|
|
40
|
+
return openBlock(), createBlock(GroupRow_default, {
|
|
41
|
+
key: `${__props.prefix}-${__props.bucketId}-${gIdx}`,
|
|
42
|
+
"group-key": `${__props.prefix}-${__props.bucketId}-${gIdx}`,
|
|
43
|
+
applied: group.applied,
|
|
44
|
+
merged: group.steps.length > 1,
|
|
45
|
+
"op-type": group.opType,
|
|
46
|
+
desc: __props.describeGroup(group),
|
|
47
|
+
"step-count": group.steps.length,
|
|
48
|
+
"sub-steps": group.steps.map((s) => ({
|
|
49
|
+
index: s.index,
|
|
50
|
+
applied: s.applied,
|
|
51
|
+
isCurrent: s.isCurrent,
|
|
52
|
+
desc: __props.describeStep(s.step),
|
|
53
|
+
diffable: __props.isStepDiffable ? __props.isStepDiffable(s.step) : false,
|
|
54
|
+
revertable: s.applied
|
|
55
|
+
})),
|
|
56
|
+
"is-current": group.isCurrent,
|
|
57
|
+
expanded: !!__props.expanded[`${__props.prefix}-${__props.bucketId}-${gIdx}`],
|
|
58
|
+
onToggle: _cache[0] || (_cache[0] = (key) => _ctx.$emit("toggle", key)),
|
|
59
|
+
onGoto: _cache[1] || (_cache[1] = (index) => _ctx.$emit("goto", __props.bucketId, index)),
|
|
60
|
+
onDiffStep: _cache[2] || (_cache[2] = (index) => _ctx.$emit("diff-step", __props.bucketId, index)),
|
|
61
|
+
onRevertStep: _cache[3] || (_cache[3] = (index) => _ctx.$emit("revert-step", __props.bucketId, index))
|
|
62
|
+
}, null, 8, [
|
|
63
|
+
"group-key",
|
|
64
|
+
"applied",
|
|
65
|
+
"merged",
|
|
66
|
+
"op-type",
|
|
67
|
+
"desc",
|
|
68
|
+
"step-count",
|
|
69
|
+
"sub-steps",
|
|
70
|
+
"is-current",
|
|
71
|
+
"expanded"
|
|
72
|
+
]);
|
|
73
|
+
}), 128)),
|
|
74
|
+
createCommentVNode("\n 初始状态项:永远位于该 bucket 列表底部(同样按倒序展示,最底部 = 最早状态)。\n 当 bucket 内所有 group 都未 applied 时即为当前位置。\n "),
|
|
75
|
+
createVNode(InitialRow_default, {
|
|
76
|
+
"is-current": isInitial.value,
|
|
77
|
+
onGotoInitial: _cache[4] || (_cache[4] = ($event) => _ctx.$emit("goto-initial", __props.bucketId))
|
|
78
|
+
}, null, 8, ["is-current"])
|
|
79
|
+
])]);
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
//#endregion
|
|
84
|
+
export { Bucket_vue_vue_type_script_setup_true_lang_default as default };
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import CodeBlockTab_vue_vue_type_script_setup_true_lang_default from "./CodeBlockTab.vue_vue_type_script_setup_true_lang.js";
|
|
2
|
+
//#region packages/editor/src/layouts/history-list/CodeBlockTab.vue
|
|
3
|
+
var CodeBlockTab_default = CodeBlockTab_vue_vue_type_script_setup_true_lang_default;
|
|
4
|
+
//#endregion
|
|
5
|
+
export { CodeBlockTab_default as default };
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { describeCodeBlockGroup, describeCodeBlockStep } from "./composables.js";
|
|
2
|
+
import Bucket_default from "./Bucket.js";
|
|
3
|
+
import { TMagicScrollbar } from "@tmagic/design";
|
|
4
|
+
import { Fragment, createBlock, createElementBlock, defineComponent, openBlock, renderList, unref, withCtx } from "vue";
|
|
5
|
+
//#region packages/editor/src/layouts/history-list/CodeBlockTab.vue?vue&type=script&setup=true&lang.ts
|
|
6
|
+
var _hoisted_1 = {
|
|
7
|
+
key: 0,
|
|
8
|
+
class: "m-editor-history-list-empty"
|
|
9
|
+
};
|
|
10
|
+
var CodeBlockTab_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
11
|
+
name: "MEditorHistoryListCodeBlockTab",
|
|
12
|
+
__name: "CodeBlockTab",
|
|
13
|
+
props: {
|
|
14
|
+
buckets: {},
|
|
15
|
+
expanded: {}
|
|
16
|
+
},
|
|
17
|
+
emits: [
|
|
18
|
+
"toggle",
|
|
19
|
+
"goto",
|
|
20
|
+
"goto-initial",
|
|
21
|
+
"diff-step",
|
|
22
|
+
"revert-step"
|
|
23
|
+
],
|
|
24
|
+
setup(__props) {
|
|
25
|
+
/** 仅 update(前后 content 都存在)时可查看差异。 */
|
|
26
|
+
const isCodeBlockStepDiffable = (step) => Boolean(step.oldContent && step.newContent);
|
|
27
|
+
return (_ctx, _cache) => {
|
|
28
|
+
return !__props.buckets.length ? (openBlock(), createElementBlock("div", _hoisted_1, "暂无操作记录")) : (openBlock(), createBlock(unref(TMagicScrollbar), {
|
|
29
|
+
key: 1,
|
|
30
|
+
"max-height": "360px"
|
|
31
|
+
}, {
|
|
32
|
+
default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.buckets, (bucket) => {
|
|
33
|
+
return openBlock(), createBlock(Bucket_default, {
|
|
34
|
+
key: `cb-${bucket.id}`,
|
|
35
|
+
title: "代码块",
|
|
36
|
+
"bucket-id": bucket.id,
|
|
37
|
+
prefix: "cb",
|
|
38
|
+
groups: bucket.groups,
|
|
39
|
+
"describe-group": unref(describeCodeBlockGroup),
|
|
40
|
+
"describe-step": unref(describeCodeBlockStep),
|
|
41
|
+
"is-step-diffable": isCodeBlockStepDiffable,
|
|
42
|
+
expanded: __props.expanded,
|
|
43
|
+
onToggle: _cache[0] || (_cache[0] = (key) => _ctx.$emit("toggle", key)),
|
|
44
|
+
onGoto: _cache[1] || (_cache[1] = (id, index) => _ctx.$emit("goto", id, index)),
|
|
45
|
+
onGotoInitial: _cache[2] || (_cache[2] = (id) => _ctx.$emit("goto-initial", id)),
|
|
46
|
+
onDiffStep: _cache[3] || (_cache[3] = (id, index) => _ctx.$emit("diff-step", id, index)),
|
|
47
|
+
onRevertStep: _cache[4] || (_cache[4] = (id, index) => _ctx.$emit("revert-step", id, index))
|
|
48
|
+
}, null, 8, [
|
|
49
|
+
"bucket-id",
|
|
50
|
+
"groups",
|
|
51
|
+
"describe-group",
|
|
52
|
+
"describe-step",
|
|
53
|
+
"expanded"
|
|
54
|
+
]);
|
|
55
|
+
}), 128))]),
|
|
56
|
+
_: 1
|
|
57
|
+
}));
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
//#endregion
|
|
62
|
+
export { CodeBlockTab_vue_vue_type_script_setup_true_lang_default as default };
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import DataSourceTab_vue_vue_type_script_setup_true_lang_default from "./DataSourceTab.vue_vue_type_script_setup_true_lang.js";
|
|
2
|
+
//#region packages/editor/src/layouts/history-list/DataSourceTab.vue
|
|
3
|
+
var DataSourceTab_default = DataSourceTab_vue_vue_type_script_setup_true_lang_default;
|
|
4
|
+
//#endregion
|
|
5
|
+
export { DataSourceTab_default as default };
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { describeDataSourceGroup, describeDataSourceStep } from "./composables.js";
|
|
2
|
+
import Bucket_default from "./Bucket.js";
|
|
3
|
+
import { TMagicScrollbar } from "@tmagic/design";
|
|
4
|
+
import { Fragment, createBlock, createElementBlock, defineComponent, openBlock, renderList, unref, withCtx } from "vue";
|
|
5
|
+
//#region packages/editor/src/layouts/history-list/DataSourceTab.vue?vue&type=script&setup=true&lang.ts
|
|
6
|
+
var _hoisted_1 = {
|
|
7
|
+
key: 0,
|
|
8
|
+
class: "m-editor-history-list-empty"
|
|
9
|
+
};
|
|
10
|
+
var DataSourceTab_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
11
|
+
name: "MEditorHistoryListDataSourceTab",
|
|
12
|
+
__name: "DataSourceTab",
|
|
13
|
+
props: {
|
|
14
|
+
buckets: {},
|
|
15
|
+
expanded: {}
|
|
16
|
+
},
|
|
17
|
+
emits: [
|
|
18
|
+
"toggle",
|
|
19
|
+
"goto",
|
|
20
|
+
"goto-initial",
|
|
21
|
+
"diff-step",
|
|
22
|
+
"revert-step"
|
|
23
|
+
],
|
|
24
|
+
setup(__props) {
|
|
25
|
+
/** 仅 update(前后 schema 都存在)时可查看差异。 */
|
|
26
|
+
const isDataSourceStepDiffable = (step) => Boolean(step.oldSchema && step.newSchema);
|
|
27
|
+
return (_ctx, _cache) => {
|
|
28
|
+
return !__props.buckets.length ? (openBlock(), createElementBlock("div", _hoisted_1, "暂无操作记录")) : (openBlock(), createBlock(unref(TMagicScrollbar), {
|
|
29
|
+
key: 1,
|
|
30
|
+
"max-height": "360px"
|
|
31
|
+
}, {
|
|
32
|
+
default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.buckets, (bucket) => {
|
|
33
|
+
return openBlock(), createBlock(Bucket_default, {
|
|
34
|
+
key: `ds-${bucket.id}`,
|
|
35
|
+
title: "数据源",
|
|
36
|
+
"bucket-id": bucket.id,
|
|
37
|
+
prefix: "ds",
|
|
38
|
+
groups: bucket.groups,
|
|
39
|
+
"describe-group": unref(describeDataSourceGroup),
|
|
40
|
+
"describe-step": unref(describeDataSourceStep),
|
|
41
|
+
"is-step-diffable": isDataSourceStepDiffable,
|
|
42
|
+
expanded: __props.expanded,
|
|
43
|
+
onToggle: _cache[0] || (_cache[0] = (key) => _ctx.$emit("toggle", key)),
|
|
44
|
+
onGoto: _cache[1] || (_cache[1] = (id, index) => _ctx.$emit("goto", id, index)),
|
|
45
|
+
onGotoInitial: _cache[2] || (_cache[2] = (id) => _ctx.$emit("goto-initial", id)),
|
|
46
|
+
onDiffStep: _cache[3] || (_cache[3] = (id, index) => _ctx.$emit("diff-step", id, index)),
|
|
47
|
+
onRevertStep: _cache[4] || (_cache[4] = (id, index) => _ctx.$emit("revert-step", id, index))
|
|
48
|
+
}, null, 8, [
|
|
49
|
+
"bucket-id",
|
|
50
|
+
"groups",
|
|
51
|
+
"describe-group",
|
|
52
|
+
"describe-step",
|
|
53
|
+
"expanded"
|
|
54
|
+
]);
|
|
55
|
+
}), 128))]),
|
|
56
|
+
_: 1
|
|
57
|
+
}));
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
//#endregion
|
|
62
|
+
export { DataSourceTab_vue_vue_type_script_setup_true_lang_default as default };
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import GroupRow_vue_vue_type_script_setup_true_lang_default from "./GroupRow.vue_vue_type_script_setup_true_lang.js";
|
|
2
|
+
//#region packages/editor/src/layouts/history-list/GroupRow.vue
|
|
3
|
+
var GroupRow_default = GroupRow_vue_vue_type_script_setup_true_lang_default;
|
|
4
|
+
//#endregion
|
|
5
|
+
export { GroupRow_default as default };
|