cnhis-design-vue 3.1.10 → 3.1.11-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/.versionrc.json +32 -0
  2. package/es/packages/big-table/src/BigTable.vue.d.ts +16 -1
  3. package/es/packages/big-table/src/BigTable.vue_vue_type_script_setup_true_lang.js +2 -4
  4. package/es/packages/big-table/src/components/edit-form/edit-select.js +3 -1
  5. package/es/packages/fabric-chart/index.d.ts +1 -32
  6. package/es/packages/fabric-chart/src/FabricChart.vue.d.ts +1 -33
  7. package/es/packages/fabric-chart/src/FabricChart.vue_vue_type_script_setup_true_lang.js +2 -131
  8. package/es/packages/fabric-chart/src/hooks/useCenter.d.ts +0 -4
  9. package/es/packages/fabric-chart/src/hooks/useCenter.js +0 -6
  10. package/es/packages/fabric-chart/src/hooks/useDraw.d.ts +0 -42
  11. package/es/packages/fabric-chart/src/hooks/useDraw.js +0 -75
  12. package/es/packages/fabric-chart/src/hooks/useGrid.d.ts +0 -4
  13. package/es/packages/fabric-chart/src/hooks/useGrid.js +0 -44
  14. package/es/packages/fabric-chart/src/hooks/useLeft.d.ts +0 -4
  15. package/es/packages/fabric-chart/src/hooks/useLeft.js +0 -65
  16. package/es/packages/fabric-chart/src/hooks/useRight.d.ts +0 -0
  17. package/es/packages/fabric-chart/src/hooks/useRight.js +1 -0
  18. package/es/packages/fabric-chart/src/hooks/useTop.d.ts +0 -4
  19. package/es/packages/fabric-chart/src/hooks/useTop.js +0 -123
  20. package/es/packages/fabric-chart/src/interface.d.ts +0 -88
  21. package/es/packages/fabric-chart/src/interface.js +0 -3
  22. package/es/packages/form-render/index.d.ts +724 -3
  23. package/es/packages/form-render/index.js +2 -0
  24. package/es/packages/form-render/src/FormRender.vue.d.ts +724 -3
  25. package/es/packages/form-render/src/FormRender.vue_vue_type_script_setup_true_lang.js +90 -58
  26. package/es/packages/form-render/src/components/index.d.ts +0 -16
  27. package/es/packages/form-render/src/components/index.js +1 -16
  28. package/es/packages/form-render/src/components/{cascader.d.ts → renderer/cascader.d.ts} +2 -2
  29. package/es/packages/form-render/src/components/{cascader.js → renderer/cascader.js} +3 -3
  30. package/es/packages/form-render/src/components/{checkbox.d.ts → renderer/checkbox.d.ts} +1 -1
  31. package/es/packages/form-render/src/components/{checkbox.js → renderer/checkbox.js} +1 -1
  32. package/es/packages/form-render/src/components/{combination.d.ts → renderer/combination.d.ts} +1 -1
  33. package/es/packages/form-render/src/components/{combination.js → renderer/combination.js} +3 -3
  34. package/es/packages/form-render/src/components/{complex.d.ts → renderer/complex.d.ts} +0 -0
  35. package/es/packages/form-render/src/components/{complex.js → renderer/complex.js} +1 -1
  36. package/es/packages/form-render/src/components/{date.d.ts → renderer/date.d.ts} +0 -0
  37. package/es/packages/form-render/src/components/{date.js → renderer/date.js} +0 -0
  38. package/es/packages/form-render/src/components/{formItem.d.ts → renderer/formItem.d.ts} +0 -0
  39. package/es/packages/form-render/src/components/{formItem.js → renderer/formItem.js} +0 -0
  40. package/es/packages/form-render/src/components/renderer/index.d.ts +16 -0
  41. package/es/packages/form-render/src/components/renderer/index.js +16 -0
  42. package/es/packages/form-render/src/components/{input.d.ts → renderer/input.d.ts} +0 -0
  43. package/es/packages/form-render/src/components/{input.js → renderer/input.js} +1 -1
  44. package/es/packages/form-render/src/components/{inputGroup.d.ts → renderer/inputGroup.d.ts} +0 -0
  45. package/es/packages/form-render/src/components/{inputGroup.js → renderer/inputGroup.js} +0 -0
  46. package/es/packages/form-render/src/components/{inputNumber.d.ts → renderer/inputNumber.d.ts} +0 -0
  47. package/es/packages/form-render/src/components/{inputNumber.js → renderer/inputNumber.js} +1 -1
  48. package/es/packages/form-render/src/components/{labelSelect.d.ts → renderer/labelSelect.d.ts} +0 -0
  49. package/es/packages/form-render/src/components/{labelSelect.js → renderer/labelSelect.js} +0 -0
  50. package/es/packages/form-render/src/components/{collapse.d.ts → renderer/linebar.d.ts} +1 -1
  51. package/es/packages/form-render/src/components/{collapse.js → renderer/linebar.js} +17 -8
  52. package/es/packages/form-render/src/components/{radio.d.ts → renderer/radio.d.ts} +1 -1
  53. package/es/packages/form-render/src/components/{radio.js → renderer/radio.js} +1 -1
  54. package/es/packages/form-render/src/components/{select.d.ts → renderer/select.d.ts} +2 -2
  55. package/es/packages/form-render/src/components/{select.js → renderer/select.js} +3 -3
  56. package/es/packages/form-render/src/components/{slider.d.ts → renderer/slider.d.ts} +0 -0
  57. package/es/packages/form-render/src/components/{slider.js → renderer/slider.js} +1 -1
  58. package/es/packages/form-render/src/components/{switch.d.ts → renderer/switch.d.ts} +0 -0
  59. package/es/packages/form-render/src/components/{switch.js → renderer/switch.js} +1 -1
  60. package/es/packages/form-render/src/components/{textarea.d.ts → renderer/textarea.d.ts} +0 -0
  61. package/es/packages/form-render/src/components/{textarea.js → renderer/textarea.js} +1 -1
  62. package/es/packages/form-render/src/constants/index.d.ts +1 -0
  63. package/es/packages/form-render/src/constants/index.js +2 -1
  64. package/es/packages/form-render/src/hooks/index.d.ts +2 -0
  65. package/es/packages/form-render/src/hooks/index.js +2 -0
  66. package/es/packages/form-render/src/hooks/useAnchor.d.ts +16 -0
  67. package/es/packages/form-render/src/hooks/useAnchor.js +81 -0
  68. package/es/packages/form-render/src/hooks/useAsyncQueue.js +1 -2
  69. package/es/packages/form-render/src/hooks/useChangeContext.d.ts +1 -1
  70. package/es/packages/form-render/src/hooks/useFieldList2Schema.d.ts +1 -1
  71. package/es/packages/form-render/src/hooks/useFieldList2Schema.js +11 -11
  72. package/es/packages/form-render/src/hooks/useFormContext.d.ts +8 -0
  73. package/es/packages/form-render/src/hooks/useFormContext.js +26 -0
  74. package/es/packages/form-render/src/hooks/useFormItemDeps.d.ts +1 -1
  75. package/es/packages/form-render/src/hooks/useFormItemDeps.js +2 -2
  76. package/es/packages/form-render/src/hooks/useInitialData.d.ts +1 -1
  77. package/es/packages/form-render/src/types/index.d.ts +1 -0
  78. package/es/packages/form-render/src/utils/index.d.ts +2 -0
  79. package/es/packages/form-render/src/utils/index.js +10 -1
  80. package/es/packages/form-render/style/index.css +6 -3
  81. package/es/packages/index.css +6 -3
  82. package/es/packages/index.js +2 -0
  83. package/es/packages/scale-view/src/ScaleView.vue_vue_type_script_setup_true_lang.js +8 -3
  84. package/es/packages/scale-view/src/hooks/scaleview-init.js +1 -3
  85. package/es/packages/scale-view/src/hooks/scaleview-validate.js +2 -2
  86. package/es/packages/select-person/index.d.ts +1 -1
  87. package/es/packages/select-person/src/SelectPerson.vue.d.ts +6 -6
  88. package/es/packages/select-person/src/SelectPerson.vue_vue_type_script_setup_true_lang.js +14 -3
  89. package/es/src/utils/anime.d.ts +1 -1
  90. package/es/src/utils/anime.js +4 -1
  91. package/package.json +1 -1
  92. package/es/packages/fabric-chart/src/utils/index.d.ts +0 -2
  93. package/es/packages/fabric-chart/src/utils/index.js +0 -15334
