@gct-paas/design 0.1.5-dev.6 → 0.1.5-dev.8

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 (192) hide show
  1. package/dist/index.min.css +1 -1
  2. package/dist/loader.esm.min.js +1 -1
  3. package/es/components/design/design-content/design-content.css +76 -0
  4. package/es/components/design/design-content/design-content.d.ts +190 -0
  5. package/es/components/design/design-content/design-content.mjs +274 -0
  6. package/es/components/design/design-drag-item/design-drag-item.css +179 -0
  7. package/es/components/design/design-drag-item/design-drag-item.d.ts +56 -0
  8. package/es/components/design/design-drag-item/design-drag-item.mjs +237 -0
  9. package/es/components/design/design-drop-container/design-drop-container.css +103 -0
  10. package/es/components/design/design-drop-container/design-drop-container.d.ts +92 -0
  11. package/es/components/design/design-drop-container/design-drop-container.mjs +182 -0
  12. package/es/components/design/design-drop-line/design-drop-line.css +165 -0
  13. package/es/components/design/design-drop-line/design-drop-line.d.ts +73 -0
  14. package/es/components/design/design-drop-line/design-drop-line.mjs +136 -0
  15. package/es/components/design/design-item-actions/design-item-actions.css +97 -0
  16. package/es/components/design/design-item-actions/design-item-actions.d.ts +42 -0
  17. package/es/components/design/design-item-actions/design-item-actions.mjs +147 -0
  18. package/es/components/design/design-item-highlighter/design-item-highlighter.css +70 -0
  19. package/es/components/design/design-item-highlighter/design-item-highlighter.d.ts +168 -0
  20. package/es/components/design/design-item-highlighter/design-item-highlighter.mjs +155 -0
  21. package/es/components/design/design-item-highlighter-container/design-item-highlighter-container.css +85 -0
  22. package/es/components/design/design-item-highlighter-container/design-item-highlighter-container.d.ts +53 -0
  23. package/es/components/design/design-item-highlighter-container/design-item-highlighter-container.mjs +169 -0
  24. package/es/components/design/design-item-hover-title/design-item-hover-title.css +12 -0
  25. package/es/components/design/design-item-hover-title/design-item-hover-title.d.ts +60 -0
  26. package/es/components/design/design-item-hover-title/design-item-hover-title.mjs +60 -0
  27. package/es/components/design/design-item-preview/design-item-preview.css +91 -0
  28. package/es/components/design/design-item-preview/design-item-preview.d.ts +1 -0
  29. package/es/components/design/design-item-preview/design-item-preview.mjs +32 -0
  30. package/es/components/design/design-not-drag-item/design-not-drag-item.css +67 -0
  31. package/es/components/design/design-not-drag-item/design-not-drag-item.d.ts +50 -0
  32. package/es/components/design/design-not-drag-item/design-not-drag-item.mjs +68 -0
  33. package/es/components/design/design-not-found/design-not-found.css +68 -0
  34. package/es/components/design/design-not-found/design-not-found.d.ts +14 -0
  35. package/es/components/design/design-not-found/design-not-found.mjs +19 -0
  36. package/es/components/design/index.d.ts +2 -0
  37. package/es/components/design/index.mjs +2 -0
  38. package/es/components/design-save-tip/design-save-tip.mjs +1 -1
  39. package/es/components/editor/index.mjs +2 -0
  40. package/es/components/editor/length-unit-editor/length-unit-editor.vue.d.ts +13 -0
  41. package/es/components/editor/length-unit-editor/length-unit-editor.vue.mjs +5 -0
  42. package/es/components/editor/length-unit-editor/length-unit-editor.vue_vue_type_script_setup_true_name_length-unit-editor_lang.mjs +47 -0
  43. package/es/components/field-transfer/components/field-transfer-modal.vue.d.ts +5 -1
  44. package/es/components/field-transfer/components/field-transfer-modal.vue.mjs +2 -2
  45. package/es/components/field-transfer/components/field-transfer-modal.vue_vue_type_script_setup_true_name_field-transfer-modal_lang.mjs +2 -1
  46. package/es/components/field-transfer/components/field-transfer-modal.vue_vue_type_style_index_0_scoped_711e6992_lang.css +8 -0
  47. package/es/components/field-transfer/index.d.ts +2 -0
  48. package/es/components/field-transfer/index.mjs +1 -0
  49. package/es/components/index.d.ts +5 -2
  50. package/es/components/index.mjs +10 -2
  51. package/es/components/material/index.d.ts +1 -0
  52. package/es/components/material/index.mjs +1 -0
  53. package/es/components/material/material-content/material-content.css +86 -0
  54. package/es/components/material/material-content/material-content.d.ts +1 -0
  55. package/es/components/material/material-content/material-content.mjs +49 -0
  56. package/es/components/material/material-module/material-module.css +104 -0
  57. package/es/components/material/material-module/material-module.d.ts +60 -0
  58. package/es/components/material/material-module/material-module.mjs +67 -0
  59. package/es/components/material/material-module-drag-container/material-module-drag-container.css +69 -0
  60. package/es/components/material/material-module-drag-container/material-module-drag-container.d.ts +56 -0
  61. package/es/components/material/material-module-drag-container/material-module-drag-container.mjs +21 -0
  62. package/es/components/material/material-module-drag-item/material-module-drag-item.css +83 -0
  63. package/es/components/material/material-module-drag-item/material-module-drag-item.d.ts +13 -0
  64. package/es/components/material/material-module-drag-item/material-module-drag-item.mjs +66 -0
  65. package/es/components/material/material-outline-tree/material-outline-tree.css +81 -0
  66. package/es/components/material/material-outline-tree/material-outline-tree.d.ts +13 -0
  67. package/es/components/material/material-outline-tree/material-outline-tree.mjs +67 -0
  68. package/es/components/material/material-tab-pane/material-tab-pane.css +68 -0
  69. package/es/components/material/material-tab-pane/material-tab-pane.d.ts +13 -0
  70. package/es/components/material/material-tab-pane/material-tab-pane.mjs +19 -0
  71. package/es/components/material/material-tabs/material-tabs.css +105 -0
  72. package/es/components/material/material-tabs/material-tabs.d.ts +103 -0
  73. package/es/components/material/material-tabs/material-tabs.mjs +44 -0
  74. package/es/components/modal-name-editor/modal-name-editor.d.ts +1 -11
  75. package/es/components/modal-name-editor/modal-name-editor.mjs +27 -38
  76. package/es/components/multi-field/index.d.ts +2 -0
  77. package/es/components/multi-field/index.mjs +1 -0
  78. package/es/components/multi-field/multi-field-display.vue.d.ts +8 -0
  79. package/es/components/multi-field/multi-field-display.vue.mjs +7 -0
  80. package/es/components/multi-field/multi-field-display.vue_vue_type_script_setup_true_lang.mjs +32 -0
  81. package/es/components/multi-field/multi-field-display.vue_vue_type_style_index_0_scoped_802ade7b_lang.css +4 -0
  82. package/es/components/multi-field/multi-field-item.vue.d.ts +6 -0
  83. package/es/components/multi-field/multi-field-item.vue.mjs +7 -0
  84. package/es/components/multi-field/multi-field-item.vue_vue_type_script_setup_true_lang.mjs +47 -0
  85. package/es/components/multi-field/multi-field-item.vue_vue_type_style_index_0_scoped_881cb08e_lang.css +31 -0
  86. package/es/components/panel/index.d.ts +1 -0
  87. package/es/components/panel/index.mjs +1 -0
  88. package/es/components/panel/panel-content/panel-content.css +189 -0
  89. package/es/components/panel/panel-content/panel-content.d.ts +19 -0
  90. package/es/components/panel/panel-content/panel-content.mjs +48 -0
  91. package/es/components/panel/panel-form/panel-form.css +67 -0
  92. package/es/components/panel/panel-form/panel-form.d.ts +62 -0
  93. package/es/components/panel/panel-form/panel-form.mjs +59 -0
  94. package/es/components/panel/panel-path/panel-path.css +89 -0
  95. package/es/components/panel/panel-path/panel-path.d.ts +35 -0
  96. package/es/components/panel/panel-path/panel-path.mjs +52 -0
  97. package/es/components/user-occupy/user-occupy.vue.mjs +2 -2
  98. package/es/components/user-occupy/user-occupy.vue_vue_type_script_setup_true_lang.mjs +2 -2
  99. package/es/components/user-occupy/{user-occupy.vue_vue_type_style_index_0_scoped_24cb9749_lang.css → user-occupy.vue_vue_type_style_index_0_scoped_9b136922_lang.css} +6 -6
  100. package/es/controller/index.d.ts +1 -0
  101. package/es/controller/index.mjs +1 -0
  102. package/es/controller/view/design-view.controller.d.ts +48 -0
  103. package/es/controller/view/design-view.controller.mjs +150 -0
  104. package/es/create-app-vue.mjs +2 -0
  105. package/es/editor/content-tag-style/content-tag-style.css +164 -0
  106. package/es/editor/content-tag-style/content-tag-style.d.ts +112 -0
  107. package/es/editor/content-tag-style/content-tag-style.mjs +80 -0
  108. package/es/editor/content-tag-style/index.d.ts +8 -0
  109. package/es/editor/content-tag-style/index.mjs +11 -0
  110. package/es/editor/field-info-editor/field-info-editor.css +125 -0
  111. package/es/editor/field-info-editor/field-info-editor.d.ts +111 -0
  112. package/es/editor/field-info-editor/field-info-editor.mjs +38 -0
  113. package/es/editor/field-info-editor/index.d.ts +8 -0
  114. package/es/editor/field-info-editor/index.mjs +9 -0
  115. package/es/editor/index.d.ts +5 -0
  116. package/es/editor/index.mjs +19 -0
  117. package/es/editor/model-field-select/index.d.ts +8 -0
  118. package/es/editor/model-field-select/index.mjs +9 -0
  119. package/es/editor/model-field-select/model-field-select.css +148 -0
  120. package/es/editor/model-field-select/model-field-select.d.ts +42 -0
  121. package/es/editor/model-field-select/model-field-select.mjs +217 -0
  122. package/es/editor/style-border/index.d.ts +4 -0
  123. package/es/editor/style-border/index.mjs +11 -0
  124. package/es/editor/style-border/style-border.d.ts +35 -0
  125. package/es/editor/style-border/style-border.mjs +38 -0
  126. package/es/editor/style-font/index.d.ts +4 -0
  127. package/es/editor/style-font/index.mjs +11 -0
  128. package/es/editor/style-font/style-font.css +86 -0
  129. package/es/editor/style-font/style-font.d.ts +35 -0
  130. package/es/editor/style-font/style-font.mjs +36 -0
  131. package/es/editor/style-position/index.d.ts +4 -0
  132. package/es/editor/style-position/index.mjs +11 -0
  133. package/es/editor/style-position/style-position.d.ts +35 -0
  134. package/es/editor/style-position/style-position.mjs +35 -0
  135. package/es/editor/style-spacing/index.d.ts +4 -0
  136. package/es/editor/style-spacing/index.mjs +11 -0
  137. package/es/editor/style-spacing/style-spacing.d.ts +34 -0
  138. package/es/editor/style-spacing/style-spacing.mjs +60 -0
  139. package/es/hooks/design-view/designer/useDesignSave.mjs +3 -1
  140. package/es/hooks/index.d.ts +2 -1
  141. package/es/hooks/index.mjs +3 -2
  142. package/es/hooks/use-design-view-controller/use-design-view-controller.d.ts +11 -0
  143. package/es/hooks/use-design-view-controller/use-design-view-controller.mjs +31 -0
  144. package/es/index.d.ts +5 -2
  145. package/es/index.mjs +23 -8
  146. package/es/interface/controller/i-design-view.controller.d.ts +3 -5
  147. package/es/interface/form-editor/child-list-editor/child-list-editor.d.ts +114 -0
  148. package/es/interface/form-editor/index.d.ts +9 -0
  149. package/es/interface/form-editor/style-border/i-style-border.controller.d.ts +11 -0
  150. package/es/interface/form-editor/style-border/i-style-border.d.ts +22 -0
  151. package/es/interface/form-editor/style-font/i-style-font.controller.d.ts +11 -0
  152. package/es/interface/form-editor/style-font/i-style-font.d.ts +13 -0
  153. package/es/interface/form-editor/style-position/i-style-position.controller.d.ts +11 -0
  154. package/es/interface/form-editor/style-position/i-style-position.d.ts +13 -0
  155. package/es/interface/form-editor/style-spacing/i-style-spacing.controller.d.ts +11 -0
  156. package/es/interface/form-editor/style-spacing/i-style-spacing.d.ts +22 -0
  157. package/es/interface/index.d.ts +2 -0
  158. package/es/interface/provider/i-node-provider.d.ts +140 -0
  159. package/es/provider/design-editor-node/design-editor-node.provider.d.ts +41 -0
  160. package/es/provider/design-editor-node/design-editor-node.provider.mjs +57 -0
  161. package/es/provider/index.d.ts +2 -0
  162. package/es/provider/index.mjs +2 -0
  163. package/es/provider/node-base/node-base.provider.d.ts +25 -0
  164. package/es/provider/node-base/node-base.provider.mjs +34 -0
  165. package/es/register/index.d.ts +1 -0
  166. package/es/register/index.mjs +1 -0
  167. package/es/register/node/node.register.d.ts +113 -0
  168. package/es/register/node/node.register.mjs +141 -0
  169. package/es/store/index.d.ts +1 -0
  170. package/es/store/index.mjs +1 -0
  171. package/es/store/view/design-view.store.d.ts +12 -0
  172. package/es/store/view/design-view.store.mjs +327 -0
  173. package/es/utils/can-drop/can-drop.d.ts +12 -0
  174. package/es/utils/can-drop/can-drop.mjs +48 -0
  175. package/es/utils/design-plugin-pkg-util/design-plugin-pkg-util.d.ts +1 -1
  176. package/es/utils/design-plugin-pkg-util/design-plugin-pkg-util.mjs +29 -1
  177. package/es/utils/index.d.ts +1 -0
  178. package/es/utils/index.mjs +1 -0
  179. package/package.json +12 -11
  180. package/es/components/field-cascader/index.d.ts +0 -2
  181. package/es/components/field-cascader/index.mjs +0 -1
  182. package/es/components/field-cascader/src/FieldCascader.vue.d.ts +0 -87
  183. package/es/components/field-cascader/src/FieldCascader.vue.mjs +0 -6
  184. package/es/components/field-cascader/src/FieldCascader.vue_vue_type_script_setup_true_lang.mjs +0 -115
  185. package/es/components/field-cascader/src/FieldCascader.vue_vue_type_style_index_0_lang.css +0 -69
  186. package/es/components/field-cascader/src/SearchInput.vue.d.ts +0 -11
  187. package/es/components/field-cascader/src/SearchInput.vue.mjs +0 -7
  188. package/es/components/field-cascader/src/SearchInput.vue_vue_type_script_setup_true_lang.mjs +0 -38
  189. package/es/components/field-cascader/src/SearchInput.vue_vue_type_style_index_0_scoped_512c4b38_lang.css +0 -9
  190. package/es/components/field-cascader/src/hooks.d.ts +0 -129
  191. package/es/components/field-cascader/src/hooks.mjs +0 -163
  192. package/es/components/field-transfer/components/field-transfer-modal.vue_vue_type_style_index_0_scoped_0c9dd8a1_lang.css +0 -5
