cnhis-design-vue 3.1.17-beta.1 → 3.1.17-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/es/packages/form-config/index.d.ts +8282 -6776
  2. package/es/packages/form-config/src/FormConfig.js +23 -26
  3. package/es/packages/form-config/src/FormConfig.vue.d.ts +8283 -6777
  4. package/es/packages/form-config/src/components/FormConfigCreator.js +3 -3
  5. package/es/packages/form-config/src/components/FormConfigDragDisplay.js +42 -0
  6. package/es/packages/form-config/src/components/FormConfigDragDisplay.vue.d.ts +106 -0
  7. package/es/packages/form-config/src/components/FormConfigEdit.js +1 -1
  8. package/es/packages/form-config/src/components/FormConfigEdit.vue.d.ts +2 -0
  9. package/es/packages/form-config/src/components/index.d.ts +5 -0
  10. package/es/packages/form-config/src/components/index.js +6 -0
  11. package/es/packages/form-config/src/components/renderer/CloseButton.js +45 -0
  12. package/es/packages/form-config/src/components/renderer/CloseButton.vue.d.ts +1499 -0
  13. package/es/packages/form-config/src/components/renderer/ComplexNode.js +44 -0
  14. package/es/packages/form-config/src/components/renderer/ComplexNode.vue.d.ts +1641 -0
  15. package/es/packages/form-config/src/components/renderer/DefaultNode.js +59 -0
  16. package/es/packages/form-config/src/components/renderer/DefaultNode.vue.d.ts +3266 -0
  17. package/es/packages/form-config/src/components/renderer/index.d.ts +4 -0
  18. package/es/packages/form-config/src/components/renderer/index.js +3 -0
  19. package/es/packages/form-config/src/constants/index.d.ts +2 -0
  20. package/es/packages/form-config/src/constants/index.js +5 -2
  21. package/es/packages/form-config/src/hooks/index.d.ts +1 -1
  22. package/es/packages/form-config/src/hooks/index.js +1 -1
  23. package/es/packages/form-config/src/hooks/usePresetRenderer.d.ts +2 -2
  24. package/es/packages/form-config/src/hooks/usePresetRenderer.js +5 -84
  25. package/es/packages/form-config/src/hooks/{useSortable.d.ts → useSortalbeConfig.d.ts} +2 -2
  26. package/es/packages/form-config/src/hooks/{useSortable.js → useSortalbeConfig.js} +7 -11
  27. package/es/packages/form-config/src/types/index.d.ts +2 -1
  28. package/es/packages/form-config/src/utils/index.d.ts +6 -1
  29. package/es/packages/form-config/src/utils/index.js +20 -9
  30. package/es/packages/form-config/style/index.css +35 -20
  31. package/es/packages/form-render/src/FormRender.js +5 -7
  32. package/es/packages/form-render/src/hooks/useFieldListAdaptor.js +1 -2
  33. package/es/packages/form-render/src/hooks/useFormContext.js +1 -4
  34. package/es/packages/form-render/src/hooks/useFormItemDeps.d.ts +1 -0
  35. package/es/packages/form-render/src/hooks/useFormItemDeps.js +5 -2
  36. package/es/packages/form-render/src/utils/index.js +1 -1
  37. package/es/packages/form-render/src/utils/schema.d.ts +0 -1
  38. package/es/packages/form-render/src/utils/schema.js +1 -12
  39. package/es/packages/index.css +35 -20
  40. package/es/packages/shortcut-setter/src/ShortcutSetter.js +2 -1
  41. package/package.json +1 -1
@@ -0,0 +1,4 @@
1
+ import CloseButton from './CloseButton.vue';
2
+ import ComplexNode from './ComplexNode.vue';
3
+ import DefaultNode from './DefaultNode.vue';
4
+ export { CloseButton, ComplexNode, DefaultNode };
@@ -0,0 +1,3 @@
1
+ export { default as CloseButton } from './CloseButton.js';
2
+ export { default as ComplexNode } from './ComplexNode.js';
3
+ export { default as DefaultNode } from './DefaultNode.js';
@@ -59,4 +59,6 @@ export declare function isNullOptionConfig(): {
59
59
  value: boolean;
60
60
  };
