@tmagic/editor 1.4.15 → 1.5.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/dist/style.css +2 -2
  2. package/dist/tmagic-editor.js +274 -265
  3. package/dist/tmagic-editor.umd.cjs +275 -262
  4. package/package.json +13 -17
  5. package/src/components/CodeParams.vue +1 -1
  6. package/src/editorProps.ts +2 -1
  7. package/src/fields/DataSourceInput.vue +2 -2
  8. package/src/fields/UISelect.vue +20 -15
  9. package/src/hooks/use-stage.ts +13 -7
  10. package/src/initService.ts +50 -53
  11. package/src/layouts/workspace/viewer/NodeListMenu.vue +2 -1
  12. package/src/layouts/workspace/viewer/Stage.vue +4 -3
  13. package/src/services/editor.ts +2 -2
  14. package/src/services/stageOverlay.ts +3 -1
  15. package/src/theme/page-bar.scss +2 -2
  16. package/src/utils/data-source/index.ts +25 -23
  17. package/src/utils/editor.ts +4 -3
  18. package/src/utils/index.ts +4 -0
  19. package/src/utils/operator.ts +3 -2
  20. package/src/utils/props.ts +2 -1
  21. package/types/index.d.ts +6484 -49
  22. package/src/shims-vue.d.ts +0 -6
  23. package/types/components/CodeBlockEditor.vue.d.ts +0 -33
  24. package/types/components/CodeParams.vue.d.ts +0 -28
  25. package/types/components/ContentMenu.vue.d.ts +0 -73
  26. package/types/components/FloatingBox.vue.d.ts +0 -68
  27. package/types/components/Icon.vue.d.ts +0 -15
  28. package/types/components/Resizer.vue.d.ts +0 -14
  29. package/types/components/ScrollBar.vue.d.ts +0 -25
  30. package/types/components/ScrollViewer.vue.d.ts +0 -79
  31. package/types/components/SearchInput.vue.d.ts +0 -6
  32. package/types/components/SplitView.vue.d.ts +0 -70
  33. package/types/components/ToolButton.vue.d.ts +0 -41
  34. package/types/components/Tree.vue.d.ts +0 -81
  35. package/types/components/TreeNode.vue.d.ts +0 -81
  36. package/types/editorProps.d.ts +0 -111
  37. package/types/fields/Code.vue.d.ts +0 -44
  38. package/types/fields/CodeLink.vue.d.ts +0 -24
  39. package/types/fields/CodeSelect.vue.d.ts +0 -28
  40. package/types/fields/CodeSelectCol.vue.d.ts +0 -31
  41. package/types/fields/CondOpSelect.vue.d.ts +0 -17
  42. package/types/fields/DataSourceFieldSelect/FieldSelect.vue.d.ts +0 -36
  43. package/types/fields/DataSourceFieldSelect/Index.vue.d.ts +0 -31
  44. package/types/fields/DataSourceFields.vue.d.ts +0 -44
  45. package/types/fields/DataSourceInput.vue.d.ts +0 -34
  46. package/types/fields/DataSourceMethodSelect.vue.d.ts +0 -31
  47. package/types/fields/DataSourceMethods.vue.d.ts +0 -34
  48. package/types/fields/DataSourceMocks.vue.d.ts +0 -41
  49. package/types/fields/DataSourceSelect.vue.d.ts +0 -31
  50. package/types/fields/DisplayConds.vue.d.ts +0 -37
  51. package/types/fields/EventSelect.vue.d.ts +0 -17
  52. package/types/fields/KeyValue.vue.d.ts +0 -36
  53. package/types/fields/PageFragmentSelect.vue.d.ts +0 -31
  54. package/types/fields/UISelect.vue.d.ts +0 -20
  55. package/types/hooks/index.d.ts +0 -6
  56. package/types/hooks/use-code-block-edit.d.ts +0 -100
  57. package/types/hooks/use-data-source-edit.d.ts +0 -93
  58. package/types/hooks/use-data-source-method.d.ts +0 -98
  59. package/types/hooks/use-editor-content-height.d.ts +0 -3
  60. package/types/hooks/use-filter.d.ts +0 -7
  61. package/types/hooks/use-float-box.d.ts +0 -15
  62. package/types/hooks/use-getso.d.ts +0 -5
  63. package/types/hooks/use-next-float-box-position.d.ts +0 -9
  64. package/types/hooks/use-node-status.d.ts +0 -11
  65. package/types/hooks/use-stage.d.ts +0 -3
  66. package/types/hooks/use-window-rect.d.ts +0 -6
  67. package/types/icons/AppManageIcon.vue.d.ts +0 -2
  68. package/types/icons/CenterIcon.vue.d.ts +0 -2
  69. package/types/icons/CodeIcon.vue.d.ts +0 -2
  70. package/types/icons/FolderMinusIcon.vue.d.ts +0 -2
  71. package/types/icons/PinIcon.vue.d.ts +0 -2
  72. package/types/icons/PinnedIcon.vue.d.ts +0 -2
  73. package/types/initService.d.ts +0 -9
  74. package/types/layouts/AddPageBox.vue.d.ts +0 -15
  75. package/types/layouts/CodeEditor.vue.d.ts +0 -80
  76. package/types/layouts/Framework.vue.d.ts +0 -23
  77. package/types/layouts/NavMenu.vue.d.ts +0 -35
  78. package/types/layouts/PropsPanel.vue.d.ts +0 -284
  79. package/types/layouts/page-bar/AddButton.vue.d.ts +0 -16
  80. package/types/layouts/page-bar/PageBar.vue.d.ts +0 -34
  81. package/types/layouts/page-bar/PageBarScrollContainer.vue.d.ts +0 -27
  82. package/types/layouts/page-bar/PageList.vue.d.ts +0 -25
  83. package/types/layouts/page-bar/SwitchTypeButton.vue.d.ts +0 -20
  84. package/types/layouts/sidebar/ComponentListPanel.vue.d.ts +0 -8
  85. package/types/layouts/sidebar/Sidebar.vue.d.ts +0 -49
  86. package/types/layouts/sidebar/code-block/CodeBlockList.vue.d.ts +0 -30
  87. package/types/layouts/sidebar/code-block/CodeBlockListPanel.vue.d.ts +0 -22
  88. package/types/layouts/sidebar/data-source/DataSourceConfigPanel.vue.d.ts +0 -31
  89. package/types/layouts/sidebar/data-source/DataSourceList.vue.d.ts +0 -16
  90. package/types/layouts/sidebar/data-source/DataSourceListPanel.vue.d.ts +0 -8
  91. package/types/layouts/sidebar/layer/LayerMenu.vue.d.ts +0 -41
  92. package/types/layouts/sidebar/layer/LayerNodeTool.vue.d.ts +0 -16
  93. package/types/layouts/sidebar/layer/LayerPanel.vue.d.ts +0 -23
  94. package/types/layouts/sidebar/layer/use-click.d.ts +0 -64
  95. package/types/layouts/sidebar/layer/use-drag.d.ts +0 -14
  96. package/types/layouts/sidebar/layer/use-keybinding.d.ts +0 -6
  97. package/types/layouts/sidebar/layer/use-node-status.d.ts +0 -11
  98. package/types/layouts/workspace/Breadcrumb.vue.d.ts +0 -2
  99. package/types/layouts/workspace/Workspace.vue.d.ts +0 -39
  100. package/types/layouts/workspace/viewer/NodeListMenu.vue.d.ts +0 -2
  101. package/types/layouts/workspace/viewer/Stage.vue.d.ts +0 -34
  102. package/types/layouts/workspace/viewer/StageOverlay.vue.d.ts +0 -2
  103. package/types/layouts/workspace/viewer/ViewerMenu.vue.d.ts +0 -42
  104. package/types/services/BaseService.d.ts +0 -66
  105. package/types/services/codeBlock.d.ts +0 -130
  106. package/types/services/componentList.d.ts +0 -16
  107. package/types/services/dataSource.d.ts +0 -68
  108. package/types/services/dep.d.ts +0 -33
  109. package/types/services/editor.d.ts +0 -180
  110. package/types/services/events.d.ts +0 -18
  111. package/types/services/history.d.ts +0 -26
  112. package/types/services/keybinding.d.ts +0 -40
  113. package/types/services/props.d.ts +0 -92
  114. package/types/services/stageOverlay.d.ts +0 -30
  115. package/types/services/storage.d.ts +0 -65
  116. package/types/services/ui.d.ts +0 -77
  117. package/types/type.d.ts +0 -658
  118. package/types/utils/compose.d.ts +0 -5
  119. package/types/utils/config.d.ts +0 -4
  120. package/types/utils/content-menu.d.ts +0 -7
  121. package/types/utils/data-source/formConfigs/base.d.ts +0 -2
  122. package/types/utils/data-source/formConfigs/http.d.ts +0 -3
  123. package/types/utils/data-source/index.d.ts +0 -10
  124. package/types/utils/editor.d.ts +0 -59
  125. package/types/utils/idle-task.d.ts +0 -14
  126. package/types/utils/index.d.ts +0 -6
  127. package/types/utils/keybinding-config.d.ts +0 -7
  128. package/types/utils/logger.d.ts +0 -5
  129. package/types/utils/monaco-editor.d.ts +0 -2
  130. package/types/utils/operator.d.ts +0 -21
  131. package/types/utils/props.d.ts +0 -23
  132. package/types/utils/scroll-viewer.d.ts +0 -38
  133. package/types/utils/tree.d.ts +0 -3
  134. package/types/utils/undo-redo.d.ts +0 -12