@@ -1,20 +1,19 @@
1
- import { defineComponent, provide, computed, openBlock, createBlock, unref, normalizeStyle, withCtx, createVNode, renderSlot, createElementVNode, toDisplayString, createCommentVNode } from 'vue';
2
- import { createForm, onFieldValueChange } from '@formily/core';
3
- import { FormProvider, FormConsumer, createSchemaField } from '@formily/vue';
1
+ import { defineComponent, computed, watch, openBlock, createBlock, unref, withCtx, createElementBlock, createVNode, Fragment, renderList, createCommentVNode, createElementVNode, normalizeStyle, renderSlot, toDisplayString } from 'vue';
2
+ import { createForm, onFieldValueChange, isField } from '@formily/core';
3
+ import { FormProvider, FormConsumer } from '@formily/vue';
4
4
  import { cloneDeep } from 'lodash-es';
5
- import { NForm } from 'naive-ui';
6
- import * as index from './components/index.js';
7
- import { InjectionBusinessCollector, InjectionChangeContextCollector, InjectionFormItemDepsCollector, InjectAsyncQueue, InjectionSchemaField } from './constants/index.js';
8
- import { injectOrProvide } from './utils/index.js';
9
- import { useBusinessBinding } from './hooks/useBusinessBinding.js';
5
+ import { NForm, NTabs, NTabPane } from 'naive-ui';
6
+ import { useFormContext } from './hooks/useFormContext.js';
10
7
  import { useInitialData } from './hooks/useInitialData.js';