61
61
  };
62
+ export declare const InjectionFieldList: InjectionKey<Ref<FormConfigItem[]>>;
63
+ export declare const InjectionMaterialList: InjectionKey<Ref<FormConfigItem[]>>;
62
64
  export declare const InjectionActiveFieldItem: InjectionKey<Ref<UndefinedAble<FormConfigItem>>>;
@@ -24,7 +24,8 @@ function widgetWidthOptionConfig() {
24
24
  { text: "1/3", value: "ONE_THREE" },
25
25
  { text: "3/4", value: "THREE_FOUR" },
26
26
  { text: "1/4", value: "ONE_FOUR" },
27
- { text: "1/6", value: "ONE_SIX" }
27
+ { text: "1/6", value: "ONE_SIX" },
28
+ { text: "1/8", value: "ONE_EIGHT" }
28
29
  ]
29
30
  };
30
31
  }
@@ -52,6 +53,8 @@ function isNullOptionConfig() {
52
53
  close: { describe: "\u4E0D\u5FC5\u586B", value: false }
53
54
  };
54
55
  }
56
+ const InjectionFieldList = Symbol("InjectionFieldList");
57
+ const InjectionMaterialList = Symbol("InjectionMaterialList");
55
58
  const InjectionActiveFieldItem = Symbol("InjectionActiveFieldItem");
56
59
 
57
- export { EditAbleField, InjectionActiveFieldItem, WidgetTextMap, isEditOptionConfig, isNotFoldOptionConfig, isNullOptionConfig, isShowOptionConfig, widgetWidthOptionConfig };
60
+ export { EditAbleField, InjectionActiveFieldItem, InjectionFieldList, InjectionMaterialList, WidgetTextMap, isEditOptionConfig, isNotFoldOptionConfig, isNullOptionConfig, isShowOptionConfig, widgetWidthOptionConfig };
@@ -1,3 +1,3 @@
1
1
  export * from './usePresetRenderer';
2
- export * from './useSortable';
2
+ export * from './useSortalbeConfig';
3
3
  export * from './useConfigurationField';
@@ -1,3 +1,3 @@
1
1
  export { usePresetRenderer } from './usePresetRenderer.js';
2
- export { useSortable } from './useSortable.js';
2
+ export { useSortableConfig } from './useSortalbeConfig.js';
3
3
  export { useConfigurationField } from './useConfigurationField.js';