@@ -1,64 +0,0 @@
1
- import { type ComputedRef, type Ref } from 'vue';
2
- import { Id } from '@tmagic/schema';
3
- import { LayerNodeStatus, Services, TreeNodeData } from '../../../type';
4
- export declare const useClick: (services: Services | undefined, isCtrlKeyDown: Ref<boolean>, nodeStatusMap: ComputedRef<Map<Id, LayerNodeStatus> | undefined>) => {
5
- menu: Ref<import("vue").CreateComponentPublicInstance<Readonly<import("vue").ExtractPropTypes<{
6
- layerContentMenu: {
7
- type: import("vue").PropType<(import("../../../type").MenuComponent | import("../../../type").MenuButton)[]>;
8
- required: true;
9
- default: () => never[];
10
- };
11
- customContentMenu: {
12
- type: import("vue").PropType<(menus: (import("../../../type").MenuComponent | import("../../../type").MenuButton)[], type: string) => (import("../../../type").MenuComponent | import("../../../type").MenuButton)[]>;
13
- default: (menus: (import("../../../type").MenuComponent | import("../../../type").MenuButton)[]) => (import("../../../type").MenuComponent | import("../../../type").MenuButton)[];
14
- };
15
- }>> & {
16
- "onCollapse-all"?: (() => any) | undefined;
17
- }, {
18
- show: (e: MouseEvent) => void;
19
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
20
- "collapse-all": () => void;
21
- }, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & Readonly<import("vue").ExtractPropTypes<{
22
- layerContentMenu: {
23
- type: import("vue").PropType<(import("../../../type").MenuComponent | import("../../../type").MenuButton)[]>;
24
- required: true;
25
- default: () => never[];
26
- };
27
- customContentMenu: {
28
- type: import("vue").PropType<(menus: (import("../../../type").MenuComponent | import("../../../type").MenuButton)[], type: string) => (import("../../../type").MenuComponent | import("../../../type").MenuButton)[]>;
29
- default: (menus: (import("../../../type").MenuComponent | import("../../../type").MenuButton)[]) => (import("../../../type").MenuComponent | import("../../../type").MenuButton)[];
30
- };
31
- }>> & {
32
- "onCollapse-all"?: (() => any) | undefined;
33
- }, {
34
- layerContentMenu: (import("../../../type").MenuComponent | import("../../../type").MenuButton)[];
35
- customContentMenu: (menus: (import("../../../type").MenuComponent | import("../../../type").MenuButton)[], type: string) => (import("../../../type").MenuComponent | import("../../../type").MenuButton)[];
36
- }, true, {}, {}, {
37
- P: {};
38
- B: {};
39
- D: {};
40
- C: {};
41
- M: {};
42
- Defaults: {};
43
- }, Readonly<import("vue").ExtractPropTypes<{
44
- layerContentMenu: {
45
- type: import("vue").PropType<(import("../../../type").MenuComponent | import("../../../type").MenuButton)[]>;
46
- required: true;
47
- default: () => never[];
48
- };
49
- customContentMenu: {
50
- type: import("vue").PropType<(menus: (import("../../../type").MenuComponent | import("../../../type").MenuButton)[], type: string) => (import("../../../type").MenuComponent | import("../../../type").MenuButton)[]>;
51
- default: (menus: (import("../../../type").MenuComponent | import("../../../type").MenuButton)[]) => (import("../../../type").MenuComponent | import("../../../type").MenuButton)[];
52
- };
53
- }>> & {
54
- "onCollapse-all"?: (() => any) | undefined;
55
- }, {
56
- show: (e: MouseEvent) => void;
57
- }, {}, {}, {}, {
58
- layerContentMenu: (import("../../../type").MenuComponent | import("../../../type").MenuButton)[];
59
- customContentMenu: (menus: (import("../../../type").MenuComponent | import("../../../type").MenuButton)[], type: string) => (import("../../../type").MenuComponent | import("../../../type").MenuButton)[];
60
- }> | undefined>;
61
- nodeClickHandler: (event: MouseEvent, data: TreeNodeData) => void;
62
- nodeContentMenuHandler(event: MouseEvent, data: TreeNodeData): void;
63
- highlightHandler: (event: MouseEvent, data: TreeNodeData) => void;
64
- };
@@ -1,14 +0,0 @@
1
- import type { MNode } from '@tmagic/schema';
2
- import { type Services } from '../../../type';
3
- export declare type NodeDropType = 'before' | 'after' | 'inner' | 'none';
4
- /**
5
- * dragstart/dragleave/dragend 属于源节点
6
- * dragover 属于目标节点
7
- * 这些方法并不是同一个dom事件触发的
8
- */
9
- export declare const useDrag: (services: Services | undefined) => {
10
- handleDragStart: (event: DragEvent) => void;
11
- handleDragEnd: (event: DragEvent, node: MNode) => void;
12
- handleDragLeave: (event: DragEvent) => void;
13
- handleDragOver: (event: DragEvent) => void;
14
- };
@@ -1,6 +0,0 @@
1
- import { type Ref } from 'vue';
2
- import Tree from '../../../components/Tree.vue';
3
- import type { Services } from '../../../type';
4
- export declare const useKeybinding: (services: Services | undefined, container: Ref<InstanceType<typeof Tree> | undefined>) => {
5
- isCtrlKeyDown: Ref<boolean>;
6
- };
@@ -1,11 +0,0 @@
1
- import type { Id } from '@tmagic/schema';
2
- import { LayerNodeStatus, Services } from '../../../type';
3
- export declare const useNodeStatus: (services: Services | undefined) => {
4
- nodeStatusMaps: import("vue").Ref<Map<Id, Map<Id, {
5
- visible: boolean;
6
- expand: boolean;
7
- selected: boolean;
8
- draggable: boolean;
9
- }> & Omit<Map<Id, LayerNodeStatus>, keyof Map<any, any>>> & Omit<Map<Id, Map<Id, LayerNodeStatus>>, keyof Map<any, any>>>;
10
- nodeStatusMap: import("vue").ComputedRef<Map<Id, LayerNodeStatus> | undefined>;
11
- };
@@ -1,2 +0,0 @@
1
- declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}>;
2
- export default _default;
@@ -1,39 +0,0 @@
1
- import type { MenuButton, MenuComponent, WorkspaceSlots } from '../../type';
2
- declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToOption<{
3
- stageContentMenu: (MenuComponent | MenuButton)[];
4
- disabledStageOverlay?: boolean | undefined;
5
- customContentMenu?: ((menus: (MenuComponent | MenuButton)[], type: string) => (MenuComponent | MenuButton)[]) | undefined;
6
- }>, {
7
- disabledStageOverlay: boolean;
8
- }>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<{
9
- stageContentMenu: (MenuComponent | MenuButton)[];
10
- disabledStageOverlay?: boolean | undefined;
11
- customContentMenu?: ((menus: (MenuComponent | MenuButton)[], type: string) => (MenuComponent | MenuButton)[]) | undefined;
12
- }>, {
13
- disabledStageOverlay: boolean;
14
- }>>>, {
15
- disabledStageOverlay: boolean;
16
- }, {}>, Readonly<WorkspaceSlots> & WorkspaceSlots>;
17
- export default _default;
18
- type __VLS_WithDefaults<P, D> = {
19
- [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
20
- default: D[K];
21
- }> : P[K];
22
- };
23
- type __VLS_Prettify<T> = {
24
- [K in keyof T]: T[K];
25
- } & {};
26
- type __VLS_WithTemplateSlots<T, S> = T & {
27
- new (): {
28
- $slots: S;
29
- };
30
- };
31
- type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
32
- type __VLS_TypePropsToOption<T> = {
33
- [K in keyof T]-?: {} extends Pick<T, K> ? {
34
- type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
35
- } : {
36
- type: import('vue').PropType<T[K]>;
37
- required: true;
38
- };
39
- };
@@ -1,2 +0,0 @@
1
- declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}>;
2
- export default _default;
@@ -1,34 +0,0 @@
1
- import { type MenuButton, type MenuComponent } from '../../../type';
2
- declare const _default: import("vue").DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToOption<{
3
- stageContentMenu: (MenuComponent | MenuButton)[];
4
- disabledStageOverlay?: boolean | undefined;
5
- customContentMenu?: ((menus: (MenuComponent | MenuButton)[], type: string) => (MenuComponent | MenuButton)[]) | undefined;
6
- }>, {
7
- disabledStageOverlay: boolean;
8
- }>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<{
9
- stageContentMenu: (MenuComponent | MenuButton)[];
10
- disabledStageOverlay?: boolean | undefined;
11
- customContentMenu?: ((menus: (MenuComponent | MenuButton)[], type: string) => (MenuComponent | MenuButton)[]) | undefined;
12
- }>, {
13
- disabledStageOverlay: boolean;
14
- }>>>, {
15
- disabledStageOverlay: boolean;
16
- }, {}>;
17
- export default _default;
18
- type __VLS_WithDefaults<P, D> = {
19
- [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
20
- default: D[K];
21
- }> : P[K];
22
- };
23
- type __VLS_Prettify<T> = {
24
- [K in keyof T]: T[K];
25
- } & {};
26
- type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
27
- type __VLS_TypePropsToOption<T> = {
28
- [K in keyof T]-?: {} extends Pick<T, K> ? {
29
- type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
30
- } : {
31
- type: import('vue').PropType<T[K]>;
32
- required: true;
33
- };
34
- };
@@ -1,2 +0,0 @@
1
- declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}>;
2
- export default _default;
@@ -1,42 +0,0 @@
1
- import { MenuButton, MenuComponent } from '../../../type';
2
- declare const _default: import("vue").DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToOption<{
3
- isMultiSelect?: boolean | undefined;
4
- stageContentMenu: (MenuComponent | MenuButton)[];
5
- customContentMenu?: ((menus: (MenuComponent | MenuButton)[], type: string) => (MenuComponent | MenuButton)[]) | undefined;
6
- }>, {
7
- isMultiSelect: boolean;
8
- stageContentMenu: () => never[];
9
- customContentMenu: (menus: (MenuComponent | MenuButton)[]) => (MenuComponent | MenuButton)[];
10
- }>, {
11
- show: (e: MouseEvent) => void;
12
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<{
13
- isMultiSelect?: boolean | undefined;
14
- stageContentMenu: (MenuComponent | MenuButton)[];
15
- customContentMenu?: ((menus: (MenuComponent | MenuButton)[], type: string) => (MenuComponent | MenuButton)[]) | undefined;
16
- }>, {
17
- isMultiSelect: boolean;
18
- stageContentMenu: () => never[];
19
- customContentMenu: (menus: (MenuComponent | MenuButton)[]) => (MenuComponent | MenuButton)[];
20
- }>>>, {
21
- customContentMenu: (menus: (MenuComponent | MenuButton)[], type: string) => (MenuComponent | MenuButton)[];
22
- isMultiSelect: boolean;
23
- stageContentMenu: (MenuComponent | MenuButton)[];
24
- }, {}>;
25
- export default _default;
26
- type __VLS_WithDefaults<P, D> = {
27
- [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
28
- default: D[K];
29
- }> : P[K];
30
- };
31
- type __VLS_Prettify<T> = {
32
- [K in keyof T]: T[K];
33
- } & {};
34
- type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
35
- type __VLS_TypePropsToOption<T> = {
36
- [K in keyof T]-?: {} extends Pick<T, K> ? {
37
- type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
38
- } : {
39
- type: import('vue').PropType<T[K]>;
40
- required: true;
41
- };
42
- };
@@ -1,66 +0,0 @@
1
- /// <reference types="node" />
2
- import { EventEmitter } from 'events';
3
- /**
4
- * 提供两种方式对Class进行扩展
5
- * 方法1:
6
- * 给Class中的每个方法都添加before after两个钩子
7
- * 给Class添加一个usePlugin方法,use方法可以传入一个包含before或者after方法的对象
8
- *
9
- * 例如:
10
- * Class EditorService extends BaseService {
11
- * constructor() {
12
- * super([ { name: 'add', isAsync: true },]);
13
- * }
14
- * add(value) { return result; }
15
- * };
16
- *
17
- * const editorService = new EditorService();
18
- *
19
- * editorService.usePlugin({
20
- * beforeAdd(value) { return [value] },
21
- * afterAdd(result, value) { return result },
22
- * });
23
- *
24
- * editorService.add(); 最终会变成 () => {
25
- * editorService.beforeAdd();
26
- * editorService.add();
27
- * editorService.afterAdd();
28
- * }
29
- *
30
- * 调用时的参数会透传到before方法的参数中, 然后before的return 会作为原方法的参数和after的参数,after第一个参数则是原方法的return值;
31
- * 如需终止后续方法调用可以return new Error();
32
- *
33
- * 方法2:
34
- * 给Class中的每个方法都添加中间件
35
- * 给Class添加一个use方法,use方法可以传入一个包含源对象方法名作为key值的对象
36
- *
37
- * 例如:
38
- * Class EditorService extends BaseService {
39
- * constructor() {
40
- * super([ { name: 'add', isAsync: true },]);
41
- * }
42
- * add(value) { return result; }
43
- * };
44
- *
45
- * const editorService = new EditorService();
46
- * editorService.use({
47
- * add(value, next) { console.log(value); next() },
48
- * });
49
- */
50
- export default class extends EventEmitter {
51
- private pluginOptionsList;
52
- private middleware;
53
- private taskList;
54
- private doingTask;
55
- constructor(methods?: {
56
- name: string;
57
- isAsync: boolean;
58
- }[], serialMethods?: string[]);
59
- /**
60
- * @deprecated 请使用usePlugin代替
61
- */
62
- use(options: Record<string, Function>): void;
63
- usePlugin(options: Record<string, Function>): void;
64
- removeAllPlugins(): void;
65
- private doTask;
66
- }
@@ -1,130 +0,0 @@
1
- import type { Writable } from 'type-fest';
2
- import { type TargetOptions } from '@tmagic/dep';
3
- import type { ColumnConfig } from '@tmagic/form';
4
- import type { CodeBlockContent, CodeBlockDSL, Id, MNode } from '@tmagic/schema';
5
- import type { AsyncHookPlugin } from '../type';
6
- import BaseService from './BaseService';
7
- declare const canUsePluginMethods: {
8
- async: readonly ["setCodeDslById", "setEditStatus", "setCombineIds", "setUndeleteableList", "deleteCodeDslByIds"];
9
- sync: string[];
10
- };
11
- type AsyncMethodName = Writable<(typeof canUsePluginMethods)['async']>;
12
- declare class CodeBlock extends BaseService {
13
- private state;
14
- constructor();
15
- /**
16
- * 设置活动的代码块dsl数据源
17
- * @param {CodeBlockDSL} codeDsl 代码DSL
18
- * @returns {void}
19
- */
20
- setCodeDsl(codeDsl: CodeBlockDSL): Promise<void>;
21
- /**
22
- * 获取活动的代码块dsl数据源(默认从dsl中的codeBlocks字段读取)
23
- * 方法要支持钩子添加扩展,会被重写为异步方法,因此这里显示写为异步以提醒调用者需以异步形式调用
24
- * @param {boolean} forceRefresh 是否强制从活动dsl拉取刷新
25
- * @returns {CodeBlockDSL | null}
26
- */
27
- getCodeDsl(): CodeBlockDSL | null;
28
- /**
29
- * 根据代码块id获取代码块内容
30
- * @param {Id} id 代码块id
31
- * @returns {CodeBlockContent | null}
32
- */
33
- getCodeContentById(id: Id): CodeBlockContent | null;
34
- /**
35
- * 设置代码块ID和代码内容到源dsl
36
- * @param {Id} id 代码块id
37
- * @param {CodeBlockContent} codeConfig 代码块内容配置信息
38
- * @returns {void}
39
- */
40
- setCodeDslById(id: Id, codeConfig: Partial<CodeBlockContent>): Promise<void>;
41
- /**
42
- * 为了兼容历史原因
43
- * 设置代码块ID和代码内容到源dsl
44
- * @param {Id} id 代码块id
45
- * @param {CodeBlockContent} codeConfig 代码块内容配置信息
46
- * @param {boolean} force 是否强制写入,默认true
47
- * @returns {void}
48
- */
49
- setCodeDslByIdSync(id: Id, codeConfig: Partial<CodeBlockContent>, force?: boolean): void;
50
- /**
51
- * 根据代码块id数组获取代码dsl
52
- * @param {string[]} ids 代码块id数组
53
- * @returns {CodeBlockDSL}
54
- */
55
- getCodeDslByIds(ids: string[]): CodeBlockDSL;
56
- /**
57
- * 获取编辑状态
58
- * @returns {boolean} 是否可编辑
59
- */
60
- getEditStatus(): boolean;
61
- /**
62
- * 设置编辑状态
63
- * @param {boolean} status 是否可编辑
64
- * @returns {void}
65
- */
66
- setEditStatus(status: boolean): Promise<void>;
67
- /**
68
- * 设置当前选中组件已关联绑定的代码块id数组
69
- * @param {string[]} ids 代码块id数组
70
- * @returns {void}
71
- */
72
- setCombineIds(ids: string[]): Promise<void>;
73
- /**
74
- * 获取当前选中组件已关联绑定的代码块id数组
75
- * @returns {string[]}
76
- */
77
- getCombineIds(): string[];
78
- /**
79
- * 获取不可删除列表
80
- * @returns {Id[]}
81
- */
82
- getUndeletableList(): Id[];
83
- /**
84
- * 设置不可删除列表:为业务逻辑预留的不可删除的代码块列表,由业务逻辑维护(如代码块上线后不可删除)
85
- * @param {Id[]} codeIds 代码块id数组
86
- * @returns {void}
87
- */
88
- setUndeleteableList(codeIds: Id[]): Promise<void>;
89
- /**
90
- * 设置代码草稿
91
- */
92
- setCodeDraft(codeId: Id, content: string): void;
93
- /**
94
- * 获取代码草稿
95
- */
96
- getCodeDraft(codeId: Id): string | null;
97
- /**
98
- * 删除代码草稿
99
- */
100
- removeCodeDraft(codeId: Id): void;
101
- /**
102
- * 在dsl数据源中删除指定id的代码块
103
- * @param {Id[]} codeIds 需要删除的代码块id数组
104
- */
105
- deleteCodeDslByIds(codeIds: Id[]): Promise<void>;
106
- setParamsColConfig(config: ColumnConfig): void;
107
- getParamsColConfig(): ColumnConfig | undefined;
108
- /**
109
- * 生成代码块唯一id
110
- * @returns {Id} 代码块唯一id
111
- */
112
- getUniqueId(): Promise<string>;
113
- /**
114
- * 复制时会带上组件关联的代码块
115
- * @param config 组件节点配置
116
- * @returns
117
- */
118
- copyWithRelated(config: MNode | MNode[], collectorOptions?: TargetOptions): void;
119
- /**
120
- * 粘贴代码块
121
- * @returns
122
- */
123
- paste(): void;
124
- resetState(): void;
125
- destroy(): void;
126
- usePlugin(options: AsyncHookPlugin<AsyncMethodName, CodeBlock>): void;
127
- }
128
- export type CodeBlockService = CodeBlock;
129
- declare const _default: CodeBlock;
130
- export default _default;
@@ -1,16 +0,0 @@
1
- import type { ComponentGroup } from '../type';
2
- import BaseService from './BaseService';
3
- declare class ComponentList extends BaseService {
4
- private state;
5
- constructor();
6
- /**
7
- * @param componentGroupList 组件列表配置
8
- */
9
- setList(componentGroupList: ComponentGroup[]): void;
10
- getList(): ComponentGroup[];
11
- resetState(): void;
12
- destroy(): void;
13
- }
14
- export type ComponentListService = ComponentList;
15
- declare const _default: ComponentList;
16
- export default _default;
@@ -1,68 +0,0 @@
1
- import { Writable } from 'type-fest';
2
- import type { EventOption } from '@tmagic/core';
3
- import { type TargetOptions } from '@tmagic/dep';
4
- import type { FormConfig } from '@tmagic/form';
5
- import type { DataSourceSchema, MNode } from '@tmagic/schema';
6
- import type { DatasourceTypeOption, SyncHookPlugin } from '../type';
7
- import BaseService from './BaseService';
8
- interface State {
9
- datasourceTypeList: DatasourceTypeOption[];
10
- dataSources: DataSourceSchema[];
11
- editable: boolean;
12
- configs: Record<string, FormConfig>;
13
- values: Record<string, Partial<DataSourceSchema>>;
14
- events: Record<string, EventOption[]>;
15
- methods: Record<string, EventOption[]>;
16
- }
17
- type StateKey = keyof State;
18
- declare const canUsePluginMethods: {
19
- async: never[];
20
- sync: readonly ["getFormConfig", "setFormConfig", "getFormValue", "setFormValue", "getFormEvent", "setFormEvent", "getFormMethod", "setFormMethod", "add", "update", "remove", "createId"];
21
- };
22
- type SyncMethodName = Writable<(typeof canUsePluginMethods)['sync']>;
23
- declare class DataSource extends BaseService {
24
- private state;
25
- constructor();
26
- set<K extends StateKey, T extends State[K]>(name: K, value: T): void;
27
- get<K extends StateKey>(name: K): State[K];
28
- getFormConfig(type?: string): FormConfig;
29
- setFormConfig(type: string, config: FormConfig): void;
30
- getFormValue(type?: string): Partial<DataSourceSchema>;
31
- setFormValue(type: string, value: Partial<DataSourceSchema>): void;
32
- getFormEvent(type?: string): EventOption[];
33
- setFormEvent(type: string, value?: EventOption[]): void;
34
- getFormMethod(type?: string): EventOption[];
35
- setFormMethod(type: string, value?: EventOption[]): void;
36
- add(config: DataSourceSchema): {
37
- id: string;
38
- type: string;
39
- title?: string | undefined;
40
- description?: string | undefined;
41
- fields: import("@tmagic/schema").DataSchema[];
42
- methods: import("@tmagic/schema").CodeBlockContent[];
43
- mocks?: import("@tmagic/schema").MockSchema[] | undefined;
44
- events: import("@tmagic/schema").EventConfig[];
45
- disabledInitInJsEngine?: string[] | undefined;
46
- };
47
- update(config: DataSourceSchema): DataSourceSchema;
48
- remove(id: string): void;
49
- createId(): string;
50
- getDataSourceById(id: string): DataSourceSchema | undefined;
51
- resetState(): void;
52
- destroy(): void;
53
- usePlugin(options: SyncHookPlugin<SyncMethodName, DataSource>): void;
54
- /**
55
- * 复制时会带上组件关联的数据源
56
- * @param config 组件节点配置
57
- * @returns
58
- */
59
- copyWithRelated(config: MNode | MNode[], collectorOptions?: TargetOptions): void;
60
- /**
61
- * 粘贴数据源
62
- * @returns
63
- */
64
- paste(): void;
65
- }
66
- export type DataSourceService = DataSource;
67
- declare const _default: DataSource;
68
- export default _default;
@@ -1,33 +0,0 @@
1
- import { type DepExtendedData, DepTargetType, type Target } from '@tmagic/dep';
2
- import type { Id, MNode } from '@tmagic/schema';
3
- import BaseService from './BaseService';
4
- export interface DepEvents {
5
- 'add-target': [target: Target];
6
- 'remove-target': [id: string | number];
7
- collected: [nodes: MNode[], deep: boolean];
8
- }
9
- declare class Dep extends BaseService {
10
- private watcher;
11
- removeTargets(type?: string): void;
12
- getTargets(type?: string): {
13
- [targetId: string]: Target;
14
- [targetId: number]: Target;
15
- };
16
- getTarget(id: Id, type?: string): Target;
17
- addTarget(target: Target): void;
18
- removeTarget(id: Id, type?: string): void;
19
- clearTargets(): void;
20
- collect(nodes: MNode[], depExtendedData?: DepExtendedData, deep?: boolean, type?: DepTargetType): void;
21
- collectIdle(nodes: MNode[], depExtendedData?: DepExtendedData, deep?: boolean, type?: DepTargetType): void;
22
- collectNode(node: MNode, target: Target, depExtendedData?: DepExtendedData, deep?: boolean): void;
23
- clear(nodes?: MNode[]): void;
24
- clearByType(type: DepTargetType, nodes?: MNode[]): void;
25
- hasTarget(id: Id, type?: string): boolean;
26
- hasSpecifiedTypeTarget(type?: string): boolean;
27
- on<Name extends keyof DepEvents, Param extends DepEvents[Name]>(eventName: Name, listener: (...args: Param) => void | Promise<void>): this;
28
- once<Name extends keyof DepEvents, Param extends DepEvents[Name]>(eventName: Name, listener: (...args: Param) => void | Promise<void>): this;
29
- emit<Name extends keyof DepEvents, Param extends DepEvents[Name]>(eventName: Name, ...args: Param): boolean;
30
- }
31
- export type DepService = Dep;
32
- declare const _default: Dep;
33
- export default _default;