@carefrees/form-utils-vue 0.0.11 → 0.0.13

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 (176) hide show
  1. package/README.md +104 -2
  2. package/assets/index.css +23 -12
  3. package/esm/component.js +3 -0
  4. package/esm/form/form.js +161 -0
  5. package/esm/form/form.vue.d.ts +10 -7
  6. package/esm/form/index.d.ts +12 -12
  7. package/esm/form/index.js +4 -0
  8. package/esm/formItem/form.Item.base.js +157 -0
  9. package/esm/formItem/form.Item.base.vue.d.ts +7 -8
  10. package/esm/formItem/form.hide.item.js +122 -0
  11. package/esm/formItem/form.hide.item.vue.d.ts +7 -8
  12. package/esm/formItem/formItem.js +151 -0
  13. package/esm/formItem/formItem.vue.d.ts +6 -9
  14. package/esm/formItem/index.d.ts +26 -37
  15. package/esm/formItem/index.js +8 -0
  16. package/esm/index.d.ts +2 -2
  17. package/esm/index.js +13 -0
  18. package/esm/interface/index.d.ts +6 -11
  19. package/esm/interface/index.js +0 -0
  20. package/esm/interface/layout.d.ts +1 -1
  21. package/esm/interface/layout.formItem.d.ts +1 -1
  22. package/esm/interface/layout.formItem.js +0 -0
  23. package/esm/interface/layout.js +0 -0
  24. package/esm/layout/index.d.ts +24 -33
  25. package/esm/layout/index.js +8 -0
  26. package/esm/layout/layout.form.rows.js +21 -0
  27. package/esm/layout/layout.form.rows.vue.d.ts +8 -5
  28. package/esm/layout/layout.formItem.js +195 -0
  29. package/esm/layout/layout.formItem.vue.d.ts +6 -9
  30. package/esm/layout/layout.js +160 -0
  31. package/esm/layout/layout.vue.d.ts +6 -8
  32. package/esm/utils/index.js +1 -0
  33. package/esm/utils/withInstall.d.ts +2 -2
  34. package/esm/utils/withInstall.js +15 -0
  35. package/package.json +7 -8
  36. package/src/form/form.vue +21 -7
  37. package/src/formItem/form.Item.base.vue +5 -5
  38. package/src/formItem/form.hide.item.vue +3 -1
  39. package/src/formItem/formItem.vue +2 -1
  40. package/src/index.ts +1 -1
  41. package/src/interface/index.ts +6 -13
  42. package/src/interface/layout.formItem.ts +1 -2
  43. package/src/interface/layout.ts +2 -1
  44. package/src/layout/layout.formItem.vue +2 -1
  45. package/src/layout/layout.vue +2 -1
  46. package/esm/component.mjs +0 -12
  47. package/esm/form/form.vue.mjs +0 -110
  48. package/esm/form/form.vue2.mjs +0 -4
  49. package/esm/form/index.mjs +0 -6
  50. package/esm/formItem/form.Item.base.vue.mjs +0 -114
  51. package/esm/formItem/form.Item.base.vue2.mjs +0 -4
  52. package/esm/formItem/form.hide.item.vue.mjs +0 -78
  53. package/esm/formItem/form.hide.item.vue2.mjs +0 -4
  54. package/esm/formItem/formItem.vue.mjs +0 -102
  55. package/esm/formItem/formItem.vue2.mjs +0 -4
  56. package/esm/formItem/index.mjs +0 -12
  57. package/esm/hooks/attr/attr.FormItem.d.ts +0 -97
  58. package/esm/hooks/attr/attr.FormItem.mjs +0 -120
  59. package/esm/hooks/index.d.ts +0 -13
  60. package/esm/hooks/register/register.FormHideItem.d.ts +0 -9
  61. package/esm/hooks/register/register.FormHideItem.mjs +0 -38
  62. package/esm/hooks/register/register.FormItem.d.ts +0 -23
  63. package/esm/hooks/register/register.FormItem.mjs +0 -55
  64. package/esm/hooks/register/register.FormList.d.ts +0 -9
  65. package/esm/hooks/register/register.FormList.mjs +0 -43
  66. package/esm/hooks/register/register.form.d.ts +0 -3
  67. package/esm/hooks/register/register.form.mjs +0 -12
  68. package/esm/hooks/useAttrs.d.ts +0 -24
  69. package/esm/hooks/useAttrs.mjs +0 -43
  70. package/esm/hooks/useEffect.d.ts +0 -2
  71. package/esm/hooks/useEffect.mjs +0 -14
  72. package/esm/hooks/useForm.d.ts +0 -8
  73. package/esm/hooks/useForm.mjs +0 -26
  74. package/esm/hooks/useFormItem.d.ts +0 -7
  75. package/esm/hooks/useFormItem.mjs +0 -26
  76. package/esm/hooks/useFormItemParentName.d.ts +0 -18
  77. package/esm/hooks/useFormItemParentName.mjs +0 -37
  78. package/esm/hooks/useFormList.d.ts +0 -7
  79. package/esm/hooks/useFormList.mjs +0 -26
  80. package/esm/hooks/useHtmlFor.d.ts +0 -2
  81. package/esm/hooks/useHtmlFor.mjs +0 -11
  82. package/esm/hooks/useMultipleForm.d.ts +0 -7
  83. package/esm/hooks/useMultipleForm.mjs +0 -27
  84. package/esm/index.mjs +0 -59
  85. package/esm/instance/ruleIntsnace.d.ts +0 -49
  86. package/esm/instance/ruleIntsnace.mjs +0 -73
  87. package/esm/layout/index.mjs +0 -12
  88. package/esm/layout/layout.form.rows.vue.mjs +0 -31
  89. package/esm/layout/layout.form.rows.vue2.mjs +0 -4
  90. package/esm/layout/layout.formItem.vue.mjs +0 -216
  91. package/esm/layout/layout.formItem.vue2.mjs +0 -4
  92. package/esm/layout/layout.vue.mjs +0 -166
  93. package/esm/layout/layout.vue2.mjs +0 -4
  94. package/esm/utils/withInstall.mjs +0 -22
  95. package/lib/component.d.ts +0 -3
  96. package/lib/component.js +0 -12
  97. package/lib/form/form.vue.d.ts +0 -19
  98. package/lib/form/form.vue.js +0 -110
  99. package/lib/form/form.vue2.js +0 -4
  100. package/lib/form/index.d.ts +0 -37
  101. package/lib/form/index.js +0 -6
  102. package/lib/formItem/form.Item.base.vue.d.ts +0 -16
  103. package/lib/formItem/form.Item.base.vue.js +0 -114
  104. package/lib/formItem/form.Item.base.vue2.js +0 -4
  105. package/lib/formItem/form.hide.item.vue.d.ts +0 -16
  106. package/lib/formItem/form.hide.item.vue.js +0 -78
  107. package/lib/formItem/form.hide.item.vue2.js +0 -4
  108. package/lib/formItem/formItem.vue.d.ts +0 -18
  109. package/lib/formItem/formItem.vue.js +0 -102
  110. package/lib/formItem/formItem.vue2.js +0 -4
  111. package/lib/formItem/index.d.ts +0 -71
  112. package/lib/formItem/index.js +0 -12
  113. package/lib/hooks/attr/attr.FormItem.d.ts +0 -97
  114. package/lib/hooks/attr/attr.FormItem.js +0 -120
  115. package/lib/hooks/index.d.ts +0 -13
  116. package/lib/hooks/register/register.FormHideItem.d.ts +0 -9
  117. package/lib/hooks/register/register.FormHideItem.js +0 -38
  118. package/lib/hooks/register/register.FormItem.d.ts +0 -23
  119. package/lib/hooks/register/register.FormItem.js +0 -55
  120. package/lib/hooks/register/register.FormList.d.ts +0 -9
  121. package/lib/hooks/register/register.FormList.js +0 -43
  122. package/lib/hooks/register/register.form.d.ts +0 -3
  123. package/lib/hooks/register/register.form.js +0 -12
  124. package/lib/hooks/useAttrs.d.ts +0 -24
  125. package/lib/hooks/useAttrs.js +0 -43
  126. package/lib/hooks/useEffect.d.ts +0 -2
  127. package/lib/hooks/useEffect.js +0 -14
  128. package/lib/hooks/useForm.d.ts +0 -8
  129. package/lib/hooks/useForm.js +0 -26
  130. package/lib/hooks/useFormItem.d.ts +0 -7
  131. package/lib/hooks/useFormItem.js +0 -26
  132. package/lib/hooks/useFormItemParentName.d.ts +0 -18
  133. package/lib/hooks/useFormItemParentName.js +0 -37
  134. package/lib/hooks/useFormList.d.ts +0 -7
  135. package/lib/hooks/useFormList.js +0 -26
  136. package/lib/hooks/useHtmlFor.d.ts +0 -2
  137. package/lib/hooks/useHtmlFor.js +0 -11
  138. package/lib/hooks/useMultipleForm.d.ts +0 -7
  139. package/lib/hooks/useMultipleForm.js +0 -27
  140. package/lib/index.d.ts +0 -11
  141. package/lib/index.js +0 -59
  142. package/lib/instance/ruleIntsnace.d.ts +0 -49
  143. package/lib/instance/ruleIntsnace.js +0 -73
  144. package/lib/interface/index.d.ts +0 -36
  145. package/lib/interface/layout.d.ts +0 -28
  146. package/lib/interface/layout.formItem.d.ts +0 -39
  147. package/lib/layout/index.d.ts +0 -65
  148. package/lib/layout/index.js +0 -12
  149. package/lib/layout/layout.form.rows.vue.d.ts +0 -10
  150. package/lib/layout/layout.form.rows.vue.js +0 -31
  151. package/lib/layout/layout.form.rows.vue2.js +0 -4
  152. package/lib/layout/layout.formItem.vue.d.ts +0 -18
  153. package/lib/layout/layout.formItem.vue.js +0 -216
  154. package/lib/layout/layout.formItem.vue2.js +0 -4
  155. package/lib/layout/layout.vue.d.ts +0 -16
  156. package/lib/layout/layout.vue.js +0 -166
  157. package/lib/layout/layout.vue2.js +0 -4
  158. package/lib/utils/index.d.ts +0 -1
  159. package/lib/utils/withInstall.d.ts +0 -3
  160. package/lib/utils/withInstall.js +0 -22
  161. package/src/hooks/attr/attr.FormItem.tsx +0 -174
  162. package/src/hooks/index.ts +0 -13
  163. package/src/hooks/register/register.FormHideItem.ts +0 -45
  164. package/src/hooks/register/register.FormItem.ts +0 -80
  165. package/src/hooks/register/register.FormList.ts +0 -49
  166. package/src/hooks/register/register.form.ts +0 -12
  167. package/src/hooks/useAttrs.ts +0 -64
  168. package/src/hooks/useEffect.ts +0 -13
  169. package/src/hooks/useForm.ts +0 -28
  170. package/src/hooks/useFormItem.ts +0 -28
  171. package/src/hooks/useFormItemParentName.ts +0 -49
  172. package/src/hooks/useFormList.ts +0 -28
  173. package/src/hooks/useHtmlFor.ts +0 -9
  174. package/src/hooks/useMultipleForm.ts +0 -29
  175. package/src/instance/ruleIntsnace.ts +0 -105
  176. package/src/vite-env.d.ts +0 -1
