@carefrees/form-utils-vue 0.0.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 (168) hide show
  1. package/README.md +3 -0
  2. package/assets/index.css +207 -0
  3. package/esm/component.d.ts +3 -0
  4. package/esm/component.mjs +12 -0
  5. package/esm/form/index.d.ts +37 -0
  6. package/esm/form/index.mjs +6 -0
  7. package/esm/form/index.vue.d.ts +19 -0
  8. package/esm/form/index.vue.mjs +110 -0
  9. package/esm/form/index.vue2.mjs +4 -0
  10. package/esm/formItem/form.Item.base.vue.d.ts +16 -0
  11. package/esm/formItem/form.Item.base.vue.mjs +114 -0
  12. package/esm/formItem/form.Item.base.vue2.mjs +4 -0
  13. package/esm/formItem/form.hide.item.vue.d.ts +16 -0
  14. package/esm/formItem/form.hide.item.vue.mjs +78 -0
  15. package/esm/formItem/form.hide.item.vue2.mjs +4 -0
  16. package/esm/formItem/formItem.vue.d.ts +18 -0
  17. package/esm/formItem/formItem.vue.mjs +102 -0
  18. package/esm/formItem/formItem.vue2.mjs +4 -0
  19. package/esm/formItem/index.d.ts +71 -0
  20. package/esm/formItem/index.mjs +12 -0
  21. package/esm/hooks/attr/attr.FormItem.d.ts +876 -0
  22. package/esm/hooks/attr/attr.FormItem.mjs +120 -0
  23. package/esm/hooks/index.d.ts +13 -0
  24. package/esm/hooks/register/register.FormHideItem.d.ts +9 -0
  25. package/esm/hooks/register/register.FormHideItem.mjs +38 -0
  26. package/esm/hooks/register/register.FormItem.d.ts +802 -0
  27. package/esm/hooks/register/register.FormItem.mjs +55 -0
  28. package/esm/hooks/register/register.FormList.d.ts +789 -0
  29. package/esm/hooks/register/register.FormList.mjs +43 -0
  30. package/esm/hooks/register/register.form.d.ts +3 -0
  31. package/esm/hooks/register/register.form.mjs +12 -0
  32. package/esm/hooks/useAttrs.d.ts +24 -0
  33. package/esm/hooks/useAttrs.mjs +45 -0
  34. package/esm/hooks/useEffect.d.ts +2 -0
  35. package/esm/hooks/useEffect.mjs +14 -0
  36. package/esm/hooks/useForm.d.ts +8 -0
  37. package/esm/hooks/useForm.mjs +26 -0
  38. package/esm/hooks/useFormItem.d.ts +7 -0
  39. package/esm/hooks/useFormItem.mjs +26 -0
  40. package/esm/hooks/useFormItemParentName.d.ts +18 -0
  41. package/esm/hooks/useFormItemParentName.mjs +37 -0
  42. package/esm/hooks/useFormList.d.ts +7 -0
  43. package/esm/hooks/useFormList.mjs +26 -0
  44. package/esm/hooks/useHtmlFor.d.ts +2 -0
  45. package/esm/hooks/useHtmlFor.mjs +11 -0
  46. package/esm/hooks/useMultipleForm.d.ts +7 -0
  47. package/esm/hooks/useMultipleForm.mjs +27 -0
  48. package/esm/index.d.ts +11 -0
  49. package/esm/index.mjs +59 -0
  50. package/esm/instance/ruleIntsnace.d.ts +49 -0
  51. package/esm/instance/ruleIntsnace.mjs +73 -0
  52. package/esm/interface/index.d.ts +36 -0
  53. package/esm/interface/layout.d.ts +28 -0
  54. package/esm/interface/layout.formItem.d.ts +39 -0
  55. package/esm/layout/index.d.ts +65 -0
  56. package/esm/layout/index.mjs +12 -0
  57. package/esm/layout/layout.form.rows.vue.d.ts +10 -0
  58. package/esm/layout/layout.form.rows.vue.mjs +31 -0
  59. package/esm/layout/layout.form.rows.vue2.mjs +4 -0
  60. package/esm/layout/layout.formItem.vue.d.ts +18 -0
  61. package/esm/layout/layout.formItem.vue.mjs +216 -0
  62. package/esm/layout/layout.formItem.vue2.mjs +4 -0
  63. package/esm/layout/layout.vue.d.ts +16 -0
  64. package/esm/layout/layout.vue.mjs +166 -0
  65. package/esm/layout/layout.vue2.mjs +4 -0
  66. package/esm/utils/index.d.ts +1 -0
  67. package/esm/utils/withInstall.d.ts +3 -0
  68. package/esm/utils/withInstall.mjs +22 -0
  69. package/lib/component.d.ts +3 -0
  70. package/lib/component.js +12 -0
  71. package/lib/form/index.d.ts +37 -0
  72. package/lib/form/index.js +6 -0
  73. package/lib/form/index.vue.d.ts +19 -0
  74. package/lib/form/index.vue.js +110 -0
  75. package/lib/form/index.vue2.js +4 -0
  76. package/lib/formItem/form.Item.base.vue.d.ts +16 -0
  77. package/lib/formItem/form.Item.base.vue.js +114 -0
  78. package/lib/formItem/form.Item.base.vue2.js +4 -0
  79. package/lib/formItem/form.hide.item.vue.d.ts +16 -0
  80. package/lib/formItem/form.hide.item.vue.js +78 -0
  81. package/lib/formItem/form.hide.item.vue2.js +4 -0
  82. package/lib/formItem/formItem.vue.d.ts +18 -0
  83. package/lib/formItem/formItem.vue.js +102 -0
  84. package/lib/formItem/formItem.vue2.js +4 -0
  85. package/lib/formItem/index.d.ts +71 -0
  86. package/lib/formItem/index.js +12 -0
  87. package/lib/hooks/attr/attr.FormItem.d.ts +876 -0
  88. package/lib/hooks/attr/attr.FormItem.js +120 -0
  89. package/lib/hooks/index.d.ts +13 -0
  90. package/lib/hooks/register/register.FormHideItem.d.ts +9 -0
  91. package/lib/hooks/register/register.FormHideItem.js +38 -0
  92. package/lib/hooks/register/register.FormItem.d.ts +802 -0
  93. package/lib/hooks/register/register.FormItem.js +55 -0
  94. package/lib/hooks/register/register.FormList.d.ts +789 -0
  95. package/lib/hooks/register/register.FormList.js +43 -0
  96. package/lib/hooks/register/register.form.d.ts +3 -0
  97. package/lib/hooks/register/register.form.js +12 -0
  98. package/lib/hooks/useAttrs.d.ts +24 -0
  99. package/lib/hooks/useAttrs.js +45 -0
  100. package/lib/hooks/useEffect.d.ts +2 -0
  101. package/lib/hooks/useEffect.js +14 -0
  102. package/lib/hooks/useForm.d.ts +8 -0
  103. package/lib/hooks/useForm.js +26 -0
  104. package/lib/hooks/useFormItem.d.ts +7 -0
  105. package/lib/hooks/useFormItem.js +26 -0
  106. package/lib/hooks/useFormItemParentName.d.ts +18 -0
  107. package/lib/hooks/useFormItemParentName.js +37 -0
  108. package/lib/hooks/useFormList.d.ts +7 -0
  109. package/lib/hooks/useFormList.js +26 -0
  110. package/lib/hooks/useHtmlFor.d.ts +2 -0
  111. package/lib/hooks/useHtmlFor.js +11 -0
  112. package/lib/hooks/useMultipleForm.d.ts +7 -0
  113. package/lib/hooks/useMultipleForm.js +27 -0
  114. package/lib/index.d.ts +11 -0
  115. package/lib/index.js +59 -0
  116. package/lib/instance/ruleIntsnace.d.ts +49 -0
  117. package/lib/instance/ruleIntsnace.js +73 -0
  118. package/lib/interface/index.d.ts +36 -0
  119. package/lib/interface/layout.d.ts +28 -0
  120. package/lib/interface/layout.formItem.d.ts +39 -0
  121. package/lib/layout/index.d.ts +65 -0
  122. package/lib/layout/index.js +12 -0
  123. package/lib/layout/layout.form.rows.vue.d.ts +10 -0
  124. package/lib/layout/layout.form.rows.vue.js +31 -0
  125. package/lib/layout/layout.form.rows.vue2.js +4 -0
  126. package/lib/layout/layout.formItem.vue.d.ts +18 -0
  127. package/lib/layout/layout.formItem.vue.js +216 -0
  128. package/lib/layout/layout.formItem.vue2.js +4 -0
  129. package/lib/layout/layout.vue.d.ts +16 -0
  130. package/lib/layout/layout.vue.js +166 -0
  131. package/lib/layout/layout.vue2.js +4 -0
  132. package/lib/utils/index.d.ts +1 -0
  133. package/lib/utils/withInstall.d.ts +3 -0
  134. package/lib/utils/withInstall.js +22 -0
  135. package/package.json +33 -0
  136. package/src/component.ts +3 -0
  137. package/src/form/index.ts +3 -0
  138. package/src/form/index.vue +66 -0
  139. package/src/formItem/form.Item.base.vue +54 -0
  140. package/src/formItem/form.hide.item.vue +28 -0
  141. package/src/formItem/formItem.vue +38 -0
  142. package/src/formItem/index.ts +7 -0
  143. package/src/hooks/attr/attr.FormItem.tsx +170 -0
  144. package/src/hooks/index.ts +13 -0
  145. package/src/hooks/register/register.FormHideItem.ts +45 -0
  146. package/src/hooks/register/register.FormItem.ts +80 -0
  147. package/src/hooks/register/register.FormList.ts +49 -0
  148. package/src/hooks/register/register.form.ts +12 -0
  149. package/src/hooks/useAttrs.ts +66 -0
  150. package/src/hooks/useEffect.ts +13 -0
  151. package/src/hooks/useForm.ts +28 -0
  152. package/src/hooks/useFormItem.ts +28 -0
  153. package/src/hooks/useFormItemParentName.ts +49 -0
  154. package/src/hooks/useFormList.ts +28 -0
  155. package/src/hooks/useHtmlFor.ts +9 -0
  156. package/src/hooks/useMultipleForm.ts +29 -0
  157. package/src/index.ts +16 -0
  158. package/src/instance/ruleIntsnace.ts +105 -0
  159. package/src/interface/index.ts +40 -0
  160. package/src/interface/layout.formItem.ts +42 -0
  161. package/src/interface/layout.ts +29 -0
  162. package/src/layout/index.ts +8 -0
  163. package/src/layout/layout.form.rows.vue +19 -0
  164. package/src/layout/layout.formItem.vue +119 -0
  165. package/src/layout/layout.vue +97 -0
  166. package/src/utils/index.ts +1 -0
  167. package/src/utils/withInstall.ts +28 -0
  168. package/src/vite-env.d.ts +1 -0