11
- import { useAsyncQueue } from './hooks/useAsyncQueue.js';
12
- import { useChangeContext } from './hooks/useChangeContext.js';
13
- import { useFormItemDeps } from './hooks/useFormItemDeps.js';
14
- import { useFieldVisitor } from './hooks/useFieldVisitor.js';
15
8
  import { useFieldList2Schema } from './hooks/useFieldList2Schema.js';
9
+ import { useAnchor } from './hooks/useAnchor.js';
10
+ import { useFieldVisitor } from './hooks/useFieldVisitor.js';
16
11
 
17
- const _hoisted_1 = { style: { "white-space": "pre" } };
12
+ const _hoisted_1 = {
13
+ key: 0,
14
+ style: { "height": "50px" }
15
+ };
16
+ const _hoisted_2 = { style: { "white-space": "pre" } };
18
17
  var script = /* @__PURE__ */ defineComponent({
19
18
  __name: "FormRender",
20
19
  props: {
@@ -22,6 +21,8 @@ var script = /* @__PURE__ */ defineComponent({
22
21
  initialData: { type: Object, default: () => ({}) },
23
22
  fieldVisitor: { type: Object },
24
23
  column: { type: Number, default: 12 },
24
+ maxHeight: { type: [Number, String], default: "" },
25
+ anchor: { type: Boolean, default: false },
25
26
  parallelism: { type: Number, default: 3 },
26
27
  schema: { type: Object },
27
28
  components: {
@@ -36,19 +37,17 @@ var script = /* @__PURE__ */ defineComponent({
36
37
  ],
37
38
  setup(__props, { expose, emit }) {
38
39
  const props = __props;
39
- injectOrProvide(InjectAsyncQueue, () => useAsyncQueue().create(props.parallelism));
40
- const businessCollector = useBusinessBinding().create();
41
- provide(InjectionBusinessCollector, businessCollector);
42
- const changeContextCollector = useChangeContext().create();
43
- provide(InjectionChangeContextCollector, changeContextCollector);
44
- const formItemDepsCollector = useFormItemDeps().create();
45
- provide(InjectionFormItemDepsCollector, formItemDepsCollector);
40
+ const {
41
+ SchemaField,
42
+ businessCollector,
43
+ formItemDepsCollector,
44
+ changeContextCollector
45
+ } = useFormContext(props);
46
46
  const formModel = createForm({
47
47
  initialValues: useInitialData().assignInitialData(props.initialData, props.fieldList),
48
48
  effects() {
49
49
  onFieldValueChange("*", (field) => {
50
50
  const fieldKey = field.props.name.toString();
51
- console.log("emitChange");
52
51
  emit("formChange", {
53
52
  fieldInstance: field,
54
53
  fieldKey,
@@ -61,13 +60,6 @@ var script = /* @__PURE__ */ defineComponent({
61
60
  });
62
61
  }
63
62
  });
64
- const SchemaField = injectOrProvide(InjectionSchemaField, () => createSchemaField({
65
- components: {
66
- ...index,
67
- ...props.components
68
- },
69
- scope: props.scope
70
- }).SchemaField);
71
63
  const { traverse } = useFieldVisitor();
72
64
  const { transform } = useFieldList2Schema(businessCollector);
73
65
  const parsedSchema = computed(() => {
@@ -80,48 +72,88 @@ var script = /* @__PURE__ */ defineComponent({
80
72
  }
81
73
  return { type: "object", properties: {} };
82
74
  });
83
- function validate() {
84
- return formModel.validate().catch((err) => {
85
- if (Array.isArray(err)) {
86
- return Promise.reject(err.map((e) => {
87
- e.title = formModel.query(e.path).get("title");
88
- return e;
89
- }));
90
- } else {
91
- return Promise.reject(err);
92
- }
93
- });
75
+ const {
76
+ currentAnchor,
77
+ scrollbarRef,
78
+ generateAnchorList,
79
+ anchorIdList,
80
+ formHeight,
81
+ scrollTo,
82
+ onScroll,
83
+ updateCurrentAnchor
84
+ } = useAnchor(props, formItemDepsCollector);
85
+ watch(parsedSchema, generateAnchorList, { immediate: true });
86
+ function bindTitle(info) {
87
+ info.title = formModel.query(info.path).get("title");
88
+ return info;
94
89
  }
95
90
  expose({
96
- validate,
91
+ validate(path = "*") {
92
+ return formModel.validate(path).catch((err) => {
93
+ return Promise.reject(Array.isArray(err) ? err.map(bindTitle) : err);
94
+ });
95
+ },
97
96
  getFormValues() {
98
97
  return formModel.getFormState().values;
99
98
  },
100
- setFieldState: formModel.setFieldState.bind(formModel)
99
+ setFieldState(path, handler) {
100
+ formModel.setFieldState(path, handler);
101
+ },
102
+ resetFields(path = "*") {
103
+ formModel.setFieldState(path, async (field) => {
104
+ if (isField(field)) {
105
+ field.value = field.initialValue;
106
+ await formModel.reset(field.path);
107
+ }
108
+ });
109
+ }
101
110
  });
102
111
  return (_ctx, _cache) => {
103
- return openBlock(), createBlock(unref(NForm), {
104
- class: "form-render__wrapper",
105
- style: normalizeStyle({ "--column": __props.column })
106
- }, {
112
+ return openBlock(), createBlock(unref(NForm), null, {
107
113
  default: withCtx(() => [
108
- createVNode(unref(FormProvider), { form: unref(formModel) }, {
109
- default: withCtx(() => [
110
- renderSlot(_ctx.$slots, "default", { schemaFiled: unref(SchemaField) }, () => [
111
- createVNode(unref(SchemaField), { schema: unref(parsedSchema) }, null, 8, ["schema"])
114
+ __props.anchor ? (openBlock(), createElementBlock("section", _hoisted_1, [
115
+ createVNode(unref(NTabs), {
116
+ value: unref(currentAnchor),
117
+ "onUpdate:value": unref(updateCurrentAnchor),
118
+ type: "line"
119
+ }, {
120
+ default: withCtx(() => [
121
+ (openBlock(true), createElementBlock(Fragment, null, renderList(unref(anchorIdList), (anchor) => {
122
+ return openBlock(), createBlock(unref(NTabPane), {
123
+ name: anchor.name,
124
+ tab: anchor.title,
125
+ key: anchor
126
+ }, null, 8, ["name", "tab"]);
127
+ }), 128))
112
128
  ]),
113
- __props.consumer ? (openBlock(), createBlock(unref(FormConsumer), { key: 0 }, {
114
- default: withCtx(({ form }) => [
115
- createElementVNode("div", _hoisted_1, toDisplayString(JSON.stringify(form.values, null, 2)), 1)
129
+ _: 1
130
+ }, 8, ["value", "onUpdate:value"])
131
+ ])) : createCommentVNode("v-if", true),
132
+ createElementVNode("section", {
133
+ class: "form-render__wrapper",
134
+ style: normalizeStyle({ "--column": __props.column, "--form-height": unref(formHeight) }),
135
+ ref_key: "scrollbarRef",
136
+ ref: scrollbarRef,
137
+ onScroll: _cache[0] || (_cache[0] = (...args) => unref(onScroll) && unref(onScroll)(...args))
138
+ }, [
139
+ createVNode(unref(FormProvider), { form: unref(formModel) }, {
140
+ default: withCtx(() => [
141
+ renderSlot(_ctx.$slots, "default", { schemaFiled: unref(SchemaField) }, () => [
142
+ createVNode(unref(SchemaField), { schema: unref(parsedSchema) }, null, 8, ["schema"])
116
143
  ]),
117
- _: 1
118
- })) : createCommentVNode("v-if", true)
119
- ]),
120
- _: 3
121
- }, 8, ["form"])
144
+ __props.consumer ? (openBlock(), createBlock(unref(FormConsumer), { key: 0 }, {
145
+ default: withCtx(({ form }) => [
146
+ createElementVNode("div", _hoisted_2, toDisplayString(JSON.stringify(form.values, null, 2)), 1)
147
+ ]),
148
+ _: 1
149
+ })) : createCommentVNode("v-if", true)
150
+ ]),
151
+ _: 3
152
+ }, 8, ["form"])
153
+ ], 36)
122
154
  ]),
123
155
  _: 3
124
- }, 8, ["style"]);
156
+ });
125
157
  };
126
158
  }
127
159
  });
@@ -1,16 +0,0 @@
1
- export * from './input';
2
- export * from './select';
3
- export * from './formItem';
4
- export * from './textarea';
5
- export * from './inputNumber';
6
- export * from './collapse';
7
- export * from './inputGroup';
8
- export * from './date';
9
- export * from './cascader';
10
- export * from './combination';
11
- export * from './checkbox';
12
- export * from './switch';
13
- export * from './radio';
14
- export * from './labelSelect';
15
- export * from './slider';
16
- export * from './complex';
@@ -1,16 +1 @@
1
- export { INPUT } from './input.js';
2
- export { SELECT } from './select.js';
3
- export { FORM_ITEM } from './formItem.js';
4
- export { TEXTAREA } from './textarea.js';
5
- export { INPUT_NUMBER } from './inputNumber.js';
6
- export { COLLAPSE } from './collapse.js';
7
- export { INPUT_GROUP } from './inputGroup.js';
8
- export { DATE } from './date.js';
9
- export { SEARCH_CASCADE } from './cascader.js';
10
- export { COMBINATION } from './combination.js';
11
- export { CHECKBOX } from './checkbox.js';
12
- export { SWITCH } from './switch.js';
13
- export { RADIO } from './radio.js';
14
- export { LABEL } from './labelSelect.js';
15
- export { SLIDER } from './slider.js';
16
- export { COMPLEX } from './complex.js';
1
+
@@ -1,5 +1,5 @@
1
- import { AnyObject, ArrayAble } from '../../../../../es/src/types';
2
- import { FormRequestType } from '../types';
1
+ import { AnyObject, ArrayAble } from '../../../../../../es/src/types';
2
+ import { FormRequestType } from '../../types';
3
3
  import { PropType } from 'vue';
4
4
  declare type DependKeyObj = {
5
5
  paramName: string;
@@ -1,10 +1,10 @@
1
1
  import { defineComponent, ref, inject, computed, watch, createVNode } from 'vue';
2
2
  import { isObject, isString } from 'lodash-es';
3
- import { InjectAsyncQueue } from '../constants/index.js';
4
- import { assignUpdateValue, formRenderLog, arrayed } from '../utils/index.js';
3
+ import { InjectAsyncQueue } from '../../constants/index.js';
4
+ import { assignUpdateValue, formRenderLog, arrayed } from '../../utils/index.js';
5
5
  import { connect, mapProps } from '@formily/vue';
6
6
  import { NCascader } from 'naive-ui';
7
- import { useFormField } from '../hooks/useFormField.js';
7
+ import { useFormField } from '../../hooks/useFormField.js';
8
8
 
9
9
  const script = defineComponent({
10
10
  name: "FormCascader",
@@ -1,4 +1,4 @@
1
- import { AnyObject } from '../../../../../es/src/types';
1
+ import { AnyObject } from '../../../../../../es/src/types';
2
2
  import { PropType } from "vue";
3
3
  export declare const CHECKBOX: import("vue").DefineComponent<{
4
4
  options: {
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, createVNode } from 'vue';
2
- import { assignUpdateValue } from '../utils/index.js';
2
+ import { assignUpdateValue } from '../../utils/index.js';
3
3
  import { connect, mapProps } from '@formily/vue';
4
4
  import { NCheckboxGroup, NSpace, NCheckbox } from 'naive-ui';
5
5
 
@@ -1,4 +1,4 @@
1
- import { PropType } from "vue";
1
+ import { PropType } from 'vue';
2
2
  export declare const COMBINATION: import("vue").DefineComponent<{
3
3
  title: {
4
4
  type: StringConstructor;
@@ -1,10 +1,10 @@
1
1
  import { defineComponent, computed, ref, createVNode, createTextVNode, toRaw } from 'vue';
2
- import { assignUpdateValue, formRenderLog } from '../utils/index.js';
2
+ import { assignUpdateValue, formRenderLog } from '../../utils/index.js';
3
3
  import { connect, mapProps } from '@formily/vue';
4
4
  import { useDebounceFn, isObject } from '@vueuse/core';
5
5
  import { NButton } from 'naive-ui';
6
- import '../FormRender.js';
7
- import script$1 from '../FormRender.vue_vue_type_script_setup_true_lang.js';
6
+ import '../../FormRender.js';
7
+ import script$1 from '../../FormRender.vue_vue_type_script_setup_true_lang.js';
8
8
 
9
9
  const script = defineComponent({
10
10
  name: "FormCombination",
@@ -1,6 +1,6 @@
1
1
  import { defineComponent, createVNode } from 'vue';
2
2
  import { connect, mapProps } from '@formily/vue';
3
- import { assignUpdateValue } from '../../../../packages/form-render/src/utils';
3
+ import { assignUpdateValue } from '../../utils/index.js';
4
4
 
5
5
  const script = defineComponent({
6
6
  props: {
@@ -0,0 +1,16 @@
1
+ export * from './input';
2
+ export * from './select';
3
+ export * from './formItem';
4
+ export * from './textarea';
5
+ export * from './inputNumber';
6
+ export * from './linebar';
7
+ export * from './inputGroup';
8
+ export * from './date';
9
+ export * from './cascader';
10
+ export * from './combination';
11
+ export * from './checkbox';
12
+ export * from './switch';
13
+ export * from './radio';
14
+ export * from './labelSelect';
15
+ export * from './slider';
16
+ export * from './complex';
@@ -0,0 +1,16 @@
1
+ export { INPUT } from './input.js';
2
+ export { SELECT } from './select.js';
3
+ export { FORM_ITEM } from './formItem.js';
4
+ export { TEXTAREA } from './textarea.js';
5
+ export { INPUT_NUMBER } from './inputNumber.js';
6
+ export { LINEBAR } from './linebar.js';
7
+ export { INPUT_GROUP } from './inputGroup.js';
8
+ export { DATE } from './date.js';
9
+ export { SEARCH_CASCADE } from './cascader.js';
10
+ export { COMBINATION } from './combination.js';
11
+ export { CHECKBOX } from './checkbox.js';
12
+ export { SWITCH } from './switch.js';
13
+ export { RADIO } from './radio.js';
14
+ export { LABEL } from './labelSelect.js';
15
+ export { SLIDER } from './slider.js';
16
+ export { COMPLEX } from './complex.js';
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, computed, createVNode, Fragment } from 'vue';
2
- import { assignUpdateValue } from '../utils/index.js';
2
+ import { assignUpdateValue } from '../../utils/index.js';
3
3
  import { connect, mapProps } from '@formily/vue';
4
4
  import { NInput } from 'naive-ui';
5
5
 
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, createVNode } from 'vue';
2
- import { assignUpdateValue } from '../utils/index.js';
2
+ import { assignUpdateValue } from '../../utils/index.js';
3
3
  import { connect, mapProps } from '@formily/vue';
4
4
  import { NInputNumber } from 'naive-ui';
5
5
 
@@ -1,4 +1,4 @@
1
- export declare const COLLAPSE: import("vue").DefineComponent<{
1
+ export declare const LINEBAR: import("vue").DefineComponent<{
2
2
  show: {
3
3
  type: BooleanConstructor;
4
4
  default: boolean;
@@ -1,6 +1,8 @@
1
- import { defineComponent, ref, onMounted, createVNode } from 'vue';
1
+ import { defineComponent, ref, onMounted, inject, createVNode } from 'vue';
2
2
  import { connect, mapProps } from '@formily/vue';
3
3
  import { NCollapseTransition } from 'naive-ui';
4
+ import { useFormField } from '../../../../../packages/form-render';
5
+ import { InjectionFormItemDepsCollector, FormItemLineBarDepKeyPrepend } from '../../constants/index.js';
4
6
 
5
7
  const script = defineComponent({
6
8
  name: "FormCollapse",
@@ -30,25 +32,32 @@ const script = defineComponent({
30
32
  return;
31
33
  _show.value = !_show.value;
32
34
  }
35
+ const {
36
+ fieldKey
37
+ } = useFormField();
38
+ const formItemDepsCollector = inject(InjectionFormItemDepsCollector);
39
+ formItemDepsCollector.setDeps(fieldKey.value, FormItemLineBarDepKeyPrepend + fieldKey.value, (v = true) => {
40
+ _show.value = v;
41
+ });
33
42
  return () => {
34
43
  return createVNode("section", {
35
- "class": "form-render__collapse"
44
+ "class": "form-render__linebar",
45
+ "anchor-target": true
36
46
  }, [createVNode("header", {
37
- "class": "form-render__collapseHeader",
47
+ "class": "form-render__linebarHeader",
38
48
  "onClick": toggleShow
39
49
  }, [props.title]), createVNode(NCollapseTransition, {
40
- "class": "form-render__collapseItem",
41
- "show": _show.value,
42
- "appear": false
50
+ "class": "form-render__linebarItem",
51
+ "show": _show.value
43
52
  }, slots)]);
44
53
  };
45
54
  }
46
55
  });
47
- const COLLAPSE = connect(script, mapProps((props, field) => {
56
+ const LINEBAR = connect(script, mapProps((props, field) => {
48
57
  return {
49
58
  ...props,
50
59
  title: field.title
51
60
  };
52
61
  }));
53
62
 
54
- export { COLLAPSE };
63
+ export { LINEBAR };
@@ -1,4 +1,4 @@
1
- import { AnyObject } from '../../../../../es/src/types';
1
+ import { AnyObject } from '../../../../../../es/src/types';
2
2
  import { PropType } from "vue";
3
3
  export declare const RADIO: import("vue").DefineComponent<{
4
4
  options: {
@@ -1,7 +1,7 @@
1
1
  import { defineComponent, createVNode } from 'vue';
2
2
  import { connect, mapProps } from '@formily/vue';
3
3
  import { NRadioGroup, NSpace, NRadio } from 'naive-ui';
4
- import { assignUpdateValue } from '../utils/index.js';
4
+ import { assignUpdateValue } from '../../utils/index.js';
5
5
 
6
6
  const script = defineComponent({
7
7
  props: {
@@ -1,5 +1,5 @@
1
- import { AnyObject } from '../../../../../es/src/types';
2
- import { FormRequestType } from '../types';
1
+ import { AnyObject } from '../../../../../../es/src/types';
2
+ import { FormRequestType } from '../../types';
3
3
  import { PropType } from 'vue';
4
4
  declare type UrlConfig = {
5
5
  method: FormRequestType;
@@ -1,11 +1,11 @@
1
1
  import { defineComponent, ref, inject, computed, watch, createVNode } from 'vue';
2
2
  import { cloneDeep } from 'lodash-es';
3
- import { InjectAsyncQueue, InjectionFormItemDepsCollector, InjectionChangeContextCollector } from '../constants/index.js';
4
- import { assignUpdateValue, formRenderLog, generateUrlParams } from '../utils/index.js';
3
+ import { InjectAsyncQueue, InjectionFormItemDepsCollector, InjectionChangeContextCollector } from '../../constants/index.js';
4
+ import { assignUpdateValue, formRenderLog, generateUrlParams } from '../../utils/index.js';
5
5
  import { isObject } from '@vueuse/core';
6
6
  import { connect, mapProps } from '@formily/vue';
7
7
  import { NSelect } from 'naive-ui';
8
- import { useFormField } from '../hooks/useFormField.js';
8
+ import { useFormField } from '../../hooks/useFormField.js';
9
9
 
10
10
  const script = defineComponent({
11
11
  name: "FormSelect",
@@ -1,6 +1,6 @@
1
1
  import { connect, mapProps } from '@formily/vue';
2
2
  import { NSlider } from 'naive-ui';
3
- import { assignUpdateValue } from '../../../../packages/form-render/src/utils';
3
+ import { assignUpdateValue } from '../../utils/index.js';
4
4
 
5
5
  const SLIDER = connect(NSlider, mapProps((props, field) => {
6
6
  const _props = assignUpdateValue(props, field);
@@ -1,6 +1,6 @@
1
1
  import { defineComponent, computed, createVNode, createTextVNode } from 'vue';
2
2
  import { NSwitch } from 'naive-ui';
3
- import { assignUpdateValue } from '../utils/index.js';
3
+ import { assignUpdateValue } from '../../utils/index.js';
4
4
  import { connect, mapProps } from '@formily/vue';
5
5
 
6
6
  const script = defineComponent({
@@ -1,4 +1,4 @@
1
- import { assignUpdateValue } from '../utils/index.js';
1
+ import { assignUpdateValue } from '../../utils/index.js';
2
2
  import { connect, mapProps } from '@formily/vue';
3
3
  import { NInput } from 'naive-ui';
4
4
 
@@ -7,6 +7,7 @@ export declare const InjectionSchemaField: InjectionKey<Component>;
7
7
  export declare const InjectionBusinessCollector: InjectionKey<BusinessCollector>;
8
8
  export declare const InjectionChangeContextCollector: InjectionKey<ContextCollector>;
9
9
  export declare const InjectionFormItemDepsCollector: InjectionKey<FormItemDepsCollector>;
10
+ export declare const FormItemLineBarDepKeyPrepend = "__dep_LINEBAR_";
10
11
  export declare enum FIELD_BUSINESS_TYPE {
11
12
  PASSWORD = "password",
12
13
  ID_CARD = "id_card",
@@ -3,6 +3,7 @@ const InjectionSchemaField = Symbol("InjectionSchemaField");
3
3
  const InjectionBusinessCollector = Symbol("InjectionBusinessCollector");
4
4
  const InjectionChangeContextCollector = Symbol("InjectionChangeContextCollector");
5
5
  const InjectionFormItemDepsCollector = Symbol("InjectionFormItemDepsCollector");
6
+ const FormItemLineBarDepKeyPrepend = `__dep_LINEBAR_`;
6
7
  var FIELD_BUSINESS_TYPE = /* @__PURE__ */ ((FIELD_BUSINESS_TYPE2) => {
7
8
  FIELD_BUSINESS_TYPE2["PASSWORD"] = "password";
8
9
  FIELD_BUSINESS_TYPE2["ID_CARD"] = "id_card";
@@ -25,4 +26,4 @@ var FIELD_SEX_VALUE = /* @__PURE__ */ ((FIELD_SEX_VALUE2) => {
25
26
  return FIELD_SEX_VALUE2;
26
27
  })(FIELD_SEX_VALUE || {});
27
28
 
28
- export { FIELD_BUSINESS_TYPE, FIELD_SEX_VALUE, InjectAsyncQueue, InjectionBusinessCollector, InjectionChangeContextCollector, InjectionFormItemDepsCollector, InjectionSchemaField };
29
+ export { FIELD_BUSINESS_TYPE, FIELD_SEX_VALUE, FormItemLineBarDepKeyPrepend, InjectAsyncQueue, InjectionBusinessCollector, InjectionChangeContextCollector, InjectionFormItemDepsCollector, InjectionSchemaField };
@@ -10,3 +10,5 @@ export * from './useBusinessBinding';
10
10
  export * from './useChangeContext';
11
11
  export * from './useFormItemDeps';
12
12
  export * from './useInitialData';
13
+ export * from './useAnchor';
14
+ export * from './useFormContext';
@@ -10,3 +10,5 @@ export { BusinessCollector, useBusinessBinding } from './useBusinessBinding.js';
10
10
  export { ContextCollector, useChangeContext } from './useChangeContext.js';
11
11
  export { FormItemDepsCollector, useFormItemDeps } from './useFormItemDeps.js';
12
12
  export { useInitialData } from './useInitialData.js';
13
+ export { useAnchor } from './useAnchor.js';
14
+ export { useFormContext } from './useFormContext.js';
@@ -0,0 +1,16 @@
1
+ import { AnyObject } from '../../../../../es/src/types';
2
+ import { ISchema } from '@formily/json-schema/esm/types';
3
+ import { FormItemDepsCollector } from '../../../../../es/packages/form-render';
4
+ export declare function useAnchor(props: Readonly<AnyObject>, collector: FormItemDepsCollector): {
5
+ currentAnchor: import("vue").Ref<string>;
6
+ updateCurrentAnchor: (id: string) => Promise<void>;
7
+ onScroll: () => Promise<void>;
8
+ formHeight: import("vue").ComputedRef<any>;
9
+ anchorIdList: import("vue").Ref<{
10
+ name: string;
11
+ title: string;
12
+ }[]>;
13
+ generateAnchorList: (schema: ISchema) => void;
14
+ scrollbarRef: import("vue").Ref<HTMLElement | undefined>;
15
+ scrollTo: (id: string) => Promise<void>;
16
+ };