@@ -0,0 +1,36 @@
1
+ import './style-font.css';/* empty css */
2
+ import { useNamespace } from "@gct-paas/core";
3
+ import { createVNode, defineComponent, mergeProps, resolveComponent } from "vue";
4
+ import { useGctFormValue } from "@gct-paas/core-web";
5
+ //#region src/editor/style-font/style-font.tsx
6
+ /**
7
+ * 文本样式编辑器
8
+ */
9
+ var StyleFont = /* @__PURE__ */ defineComponent({
10
+ name: "StyleFont",
11
+ inheritAttrs: false,
12
+ props: {
13
+ itemModel: {
14
+ type: Object,
15
+ required: true
16
+ },
17
+ model: {
18
+ type: Object,
19
+ required: true
20
+ },
21
+ value: { type: Object }
22
+ },
23
+ emits: ["update:value"],
24
+ setup(props) {
25
+ const ns = useNamespace("style-font");
26
+ const val = useGctFormValue();
27
+ return () => {
28
+ return createVNode(resolveComponent("font-editor"), mergeProps({
29
+ "value": val.value,
30
+ "onUpdate:value": ($event) => val.value = $event
31
+ }, props.model.props || {}, { "class": [ns.b(), ns.is("readonly", props.model.readonly)] }), null);
32
+ };
33
+ }
34
+ });
35
+ //#endregion
36
+ export { StyleFont as default };
@@ -0,0 +1,4 @@
1
+ declare const _default: {
2
+ install(app: import('vue').App): void;
3
+ };
4
+ export default _default;
@@ -0,0 +1,11 @@
1
+ import { DesignEditorType } from "../../constant/design-editor-type.mjs";
2
+ import "../../constant/index.mjs";
3
+ import StylePosition from "./style-position.mjs";
4
+ import { widthEditorInstall } from "@gct-paas/core-web";
5
+ //#region src/editor/style-position/index.ts
6
+ var StylePositionProvider = class {
7
+ component = "style-position";
8
+ };
9
+ var style_position_default = widthEditorInstall(DesignEditorType.STYLE_POSITION, () => new StylePositionProvider(), StylePosition);
10
+ //#endregion
11
+ export { style_position_default as default };
@@ -0,0 +1,35 @@
1
+ import { PropType } from 'vue';
2
+ import { IStylePosition } from '../../interface';
3
+ import { IFormItem } from '@gct-paas/core-web';
4
+ import { IPosition } from '@gct-paas/core';
5
+ /**
6
+ * 定位编辑器
7
+ */
8
+ export declare const StylePosition: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
9
+ itemModel: {
10
+ type: PropType<IFormItem>;
11
+ required: true;
12
+ };
13
+ model: {
14
+ type: PropType<IStylePosition>;
15
+ required: true;
16
+ };
17
+ value: {
18
+ type: PropType<IPosition>;
19
+ };
20
+ }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, "update:value"[], "update:value", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
21
+ itemModel: {
22
+ type: PropType<IFormItem>;
23
+ required: true;
24
+ };
25
+ model: {
26
+ type: PropType<IStylePosition>;
27
+ required: true;
28
+ };
29
+ value: {
30
+ type: PropType<IPosition>;
31
+ };
32
+ }>> & Readonly<{
33
+ "onUpdate:value"?: ((...args: any[]) => any) | undefined;
34
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
35
+ export default StylePosition;
@@ -0,0 +1,35 @@
1
+ import { useNamespace } from "@gct-paas/core";
2
+ import { createVNode, defineComponent, mergeProps, resolveComponent } from "vue";
3
+ import { useGctFormValue } from "@gct-paas/core-web";
4
+ //#region src/editor/style-position/style-position.tsx
5
+ /**
6
+ * 定位编辑器
7
+ */
8
+ var StylePosition = /* @__PURE__ */ defineComponent({
9
+ name: "StylePosition",
10
+ inheritAttrs: false,
11
+ props: {
12
+ itemModel: {
13
+ type: Object,
14
+ required: true
15
+ },
16
+ model: {
17
+ type: Object,
18
+ required: true
19
+ },
20
+ value: { type: Object }
21
+ },
22
+ emits: ["update:value"],
23
+ setup(props) {
24
+ const ns = useNamespace("style-position");
25
+ const val = useGctFormValue();
26
+ return () => {
27
+ return createVNode(resolveComponent("position-editor"), mergeProps({
28
+ "value": val.value,
29
+ "onUpdate:value": ($event) => val.value = $event
30
+ }, props.model.props || {}, { "class": [ns.b(), ns.is("readonly", props.model.readonly)] }), null);
31
+ };
32
+ }
33
+ });
34
+ //#endregion
35
+ export { StylePosition as default };
@@ -0,0 +1,4 @@
1
+ declare const _default: {
2
+ install(app: import('vue').App): void;
3
+ };
4
+ export default _default;
@@ -0,0 +1,11 @@
1
+ import { DesignEditorType } from "../../constant/design-editor-type.mjs";
2
+ import "../../constant/index.mjs";
3
+ import StyleSpacing from "./style-spacing.mjs";
4
+ import { widthEditorInstall } from "@gct-paas/core-web";
5
+ //#region src/editor/style-spacing/index.ts
6
+ var StyleSpacingProvider = class {
7
+ component = "style-spacing";
8
+ };
9
+ var style_spacing_default = widthEditorInstall(DesignEditorType.STYLE_SPACING, () => new StyleSpacingProvider(), StyleSpacing);
10
+ //#endregion
11
+ export { style_spacing_default as default };
@@ -0,0 +1,34 @@
1
+ import { PropType } from 'vue';
2
+ import { IStyleSpacing } from '../../interface';
3
+ import { IFormItem } from '@gct-paas/core-web';
4
+ /**
5
+ * 边距编辑器
6
+ */
7
+ export declare const StyleSpacing: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
8
+ itemModel: {
9
+ type: PropType<IFormItem>;
10
+ required: true;
11
+ };
12
+ model: {
13
+ type: PropType<IStyleSpacing>;
14
+ required: true;
15
+ };
16
+ value: {
17
+ type: StringConstructor;
18
+ };
19
+ }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, "update:value"[], "update:value", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
20
+ itemModel: {
21
+ type: PropType<IFormItem>;
22
+ required: true;
23
+ };
24
+ model: {
25
+ type: PropType<IStyleSpacing>;
26
+ required: true;
27
+ };
28
+ value: {
29
+ type: StringConstructor;
30
+ };
31
+ }>> & Readonly<{
32
+ "onUpdate:value"?: ((...args: any[]) => any) | undefined;
33
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
34
+ export default StyleSpacing;
@@ -0,0 +1,60 @@
1
+ import { useNamespace } from "@gct-paas/core";
2
+ import { computed, createVNode, defineComponent, mergeProps, resolveComponent } from "vue";
3
+ import { useGctFormValue } from "@gct-paas/core-web";
4
+ //#region src/editor/style-spacing/style-spacing.tsx
5
+ /**
6
+ * 边距编辑器
7
+ */
8
+ var StyleSpacing = /* @__PURE__ */ defineComponent({
9
+ name: "StyleSpacing",
10
+ inheritAttrs: false,
11
+ props: {
12
+ itemModel: {
13
+ type: Object,
14
+ required: true
15
+ },
16
+ model: {
17
+ type: Object,
18
+ required: true
19
+ },
20
+ value: { type: String }
21
+ },
22
+ emits: ["update:value"],
23
+ setup(props) {
24
+ const ns = useNamespace("style-spacing");
25
+ const val = useGctFormValue();
26
+ const padding = computed({
27
+ get() {
28
+ return val.value?.[1];
29
+ },
30
+ set(v) {
31
+ const newVal = val.value ? [...val.value] : [];
32
+ newVal[1] = v;
33
+ val.value = newVal;
34
+ }
35
+ });
36
+ const margin = computed({
37
+ get() {
38
+ return val.value?.[0];
39
+ },
40
+ set(v) {
41
+ const newVal = val.value ? [...val.value] : [];
42
+ newVal[0] = v;
43
+ val.value = newVal;
44
+ }
45
+ });
46
+ return () => {
47
+ return createVNode(resolveComponent("spacing-editor"), mergeProps({
48
+ "padding": padding.value,
49
+ "onUpdate:padding": ($event) => padding.value = $event,
50
+ "margin": margin.value,
51
+ "onUpdate:margin": ($event) => margin.value = $event
52
+ }, props.model.props || {}, {
53
+ "showArea": props.model.showArea,
54
+ "class": [ns.b(), ns.is("readonly", props.model.readonly)]
55
+ }), null);
56
+ };
57
+ }
58
+ });
59
+ //#endregion
60
+ export { StyleSpacing as default };
@@ -38,7 +38,9 @@ function useDesignSave() {
38
38
  const widget = widgets[i];
39
39
  const { type, props } = widget;
40
40
  const configs = widgetInfo.value.propEditors[type];
41
- const models = configs && isArray(configs) ? configs : configs(widgets, parents);
41
+ const models = [];
42
+ if (configs) if (isArray(configs)) models.push(...configs);
43
+ else models.push(...configs(widgets, parents));
42
44
  for (let j = 0; j < models.length; j++) {
43
45
  const model = models[j];
44
46
  if (model?.required === true) {
@@ -20,7 +20,8 @@ export * from './design-view/layout/useToolkit';
20
20
  export * from './design-view/utils/field-schema.util';
21
21
  export * from './develop/useCacheHistory';
22
22
  export * from './develop/useKeyParser';
23
+ export * from './use-model-field/use-model-field';
24
+ export * from './use-design-view-controller/use-design-view-controller';
23
25
  export * from './widgets/useAsyncFields';
24
26
  export * from './widgets/useFileAttrsHooks';
25
- export * from './use-model-field/use-model-field';
26
27
  export { DesignViewHooks } from './designer.hooks';
@@ -22,7 +22,8 @@ import "./design-view/editor/useStyleEditor.mjs";
22
22
  import "./design-view/editor/useStyle.mjs";
23
23
  import "./design-view/utils/field-schema.util.mjs";
24
24
  import "./develop/useKeyParser.mjs";
25
- import "./widgets/useAsyncFields.mjs";
26
- import "./widgets/useFileAttrsHooks.mjs";
27
25
  import "./use-model-field/use-model-field.mjs";
28
26
  import "./designer.hooks.mjs";
27
+ import "./use-design-view-controller/use-design-view-controller.mjs";
28
+ import "./widgets/useAsyncFields.mjs";
29
+ import "./widgets/useFileAttrsHooks.mjs";
@@ -0,0 +1,11 @@
1
+ import { IDesignViewController } from '../../interface';
2
+ /**
3
+ * 获取设计界面控制器
4
+ *
5
+ * @author zhanghanrui
6
+ * @date 2024-07-08 11:07:59
7
+ * @export
8
+ * @param {() => IDesignViewController} [fn]
9
+ * @return {*} {IDesignViewController}
10
+ */
11
+ export declare function useDesignViewController(fn?: () => IDesignViewController): IDesignViewController;
@@ -0,0 +1,31 @@
1
+ import { ControllerType } from "../../constant/index.mjs";
2
+ import { DesignViewController } from "../../controller/view/design-view.controller.mjs";
3
+ import "../../controller/index.mjs";
4
+ import { inject, onMounted, onUnmounted, provide } from "vue";
5
+ //#region src/hooks/use-design-view-controller/use-design-view-controller.ts
6
+ /**
7
+ * 获取设计界面控制器
8
+ *
9
+ * @author zhanghanrui
10
+ * @date 2024-07-08 11:07:59
11
+ * @export
12
+ * @param {() => IDesignViewController} [fn]
13
+ * @return {*} {IDesignViewController}
14
+ */
15
+ function useDesignViewController(fn) {
16
+ let c = inject(ControllerType.DESIGN_VIEW);
17
+ if (!c) {
18
+ if (fn) c = fn();
19
+ else c = new DesignViewController();
20
+ provide(ControllerType.DESIGN_VIEW, c);
21
+ onMounted(() => {
22
+ c.mounted();
23
+ });
24
+ onUnmounted(() => {
25
+ c.unmounted();
26
+ });
27
+ }
28
+ return c;
29
+ }
30
+ //#endregion
31
+ export { useDesignViewController };
package/es/index.d.ts CHANGED
@@ -1,11 +1,14 @@
1
1
  export * from './components';
2
- export * from './interface';
3
2
  export * from './constant';
3
+ export * from './controller';
4
4
  export * from './data';
5
5
  export * from './hooks';
6
+ export * from './interface';
6
7
  export * from './props';
8
+ export * from './provider';
7
9
  export * from './register';
8
- export * from './utils';
9
10
  export * from './schema';
11
+ export * from './store';
12
+ export * from './utils';
10
13
  export { designCreateAppVue } from './create-app-vue';
11
14
  export { designSetupApp } from './setup-app';
package/es/index.mjs CHANGED
@@ -3,12 +3,9 @@ import { DesignEditorType } from "./constant/design-editor-type.mjs";
3
3
  import { CategoryEnum, MenuClickEvent, ModelTypeEnum, PageTypeEnum, ProcessTypeEnum, ScriptTypeEnum } from "./constant/page-designer.mjs";
4
4
  import { ControllerType, DesignItemActionTag, DesignItemAttribute, DesignNodePrefix, DesignNodeType, DesignViewPrefix, InsertNodeMode, MaterialGroup } from "./constant/index.mjs";
5
5
  import { MaterialRegister } from "./register/material/material.register.mjs";
6
+ import { NodeRegister } from "./register/node/node.register.mjs";
6
7
  import "./register/index.mjs";
7
- import { DesignSaveTip } from "./components/design-save-tip/design-save-tip.mjs";
8
- import { DesignStepCheck } from "./components/design-step-check/design-step-check.mjs";
9
- import { ModalNameEditor } from "./components/modal-name-editor/modal-name-editor.mjs";
10
- import { DesignViewLayout } from "./components/design-view-layout/design-view-layout.mjs";
11
- import FieldCascader_default from "./components/field-cascader/src/FieldCascader.vue.mjs";
8
+ import { isCanCrop } from "./utils/can-drop/can-drop.mjs";
12
9
  import { designInterceptors } from "./utils/design-interceptors/design-interceptors.mjs";
13
10
  import { designRegister, platform } from "./utils/design-view/index.mjs";
14
11
  import { asyncIdentify } from "./utils/expression/index.mjs";
@@ -65,21 +62,39 @@ import { styleEditorProps, useStyleEditor } from "./hooks/design-view/editor/use
65
62
  import { propsToStyle, schemaToStyle, useStyle } from "./hooks/design-view/editor/useStyle.mjs";
66
63
  import { FieldSchema, initFieldWidgetRuntime } from "./hooks/design-view/utils/field-schema.util.mjs";
67
64
  import { useKeyParser } from "./hooks/develop/useKeyParser.mjs";
68
- import { useAsyncFieldConfig, useAsyncOperateField } from "./hooks/widgets/useAsyncFields.mjs";
69
- import { useAsyncFileAttrs } from "./hooks/widgets/useFileAttrsHooks.mjs";
70
65
  import { useModelField } from "./hooks/use-model-field/use-model-field.mjs";
66
+ import { useDesignViewStore } from "./store/view/design-view.store.mjs";
67
+ import "./store/index.mjs";
71
68
  import { DesignViewHooks } from "./hooks/designer.hooks.mjs";
69
+ import { DesignViewController } from "./controller/view/design-view.controller.mjs";
70
+ import "./controller/index.mjs";
71
+ import { useDesignViewController } from "./hooks/use-design-view-controller/use-design-view-controller.mjs";
72
+ import { useAsyncFieldConfig, useAsyncOperateField } from "./hooks/widgets/useAsyncFields.mjs";
73
+ import { useAsyncFileAttrs } from "./hooks/widgets/useFileAttrsHooks.mjs";
72
74
  import "./hooks/index.mjs";
75
+ import DesignContent from "./components/design/design-content/design-content.mjs";
76
+ import { DesignItemPreview } from "./components/design/design-item-preview/design-item-preview.mjs";
77
+ import { MaterialContent } from "./components/material/material-content/material-content.mjs";
78
+ import { PanelContent } from "./components/panel/panel-content/panel-content.mjs";
79
+ import { DesignSaveTip } from "./components/design-save-tip/design-save-tip.mjs";
80
+ import { DesignStepCheck } from "./components/design-step-check/design-step-check.mjs";
81
+ import { ModalNameEditor } from "./components/modal-name-editor/modal-name-editor.mjs";
82
+ import { DesignViewLayout } from "./components/design-view-layout/design-view-layout.mjs";
83
+ import FieldCascader_default from "./components/field-transfer/components/Cascader/FieldCascader.mjs";
73
84
  import { useFieldTransfer } from "./components/field-transfer/useFieldTransfer.mjs";
74
85
  import { useUserOccupy } from "./components/user-occupy/useUserOccupy.mjs";
75
86
  import user_lock_default from "./components/user-occupy/user-lock.vue.mjs";
76
87
  import user_occupy_default from "./components/user-occupy/user-occupy.vue.mjs";
88
+ import multi_field_display_default from "./components/multi-field/multi-field-display.vue.mjs";
77
89
  import "./components/index.mjs";
78
90
  import { DesignNode } from "./data/design-node/design-node.mjs";
79
91
  import { DesignContainerNode } from "./data/design-container-node/design-container-node.mjs";
80
92
  import { DesignEditorNode } from "./data/design-editor-node/design-editor-node.mjs";
81
93
  import "./data/index.mjs";
82
94
  import { nodeContainerProps, nodeEditorProps, nodeProps } from "./props/index.mjs";
95
+ import { NodeBaseProvider } from "./provider/node-base/node-base.provider.mjs";
96
+ import { DesignEditorNodeProvider } from "./provider/design-editor-node/design-editor-node.provider.mjs";
97
+ import "./provider/index.mjs";
83
98
  import { designCreateAppVue } from "./create-app-vue.mjs";
84
99
  import { designSetupApp } from "./setup-app.mjs";
85
100
  //#region src/index.ts
@@ -93,4 +108,4 @@ function onInit() {
93
108
  }
94
109
  onInit();
95
110
  //#endregion
96
- export { BaseDate, BaseSearch, CategoryEnum, ControllerType, DesignContainerNode, DesignEditorNode, DesignEditorType, DesignItemActionTag, DesignItemAttribute, DesignNode, DesignNodePrefix, DesignNodeType, DesignPluginPgkUtil, DesignSaveTip, DesignStepCheck, DesignViewHooks, DesignViewLayout, DesignViewPrefix, DesignerRegister, FieldCascader_default as FieldCascader, FieldOverrideUtil, FieldSchema, InsertNodeMode, MaterialGroup, MaterialRegister, MenuClickEvent, ModalNameEditor, ModelTypeEnum, NotMask, PageTypeEnum, ProcessTypeEnum, SCREditorUtils, ScriptTypeEnum, user_lock_default as UserLock, user_occupy_default as UserOccupy, asyncIdentify, baseBtnEditor, baseBtnProp, basicAttrsUtils, basicFieldEditor, beginDrag, BTN_TYPE_COLOR as btnTypeColor, buildRunJs, buildRuntimeJson, buttonEditor, buttonProps, buttonStyleEditor, changeCmpData, commonStyle, createWidgetByType, createWidgetProvider, createdSearchField, currentPanel, customMenu, deptFilter, designCreateAppVue, designInterceptors, designRegister, designSetupApp, destroyOccupyTimer, deviceEvent, displayEditor, displayProps, explainEditor, findAllChildrenTypes, fixedAlignEditor, flatten, formItemProps, formulaFilter, getAutofillEditor, getBindCmpTypeEditor, getInputAttrEditor, getSearchOptions, hiddenButtonProps, initFieldWidgetRuntime, initMethodMap, isModified, loadPageInfo, loadPageOccupyInfo, loading, lockPage, methodMap, modal_exports as modalCfg, modalDesignId, modalDesignState, modalInfo, multiFieldEditor, newKeyTag, noMore, nodeContainerProps, nodeEditorProps, nodeProps, notNeedPxStyle, occupyPage, onWidgetInfoInit, openFormulaEditorByDesign, pageDesignHistoryList, pageInfo, pageJson, pageJsonSnapshot, pageNo, pageOccupyInfo, pagePermissions, permissionEditor, placeholderEditor, platform, pluginConfigs, PRESET_COLOR as presetColor, propEditorProps, propsToStyle, regRoot, regexEditor, rgba2hex, schemaToStyle, setupOverride, shadeColor, styleEditorProps, subTableModalId, subTableModalState, submitInHideEditor, togglePanel, transformField2Component, transformPageJson, unlockAvailable, uploadDraggerEditor, useAsyncFieldConfig, useAsyncFileAttrs, useAsyncOperateField, useCacheHistory, useCacheHistoryInner, useDesignCache, useDesignHistory, useDesignModal, useDesignPreview, useDesignSave, useDesigner, useDesignerController, useFieldTransfer, useGlobal, useKeyParser, useModelField, usePage, usePageOccupy, usePropEditor, useScope, useSelectedWidget, useStyle, useStyleEditor, useToolkit, useUserOccupy, useWidget, useWidgetQuery, useWidgetRegistry, validatorEditor, wfNodesModalId, wfNodesModalState, widgetInfo, widgetProps, widgetWrapperProps, workflowModalId, workflowModalState };
111
+ export { BaseDate, BaseSearch, CategoryEnum, ControllerType, DesignContainerNode, DesignContent, DesignEditorNode, DesignEditorNodeProvider, DesignEditorType, DesignItemActionTag, DesignItemAttribute, DesignItemPreview, DesignNode, DesignNodePrefix, DesignNodeType, DesignPluginPgkUtil, DesignSaveTip, DesignStepCheck, DesignViewController, DesignViewHooks, DesignViewLayout, DesignViewPrefix, DesignerRegister, FieldCascader_default as FieldCascader, FieldOverrideUtil, FieldSchema, InsertNodeMode, MaterialContent, MaterialGroup, MaterialRegister, MenuClickEvent, ModalNameEditor, ModelTypeEnum, multi_field_display_default as MultiFieldDisplay, NodeBaseProvider, NodeRegister, NotMask, PageTypeEnum, PanelContent, ProcessTypeEnum, SCREditorUtils, ScriptTypeEnum, user_lock_default as UserLock, user_occupy_default as UserOccupy, asyncIdentify, baseBtnEditor, baseBtnProp, basicAttrsUtils, basicFieldEditor, beginDrag, BTN_TYPE_COLOR as btnTypeColor, buildRunJs, buildRuntimeJson, buttonEditor, buttonProps, buttonStyleEditor, changeCmpData, commonStyle, createWidgetByType, createWidgetProvider, createdSearchField, currentPanel, customMenu, deptFilter, designCreateAppVue, designInterceptors, designRegister, designSetupApp, destroyOccupyTimer, deviceEvent, displayEditor, displayProps, explainEditor, findAllChildrenTypes, fixedAlignEditor, flatten, formItemProps, formulaFilter, getAutofillEditor, getBindCmpTypeEditor, getInputAttrEditor, getSearchOptions, hiddenButtonProps, initFieldWidgetRuntime, initMethodMap, isCanCrop, isModified, loadPageInfo, loadPageOccupyInfo, loading, lockPage, methodMap, modal_exports as modalCfg, modalDesignId, modalDesignState, modalInfo, multiFieldEditor, newKeyTag, noMore, nodeContainerProps, nodeEditorProps, nodeProps, notNeedPxStyle, occupyPage, onWidgetInfoInit, openFormulaEditorByDesign, pageDesignHistoryList, pageInfo, pageJson, pageJsonSnapshot, pageNo, pageOccupyInfo, pagePermissions, permissionEditor, placeholderEditor, platform, pluginConfigs, PRESET_COLOR as presetColor, propEditorProps, propsToStyle, regRoot, regexEditor, rgba2hex, schemaToStyle, setupOverride, shadeColor, styleEditorProps, subTableModalId, subTableModalState, submitInHideEditor, togglePanel, transformField2Component, transformPageJson, unlockAvailable, uploadDraggerEditor, useAsyncFieldConfig, useAsyncFileAttrs, useAsyncOperateField, useCacheHistory, useCacheHistoryInner, useDesignCache, useDesignHistory, useDesignModal, useDesignPreview, useDesignSave, useDesignViewController, useDesignViewStore, useDesigner, useDesignerController, useFieldTransfer, useGlobal, useKeyParser, useModelField, usePage, usePageOccupy, usePropEditor, useScope, useSelectedWidget, useStyle, useStyleEditor, useToolkit, useUserOccupy, useWidget, useWidgetQuery, useWidgetRegistry, validatorEditor, wfNodesModalId, wfNodesModalState, widgetInfo, widgetProps, widgetWrapperProps, workflowModalId, workflowModalState };
@@ -1,8 +1,6 @@
1
- import { Store } from 'pinia';
2
- import { IDesignViewState } from '../state/i-design-view.state';
3
- import { IDesignViewActions } from '../actions/i-design-view.actions';
4
1
  import { DesignViewHooks } from '../../hooks/designer.hooks';
5
2
  import { IDesignNode } from '@gct-paas/schema';
3
+ import { IDesignViewStore } from '../../store';
6
4
  /**
7
5
  * 设计界面控制器
8
6
  *
@@ -17,9 +15,9 @@ export interface IDesignViewController {
17
15
  *
18
16
  * @author zhanghanrui
19
17
  * @date 2024-07-05 14:07:20
20
- * @type {Store<string, IDesignViewState, {}, IDesignViewActions>}
18
+ * @type {IDesignViewStore}
21
19
  */
22
- readonly store: Store<string, IDesignViewState, object, IDesignViewActions>;
20
+ readonly store: IDesignViewStore;
23
21
  /**
24
22
  * 设计界面钩子
25
23
  *
@@ -0,0 +1,114 @@
1
+ import { IEditorBasic } from '@gct-paas/core-web';
2
+ import { DesignEditorType } from '../../../constant';
3
+ /**
4
+ * 子项编辑器
5
+ *
6
+ * @author zhanghanrui
7
+ * @date 2024-07-29 14:07:55
8
+ * @export
9
+ * @interface IChildListEditor
10
+ * @extends {IEditorBasic}
11
+ */
12
+ export interface IChildListEditor extends IEditorBasic {
13
+ readonly type: DesignEditorType.CHILD_LIST_EDITOR;
14
+ /**
15
+ * 标题
16
+ *
17
+ * @author zhanghanrui
18
+ * @date 2024-07-29 15:07:10
19
+ * @type {string}
20
+ */
21
+ title: string;
22
+ /**
23
+ * 默认激活的子数据标识
24
+ *
25
+ * @author zhanghanrui
26
+ * @date 2024-07-29 17:07:49
27
+ * @type {string}
28
+ */
29
+ defaultSelectChildKey?: string;
30
+ /**
31
+ * 编辑的子项,默认是 name
32
+ *
33
+ * @author zhanghanrui
34
+ * @date 2024-07-30 13:07:38
35
+ * @type {string}
36
+ */
37
+ childEditFieldKey?: string;
38
+ /**
39
+ * 是否可以新增
40
+ *
41
+ * @description 默认不可以新增
42
+ * @default true
43
+ * @author zhanghanrui
44
+ * @date 2024-07-29 14:07:21
45
+ * @type {boolean}
46
+ */
47
+ add?: boolean;
48
+ /**
49
+ * 是否允许拖拽排序
50
+ *
51
+ * @description 默认不启用拖拽排序
52
+ * @default false
53
+ * @author zhanghanrui
54
+ * @date 2024-07-29 15:07:20
55
+ * @type {boolean}
56
+ */
57
+ sort?: boolean;
58
+ /**
59
+ * 是否可以删除项
60
+ *
61
+ * @description 默认不启用删除
62
+ * @default true
63
+ * @author zhanghanrui
64
+ * @date 2024-07-29 15:07:19
65
+ * @type {boolean}
66
+ */
67
+ delete?: boolean;
68
+ /**
69
+ * 默认的编辑器
70
+ *
71
+ * @description 默认使用文本编辑器
72
+ * @default 'text'
73
+ * @author zhanghanrui
74
+ * @date 2024-07-29 15:07:31
75
+ * @type {('i18n' | 'text' | 'number')}
76
+ */
77
+ editorType?: 'i18n' | 'text' | 'number';
78
+ /**
79
+ * 编辑器属性
80
+ *
81
+ * @author zhanghanrui
82
+ * @date 2024-08-01 17:08:26
83
+ * @type {IParams}
84
+ */
85
+ editorProps?: IParams;
86
+ /**
87
+ * 是否允许选中项
88
+ *
89
+ * @description 默认不可以选择
90
+ * @default false
91
+ * @author zhanghanrui
92
+ * @date 2024-07-29 15:07:57
93
+ * @type {boolean}
94
+ */
95
+ select?: boolean;
96
+ /**
97
+ * 显示标题
98
+ *
99
+ * @description 默认不显示标题
100
+ * @default false
101
+ * @author zhanghanrui
102
+ * @date 2024-07-30 13:07:14
103
+ * @type {boolean}
104
+ */
105
+ showLabel?: boolean;
106
+ /**
107
+ * 子项类型
108
+ *
109
+ * @author zhanghanrui
110
+ * @date 2024-07-29 15:07:00
111
+ * @type {string}
112
+ */
113
+ childDesignType: string;
114
+ }
@@ -0,0 +1,9 @@
1
+ export type { IChildListEditor } from './child-list-editor/child-list-editor';
2
+ export type { IStyleBorder } from './style-border/i-style-border';
3
+ export type { IStyleBorderController } from './style-border/i-style-border.controller';
4
+ export type { IStyleSpacing } from './style-spacing/i-style-spacing';
5
+ export type { IStyleSpacingController } from './style-spacing/i-style-spacing.controller';
6
+ export type { IStyleFont } from './style-font/i-style-font';
7
+ export type { IStyleFontController } from './style-font/i-style-font.controller';
8
+ export type { IStylePosition } from './style-position/i-style-position';
9
+ export type { IStylePositionController } from './style-position/i-style-position.controller';
@@ -0,0 +1,11 @@
1
+ import { IEditorController } from '@gct-paas/core-web';
2
+ import { IStyleBorder } from './i-style-border';
3
+ /**
4
+ * 边框编辑器控制器
5
+ * @author lingxiaoming
6
+ * @date 2024-07-17 04:35:50
7
+ * @export
8
+ * @interface IStyleBorderController
9
+ * @extends {IEditorController<IStyleBorder>}
10
+ */
11
+ export type IStyleBorderController = IEditorController<IStyleBorder>;
@@ -0,0 +1,22 @@
1
+ import { IEditorBasic } from '@gct-paas/core-web';
2
+ import { DesignEditorType } from '../../../constant';
3
+ /**
4
+ * 边框编辑器模型
5
+ * @author lingxiaoming
6
+ * @date 2024-07-17 04:32:52
7
+ * @export
8
+ * @interface IStyleBorder
9
+ * @extends {IEditorBasic}
10
+ */
11
+ export interface IStyleBorder extends IEditorBasic {
12
+ readonly type: DesignEditorType.STYLE_BORDER;
13
+ /**
14
+ * 显示编辑区域(默认全显示)
15
+ * - radius 圆角
16
+ * - basics 边框线
17
+ * @author lingxiaoming
18
+ * @date 2024-07-17 06:10:19
19
+ * @type {('radius' | 'basics')[]}
20
+ */
21
+ showArea?: ('radius' | 'basics')[];
22
+ }
@@ -0,0 +1,11 @@
1
+ import { IEditorController } from '@gct-paas/core-web';
2
+ import { IStyleFont } from './i-style-font';
3
+ /**
4
+ * 文本样式编辑器控制器
5
+ * @author lingxiaoming
6
+ * @date 2024-07-17 04:35:50
7
+ * @export
8
+ * @interface IStyleFontController
9
+ * @extends {IEditorController<IStyleFont>}
10
+ */
11
+ export type IStyleFontController = IEditorController<IStyleFont>;
@@ -0,0 +1,13 @@
1
+ import { IEditorBasic } from '@gct-paas/core-web';
2
+ import { DesignEditorType } from '../../../constant';
3
+ /**
4
+ * 文本样式编辑器模型
5
+ * @author lingxiaoming
6
+ * @date 2024-07-17 04:32:52
7
+ * @export
8
+ * @interface IStyleFont
9
+ * @extends {IEditorBasic}
10
+ */
11
+ export interface IStyleFont extends IEditorBasic {
12
+ readonly type: DesignEditorType.STYLE_FONT;
13
+ }
@@ -0,0 +1,11 @@
1
+ import { IEditorController } from '@gct-paas/core-web';
2
+ import { IStylePosition } from './i-style-position';
3
+ /**
4
+ * 定位编辑器控制器
5
+ * @author lingxiaoming
6
+ * @date 2024-07-17 04:35:50
7
+ * @export
8
+ * @interface IStylePositionController
9
+ * @extends {IEditorController<IStylePosition>}
10
+ */
11
+ export type IStylePositionController = IEditorController<IStylePosition>;
@@ -0,0 +1,13 @@
1
+ import { IEditorBasic } from '@gct-paas/core-web';
2
+ import { DesignEditorType } from '../../../constant';
3
+ /**
4
+ * 定位编辑器模型
5
+ * @author lingxiaoming
6
+ * @date 2024-07-17 04:32:52
7
+ * @export
8
+ * @interface IStylePosition
9
+ * @extends {IEditorBasic}
10
+ */
11
+ export interface IStylePosition extends IEditorBasic {
12
+ readonly type: DesignEditorType.STYLE_POSITION;
13
+ }