@@ -0,0 +1,120 @@
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(newName.value);
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(newName.value, 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(newAttrs.value, form, formItemInstance)) || newAttrs.value;
96
+ }, {
97
+ immediate: true
98
+ });
99
+ const validateResult = vue.ref(ruleInstance.value.getValidateResult());
100
+ vue.watch(() => [vue.toValue(deepRefData), vue.toValue(oldValue)], () => {
101
+ useRules == null ? void 0 : useRules(ruleInstance.value, form, formItemInstance);
102
+ });
103
+ vue.watch(() => [ruleInstance.value.messages, ruleInstance.value.rules, vue.toValue(oldValue)], () => {
104
+ validateResult.value = ruleInstance.value.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;
@@ -0,0 +1,13 @@
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';
@@ -0,0 +1,9 @@
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 {};
@@ -0,0 +1,38 @@
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
+ [isHide.value],
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, newSort.value],
27
+ () => {
28
+ hideItemInstance.value.instance = form;
29
+ hideItemInstance.value.sort = newSort.value;
30
+ },
31
+ { immediate: true }
32
+ );
33
+ useEffect.useEffect(() => {
34
+ return form.registerFormHideItem(hideItemInstance.value);
35
+ });
36
+ return { form, isHide };
37
+ };
38
+ exports.useRegisterFormHideItem = useRegisterFormHideItem;