@tmagic/editor 1.8.0-beta.2 → 1.8.0-beta.3

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.
Files changed (45) hide show
  1. package/dist/es/Editor.vue_vue_type_script_setup_true_lang.js +9 -0
  2. package/dist/es/components/CompareForm.vue_vue_type_script_setup_true_lang.js +32 -28
  3. package/dist/es/editorProps.js +2 -0
  4. package/dist/es/fields/CodeLink.vue_vue_type_script_setup_true_lang.js +2 -5
  5. package/dist/es/hooks/use-stage.js +2 -1
  6. package/dist/es/index.js +3 -1
  7. package/dist/es/layouts/CodeEditor.vue_vue_type_script_setup_true_lang.js +2 -5
  8. package/dist/es/layouts/history-list/Bucket.vue_vue_type_script_setup_true_lang.js +33 -14
  9. package/dist/es/layouts/history-list/BucketTab.js +5 -0
  10. package/dist/es/layouts/history-list/{CodeBlockTab.vue_vue_type_script_setup_true_lang.js → BucketTab.vue_vue_type_script_setup_true_lang.js} +27 -16
  11. package/dist/es/layouts/history-list/GroupRow.vue_vue_type_script_setup_true_lang.js +71 -53
  12. package/dist/es/layouts/history-list/HistoryDiffDialog.vue_vue_type_script_setup_true_lang.js +78 -28
  13. package/dist/es/layouts/history-list/HistoryListPanel.vue_vue_type_script_setup_true_lang.js +136 -66
  14. package/dist/es/layouts/history-list/InitialRow.vue_vue_type_script_setup_true_lang.js +15 -9
  15. package/dist/es/layouts/history-list/PageTab.vue_vue_type_script_setup_true_lang.js +12 -6
  16. package/dist/es/layouts/history-list/composables.js +20 -2
  17. package/dist/es/services/history.js +5 -2
  18. package/dist/es/style.css +44 -12
  19. package/dist/style.css +44 -12
  20. package/dist/tmagic-editor.umd.cjs +479 -326
  21. package/package.json +7 -7
  22. package/src/Editor.vue +8 -0
  23. package/src/components/CompareForm.vue +32 -19
  24. package/src/editorProps.ts +7 -0
  25. package/src/fields/CodeLink.vue +2 -5
  26. package/src/hooks/use-stage.ts +1 -0
  27. package/src/index.ts +2 -0
  28. package/src/layouts/CodeEditor.vue +2 -5
  29. package/src/layouts/history-list/Bucket.vue +53 -28
  30. package/src/layouts/history-list/BucketTab.vue +77 -0
  31. package/src/layouts/history-list/GroupRow.vue +95 -60
  32. package/src/layouts/history-list/HistoryDiffDialog.vue +51 -32
  33. package/src/layouts/history-list/HistoryListPanel.vue +161 -52
  34. package/src/layouts/history-list/InitialRow.vue +17 -6
  35. package/src/layouts/history-list/PageTab.vue +20 -6
  36. package/src/layouts/history-list/composables.ts +32 -1
  37. package/src/services/history.ts +3 -0
  38. package/src/theme/history-list-panel.scss +52 -13
  39. package/src/type.ts +90 -0
  40. package/types/index.d.ts +295 -135
  41. package/dist/es/layouts/history-list/CodeBlockTab.js +0 -5
  42. package/dist/es/layouts/history-list/DataSourceTab.js +0 -5
  43. package/dist/es/layouts/history-list/DataSourceTab.vue_vue_type_script_setup_true_lang.js +0 -62
  44. package/src/layouts/history-list/CodeBlockTab.vue +0 -61
  45. package/src/layouts/history-list/DataSourceTab.vue +0 -61