@@ -1,4 +1,4 @@
1
- import { FormConfigItem, FormConfigTextFormatter } from '../types';
2
- export declare function usePresetRenderer(textFormatter: FormConfigTextFormatter): {
1
+ import { FormConfigItem } from '../types';
2
+ export declare function usePresetRenderer(): {
3
3
  getRenderer: (fieldItem: FormConfigItem) => import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions> | import("vue").FunctionalComponent<{}, {}>;
4
4
  };
@@ -1,94 +1,15 @@
1
- import { defineComponent, computed, createVNode, mergeProps, inject } from 'vue';
2
1
  import { isString, isArray, isFunction } from 'lodash-es';
3
- import Draggable from 'vuedraggable';
4
- import { InjectionActiveFieldItem, WidgetTextMap } from '../../../../packages/form-config/src/constants';
5
- import { useSortable } from '../../../../packages/form-config/src/hooks/useSortable';
6
- import { layoutWidthEnum2Column } from '../../../../packages/form-config/src/utils';
7
- import { NEllipsis } from 'naive-ui';
2
+ import { computed } from 'vue';
3
+ import { DefaultNode, ComplexNode } from '../../../../packages/form-config/src/components';
8
4
 
9
- function usePresetRenderer(textFormatter) {
5
+ function usePresetRenderer() {
10
6
  const renderDefaultNode = {
11
7
  matcher: () => true,
12
- renderer({
13
- fieldItem
14
- }) {
15
- const currentActiveEditField = inject(InjectionActiveFieldItem);
16
- return createVNode("section", {
17
- "onClick": () => currentActiveEditField.value = fieldItem,
18
- "class": {
19
- "is-active": currentActiveEditField.value === fieldItem
20
- }
21
- }, [createVNode(NEllipsis, {
22
- "class": ["form-config__renderer--default", {
23
- "is-required": fieldItem.required,
24
- "is-disabled": fieldItem.editable === false
25
- }]
26
- }, {
27
- default: () => getDisplayText()
28
- })]);
29
- function getDisplayText() {
30
- const type = WidgetTextMap.get(fieldItem.type);
31
- return textFormatter(fieldItem, `${fieldItem.name}${type ? `(${type})` : ""}`);
32
- }
33
- }
8
+ renderer: DefaultNode
34
9
  };
35
10
  const renderComplexNode = {
36
11
  matcher: ["COMPLEX", "COMBINATION"],
37
- renderer: defineComponent({
38
- props: {
39
- fieldItem: {
40
- type: Object,
41
- required: true
42
- }
43
- },
44
- setup(props) {
45
- function fieldFor(key) {
46
- return props.fieldItem[key];
47
- }
48
- const classList = computed(() => {
49
- return "form-config__renderer--complex form-config__renderer--complex--grid";
50
- });
51
- const style = computed(() => {
52
- return {
53
- "--item-column": layoutWidthEnum2Column(fieldFor("layoutWidthEnum"))
54
- };
55
- });
56
- function renderField(fieldItem) {
57
- const Renderer = getRenderer(fieldItem);
58
- return createVNode("div", {
59
- "class": "form-config__displayContentItem",
60
- "style": {
61
- "--item-column": layoutWidthEnum2Column(fieldItem.layoutWidthEnum)
62
- }
63
- }, [createVNode(Renderer, {
64
- "fieldItem": fieldItem
65
- }, null)]);
66
- }
67
- const childrenList = computed({
68
- get() {
69
- return fieldFor("children");
70
- },
71
- set(v) {
72
- props.fieldItem.children = v;
73
- }
74
- });
75
- const {
76
- commonConfig
77
- } = useSortable();
78
- const DraggableComponent = Draggable;
79
- return () => createVNode(DraggableComponent, mergeProps(commonConfig, {
80
- "class": classList.value,
81
- "style": style.value,
82
- "group": fieldFor("key"),
83
- "modelValue": childrenList.value,
84
- "onUpdate:modelValue": ($event) => childrenList.value = $event
85
- }), {
86
- item: ({
87
- element
88
- }) => renderField(element)
89
- });
90
- }
91
- })
12
+ renderer: ComplexNode
92
13
  };
93
14
  const rendererWithPreset = computed(() => {
94
15
  return [renderComplexNode, renderDefaultNode];
@@ -1,6 +1,6 @@
1
1
  import Sortable from 'sortablejs';
2
- export declare function useSortable(): {
3
- commonConfig: {
2
+ export declare function useSortableConfig(): {
3
+ getCommonConfig: () => {
4
4
  onMove: ({ to, from }: Sortable.SortableEvent) => void;
5
5
  onChoose: ({ target, item }: Sortable.SortableEvent) => void;
6
6
  onUnchoose: ({ from, to, target, item }: Sortable.SortableEvent) => void;
@@ -1,4 +1,4 @@
1
- function useSortable() {
1
+ function useSortableConfig() {
2
2
  let timer = null;
3
3
  function onChoose({ target, item }) {
4
4
  timer = setTimeout(() => {
@@ -15,17 +15,13 @@ function useSortable() {
15
15
  }
16
16
  let prevTo;
17
17
  function onMove({ to, from }) {
18
- if (to === from) {
19
- prevTo == null ? void 0 : prevTo.classList.remove("is-choosing-area");
20
- prevTo = null;
21
- } else {
22
- from.classList.remove("is-choosing-area");
23
- prevTo = to;
24
- }
18
+ prevTo == null ? void 0 : prevTo.classList.remove("is-choosing-area");
19
+ prevTo = to;
20
+ to !== from && from.classList.remove("is-choosing-area");
25
21
  to.classList.add("is-choosing-area");
26
22
  }
27
- const commonConfig = { onMove, onChoose, onUnchoose, tag: "section", animation: "150", "item-key": "key" };
28
- return { commonConfig };
23
+ const getCommonConfig = () => ({ onMove, onChoose, onUnchoose, tag: "section", animation: "150", "item-key": "key" });
24
+ return { getCommonConfig };
29
25
  }
30
26
 
31
- export { useSortable };
27
+ export { useSortableConfig };
@@ -8,7 +8,7 @@ export declare type FormConfigRenderer = {
8
8
  renderer: Component | FunctionalComponent;
9
9
  };
10
10
  export declare type FormConfigType = 'NEWLINE' | 'LINE_BAR' | 'OTHER' | string;
11
- export declare type FormConfigWidth = 'ALL_LINE' | 'HALF_LINE' | 'FIVE_SIX' | 'TWO_THREE' | 'ONE_THREE' | 'THREE_FOUR' | 'ONE_FOUR' | 'ONE_SIX';
11
+ export declare type FormConfigWidth = 'ALL_LINE' | 'HALF_LINE' | 'FIVE_SIX' | 'TWO_THREE' | 'ONE_THREE' | 'THREE_FOUR' | 'ONE_FOUR' | 'ONE_SIX' | 'ONE_EIGHT';
12
12
  export declare type FormConfigItem = {
13
13
  key: string;
14
14
  layoutWidthEnum: FormConfigWidth;
@@ -24,6 +24,7 @@ export declare type FormConfigItem = {
24
24
  notes: string;
25
25
  desc: string;
26
26
  children: FormConfigItem[];
27
+ __new: boolean;
27
28
  }>;
28
29
  export interface FormConfigTextFormatter {
29
30
  (fieldItem: FormConfigItem, parsedText: string): string;
@@ -1,2 +1,7 @@
1
- import { FormConfigWidth } from '../../../../../es/packages/form-config';
1
+ import { FormConfigItem, FormConfigWidth } from '../../../../../es/packages/form-config';
2
2
  export declare function layoutWidthEnum2Column(layoutWidthEnum: FormConfigWidth): number;
3
+ export declare function bindHover(fieldItem: FormConfigItem): {
4
+ onMouseenter: () => FormConfigItem;
5
+ onMouseleave: () => undefined;
6
+ 'is-hovering': boolean;
7
+ };
@@ -1,15 +1,26 @@
1
+ import { ref } from 'vue';
2
+
1
3
  function layoutWidthEnum2Column(layoutWidthEnum) {
2
4
  const transferMap = {
3
- ALL_LINE: 12,
4
- HALF_LINE: 6,
5
- FIVE_SIX: 10,
6
- TWO_THREE: 8,
7
- ONE_THREE: 4,
8
- THREE_FOUR: 9,
9
- ONE_FOUR: 3,
10
- ONE_SIX: 2
5
+ ALL_LINE: 24,
6
+ HALF_LINE: 12,
7
+ FIVE_SIX: 20,
8
+ TWO_THREE: 16,
9
+ ONE_THREE: 8,
10
+ THREE_FOUR: 18,
11
+ ONE_FOUR: 6,
12
+ ONE_SIX: 4,
13
+ ONE_EIGHT: 3
11
14
  };
12
15
  return transferMap[layoutWidthEnum] || 12;
13
16
  }
17
+ const hovering = ref();
18
+ function bindHover(fieldItem) {
19
+ return {
20
+ onMouseenter: () => hovering.value = fieldItem,
21
+ onMouseleave: () => hovering.value = void 0,
22
+ "is-hovering": hovering.value === fieldItem
23
+ };
24
+ }
14
25
 
15
- export { layoutWidthEnum2Column };
26
+ export { bindHover, layoutWidthEnum2Column };
@@ -7,7 +7,6 @@
7
7
  box-sizing: border-box;
8
8
  flex-shrink: 0;
9
9
  width: 200px;
10
- background: white;
11
10
  }
12
11
  .form-config__materialHeader {
13
12
  display: flex;
@@ -27,12 +26,7 @@
27
26
  gap: 8px;
28
27
  }
29
28
  .form-config__materialContentItem {
30
- display: flex;
31
- align-items: center;
32
- padding: 8px;
33
- border: 1px dashed #d9d9d9;
34
- box-sizing: border-box;
35
- background-color: #fafafa;
29
+ cursor: move;
36
30
  grid-column: span var(--item-column) / span var(--item-column);
37
31
  }
38
32
  .form-config__displayWrapper {
@@ -56,10 +50,9 @@
56
50
  overflow-y: auto;
57
51
  max-height: var(--max-height);
58
52
  height: fit-content;
59
- background: #eeeeee;
60
53
  display: grid !important;
61
- grid-template-columns: repeat(12, minmax(0px, 1fr));
62
- gap: 8px 16px;
54
+ grid-template-columns: repeat(24, minmax(0px, 1fr));
55
+ gap: 8px;
63
56
  }
64
57
  .form-config__displayContentItem {
65
58
  grid-column: span var(--item-column) / span var(--item-column);
@@ -70,7 +63,6 @@
70
63
  box-sizing: border-box;
71
64
  flex-shrink: 0;
72
65
  width: 240px;
73
- background: white;
74
66
  }
75
67
  .form-config__configHeader {
76
68
  display: flex;
@@ -85,32 +77,44 @@
85
77
  overflow-y: auto;
86
78
  max-height: var(--max-height);
87
79
  }
80
+ .form-config__renderer {
81
+ cursor: move;
82
+ width: 100%;
83
+ height: 100%;
84
+ justify-content: flex-start;
85
+ }
88
86
  .form-config__renderer--default {
87
+ width: 100%;
89
88
  display: flex;
90
89
  align-items: center;
91
90
  padding: 8px;
92
- border: 1px dashed #d9d9d9;
93
91
  box-sizing: border-box;
94
- background-color: #fafafa;
95
92
  user-select: none;
96
93
  position: relative;
97
- width: 100%;
98
94
  }
99
95
  .form-config__renderer--complex {
100
- border: 1px dashed lightblue;
96
+ border: 1px dashed skyblue;
97
+ border-radius: 8px;
101
98
  padding: 8px;
102
99
  }
100
+ .form-config__renderer--complexHeader {
101
+ display: flex;
102
+ justify-content: center;
103
+ padding: 8px;
104
+ margin-top: -8px;
105
+ position: relative;
106
+ }
103
107
  .form-config__renderer--complex--grid {
104
108
  display: grid !important;
105
- grid-template-columns: repeat(12, minmax(0px, 1fr));
106
- gap: 8px 16px;
109
+ grid-template-columns: repeat(24, minmax(0px, 1fr));
110
+ gap: 8px;
107
111
  grid-column: span var(--item-column) / span var(--item-column);
108
112
  }
109
113
  .form-config__renderer--complex--flex {
110
114
  display: flex;
111
115
  }
112
116
  .form-config .is-disabled {
113
- background: #e5e5e5;
117
+ background: #e5e5e5 !important;
114
118
  }
115
119
  .form-config .is-required {
116
120
  padding-left: 16px !important;
@@ -122,11 +126,22 @@
122
126
  color: red;
123
127
  }
124
128
  .form-config .is-active {
125
- color: #5585f5;
129
+ color: #5585f5 !important;
126
130
  }
127
131
  .form-config .is-choosing {
128
132
  box-shadow: #5585f5 0 0 0 2px !important;
133
+ opacity: 0.7;
129
134
  }
130
135
  .form-config .is-choosing-area {
131
- background: #f0f7ff;
136
+ background: rgba(128, 128, 128, 0.1);
137
+ }
138
+ .form-config [is-hovering='true'] .form-config__renderer--closeButton {
139
+ visibility: visible;
140
+ }
141
+ .form-config .form-config__renderer--closeButton {
142
+ position: absolute;
143
+ visibility: hidden;
144
+ top: 50%;
145
+ transform: translateY(-50%);
146
+ right: 5px;
132
147
  }
@@ -1,4 +1,4 @@
1
- import { defineComponent, ref, computed, watch, openBlock, createBlock, unref, withCtx, createElementBlock, createVNode, isRef, Fragment, renderList, createCommentVNode, createElementVNode, normalizeStyle, renderSlot, toDisplayString, nextTick } from 'vue';
1
+ import { defineComponent, ref, computed, watch, openBlock, createBlock, unref, withCtx, createElementBlock, createVNode, isRef, Fragment, renderList, createCommentVNode, createElementVNode, normalizeStyle, toDisplayString, nextTick } from 'vue';
2
2
  import { createForm, onFieldValueChange, isField } from '@formily/core';
3
3
  import { FormProvider, FormConsumer } from '@formily/vue';
4
4
  import { isObject } from '@vue/shared';
@@ -183,9 +183,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
183
183
  }, [
184
184
  createVNode(unref(FormProvider), { form: unref(formModel) }, {
185
185
  default: withCtx(() => [
186
- renderSlot(_ctx.$slots, "default", { schemaFiled: unref(SchemaField) }, () => [
187
- createVNode(unref(SchemaField), { schema: unref(parsedSchema) }, null, 8, ["schema"])
188
- ]),
186
+ createVNode(unref(SchemaField), { schema: unref(parsedSchema) }, null, 8, ["schema"]),
189
187
  __props.consumer ? (openBlock(), createBlock(unref(FormConsumer), { key: 0 }, {
190
188
  default: withCtx(({ form }) => [
191
189
  createElementVNode("div", _hoisted_2, toDisplayString(JSON.stringify(form.values, null, 2)), 1)
@@ -193,14 +191,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
193
191
  _: 1
194
192
  })) : createCommentVNode("v-if", true)
195
193
  ]),
196
- _: 3
194
+ _: 1
197
195
  }, 8, ["form"])
198
196
  ], 36)
199
197
  ]),
200
- _: 3
198
+ _: 1
201
199
  }, 8, ["theme-overrides"])
202
200
  ]),
203
- _: 3
201
+ _: 1
204
202
  });
205
203
  };
206
204
  }
@@ -228,8 +228,7 @@ function useFieldListAdaptor(collector) {
228
228
  return fin;
229
229
  }, {});
230
230
  function bindIndex(schema, idx) {
231
- schema["x-index"] = idx;
232
- return schema;
231
+ return { ...schema, "x-index": idx };
233
232
  }
234
233
  function createFieldName(fieldItem) {
235
234
  if (fieldItem.suffixConfig) {
@@ -28,10 +28,7 @@ function useFormContext(props, formModel) {
28
28
  }
29
29
  }));
30
30
  const SchemaField = injectOrProvide(InjectionSchemaField, () => createSchemaField({
31
- components: {
32
- ...components,
33
- ...props.components
34
- },
31
+ components: { ...components, ...props.components },
35
32
  scope: Object.assign({}, usePresetScope(), props.scope)
36
33
  }).SchemaField);
37
34
  const businessCollector = useBusinessBinding().create(formModel, props.businessFormatter);
@@ -3,6 +3,7 @@ import { DependKeyType } from '../../../../../es/packages/form-render';
3
3
  export declare class FormItemDepsCollector {
4
4
  private readonly collector;
5
5
  setDeps(key: string, dependKeys: DependKeyType, callback: Func): void;
6
+ getDeps(dependKey: string): Map<string, Func<any[], any>> | undefined;
6
7
  trigger(dependKey: string, payload?: unknown): void;
7
8
  }
8
9
  export declare function useFormItemDeps(): {
@@ -12,9 +12,12 @@ class FormItemDepsCollector {
12
12
  this.collector.set(dependKey, map);
13
13
  });
14
14
  }
15
+ getDeps(dependKey) {
16
+ return this.collector.get(dependKey);
17
+ }
15
18
  trigger(dependKey, payload) {
16
- const map = this.collector.get(dependKey);
17
- map && map.forEach((cb) => isFunction(cb) && cb(payload));
19
+ var _a;
20
+ (_a = this.getDeps(dependKey)) == null ? void 0 : _a.forEach((cb) => isFunction(cb) && cb(payload));
18
21
  }
19
22
  }