@@ -1,97 +0,0 @@
1
- import { FormInstanceBase, FormItemInstanceBase } from '@carefrees/form-utils';
2
- import { RegisterFormItemOptions } from './../register/register.FormItem';
3
- import { Ref } from 'vue';
4
- import { RuleInstanceBase2 } from '../../instance/ruleIntsnace';
5
- export interface FormItemAttrOptions extends RegisterFormItemOptions {
6
- /**依赖更新项*/
7
- dependencies?: string[];
8
- /**通知 只用于校验规则提示 字段 */
9
- noticeOnlyRuleDataField?: string[];
10
- /**通知父级字段监听方法更新*/
11
- isNoticeParentField?: boolean;
12
- /**通知watch监听方法更新*/
13
- noticeWatchField?: string[];
14
- /**是否保护值(不进行表单项组件卸载重置初始值)*/
15
- preserve?: boolean;
16
- /**重写规则*/
17
- useRules?: (ruleInstance: Ref<RuleInstanceBase2>, form: FormInstanceBase, formItemInstance: FormItemInstanceBase) => void;
18
- /**输入框属性重写*/
19
- useAttrs?: (attrs: any, form: FormInstanceBase, formItemInstance: FormItemInstanceBase) => any;
20
- /**输入框属性*/
21
- inputAttrs?: Object;
22
- /**传递组件字段*/
23
- valuePropName?: string;
24
- /**取值字段(默认和valuePropName值相同)*/
25
- getValuePath?: string;
26
- /**自定义获取值*/
27
- getValueFromEvent?: (event: any, form: FormInstanceBase, formItemInstance: FormItemInstanceBase) => any;
28
- /**值格式化*/
29
- formatValue?: (value: any, form: FormInstanceBase, formItemInstance: FormItemInstanceBase, event: any) => any;
30
- /**触发数据更新之后触发(用于数据联动之类的)*/
31
- onAfterUpdate?: (value: any, form: FormInstanceBase, formItemInstance: FormItemInstanceBase, event: any) => void;
32
- /**事件名称*/
33
- trigger?: string;
34
- }
35
- /**表单项参数*/
36
- export declare const useFormItemAttr: (options: FormItemAttrOptions) => {
37
- valuePropName: string;
38
- htmlFor: import('vue').ComputedRef<string>;
39
- onChange: (event: any) => void;
40
- formItemInstance: FormItemInstanceBase;
41
- form: FormInstanceBase<any>;
42
- ruleInstance: Ref<RuleInstanceBase2, RuleInstanceBase2>;
43
- newAttrs: import('vue').ComputedRef<{
44
- name: string;
45
- id: string;
46
- constructor: Function;
47
- toString(): string;
48
- toLocaleString(): string;
49
- valueOf(): Object;
50
- hasOwnProperty(v: PropertyKey): boolean;
51
- isPrototypeOf(v: Object): boolean;
52
- propertyIsEnumerable(v: PropertyKey): boolean;
53
- }>;
54
- attrsLastData: Ref<{
55
- name: string;
56
- id: string;
57
- constructor: Function;
58
- toString: () => string;
59
- toLocaleString: () => string;
60
- valueOf: () => Object;
61
- hasOwnProperty: (v: PropertyKey) => boolean;
62
- isPrototypeOf: (v: Object) => boolean;
63
- propertyIsEnumerable: (v: PropertyKey) => boolean;
64
- }, {
65
- name: string;
66
- id: string;
67
- constructor: Function;
68
- toString(): string;
69
- toLocaleString(): string;
70
- valueOf(): Object;
71
- hasOwnProperty(v: PropertyKey): boolean;
72
- isPrototypeOf(v: Object): boolean;
73
- propertyIsEnumerable(v: PropertyKey): boolean;
74
- } | {
75
- name: string;
76
- id: string;
77
- constructor: Function;
78
- toString: () => string;
79
- toLocaleString: () => string;
80
- valueOf: () => Object;
81
- hasOwnProperty: (v: PropertyKey) => boolean;
82
- isPrototypeOf: (v: Object) => boolean;
83
- propertyIsEnumerable: (v: PropertyKey) => boolean;
84
- }>;
85
- validateResult: Ref<{
86
- tip: string | (string | undefined)[];
87
- isInvalid: boolean;
88
- }, {
89
- tip: string | (string | undefined)[];
90
- isInvalid: boolean;
91
- } | {
92
- tip: string | (string | undefined)[];
93
- isInvalid: boolean;
94
- }>;
95
- newSort: import('vue').ComputedRef<string>;
96
- newName: import('vue').ComputedRef<string>;
97
- };
@@ -1,120 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const formUtils = require("@carefrees/form-utils");
4
- const useHtmlFor = require("../useHtmlFor.js");
5
- const register_FormItem = require("../register/register.FormItem.js");
6
- const vue = require("vue");
7
- const useFormItemAttr = (options) => {
8
- const {
9
- trigger = "onChange",
10
- dependencies,
11
- noticeOnlyRuleDataField,
12
- isNoticeParentField,
13
- noticeWatchField,
14
- preserve,
15
- valuePropName = "value",
16
- getValuePath = valuePropName,
17
- getValueFromEvent,
18
- formatValue,
19
- onAfterUpdate,
20
- useAttrs,
21
- useRules,
22
- inputAttrs,
23
- ...rest
24
- } = options;
25
- const {
26
- formItemInstance,
27
- form,
28
- ruleInstance,
29
- newName,
30
- newSort,
31
- deepRefData
32
- } = register_FormItem.useRegisterFormItem({
33
- ...rest
34
- });
35
- formItemInstance.dependencies = dependencies;
36
- formItemInstance.noticeOnlyRuleDataField = noticeOnlyRuleDataField;
37
- formItemInstance.isNoticeParentField = isNoticeParentField;
38
- formItemInstance.onAfterUpdate = onAfterUpdate;
39
- formItemInstance.noticeWatchField = noticeWatchField;
40
- formItemInstance.preserve = preserve;
41
- const oldValue = vue.ref(formUtils.get(form.formData, vue.toValue(newName)));
42
- vue.watch(() => [formUtils.get(form.formData, vue.toValue(newName)), vue.toValue(newName)], () => {
43
- oldValue.value = form.getFieldValue(vue.toValue(newName));
44
- }, {
45
- immediate: true
46
- });
47
- const onValueChange = (event) => {
48
- var _a;
49
- try {
50
- let value = event;
51
- if (typeof getValueFromEvent === "function") {
52
- value = getValueFromEvent(event, form, formItemInstance);
53
- } else if (event && event.target && typeof event.target === "object" && getValuePath in event.target) {
54
- value = formUtils.get(event.target, getValuePath);
55
- }
56
- if (typeof formatValue === "function") {
57
- value = formatValue(value, form, formItemInstance, event);
58
- }
59
- if (oldValue.value !== value) {
60
- form.updatedFieldValue(vue.toValue(newName), value, "validate");
61
- (_a = formItemInstance.onAfterUpdate) == null ? void 0 : _a.call(formItemInstance, value, form, formItemInstance, event);
62
- if (Array.isArray(formItemInstance.noticeWatchField) && formItemInstance.noticeWatchField.length) {
63
- form.noticeWatch(formItemInstance.noticeWatchField);
64
- }
65
- if (Array.isArray(formItemInstance.noticeOnlyRuleDataField) && formItemInstance.noticeOnlyRuleDataField.length) {
66
- form.onlyValidate(formItemInstance.noticeOnlyRuleDataField);
67
- }
68
- if (formItemInstance.isNoticeParentField && formItemInstance.parentDataField) {
69
- form.notice(formItemInstance.parentDataField);
70
- }
71
- }
72
- } catch (error) {
73
- console.log(error);
74
- }
75
- };
76
- formItemInstance.onChange = onValueChange;
77
- const htmlFor = useHtmlFor.useHtmlFor(newName);
78
- vue.watch(() => htmlFor, () => {
79
- formItemInstance.htmlFor = htmlFor.value;
80
- }, {
81
- immediate: true
82
- });
83
- const newAttrs = vue.computed(() => {
84
- const _attr = inputAttrs || {};
85
- return {
86
- ..._attr,
87
- [trigger]: onValueChange,
88
- name: vue.toValue(newName),
89
- id: vue.toValue(htmlFor),
90
- [valuePropName]: vue.toValue(oldValue)
91
- };
92
- });
93
- const attrsLastData = vue.ref(vue.toValue(newAttrs));
94
- vue.watch(() => [vue.toValue(newAttrs), vue.toValue(deepRefData), vue.toValue(oldValue)], () => {
95
- attrsLastData.value = (useAttrs == null ? void 0 : useAttrs(vue.toValue(newAttrs), form, formItemInstance)) || vue.toValue(newAttrs);
96
- }, {
97
- immediate: true
98
- });
99
- const validateResult = vue.ref(vue.toValue(ruleInstance).getValidateResult());
100
- vue.watch(() => [vue.toValue(deepRefData), vue.toValue(oldValue)], () => {
101
- useRules == null ? void 0 : useRules(ruleInstance, form, formItemInstance);
102
- });
103
- vue.watch(() => [vue.toValue(ruleInstance).messages, vue.toValue(ruleInstance).rules, vue.toValue(oldValue)], () => {
104
- validateResult.value = vue.toValue(ruleInstance).getValidateResult();
105
- });
106
- return {
107
- valuePropName,
108
- htmlFor,
109
- onChange: onValueChange,
110
- formItemInstance,
111
- form,
112
- ruleInstance,
113
- newAttrs,
114
- attrsLastData,
115
- validateResult,
116
- newSort,
117
- newName
118
- };
119
- };
120
- exports.useFormItemAttr = useFormItemAttr;
@@ -1,13 +0,0 @@
1
- export * from './useAttrs';
2
- export * from './useForm';
3
- export * from './useFormItem';
4
- export * from './useFormList';
5
- export * from './useHtmlFor';
6
- export * from './useMultipleForm';
7
- export * from './useFormItemParentName';
8
- export * from './useEffect';
9
- export * from './register/register.FormHideItem';
10
- export * from './register/register.FormItem';
11
- export * from './register/register.FormList';
12
- export * from './register/register.form';
13
- export * from './attr/attr.FormItem';
@@ -1,9 +0,0 @@
1
- import { RegisterFormItemOptions } from './register.FormItem';
2
- interface RegisterFormHideItemOptions extends Omit<RegisterFormItemOptions, 'rules'> {
3
- }
4
- /**注册表单隐藏表单项到表单实例中*/
5
- export declare const useRegisterFormHideItem: (options: RegisterFormHideItemOptions) => {
6
- form: import('@carefrees/form-utils').FormInstanceBase<any>;
7
- isHide: import('vue').Ref<any, any>;
8
- };
9
- export {};
@@ -1,38 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const vue = require("vue");
4
- const formUtils = require("@carefrees/form-utils");
5
- const useFormItemParentName = require("../useFormItemParentName.js");
6
- const useForm = require("../useForm.js");
7
- const useEffect = require("../useEffect.js");
8
- const useRegisterFormHideItem = (options) => {
9
- const { name, sort, isJoinParentField = true } = options;
10
- const form = useForm.useFormInject();
11
- const { newName, newSort } = useFormItemParentName.useFormItemParentNameInject({ name, sort, isJoinParentField });
12
- const hideItemInstance = vue.ref(new formUtils.FormHideItemInstanceBase().ctor(newName.value));
13
- const isHide = vue.ref(form.getFieldHideValue(newName.value));
14
- vue.watch(
15
- () => [vue.toValue(isHide)],
16
- () => {
17
- hideItemInstance.value.preHideValue = isHide.value;
18
- },
19
- { immediate: true }
20
- );
21
- const setValue = () => {
22
- isHide.value = form.getFieldHideValue(newName.value);
23
- };
24
- hideItemInstance.value.updatedItem = setValue;
25
- vue.watch(
26
- () => [form, vue.toValue(newSort)],
27
- () => {
28
- hideItemInstance.value.instance = form;
29
- hideItemInstance.value.sort = vue.toValue(newSort);
30
- },
31
- { immediate: true }
32
- );
33
- useEffect.useEffect(() => {
34
- return form.registerFormHideItem(vue.toValue(hideItemInstance));
35
- });
36
- return { form, isHide };
37
- };
38
- exports.useRegisterFormHideItem = useRegisterFormHideItem;
@@ -1,23 +0,0 @@
1
- import { Ref } from 'vue';
2
- import { RuleItem } from 'async-validator';
3
- import { RuleInstanceBase2 } from '../../instance/ruleIntsnace';
4
- export interface RegisterFormItemOptions {
5
- /**字段*/
6
- name: string;
7
- /**规则*/
8
- rules?: RuleItem[];
9
- /**排序值*/
10
- sort?: string;
11
- /**是否拼接父级字段*/
12
- isJoinParentField?: boolean;
13
- }
14
- /**注册表单项到表单实例中*/
15
- export declare const useRegisterFormItem: (options: RegisterFormItemOptions) => {
16
- ruleInstance: Ref<RuleInstanceBase2, RuleInstanceBase2>;
17
- formItemInstance: import('@carefrees/form-utils').FormItemInstanceBase;
18
- form: import('@carefrees/form-utils').FormInstanceBase<any>;
19
- newName: import('vue').ComputedRef<string>;
20
- newSort: import('vue').ComputedRef<string>;
21
- parentItem: import('vue').ComputedRef<import('../..').PartialComputedRefs<Omit<import('../useFormItemParentName').FormItemParentNamOptions, "isJoinParentField">>>;
22
- deepRefData: Ref<any, any>;
23
- };
@@ -1,55 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const vue = require("vue");
4
- const useForm = require("../useForm.js");
5
- const useFormItem = require("../useFormItem.js");
6
- const useFormItemParentName = require("../useFormItemParentName.js");
7
- const useEffect = require("../useEffect.js");
8
- const ruleIntsnace = require("../../instance/ruleIntsnace.js");
9
- const useRegisterFormItem = (options) => {
10
- const { name, rules, sort, isJoinParentField = true } = options;
11
- const form = useForm.useFormInject();
12
- const deepRefData = vue.ref({});
13
- const { newName, newSort, parentItem } = useFormItemParentName.useFormItemParentNameInject({ name, sort, isJoinParentField });
14
- const ruleInstance = vue.ref(new ruleIntsnace.RuleInstanceBase2());
15
- const formItemInstance = useFormItem.useFormItem();
16
- vue.watch(
17
- () => [form],
18
- () => {
19
- ruleInstance.value.instance = form;
20
- formItemInstance.instance = form;
21
- },
22
- { immediate: true }
23
- );
24
- vue.watch(
25
- () => [vue.toValue(newName)],
26
- () => {
27
- ruleInstance.value.ctor(vue.toValue(newName), rules || []);
28
- formItemInstance.ctor(vue.toValue(newName), vue.toValue(ruleInstance));
29
- },
30
- { immediate: true }
31
- );
32
- vue.watch(
33
- () => [vue.toValue(newSort)],
34
- () => {
35
- ruleInstance.value.sort = vue.toValue(newSort);
36
- formItemInstance.sort = vue.toValue(newSort);
37
- },
38
- { immediate: true }
39
- );
40
- vue.watch(
41
- () => [vue.toValue(parentItem)],
42
- () => {
43
- formItemInstance.parentDataField = vue.toValue(vue.toValue(parentItem).name);
44
- },
45
- { immediate: true }
46
- );
47
- const updated = () => {
48
- deepRefData.value = { __temp: (/* @__PURE__ */ new Date()).valueOf() };
49
- };
50
- formItemInstance.updated = updated;
51
- ruleInstance.value.updated = updated;
52
- useEffect.useEffect(() => form.registerFormItem(formItemInstance));
53
- return { ruleInstance, formItemInstance, form, newName, newSort, parentItem, deepRefData };
54
- };
55
- exports.useRegisterFormItem = useRegisterFormItem;
@@ -1,9 +0,0 @@
1
- import { RegisterFormItemOptions } from './register.FormItem';
2
- export interface RegisterFormListOptions extends RegisterFormItemOptions {
3
- }
4
- /**注册表单List到表单实例中*/
5
- export declare const useRegisterFormList: (options: RegisterFormListOptions) => {
6
- ruleInstance: import('vue').Ref<import('../../instance/ruleIntsnace').RuleInstanceBase2, import('../../instance/ruleIntsnace').RuleInstanceBase2>;
7
- formItemInstance: import('@carefrees/form-utils').FormItemInstanceBase;
8
- formListInstance: import('@carefrees/form-utils').FormListInstanceBase;
9
- };
@@ -1,43 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const vue = require("vue");
4
- const register_FormItem = require("./register.FormItem.js");
5
- const useFormList = require("../useFormList.js");
6
- const useEffect = require("../useEffect.js");
7
- const useRegisterFormList = (options) => {
8
- const { ruleInstance, formItemInstance, form, newName, parentItem } = register_FormItem.useRegisterFormItem(options);
9
- const formListInstance = useFormList.useFormList();
10
- vue.watch(
11
- () => [vue.toValue(newName)],
12
- () => {
13
- formListInstance.ctor(vue.toValue(newName));
14
- },
15
- { immediate: true }
16
- );
17
- vue.watch(
18
- () => [form, formItemInstance, vue.toValue(ruleInstance)],
19
- () => {
20
- formListInstance.instance = form;
21
- formListInstance.formItemInstance = formItemInstance;
22
- formListInstance.rule = vue.toValue(ruleInstance);
23
- },
24
- { immediate: true }
25
- );
26
- vue.watch(
27
- () => [options.sort, vue.toValue(parentItem)],
28
- () => {
29
- formListInstance.sort = vue.toValue(parentItem.value.sort);
30
- formListInstance.parentDataField = vue.toValue(parentItem.value.name);
31
- },
32
- { immediate: true }
33
- );
34
- useEffect.useEffect(() => {
35
- return form.registerFormList(newName.value, formListInstance);
36
- });
37
- return {
38
- ruleInstance,
39
- formItemInstance,
40
- formListInstance
41
- };
42
- };
43
- exports.useRegisterFormList = useRegisterFormList;
@@ -1,3 +0,0 @@
1
- import { FormInstanceBase } from '@carefrees/form-utils';
2
- /**注册表单实例到多表单收集实例中*/
3
- export declare const useRegisterForm: (form: FormInstanceBase, name?: string) => import('@carefrees/form-utils').MultipleInstanceBase;
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const useMultipleForm = require("../useMultipleForm.js");
4
- const useEffect = require("../useEffect.js");
5
- const useRegisterForm = (form, name) => {
6
- const multipleForm = useMultipleForm.useMultipleFormInject();
7
- useEffect.useEffect(() => {
8
- if (name) return multipleForm.ctor(name, form);
9
- });
10
- return multipleForm;
11
- };
12
- exports.useRegisterForm = useRegisterForm;
@@ -1,24 +0,0 @@
1
- import { StyleValue, ComputedRef } from 'vue';
2
- import { ComputedRefBase } from '../interface';
3
- export type AttrsOptions = {
4
- /**列数据*/
5
- colCount?: ComputedRefBase<number | undefined>;
6
- /**规则校验失败错误提示位置*/
7
- errorLayout?: ComputedRefBase<'left-bottom' | 'right-bottom' | 'top-right' | 'top-left' | undefined>;
8
- /**label显示模式*/
9
- labelMode?: ComputedRefBase<'left' | 'top' | 'hide' | undefined>;
10
- /**是否显示label后的冒号*/
11
- showColon?: ComputedRefBase<boolean | undefined>;
12
- /**表单项 className*/
13
- formItemClass?: ComputedRefBase<string | undefined>;
14
- /**表单项 style*/
15
- formItemStyle?: ComputedRefBase<StyleValue | undefined>;
16
- /**表单项 label className*/
17
- formItemLabelClass?: ComputedRefBase<string | undefined>;
18
- /**表单项 label style*/
19
- formItemLabelStyle?: ComputedRefBase<StyleValue | undefined>;
20
- };
21
- /**公共属性 Context */
22
- export declare function useAttrsProvide(options: AttrsOptions): void;
23
- /**子项中获取公共属性*/
24
- export declare function useAttrsInject(): ComputedRef<AttrsOptions>;
@@ -1,43 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const vue = require("vue");
4
- const attrsProvideSymbol = Symbol("carefrees-attrs");
5
- function useAttrsProvide(options) {
6
- const {
7
- colCount = vue.ref(4),
8
- errorLayout = vue.ref("left-bottom"),
9
- labelMode = vue.ref("top"),
10
- showColon = vue.ref(true),
11
- formItemClass,
12
- formItemStyle,
13
- formItemLabelClass,
14
- formItemLabelStyle
15
- } = options;
16
- const data = vue.computed(() => {
17
- return {
18
- colCount,
19
- errorLayout,
20
- labelMode,
21
- showColon,
22
- formItemClass,
23
- formItemStyle,
24
- formItemLabelClass,
25
- formItemLabelStyle
26
- };
27
- });
28
- vue.provide(attrsProvideSymbol, vue.reactive(data));
29
- }
30
- function useAttrsInject() {
31
- const attrs = vue.inject(
32
- attrsProvideSymbol,
33
- vue.computed(() => ({
34
- colCount: vue.ref(4),
35
- errorLayout: vue.ref("left-bottom"),
36
- labelMode: vue.ref("top"),
37
- showColon: vue.ref(true)
38
- }))
39
- );
40
- return attrs;
41
- }
42
- exports.useAttrsInject = useAttrsInject;
43
- exports.useAttrsProvide = useAttrsProvide;
@@ -1,2 +0,0 @@
1
- /**挂载卸载*/
2
- export declare const useEffect: (fun: () => Function | undefined) => void;
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const vue = require("vue");
4
- const useEffect = (fun) => {
5
- const unRegisterRef = vue.ref();
6
- vue.onMounted(() => {
7
- unRegisterRef.value = fun();
8
- });
9
- vue.onUnmounted(() => {
10
- typeof unRegisterRef.value === "function" && unRegisterRef.value();
11
- unRegisterRef.value = void 0;
12
- });
13
- };
14
- exports.useEffect = useEffect;
@@ -1,8 +0,0 @@
1
- import { FormInstanceBase } from '@carefrees/form-utils';
2
- import { Ref } from 'vue';
3
- /**表单实例 Context */
4
- export declare function useFormProvide<T = any>(form: FormInstanceBase<T>): void;
5
- /**子项中获取表单实例*/
6
- export declare function useFormInject<T = any>(): FormInstanceBase<T>;
7
- /**初始化表单实例*/
8
- export declare function useForm<T = any>(form?: FormInstanceBase<T>): Ref<FormInstanceBase<T>, FormInstanceBase<T>>;
@@ -1,26 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const formUtils = require("@carefrees/form-utils");
4
- const vue = require("vue");
5
- const formProvideSymbol = Symbol("carefrees-form");
6
- function useFormProvide(form) {
7
- vue.provide(formProvideSymbol, form);
8
- }
9
- function useFormInject() {
10
- const form = vue.inject(formProvideSymbol, new formUtils.FormInstanceBase());
11
- return form;
12
- }
13
- function useForm(form) {
14
- const refForm = vue.ref();
15
- if (!refForm.value) {
16
- if (form) {
17
- refForm.value = form;
18
- } else {
19
- refForm.value = new formUtils.FormInstanceBase();
20
- }
21
- }
22
- return refForm;
23
- }
24
- exports.useForm = useForm;
25
- exports.useFormInject = useFormInject;
26
- exports.useFormProvide = useFormProvide;
@@ -1,7 +0,0 @@
1
- import { FormItemInstanceBase } from '@carefrees/form-utils';
2
- /**表单项实例 Context */
3
- export declare function useFormItemProvide(formItem: FormItemInstanceBase): void;
4
- /**子项中获取表单项实例*/
5
- export declare function useFormItemInject(): FormItemInstanceBase;
6
- /**s初始化 表单项实例*/
7
- export declare function useFormItem(formItem?: FormItemInstanceBase): FormItemInstanceBase;
@@ -1,26 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const formUtils = require("@carefrees/form-utils");
4
- const vue = require("vue");
5
- const formItemProvideSymbol = Symbol("carefrees-form-item");
6
- function useFormItemProvide(formItem) {
7
- vue.provide(formItemProvideSymbol, formItem);
8
- }
9
- function useFormItemInject() {
10
- const formItem = vue.inject(formItemProvideSymbol, new formUtils.FormItemInstanceBase());
11
- return formItem;
12
- }
13
- function useFormItem(formItem) {
14
- const refForm = vue.ref();
15
- if (!refForm.value) {
16
- if (formItem) {
17
- refForm.value = formItem;
18
- } else {
19
- refForm.value = new formUtils.FormItemInstanceBase();
20
- }
21
- }
22
- return refForm.value;
23
- }
24
- exports.useFormItem = useFormItem;
25
- exports.useFormItemInject = useFormItemInject;
26
- exports.useFormItemProvide = useFormItemProvide;
@@ -1,18 +0,0 @@
1
- import { ComputedRef } from 'vue';
2
- import { PartialComputedRefs } from '../interface';
3
- export interface FormItemParentNamOptions {
4
- /**字段*/
5
- name: string;
6
- /**排序*/
7
- sort?: string;
8
- /**是否拼接父级字段*/
9
- isJoinParentField?: boolean;
10
- }
11
- export type FormItemParentNameProviderProps = PartialComputedRefs<Omit<FormItemParentNamOptions, 'isJoinParentField'>>;
12
- export declare const useFormItemParentNameProvide: (props: FormItemParentNameProviderProps) => void;
13
- /**表单项获取父级字段*/
14
- export declare const useFormItemParentNameInject: (options: FormItemParentNamOptions) => {
15
- newName: ComputedRef<string>;
16
- newSort: ComputedRef<string>;
17
- parentItem: ComputedRef<PartialComputedRefs<Omit<FormItemParentNamOptions, "isJoinParentField">>>;
18
- };
@@ -1,37 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const vue = require("vue");
4
- const parentNameProvideSymbol = Symbol("carefrees-parent-name");
5
- const useFormItemParentNameProvide = (props) => {
6
- const { name, sort } = props;
7
- vue.provide(
8
- parentNameProvideSymbol,
9
- vue.computed(() => ({ name, sort }))
10
- );
11
- };
12
- const useFormItemParentNameInject = (options) => {
13
- const { isJoinParentField = true, sort, name } = options;
14
- const parentItem = vue.inject(
15
- parentNameProvideSymbol,
16
- vue.computed(() => ({ name: vue.ref(""), sort: vue.ref("") }))
17
- );
18
- const newName = vue.computed(() => {
19
- const _name = vue.toValue(parentItem.value.name);
20
- if (_name && isJoinParentField) {
21
- if (/^\./.test(`${name}`)) {
22
- return [_name, name].filter(Boolean).join("");
23
- } else if (name) {
24
- return [_name, ".", name].filter(Boolean).join("");
25
- }
26
- return [_name, name].filter(Boolean).join("");
27
- }
28
- return [name].filter(Boolean).join("");
29
- });
30
- const newSort = vue.computed(() => {
31
- const _sort = vue.toValue(parentItem.value.sort);
32
- return [isJoinParentField ? _sort : "", sort].filter(Boolean).join("-");
33
- });
34
- return { newName, newSort, parentItem };
35
- };
36
- exports.useFormItemParentNameInject = useFormItemParentNameInject;
37
- exports.useFormItemParentNameProvide = useFormItemParentNameProvide;
@@ -1,7 +0,0 @@
1
- import { FormListInstanceBase } from '@carefrees/form-utils';
2
- /**表单List实例 Context */
3
- export declare function useFormListProvide(formList: FormListInstanceBase): void;
4
- /**子项中获取表单List实例*/
5
- export declare function useFormListInject(): FormListInstanceBase;
6
- /**初始化 表单List实例*/
7
- export declare function useFormList(formList?: FormListInstanceBase): FormListInstanceBase;