@@ -1,5 +0,0 @@
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 };
@@ -1,5 +0,0 @@
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 };
@@ -1,62 +0,0 @@
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 };
@@ -1,61 +0,0 @@
1
- <template>
2
- <div v-if="!buckets.length" class="m-editor-history-list-empty">暂无操作记录</div>
3
- <TMagicScrollbar v-else max-height="360px">
4
- <Bucket
5
- v-for="bucket in buckets"
6
- :key="`cb-${bucket.id}`"
7
- title="代码块"
8
- :bucket-id="bucket.id"
9
- prefix="cb"
10
- :groups="bucket.groups"
11
- :describe-group="describeCodeBlockGroup"
12
- :describe-step="describeCodeBlockStep"
13
- :is-step-diffable="isCodeBlockStepDiffable"
14
- :expanded="expanded"
15
- @toggle="(key: string) => $emit('toggle', key)"
16
- @goto="(id: string | number, index: number) => $emit('goto', id, index)"
17
- @goto-initial="(id: string | number) => $emit('goto-initial', id)"
18
- @diff-step="(id: string | number, index: number) => $emit('diff-step', id, index)"
19
- @revert-step="(id: string | number, index: number) => $emit('revert-step', id, index)"
20
- />
21
- </TMagicScrollbar>
22
- </template>
23
-
24
- <script lang="ts" setup>
25
- import { TMagicScrollbar } from '@tmagic/design';
26
-
27
- import type { CodeBlockHistoryGroup, CodeBlockStepValue } from '@editor/type';
28
-
29
- import Bucket from './Bucket.vue';
30
- import { describeCodeBlockGroup, describeCodeBlockStep } from './composables';
31
-
32
- defineOptions({
33
- name: 'MEditorHistoryListCodeBlockTab',
34
- });
35
-
36
- defineProps<{
37
- /**
38
- * 已按 codeBlock.id 聚拢成的 bucket 列表,每个 bucket 内部的 groups 已按时间倒序排好。
39
- * 空数组时显示空态。
40
- */
41
- buckets: { id: string | number; groups: CodeBlockHistoryGroup[] }[];
42
- /** 共享的折叠状态表(key -> 是否展开),由顶层 panel 统一维护。本 tab 使用 `cb-${id}-${idx}` 作为 key。 */
43
- expanded: Record<string, boolean>;
44
- }>();
45
-
46
- defineEmits<{
47
- /** 透传子组件 Bucket 的 toggle 事件给上层 panel,由其更新 expanded。 */
48
- (_e: 'toggle', _key: string): void;
49
- /** 透传 Bucket 的 goto 事件,携带 codeBlock id 与目标 step 索引。 */
50
- (_e: 'goto', _codeBlockId: string | number, _index: number): void;
51
- /** 透传 Bucket 的 goto-initial 事件,携带 codeBlock id(回到该代码块未修改时的状态)。 */
52
- (_e: 'goto-initial', _codeBlockId: string | number): void;
53
- /** 透传 Bucket 的 diff-step 事件,携带 codeBlock id 与 step 索引。 */
54
- (_e: 'diff-step', _codeBlockId: string | number, _index: number): void;
55
- /** 透传 Bucket 的 revert-step 事件,携带 codeBlock id 与 step 索引(类 git revert)。 */
56
- (_e: 'revert-step', _codeBlockId: string | number, _index: number): void;
57
- }>();
58
-
59
- /** 仅 update(前后 content 都存在)时可查看差异。 */
60
- const isCodeBlockStepDiffable = (step: CodeBlockStepValue) => Boolean(step.oldContent && step.newContent);
61
- </script>
@@ -1,61 +0,0 @@
1
- <template>
2
- <div v-if="!buckets.length" class="m-editor-history-list-empty">暂无操作记录</div>
3
- <TMagicScrollbar v-else max-height="360px">
4
- <Bucket
5
- v-for="bucket in buckets"
6
- :key="`ds-${bucket.id}`"
7
- title="数据源"
8
- :bucket-id="bucket.id"
9
- prefix="ds"
10
- :groups="bucket.groups"
11
- :describe-group="describeDataSourceGroup"
12
- :describe-step="describeDataSourceStep"
13
- :is-step-diffable="isDataSourceStepDiffable"
14
- :expanded="expanded"
15
- @toggle="(key: string) => $emit('toggle', key)"
16
- @goto="(id: string | number, index: number) => $emit('goto', id, index)"
17
- @goto-initial="(id: string | number) => $emit('goto-initial', id)"
18
- @diff-step="(id: string | number, index: number) => $emit('diff-step', id, index)"
19
- @revert-step="(id: string | number, index: number) => $emit('revert-step', id, index)"
20
- />
21
- </TMagicScrollbar>
22
- </template>
23
-
24
- <script lang="ts" setup>
25
- import { TMagicScrollbar } from '@tmagic/design';
26
-
27
- import type { DataSourceHistoryGroup, DataSourceStepValue } from '@editor/type';
28
-
29
- import Bucket from './Bucket.vue';
30
- import { describeDataSourceGroup, describeDataSourceStep } from './composables';
31
-
32
- defineOptions({
33
- name: 'MEditorHistoryListDataSourceTab',
34
- });
35
-
36
- defineProps<{
37
- /**
38
- * 已按 dataSource.id 聚拢成的 bucket 列表,每个 bucket 内部的 groups 已按时间倒序排好。
39
- * 空数组时显示空态。
40
- */
41
- buckets: { id: string | number; groups: DataSourceHistoryGroup[] }[];
42
- /** 共享的折叠状态表(key -> 是否展开),由顶层 panel 统一维护。本 tab 使用 `ds-${id}-${idx}` 作为 key。 */
43
- expanded: Record<string, boolean>;
44
- }>();
45
-
46
- defineEmits<{
47
- /** 透传子组件 Bucket 的 toggle 事件给上层 panel,由其更新 expanded。 */
48
- (_e: 'toggle', _key: string): void;
49
- /** 透传 Bucket 的 goto 事件,携带 dataSource id 与目标 step 索引。 */
50
- (_e: 'goto', _dataSourceId: string | number, _index: number): void;
51
- /** 透传 Bucket 的 goto-initial 事件,携带 dataSource id(回到该数据源未修改时的状态)。 */
52
- (_e: 'goto-initial', _dataSourceId: string | number): void;
53
- /** 透传 Bucket 的 diff-step 事件,携带 dataSource id 与 step 索引。 */
54
- (_e: 'diff-step', _dataSourceId: string | number, _index: number): void;
55
- /** 透传 Bucket 的 revert-step 事件,携带 dataSource id 与 step 索引(类 git revert)。 */
56
- (_e: 'revert-step', _dataSourceId: string | number, _index: number): void;
57
- }>();
58
-
59
- /** 仅 update(前后 schema 都存在)时可查看差异。 */
60
- const isDataSourceStepDiffable = (step: DataSourceStepValue) => Boolean(step.oldSchema && step.newSchema);
61
- </script>