20
23
  function useFormItemDeps() {
@@ -4,7 +4,7 @@ import { isObject } from '@vue/shared';
4
4
  import { isNumber, isString, isFunction } from 'lodash-es';
5
5
  export { isIdCard, isMobile, parseAge2Birthday, parseAge2FromContext, parseBirthday, parseIdCard, transformDateFormat } from './business.js';
6
6
  export { queryDecorator, queryInput } from './dom.js';
7
- export { assignUpdateValue, createLinebarId, createObjSchema, elementIdEscape, fieldKeyEscape, getParentLinebar, traverseDependKey, traverseFieldList, traverseSchema } from './schema.js';
7
+ export { assignUpdateValue, createLinebarId, createObjSchema, elementIdEscape, fieldKeyEscape, getParentLinebar, traverseDependKey, traverseSchema } from './schema.js';
8
8
 
9
9
  function formRenderLog(message, type = "log") {
10
10
  console[type](`[FormRender]: ${message}`);
@@ -13,7 +13,6 @@ export declare function getParentLinebar(key: string, fieldList: FieldItem[]): s
13
13
  export declare function assignUpdateValue(props: AnyObject, field: GeneralField): {
14
14
  [x: string]: any;
15
15
  };
16
- export declare function traverseFieldList(fieldList: FieldItem[], handler: (field: FieldItem) => void): void;
17
16
  export declare function createObjSchema(properties: Record<string, ISchema>): {
18
17
  type: string;
19
18
  properties: Record<string, import("@formily/json-schema/esm/types").Stringify<{
@@ -79,19 +79,8 @@ function assignUpdateValue(props, field) {
79
79
  }
80
80
  return _props;
81
81
  }
82
- function traverseFieldList(fieldList, handler) {
83
- function traverse(fieldList2) {
84
- if (!isArray(fieldList2))
85
- return;
86
- fieldList2.forEach((field) => {
87
- handler(field);
88
- traverse(field.properties);
89
- });
90
- }
91
- traverse(fieldList);
92
- }
93
82
  function createObjSchema(properties) {
94
83
  return { type: "object", properties };
95
84
  }
96
85
 
97
- export { assignUpdateValue, createLinebarId, createObjSchema, elementIdEscape, fieldKeyEscape, getParentLinebar, traverseDependKey, traverseFieldList, traverseSchema };
86
+ export { assignUpdateValue, createLinebarId, createObjSchema, elementIdEscape, fieldKeyEscape, getParentLinebar, traverseDependKey, traverseSchema };
@@ -3189,7 +3189,6 @@ body > .vxe-table--tooltip-wrapper {
3189
3189
  box-sizing: border-box;
3190
3190
  flex-shrink: 0;
3191
3191
  width: 200px;
3192
- background: white;
3193
3192
  }
3194
3193
  .form-config__materialHeader {
3195
3194
  display: flex;
@@ -3209,12 +3208,7 @@ body > .vxe-table--tooltip-wrapper {
3209
3208
  gap: 8px;
3210
3209
  }
3211
3210
  .form-config__materialContentItem {
3212
- display: flex;
3213
- align-items: center;
3214
- padding: 8px;
3215
- border: 1px dashed #d9d9d9;
3216
- box-sizing: border-box;
3217
- background-color: #fafafa;
3211
+ cursor: move;
3218
3212
  grid-column: span var(--item-column) / span var(--item-column);
3219
3213
  }
3220
3214
  .form-config__displayWrapper {
@@ -3238,10 +3232,9 @@ body > .vxe-table--tooltip-wrapper {
3238
3232
  overflow-y: auto;
3239
3233
  max-height: var(--max-height);
3240
3234
  height: fit-content;
3241
- background: #eeeeee;
3242
3235
  display: grid !important;
3243
- grid-template-columns: repeat(12, minmax(0px, 1fr));
3244
- gap: 8px 16px;
3236
+ grid-template-columns: repeat(24, minmax(0px, 1fr));
3237
+ gap: 8px;
3245
3238
  }
3246
3239
  .form-config__displayContentItem {
3247
3240
  grid-column: span var(--item-column) / span var(--item-column);
@@ -3252,7 +3245,6 @@ body > .vxe-table--tooltip-wrapper {
3252
3245
  box-sizing: border-box;
3253
3246
  flex-shrink: 0;
3254
3247
  width: 240px;
3255
- background: white;
3256
3248
  }
3257
3249
  .form-config__configHeader {
3258
3250
  display: flex;
@@ -3267,32 +3259,44 @@ body > .vxe-table--tooltip-wrapper {
3267
3259
  overflow-y: auto;
3268
3260
  max-height: var(--max-height);
3269
3261
  }
3262
+ .form-config__renderer {
3263
+ cursor: move;
3264
+ width: 100%;
3265
+ height: 100%;
3266
+ justify-content: flex-start;
3267
+ }
3270
3268
  .form-config__renderer--default {
3269
+ width: 100%;
3271
3270
  display: flex;
3272
3271
  align-items: center;
3273
3272
  padding: 8px;
3274
- border: 1px dashed #d9d9d9;
3275
3273
  box-sizing: border-box;
3276
- background-color: #fafafa;
3277
3274
  user-select: none;
3278
3275
  position: relative;
3279
- width: 100%;
3280
3276
  }
3281
3277
  .form-config__renderer--complex {
3282
- border: 1px dashed lightblue;
3278
+ border: 1px dashed skyblue;
3279
+ border-radius: 8px;
3283
3280
  padding: 8px;
3284
3281
  }
3282
+ .form-config__renderer--complexHeader {
3283
+ display: flex;
3284
+ justify-content: center;
3285
+ padding: 8px;
3286
+ margin-top: -8px;
3287
+ position: relative;
3288
+ }
3285
3289
  .form-config__renderer--complex--grid {
3286
3290
  display: grid !important;
3287
- grid-template-columns: repeat(12, minmax(0px, 1fr));
3288
- gap: 8px 16px;
3291
+ grid-template-columns: repeat(24, minmax(0px, 1fr));
3292
+ gap: 8px;
3289
3293
  grid-column: span var(--item-column) / span var(--item-column);
3290
3294
  }
3291
3295
  .form-config__renderer--complex--flex {
3292
3296
  display: flex;
3293
3297
  }
3294
3298
  .form-config .is-disabled {
3295
- background: #e5e5e5;
3299
+ background: #e5e5e5 !important;
3296
3300
  }
3297
3301
  .form-config .is-required {
3298
3302
  padding-left: 16px !important;
@@ -3304,11 +3308,22 @@ body > .vxe-table--tooltip-wrapper {
3304
3308
  color: red;
3305
3309
  }
3306
3310
  .form-config .is-active {
3307
- color: #5585f5;
3311
+ color: #5585f5 !important;
3308
3312
  }
3309
3313
  .form-config .is-choosing {
3310
3314
  box-shadow: #5585f5 0 0 0 2px !important;
3315
+ opacity: 0.7;
3311
3316
  }
3312
3317
  .form-config .is-choosing-area {
3313
- background: #f0f7ff;
3318
+ background: rgba(128, 128, 128, 0.1);
3319
+ }
3320
+ .form-config [is-hovering='true'] .form-config__renderer--closeButton {
3321
+ visibility: visible;
3322
+ }
3323
+ .form-config .form-config__renderer--closeButton {
3324
+ position: absolute;
3325
+ visibility: hidden;
3326
+ top: 50%;
3327
+ transform: translateY(-50%);
3328
+ right: 5px;
3314
3329
  }
@@ -44,7 +44,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
44
44
  placeholder: shortcut.placeholder,
45
45
  operation: shortcut.operation
46
46
  },
47
- elem_width: 12
47
+ elem_width: 6
48
48
  };
49
49
  });
50
50
  key.value++;
@@ -83,6 +83,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
83
83
  });
84
84
  return (_ctx, _cache) => {
85
85
  return openBlock(), createBlock(unref(FormRender), {
86
+ column: 12,
86
87
  key: key.value,
87
88
  "label-placement": "left",
88
89
  "field-list": fieldList.value,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "cnhis-design-vue",
3
3
  "private": false,
4
- "version": "3.1.17-beta.1",
4
+ "version": "3.1.17-beta.4",
5
5
  "license": "ISC",
6
6
  "module": "es/packages/index.js",
7
7
  "main": "es/packages/index.js",