@kp-ui/lowcode 2.15.0-beta.6 → 2.15.0-beta.7

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 (166) hide show
  1. package/package.json +6 -2
  2. package/src/components/FormRender/useFormContext.js +15 -15
  3. package/src/components/FormRender/useFormContext.js.map +1 -1
  4. package/src/components/bi-widget/echartBar/echart-bar-widget.vue.js +8 -0
  5. package/src/components/bi-widget/echartBar/echart-bar-widget.vue.js.map +1 -0
  6. package/src/components/bi-widget/echartBar/echart-bar-widget.vue2.js +43 -0
  7. package/src/components/bi-widget/echartBar/echart-bar-widget.vue2.js.map +1 -0
  8. package/src/components/bi-widget/echartBar/echart-bar.js +35 -0
  9. package/src/components/bi-widget/echartBar/echart-bar.js.map +1 -0
  10. package/src/components/bi-widget/index.js +13 -0
  11. package/src/components/bi-widget/index.js.map +1 -0
  12. package/src/components/{form-designer/designer.js → designer.js} +71 -76
  13. package/src/components/designer.js.map +1 -0
  14. package/src/components/form-designer/form-widget/RenderDesignerPC.vue.js +26 -0
  15. package/src/components/form-designer/form-widget/RenderDesignerPC.vue.js.map +1 -0
  16. package/src/components/form-designer/form-widget/RenderDesignerPC.vue2.js +5 -0
  17. package/src/components/form-designer/form-widget/RenderDesignerPC.vue2.js.map +1 -0
  18. package/src/components/form-designer/form-widget/RenderDesignerWigetList.vue.js +1 -1
  19. package/src/components/form-designer/form-widget/RenderDesignerWigetList.vue.js.map +1 -1
  20. package/src/components/form-designer/form-widget/bi/RenderDesignerBI.vue.js +8 -0
  21. package/src/components/form-designer/form-widget/bi/RenderDesignerBI.vue.js.map +1 -0
  22. package/src/components/form-designer/form-widget/bi/RenderDesignerBI.vue2.js +68 -0
  23. package/src/components/form-designer/form-widget/bi/RenderDesignerBI.vue2.js.map +1 -0
  24. package/src/components/form-designer/form-widget/bi/RenderDesignerBIWigetList.vue.js +8 -0
  25. package/src/components/form-designer/form-widget/bi/RenderDesignerBIWigetList.vue.js.map +1 -0
  26. package/src/components/form-designer/form-widget/bi/RenderDesignerBIWigetList.vue2.js +136 -0
  27. package/src/components/form-designer/form-widget/bi/RenderDesignerBIWigetList.vue2.js.map +1 -0
  28. package/src/components/form-designer/form-widget/bi/WidgetContextMenu.vue.js +8 -0
  29. package/src/components/form-designer/form-widget/bi/WidgetContextMenu.vue.js.map +1 -0
  30. package/src/components/form-designer/form-widget/bi/WidgetContextMenu.vue2.js +153 -0
  31. package/src/components/form-designer/form-widget/bi/WidgetContextMenu.vue2.js.map +1 -0
  32. package/src/components/form-designer/form-widget/bi/useRuler.js +66 -0
  33. package/src/components/form-designer/form-widget/bi/useRuler.js.map +1 -0
  34. package/src/components/form-designer/form-widget/container-widget/vf-box-widget.vue.js +2 -2
  35. package/src/components/form-designer/form-widget/container-widget/vf-box-widget.vue2.js +24 -21
  36. package/src/components/form-designer/form-widget/container-widget/vf-box-widget.vue2.js.map +1 -1
  37. package/src/components/form-designer/form-widget/container-widget/vf-collapse-widget.vue.js +2 -2
  38. package/src/components/form-designer/form-widget/container-widget/vf-collapse-widget.vue2.js +36 -34
  39. package/src/components/form-designer/form-widget/container-widget/vf-collapse-widget.vue2.js.map +1 -1
  40. package/src/components/form-designer/form-widget/field-widget/form-item-wrapper.vue.js +1 -1
  41. package/src/components/form-designer/form-widget/field-widget/form-item-wrapper.vue2.js +1 -1
  42. package/src/components/form-designer/form-widget/field-widget/form-item-wrapper.vue2.js.map +1 -1
  43. package/src/components/form-designer/form-widget/field-widget/index.js +1 -1
  44. package/src/components/form-designer/form-widget/field-widget/index.js.map +1 -1
  45. package/src/components/form-designer/form-widget/field-widget/useField.js +117 -117
  46. package/src/components/form-designer/form-widget/field-widget/useField.js.map +1 -1
  47. package/src/components/form-designer/form-widget/index.vue.js +2 -2
  48. package/src/components/form-designer/form-widget/index.vue2.js +47 -56
  49. package/src/components/form-designer/form-widget/index.vue2.js.map +1 -1
  50. package/src/components/form-designer/index.vue.js +74 -77
  51. package/src/components/form-designer/index.vue.js.map +1 -1
  52. package/src/components/form-designer/setting-panel/form-setting.vue.js +1 -1
  53. package/src/components/form-designer/setting-panel/form-setting.vue2.js +1 -1
  54. package/src/components/form-designer/setting-panel/form-setting.vue2.js.map +1 -1
  55. package/src/components/form-designer/setting-panel/index.vue.js +1 -1
  56. package/src/components/form-designer/setting-panel/index.vue2.js +1 -1
  57. package/src/components/form-designer/setting-panel/index.vue2.js.map +1 -1
  58. package/src/components/form-designer/setting-panel/option-items-setting.vue.js +2 -2
  59. package/src/components/form-designer/setting-panel/option-items-setting.vue2.js +1 -1
  60. package/src/components/form-designer/setting-panel/option-items-setting.vue2.js.map +1 -1
  61. package/src/components/form-designer/setting-panel/panel/PanelItemDrag.vue.js +51 -0
  62. package/src/components/form-designer/setting-panel/panel/PanelItemDrag.vue.js.map +1 -0
  63. package/src/components/form-designer/setting-panel/panel/PanelItemDragForBI.vue.js +51 -0
  64. package/src/components/form-designer/setting-panel/panel/PanelItemDragForBI.vue.js.map +1 -0
  65. package/src/components/form-designer/setting-panel/panel/PanelItemDragForBI.vue2.js +5 -0
  66. package/src/components/form-designer/setting-panel/panel/PanelItemDragForBI.vue2.js.map +1 -0
  67. package/src/components/form-designer/setting-panel/property-editor/boxModel-editor.vue.js +1 -1
  68. package/src/components/form-designer/setting-panel/property-editor/boxModel-editor.vue2.js +201 -255
  69. package/src/components/form-designer/setting-panel/property-editor/boxModel-editor.vue2.js.map +1 -1
  70. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-customClass-editor.vue2.js +1 -1
  71. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-customClass-editor.vue2.js.map +1 -1
  72. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-dsEnabled-editor.vue2.js +1 -1
  73. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-dsEnabled-editor.vue2.js.map +1 -1
  74. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-tableColumns-editor.vue.js +1 -1
  75. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-tableColumns-editor.vue2.js +1 -1
  76. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-tableColumns-editor.vue2.js.map +1 -1
  77. package/src/components/form-designer/setting-panel/property-editor/container-grid/gutter-editor.vue.js +2 -2
  78. package/src/components/form-designer/setting-panel/property-editor/container-grid/gutter-editor.vue2.js +1 -1
  79. package/src/components/form-designer/setting-panel/property-editor/container-grid/gutter-editor.vue2.js.map +1 -1
  80. package/src/components/form-designer/setting-panel/property-editor/container-grid-col/grid-col-span-editor.vue2.js +1 -1
  81. package/src/components/form-designer/setting-panel/property-editor/container-grid-col/grid-col-span-editor.vue2.js.map +1 -1
  82. package/src/components/form-designer/setting-panel/property-editor/container-tab/tab-customClass-editor.vue.js +1 -1
  83. package/src/components/form-designer/setting-panel/property-editor/container-tab/tab-customClass-editor.vue2.js +1 -1
  84. package/src/components/form-designer/setting-panel/property-editor/container-tab/tab-customClass-editor.vue2.js.map +1 -1
  85. package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/height-editor.vue2.js.map +1 -1
  86. package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/width-editor.vue2.js +10 -10
  87. package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/width-editor.vue2.js.map +1 -1
  88. package/src/components/form-designer/setting-panel/property-editor/customClass-editor.vue2.js +1 -1
  89. package/src/components/form-designer/setting-panel/property-editor/customClass-editor.vue2.js.map +1 -1
  90. package/src/components/form-designer/setting-panel/property-editor/dsEnabled-editor.vue.js +5 -0
  91. package/src/components/form-designer/setting-panel/property-editor/dsEnabled-editor.vue.js.map +1 -0
  92. package/src/components/form-designer/setting-panel/property-editor/dsEnabled-editor.vue2.js +71 -0
  93. package/src/components/form-designer/setting-panel/property-editor/dsEnabled-editor.vue2.js.map +1 -0
  94. package/src/components/form-designer/setting-panel/property-editor/echart-bar-editor.vue.js +5 -0
  95. package/src/components/form-designer/setting-panel/property-editor/echart-bar-editor.vue.js.map +1 -0
  96. package/src/components/form-designer/setting-panel/property-editor/echart-bar-editor.vue2.js +81 -0
  97. package/src/components/form-designer/setting-panel/property-editor/echart-bar-editor.vue2.js.map +1 -0
  98. package/src/components/form-designer/setting-panel/property-editor/field-rate/rate-defaultValue-editor.vue2.js +1 -1
  99. package/src/components/form-designer/setting-panel/property-editor/field-rate/rate-defaultValue-editor.vue2.js.map +1 -1
  100. package/src/components/form-designer/setting-panel/property-editor/field-slider/range-editor.vue2.js +1 -1
  101. package/src/components/form-designer/setting-panel/property-editor/field-slider/range-editor.vue2.js.map +1 -1
  102. package/src/components/form-designer/setting-panel/property-editor/field-switch/switch-defaultValue-editor.vue2.js +1 -1
  103. package/src/components/form-designer/setting-panel/property-editor/field-switch/switch-defaultValue-editor.vue2.js.map +1 -1
  104. package/src/components/form-designer/setting-panel/property-editor/index.js +54 -54
  105. package/src/components/form-designer/setting-panel/property-editor/index.js.map +1 -1
  106. package/src/components/form-designer/setting-panel/property-editor/multiple-editor.vue2.js.map +1 -1
  107. package/src/components/form-designer/setting-panel/property-editor/optionItems-editor.vue2.js +1 -1
  108. package/src/components/form-designer/setting-panel/property-editor/optionItems-editor.vue2.js.map +1 -1
  109. package/src/components/form-designer/setting-panel/property-editor/rightSlotCss-editor.vue2.js +1 -1
  110. package/src/components/form-designer/setting-panel/property-editor/rightSlotCss-editor.vue2.js.map +1 -1
  111. package/src/components/form-designer/setting-panel/property-editor/type-editor.vue2.js.map +1 -1
  112. package/src/components/form-designer/setting-panel/property-editor/useEditor.js +1 -1
  113. package/src/components/form-designer/setting-panel/property-editor/useEditor.js.map +1 -1
  114. package/src/components/form-designer/setting-panel/propertyRegister.js +12 -10
  115. package/src/components/form-designer/setting-panel/propertyRegister.js.map +1 -1
  116. package/src/components/form-designer/toolbar-panel/PreviewDialog.vue.js +1 -1
  117. package/src/components/form-designer/toolbar-panel/PreviewDialog.vue.js.map +1 -1
  118. package/src/components/form-designer/toolbar-panel/index.vue.js +2 -2
  119. package/src/components/form-designer/toolbar-panel/index.vue2.js +137 -177
  120. package/src/components/form-designer/toolbar-panel/index.vue2.js.map +1 -1
  121. package/src/components/form-designer/widget-panel/containers/vf-box.js +4 -1
  122. package/src/components/form-designer/widget-panel/containers/vf-box.js.map +1 -1
  123. package/src/components/form-designer/widget-panel/containers/vf-collapse.js +6 -6
  124. package/src/components/form-designer/widget-panel/containers/vf-collapse.js.map +1 -1
  125. package/src/components/form-designer/widget-panel/index.vue.js +2 -2
  126. package/src/components/form-designer/widget-panel/index.vue2.js +74 -34
  127. package/src/components/form-designer/widget-panel/index.vue2.js.map +1 -1
  128. package/src/components/form-render/container-items/vf-box-widget.vue.js +2 -2
  129. package/src/components/form-render/container-items/vf-box-widget.vue2.js +19 -17
  130. package/src/components/form-render/container-items/vf-box-widget.vue2.js.map +1 -1
  131. package/src/components/form-render/container-items/vf-collapse-widget.vue.js +1 -1
  132. package/src/components/form-render/container-items/vf-collapse-widget.vue2.js +24 -22
  133. package/src/components/form-render/container-items/vf-collapse-widget.vue2.js.map +1 -1
  134. package/src/components/form-render/dynamic-dialog.vue.js +1 -0
  135. package/src/components/form-render/dynamic-dialog.vue.js.map +1 -1
  136. package/src/constants/EditorTypeEnum.js +1 -1
  137. package/src/constants/EditorTypeEnum.js.map +1 -1
  138. package/src/constants/LayoutTypeEnum.js +5 -0
  139. package/src/constants/LayoutTypeEnum.js.map +1 -0
  140. package/src/constants/WidgetTypeEnum.js +4 -3
  141. package/src/constants/WidgetTypeEnum.js.map +1 -1
  142. package/src/hooks/useDesigner.js +51 -0
  143. package/src/hooks/useDesigner.js.map +1 -0
  144. package/src/lang/en-US.js +1 -1
  145. package/src/lang/en-US.js.map +1 -1
  146. package/src/lang/zh-CN.js +5 -3
  147. package/src/lang/zh-CN.js.map +1 -1
  148. package/src/utils/util.js +1 -1
  149. package/src/utils/util.js.map +1 -1
  150. package/stats.html +1 -1
  151. package/styles/style.css +1 -1
  152. package/src/components/form-designer/designer.js.map +0 -1
  153. package/src/components/form-designer/form-widget/field-widget/bpmn-editor-widget copy.vue.js +0 -8
  154. package/src/components/form-designer/form-widget/field-widget/bpmn-editor-widget copy.vue.js.map +0 -1
  155. package/src/components/form-designer/form-widget/field-widget/bpmn-editor-widget copy.vue2.js +0 -58
  156. package/src/components/form-designer/form-widget/field-widget/bpmn-editor-widget copy.vue2.js.map +0 -1
  157. package/src/components/form-designer/form-widget/useFormDesigner.js +0 -34
  158. package/src/components/form-designer/form-widget/useFormDesigner.js.map +0 -1
  159. package/src/components/form-designer/setting-panel/property-editor/container-table-cell/cellHeight-editor.vue.js +0 -32
  160. package/src/components/form-designer/setting-panel/property-editor/container-table-cell/cellHeight-editor.vue.js.map +0 -1
  161. package/src/components/form-designer/setting-panel/property-editor/container-table-cell/cellWidth-editor.vue.js +0 -32
  162. package/src/components/form-designer/setting-panel/property-editor/container-table-cell/cellWidth-editor.vue.js.map +0 -1
  163. package/src/components/form-designer/widget-panel/PanelItemDrag.vue.js +0 -50
  164. package/src/components/form-designer/widget-panel/PanelItemDrag.vue.js.map +0 -1
  165. /package/src/components/form-designer/{widget-panel → setting-panel/panel}/PanelItemDrag.vue2.js +0 -0
  166. /package/src/components/form-designer/{widget-panel → setting-panel/panel}/PanelItemDrag.vue2.js.map +0 -0
@@ -1,23 +1,23 @@
1
- import { inject as m, ref as f, getCurrentInstance as ze, computed as s, toRaw as J, onMounted as Ue, onBeforeUnmount as Le } from "vue";
2
- import { deepClone as $ } from "../../../../utils/util.js";
1
+ import { inject as m, ref as s, getCurrentInstance as Se, computed as f, toRaw as $, onMounted as ze, onBeforeUnmount as Ue } from "vue";
2
+ import { deepClone as j } from "../../../../utils/util.js";
3
3
  import I from "../../../../utils/validators.js";
4
- import { get as Pe, eq as Te, isArray as We } from "lodash-es";
5
- import { useI18n as we } from "../../../../utils/i18n.js";
6
- import { useEmitter as Je } from "../../../../utils/useEmitter.js";
4
+ import { get as Le, eq as Te, isArray as We } from "lodash-es";
5
+ import { useI18n as Je } from "../../../../utils/i18n.js";
6
+ import { useEmitter as Pe } from "../../../../utils/useEmitter.js";
7
7
  import { useAppRef as $e } from "../../useAppRef.js";
8
8
  import { useExecFunction as je } from "tmgc2-share";
9
- function et(t) {
10
- const j = m("getFormConfig", () => ({})), R = m("formData", f({})), G = m("getReadMode", () => !1), D = m("isSubFormField", !1), M = m("getSubFormName", () => ""), o = m("designState", !1), { registerToRefList: K, getWidgetRef: Q, getFormRef: B, unregisterFromRefList: X } = $e(), { executeFunction: u, asyncExecuteFunction: g } = je(), { i18nt: E, i18n2t: Y } = we(), { field: a } = t, h = f(null), V = f(null), x = f(!1), Z = f(!1), l = f([]), k = f({}), A = f({}), _ = f(null), C = ze(), { dispatch: v } = Je(), O = s(() => j()), p = s(() => {
9
+ function pe(t) {
10
+ const D = m("formConfig", s({})), R = m("formData", s({})), w = m("getReadMode", () => !1), M = m("isSubFormField", !1), V = m("getSubFormName", () => ""), o = m("designState", !1), { registerToRefList: G, getWidgetRef: K, getFormRef: B, unregisterFromRefList: Q } = $e(), { executeFunction: u, asyncExecuteFunction: g } = je(), { i18nt: E, i18n2t: X } = Je(), { field: a } = t, h = s(null), k = s(null), x = s(!1), Y = s(!1), l = s([]), A = s({}), N = s({}), Z = s(null), C = Se(), { dispatch: v } = Pe(), _ = f(() => {
11
11
  var e;
12
- return (e = a == null ? void 0 : a.options) != null && e.size ? a.options.size : O.value.size || "middle";
13
- }), F = s(() => M ? M() : ""), d = s({
12
+ return (e = a == null ? void 0 : a.options) != null && e.size ? a.options.size : D.value.size || "middle";
13
+ }), b = f(() => V ? V() : ""), d = f({
14
14
  get() {
15
- return Pe(R.value, c.value);
15
+ return Le(R.value, c.value);
16
16
  },
17
17
  set(e) {
18
18
  z(e);
19
19
  }
20
- }), ee = s(() => R.value[F.value]), H = s(() => G() ? !0 : x.value), te = s(() => {
20
+ }), p = f(() => R.value[b.value]), H = f(() => w() ? !0 : x.value), ee = f(() => {
21
21
  if (o)
22
22
  return !1;
23
23
  const { onHidden: e, hidden: n } = t.field.options;
@@ -32,7 +32,7 @@ function et(t) {
32
32
  return !1;
33
33
  }
34
34
  return !1;
35
- }), N = s(() => {
35
+ }), O = f(() => {
36
36
  if (o)
37
37
  return !1;
38
38
  const { onDisabled: e, disabled: n } = t.field.options;
@@ -47,29 +47,29 @@ function et(t) {
47
47
  return console.log({ error: i }), !1;
48
48
  }
49
49
  return !1;
50
- }), ne = (e, n) => {
50
+ }), te = (e, n) => {
51
51
  if (!Array.isArray(e))
52
52
  return -1;
53
53
  let i = -1;
54
- return e.forEach((r, Se) => {
55
- r === n && (i = Se);
54
+ return e.forEach((r, qe) => {
55
+ r === n && (i = qe);
56
56
  }), i;
57
- }, c = s(() => D && !o ? F.value + "." + t.subFormRowIndex + "." + t.field.options.name : t.field.options.name);
58
- async function ie() {
57
+ }, c = f(() => M && !o ? b.value + "." + t.subFormRowIndex + "." + t.field.options.name : t.field.options.name);
58
+ async function ne() {
59
59
  o || t.field.options.onCreated && await g({
60
60
  functionBody: t.field.options.onCreated
61
61
  });
62
62
  }
63
- async function oe() {
63
+ async function ie() {
64
64
  o || t.field.options.onMounted && await g({
65
65
  functionBody: t.field.options.onMounted
66
66
  });
67
67
  }
68
- const le = () => {
68
+ const oe = () => {
69
69
  d.value = t.field.options.defaultValue;
70
70
  }, q = () => {
71
71
  t.field.formItemFlag && l.value.splice(0, l.value.length);
72
- }, b = () => {
72
+ }, F = () => {
73
73
  if (!(!(t != null && t.field.formItemFlag) || t != null && t.field.options.hidden)) {
74
74
  if (l.value.splice(0, l.value.length), t.field.options.required && l.value.push({
75
75
  required: !0,
@@ -106,19 +106,19 @@ function et(t) {
106
106
  });
107
107
  }
108
108
  }
109
- }, ae = () => {
109
+ }, le = () => {
110
110
  l.value && l.value.forEach((e) => {
111
111
  e.trigger && e.trigger.splice(0, e.trigger.length);
112
112
  });
113
- }, de = () => {
113
+ }, ae = () => {
114
114
  l.value && l.value.forEach((e) => {
115
115
  e.trigger && (e.trigger.push("blur"), e.trigger.push("change"));
116
116
  });
117
- }, se = (e, n) => {
117
+ }, de = (e, n) => {
118
118
  e && e.length > 0 && e.forEach((i) => {
119
119
  i.value === n && (i.disabled = !0);
120
120
  });
121
- }, fe = (e, n) => {
121
+ }, se = (e, n) => {
122
122
  e && e.length > 0 && e.forEach((i) => {
123
123
  i.value === n && (i.disabled = !1);
124
124
  });
@@ -127,7 +127,7 @@ function et(t) {
127
127
  t.field.options.name,
128
128
  e,
129
129
  n,
130
- F.value,
130
+ b.value,
131
131
  t.subFormRowIndex
132
132
  ]);
133
133
  }, z = (e) => {
@@ -140,26 +140,26 @@ function et(t) {
140
140
  return;
141
141
  }
142
142
  v("VFormRender", "fieldValidation", [c.value]);
143
- const n = J(d.value);
143
+ const n = $(d.value);
144
144
  v("VFormRender", "fieldChange", {
145
145
  fieldName: c.value,
146
146
  value: e,
147
147
  oldValue: n,
148
148
  field: a
149
149
  }), U(e, n);
150
- }, ue = (e) => {
151
- o || (V.value = $(d.value), t.field.options.onFocus && u({
150
+ }, fe = (e) => {
151
+ o || (k.value = j(d.value), t.field.options.onFocus && u({
152
152
  functionBody: t.field.options.onFocus,
153
153
  params: { event: e },
154
154
  keys: ["event"]
155
155
  }));
156
- }, re = (e) => {
156
+ }, ue = (e) => {
157
157
  o || t.field.options.onBlur && u({
158
158
  functionBody: t.field.options.onBlur,
159
159
  params: { event: e },
160
160
  keys: ["event"]
161
161
  });
162
- }, ce = () => {
162
+ }, re = () => {
163
163
  o || t.field.options.onAppendButtonClick && u({
164
164
  functionBody: t.field.options.onAppendButtonClick
165
165
  });
@@ -169,27 +169,27 @@ function et(t) {
169
169
  params: {
170
170
  value: e,
171
171
  oldValue: n,
172
- subFormData: ee.value,
172
+ subFormData: p.value,
173
173
  rowId: t.subFormRowId
174
174
  },
175
175
  keys: ["value", "oldValue", "subFormData", "rowId"]
176
176
  });
177
- }, me = async () => {
177
+ }, ce = async () => {
178
178
  if (!o && t.field.options.onClick)
179
179
  return await g({
180
180
  functionBody: t.field.options.onClick
181
181
  });
182
- }, ge = async () => {
183
- o || N.value || a.options.onClickIcon && await g({
182
+ }, me = async () => {
183
+ o || O.value || a.options.onClickIcon && await g({
184
184
  functionBody: a.options.onClickIcon
185
185
  });
186
186
  }, y = () => h.value, L = (e) => (typeof e == "string" && (e = JSON.parse(e)), We(e) ? e.map((i, r) => ({
187
187
  ...i,
188
188
  name: i.fileName,
189
189
  uid: r
190
- })) : []), P = (e, n = !1) => {
190
+ })) : []), T = (e, n = !1) => {
191
191
  if (e && (e = e.target ? e.target.value : e), Te(d.value, e)) return;
192
- const i = $(d.value);
192
+ const i = j(d.value);
193
193
  if (t.field.type === "file-upload")
194
194
  e = L(e || []);
195
195
  else if (t.field.type === "code-editor") {
@@ -197,154 +197,154 @@ function et(t) {
197
197
  r && r.setValue(e);
198
198
  }
199
199
  d.value = e, n || S(e, i);
200
- }, ve = () => d.value, he = () => {
200
+ }, ge = () => d.value, ve = () => {
201
201
  const e = t.field.options.defaultValue;
202
- P(e), (t.field.type === "picture-upload" || t.field.type === "file-upload") && d.value.splice(0, d.value.length);
203
- }, Ce = (e, n) => {
204
- t.field.options.hasOwnProperty(e) && (t.field.options[e] = n);
205
- }, Fe = (e) => {
202
+ T(e), (t.field.type === "picture-upload" || t.field.type === "file-upload") && d.value.splice(0, d.value.length);
203
+ }, he = (e) => {
206
204
  t.field.options.readonly = e;
207
- }, be = (e) => {
205
+ }, Ce = (e) => {
208
206
  t.field.options.disabled = e;
209
- }, ye = (e) => {
207
+ }, be = (e) => {
210
208
  t.field.options.appendButton = e;
211
- }, Re = (e) => {
209
+ }, Fe = (e) => {
212
210
  t.field.options.appendButtonDisabled = e;
213
- }, Be = (e) => {
214
- t.field.options.hidden = e, e ? q() : b();
215
- }, Ee = (e) => {
216
- t.field.options.required = e, b(), !o && !e && T();
217
- }, T = () => {
211
+ }, ye = (e) => {
212
+ t.field.options.hidden = e, e ? q() : F();
213
+ }, Re = (e) => {
214
+ t.field.options.required = e, F(), !o && !e && W();
215
+ }, W = () => {
218
216
  o || B().clearValidate(c.value);
219
- }, xe = () => B().vfCtx, Ie = (e) => {
217
+ }, Be = () => B().vfCtx, Ee = (e) => {
220
218
  t.field.options.label = e;
221
- }, W = () => {
219
+ }, J = () => {
222
220
  const e = y();
223
221
  e && e.focus && e.focus();
224
- }, De = (e, n) => {
225
- k.value[e] = n;
226
- }, Me = (e, n) => {
222
+ }, xe = (e, n) => {
227
223
  A.value[e] = n;
228
- }, Ve = (e = !0) => {
224
+ }, Ie = (e, n) => {
225
+ N.value[e] = n;
226
+ }, De = (e = !0) => {
229
227
  x.value = e;
230
- }, ke = (e) => {
228
+ }, Me = (e) => {
231
229
  t.field.options.customClass ? t.field.options.customClass.push(e) : t.field.options.customClass = [e];
232
- }, Ae = s(() => t.field.options.customClass), Oe = (e) => {
230
+ }, Ve = f(() => t.field.options.customClass), ke = (e) => {
233
231
  if (!t.field.options.customClass)
234
232
  return;
235
233
  let n = -1;
236
234
  t.field.options.customClass.map((i, r) => {
237
235
  i === e && (n = r);
238
236
  }), n > -1 && t.field.options.customClass.splice(n, 1);
239
- }, He = () => {
237
+ }, Ae = () => {
240
238
  var e;
241
239
  return (e = h.value) == null ? void 0 : e.$el;
242
- }, w = s({
240
+ }, Ne = (e, n) => {
241
+ t.field.options[e] = n;
242
+ }, P = f({
243
243
  get() {
244
244
  return t.field.options;
245
245
  },
246
246
  set(e) {
247
247
  t.field.options = e;
248
248
  }
249
- }), Ne = () => {
249
+ }), He = () => {
250
250
  v("VFormRender", "fieldChange", {
251
251
  fieldName: c.value,
252
252
  value: t.field.options.defaultValue,
253
- oldValue: J(d.value),
253
+ oldValue: $(d.value),
254
254
  field: a
255
255
  });
256
256
  };
257
- Ue(async () => {
258
- Ne(), await K(), await ie(), await oe(), b();
259
- }), Le(() => {
260
- X();
257
+ ze(async () => {
258
+ He(), await G(), await ne(), await ie(), F();
259
+ }), Ue(() => {
260
+ Q();
261
261
  });
262
- const qe = {
262
+ const Oe = {
263
263
  i18nt: E,
264
- options: w,
264
+ options: P,
265
265
  proxy: C == null ? void 0 : C.proxy,
266
266
  field: a,
267
267
  widget: a,
268
268
  fieldModel: d,
269
269
  fieldEditor: h,
270
270
  isReadMode: H,
271
- setWidgetOption: Ce,
272
- setReadonly: Fe,
273
- setDisabled: be,
274
- getVfCtx: xe,
275
- setLabel: Ie,
276
- getEl: He,
277
- setReadMode: Ve,
278
- resetField: he,
279
- setValue: P,
280
- getValue: ve,
271
+ setWidgetOption: Ne,
272
+ setReadonly: he,
273
+ setDisabled: Ce,
274
+ getVfCtx: Be,
275
+ setLabel: Ee,
276
+ getEl: Ae,
277
+ setReadMode: De,
278
+ resetField: ve,
279
+ setValue: T,
280
+ getValue: ge,
281
281
  getFieldEditor: y,
282
282
  getFormRef: B,
283
- getWidgetRef: Q,
284
- setHidden: Be,
285
- addCssClass: ke,
286
- removeCssClass: Oe,
287
- setRequired: Ee,
288
- clearValidate: T,
289
- focus: W
283
+ getWidgetRef: K,
284
+ setHidden: ye,
285
+ addCssClass: Me,
286
+ removeCssClass: ke,
287
+ setRequired: Re,
288
+ clearValidate: W,
289
+ focus: J
290
290
  };
291
291
  return {
292
292
  asyncExecuteFunction: g,
293
293
  executeFunction: u,
294
- options: w,
295
- customClass: Ae,
294
+ options: P,
295
+ customClass: Ve,
296
296
  fieldEditor: h,
297
297
  // 状态
298
298
  fieldModel: d,
299
- oldFieldValue: V,
299
+ oldFieldValue: k,
300
300
  fieldReadonlyFlag: x,
301
- loading: Z,
301
+ loading: Y,
302
302
  rules: l,
303
- uploadHeaders: k,
304
- uploadData: A,
303
+ uploadHeaders: A,
304
+ uploadData: N,
305
305
  designState: o,
306
- customToolbar: _,
306
+ customToolbar: Z,
307
307
  i18nt: E,
308
- i18n2t: Y,
309
- size: p,
308
+ i18n2t: X,
309
+ size: _,
310
310
  field: a,
311
311
  // 计算属性
312
- formConfig: O,
313
- subFormName: F,
312
+ formConfig: D,
313
+ subFormName: b,
314
314
  formModel: R,
315
315
  isReadMode: H,
316
316
  // 方法
317
- handleHidden: te,
318
- handleDisabled: N,
319
- findInArray: ne,
317
+ handleHidden: ee,
318
+ handleDisabled: O,
319
+ findInArray: te,
320
320
  getPropName: c,
321
- refreshDefaultValue: le,
321
+ refreshDefaultValue: oe,
322
322
  clearFieldRules: q,
323
- buildFieldRules: b,
324
- disableChangeValidate: ae,
325
- enableChangeValidate: de,
326
- disableOptionOfList: se,
327
- enableOptionOfList: fe,
323
+ buildFieldRules: F,
324
+ disableChangeValidate: le,
325
+ enableChangeValidate: ae,
326
+ disableOptionOfList: de,
327
+ enableOptionOfList: se,
328
328
  emitFieldDataChange: S,
329
329
  syncUpdateFormModel: z,
330
- handleFocusCustomEvent: ue,
331
- handleBlurCustomEvent: re,
332
- emitAppendButtonClick: ce,
330
+ handleFocusCustomEvent: fe,
331
+ handleBlurCustomEvent: ue,
332
+ emitAppendButtonClick: re,
333
333
  handleOnChange: U,
334
- onClick: me,
335
- handleClickIcon: ge,
334
+ onClick: ce,
335
+ handleClickIcon: me,
336
336
  getFieldEditor: y,
337
337
  showFileList: L,
338
- setAppendButtonVisible: ye,
339
- setAppendButtonDisabled: Re,
340
- focus: W,
341
- setUploadHeader: De,
342
- setUploadData: Me,
343
- isSubFormField: D,
344
- defineExposed: qe
338
+ setAppendButtonVisible: be,
339
+ setAppendButtonDisabled: Fe,
340
+ focus: J,
341
+ setUploadHeader: xe,
342
+ setUploadData: Ie,
343
+ isSubFormField: M,
344
+ defineExposed: Oe
345
345
  };
346
346
  }
347
347
  export {
348
- et as useField
348
+ pe as useField
349
349
  };
350
350
  //# sourceMappingURL=useField.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useField.js","sources":["../../../../../../src/components/form-designer/form-widget/field-widget/useField.ts"],"sourcesContent":["import {\n ref,\n computed,\n inject,\n onMounted,\n onBeforeUnmount,\n getCurrentInstance,\n Ref,\n nextTick,\n toRaw\n} from 'vue';\nimport { deepClone } from '@/utils/util';\nimport FormValidators from '@/utils/validators';\nimport { isArray, eq, get } from 'lodash-es';\nimport { FormConfig, Widget } from '@/types/schema';\nimport { useI18n } from '@/utils/i18n';\nimport { useEmitter } from '@/utils/useEmitter';\nimport { useAppRef } from '../../useAppRef';\nimport { useExecFunction } from 'tmgc2-share';\n\nexport type FieldProps<T = Widget> = {\n widget: T;\n field: T;\n designer?: any;\n parentWidget?: Widget | null;\n parentList?: T[] | null;\n indexOfParentList?: number;\n subFormRowIndex?: number;\n subFormRowId?: string;\n subFormColIndex?: number;\n};\n\nexport type LowCodeContext = {};\n\n/**\n * 表单字段 Hook,提供表单字段的通用功能\n * @returns 表单字段相关的状态和方法\n */\nexport function useField<T extends Widget>(props: FieldProps<T>) {\n // 注入依赖\n const getFormConfig = inject('getFormConfig', () => ({}));\n\n const formModel = inject<Ref<any>>('formData', ref({}));\n const getReadMode = inject('getReadMode', () => false);\n const isSubFormField = inject('isSubFormField', false);\n\n const getSubFormName = inject('getSubFormName', () => '');\n const designState = inject('designState', false);\n\n const { registerToRefList, getWidgetRef, getFormRef, unregisterFromRefList } = useAppRef();\n const { executeFunction, asyncExecuteFunction } = useExecFunction();\n\n const { i18nt, i18n2t } = useI18n();\n const { field } = props;\n\n const fieldEditor = ref<InstanceType<any>>(null);\n // 状态\n const oldFieldValue = ref<any>(null);\n const fieldReadonlyFlag = ref<boolean>(false);\n const loading = ref<boolean>(false);\n const rules = ref<any[]>([]);\n const uploadHeaders = ref<Record<string, any>>({});\n const uploadData = ref<Record<string, any>>({});\n const customToolbar = ref<any>(null);\n const instance = getCurrentInstance();\n const { dispatch } = useEmitter();\n\n // 计算属性\n const formConfig = computed(() => {\n return getFormConfig() as FormConfig;\n });\n\n const size = computed(() => {\n if (field?.options?.size) {\n return field.options.size;\n }\n return formConfig.value.size || 'middle';\n });\n\n const subFormName = computed(() => {\n return getSubFormName ? getSubFormName() : '';\n });\n\n const fieldModel = computed({\n get() {\n return get(formModel.value, getPropName.value);\n },\n set(value) {\n syncUpdateFormModel(value);\n }\n });\n\n const subFormData = computed(() => formModel.value[subFormName.value]);\n\n const isReadMode = computed(() => {\n return getReadMode() ? true : fieldReadonlyFlag.value;\n });\n\n /**\n * 处理字段隐藏逻辑\n * @returns 是否隐藏\n */\n const handleHidden = computed(() => {\n if (designState) {\n return false;\n }\n const { onHidden, hidden } = props.field.options;\n\n if (hidden) return true;\n if (onHidden) {\n try {\n const result = executeFunction({\n functionBody: onHidden\n });\n if (typeof result === 'boolean') {\n return result;\n } else {\n return false;\n }\n } catch {\n return false;\n }\n }\n return false;\n });\n\n /**\n * 处理字段禁用逻辑\n * @returns 是否禁用\n */\n const handleDisabled = computed(() => {\n if (designState) {\n return false;\n }\n const { onDisabled, disabled } = props.field.options;\n if (disabled) return true;\n if (onDisabled) {\n try {\n const result = executeFunction({\n functionBody: onDisabled\n });\n if (typeof result === 'boolean') {\n return result;\n } else {\n return false;\n }\n } catch (error) {\n console.log({ error });\n return false;\n }\n }\n return false;\n });\n\n /**\n * 在数组中查找元素\n * @param arrayObject 数组对象\n * @param element 要查找的元素\n * @returns 找到的索引,未找到返回-1\n */\n const findInArray = (arrayObject: any[], element: any) => {\n if (!Array.isArray(arrayObject)) {\n return -1;\n }\n\n let foundIdx = -1;\n arrayObject.forEach((aItem, aIdx) => {\n if (aItem === element) {\n foundIdx = aIdx;\n }\n });\n\n return foundIdx;\n };\n\n /**\n * 获取属性名称\n * @returns 属性名称\n */\n const getPropName = computed(() => {\n if (isSubFormField && !designState) {\n return (\n subFormName.value +\n '.' +\n props.subFormRowIndex +\n '.' +\n props.field.options.name +\n ''\n );\n } else {\n return props.field.options.name;\n }\n });\n\n /**\n * 处理组件创建事件\n */\n async function handleOnCreated() {\n if (designState) {\n // 设计状态不触发事件\n return;\n }\n\n if (props.field.options.onCreated) {\n await asyncExecuteFunction({\n functionBody: props.field.options.onCreated\n });\n }\n }\n\n /**\n * 处理组件挂载事件\n */\n async function handleOnMounted() {\n if (designState) {\n // 设计状态不触发事件\n return;\n }\n if (props.field.options.onMounted) {\n await asyncExecuteFunction({\n functionBody: props.field.options.onMounted\n });\n }\n }\n\n /**\n * 刷新默认值\n */\n const refreshDefaultValue = () => {\n fieldModel.value = props.field.options.defaultValue;\n };\n\n /**\n * 清除字段规则\n */\n const clearFieldRules = () => {\n if (!props.field.formItemFlag) {\n return;\n }\n\n rules.value.splice(0, rules.value.length); // 清空已有\n };\n\n /**\n * 构建字段规则\n */\n const buildFieldRules = () => {\n if (!props?.field.formItemFlag || props?.field.options.hidden) {\n return;\n }\n\n rules.value.splice(0, rules.value.length); // 清空已有\n if (props.field.options.required) {\n rules.value.push({\n required: true,\n // trigger: ['blur', 'change'],\n trigger: [\n 'blur'\n ] /* 去掉change事件触发校验,change事件触发时formModel数据尚未更新,导致radio/checkbox必填校验出错!! */,\n message: props.field.options.requiredHint || i18nt('render.hint.fieldRequired')\n });\n }\n\n if (props.field.options.validation) {\n const vldName = props.field.options.validation;\n if (FormValidators[vldName]) {\n rules.value.push({\n validator: FormValidators[vldName],\n trigger: ['blur', 'change'],\n label: props.field.options.label,\n errorMsg: props.field.options.validationHint\n });\n } else {\n rules.value.push({\n validator: FormValidators['regExp'],\n trigger: ['blur', 'change'],\n regExp: vldName,\n label: props.field.options.label,\n errorMsg: props.field.options.validationHint\n });\n }\n }\n\n if (props.field.options.onValidate) {\n const customFn = (rule: any, value: any) => {\n return executeFunction({\n functionBody: props.field.options.onValidate,\n params: { rule, value },\n keys: ['rule', 'value']\n });\n };\n rules.value.push({\n validator: customFn,\n trigger: ['blur'],\n label: props.field.options.label\n });\n }\n };\n\n /**\n * 禁用字段值变动触发表单校验\n */\n const disableChangeValidate = () => {\n if (!rules.value) {\n return;\n }\n\n rules.value.forEach(rule => {\n if (rule.trigger) {\n rule.trigger.splice(0, rule.trigger.length);\n }\n });\n };\n\n /**\n * 启用字段值变动触发表单校验\n */\n const enableChangeValidate = () => {\n if (!rules.value) {\n return;\n }\n\n rules.value.forEach(rule => {\n if (rule.trigger) {\n rule.trigger.push('blur');\n rule.trigger.push('change');\n }\n });\n };\n\n /**\n * 禁用列表中的选项\n * @param optionList 选项列表\n * @param optionValue 选项值\n */\n const disableOptionOfList = (optionList: any[], optionValue: any) => {\n if (optionList && optionList.length > 0) {\n optionList.forEach(opt => {\n if (opt.value === optionValue) {\n opt.disabled = true;\n }\n });\n }\n };\n\n /**\n * 启用列表中的选项\n * @param optionList 选项列表\n * @param optionValue 选项值\n */\n const enableOptionOfList = (optionList: any[], optionValue: any) => {\n if (optionList && optionList.length > 0) {\n optionList.forEach(opt => {\n if (opt.value === optionValue) {\n opt.disabled = false;\n }\n });\n }\n };\n\n /**\n * 发送字段数据变更事件\n * @param newValue 新值\n * @param oldValue 旧值\n */\n const emitFieldDataChange = (newValue: any, oldValue: any) => {\n if (newValue) {\n newValue = newValue.target ? newValue.target.value : newValue;\n }\n\n if (!instance) return;\n\n /* 必须用dispatch向指定父组件派发消息!! */\n dispatch('VFormRender', 'fieldChange', [\n props.field.options.name,\n newValue,\n oldValue,\n subFormName.value,\n props.subFormRowIndex\n ]);\n };\n\n /**\n * 同步更新表单模型\n * @param value 值\n */\n\n const syncUpdateFormModel = value => {\n if (designState) {\n dispatch('VFormDesigner', 'fieldChange', {\n fieldName: getPropName.value,\n value,\n field: field\n });\n //设计状态不触发事件\n return;\n }\n /* 主动触发表单的单个字段校验,用于清除字段可能存在的校验错误提示 */\n dispatch('VFormRender', 'fieldValidation', [getPropName.value]);\n const oldValue = toRaw(fieldModel.value);\n dispatch('VFormRender', 'fieldChange', {\n fieldName: getPropName.value,\n value,\n oldValue: oldValue,\n field: field\n });\n handleOnChange(value, oldValue);\n };\n\n /**\n * 处理焦点自定义事件\n * @param event 事件对象\n */\n const handleFocusCustomEvent = (event: any) => {\n if (designState) {\n // 设计状态不触发事件\n return;\n }\n\n oldFieldValue.value = deepClone(fieldModel.value); // 保存修改change之前的值\n\n if (props.field.options.onFocus) {\n executeFunction({\n functionBody: props.field.options.onFocus,\n params: { event },\n keys: ['event']\n });\n }\n };\n\n /**\n * 处理失焦自定义事件\n * @param event 事件对象\n */\n const handleBlurCustomEvent = (event: any) => {\n if (designState) {\n // 设计状态不触发事件\n return;\n }\n\n if (props.field.options.onBlur) {\n executeFunction({\n functionBody: props.field.options.onBlur,\n params: { event },\n keys: ['event']\n });\n }\n };\n\n /**\n * 发送附加按钮点击事件\n */\n const emitAppendButtonClick = () => {\n if (designState) {\n // 设计状态不触发点击事件\n return;\n }\n\n if (props.field.options.onAppendButtonClick) {\n executeFunction({\n functionBody: props.field.options.onAppendButtonClick\n });\n }\n };\n\n /**\n * 处理变更事件\n * @param val 新值\n * @param oldVal 旧值\n * @param ops 选项\n */\n const handleOnChange = (val: any, oldVal: any) => {\n // 自定义onChange事件\n if (designState) {\n // 设计状态不触发事件\n return;\n }\n\n if (props.field.options.onChange) {\n executeFunction({\n functionBody: props.field.options.onChange,\n params: {\n value: val,\n oldValue: oldVal,\n subFormData: subFormData.value,\n rowId: props.subFormRowId\n },\n keys: ['value', 'oldValue', 'subFormData', 'rowId']\n });\n }\n };\n\n /**\n * 处理点击事件\n */\n const onClick = async () => {\n if (designState) {\n // 设计状态不触发点击事件\n return;\n }\n\n if (props.field.options.onClick) {\n return await asyncExecuteFunction({\n functionBody: props.field.options.onClick\n });\n }\n };\n\n /**\n * 处理图标点击事件\n */\n const handleClickIcon = async () => {\n if (designState) {\n // 设计状态不触发事件\n return;\n }\n if (handleDisabled.value) {\n return;\n }\n if (field.options.onClickIcon) {\n await asyncExecuteFunction({\n functionBody: field.options.onClickIcon\n });\n }\n };\n\n /**\n * 获取字段编辑器\n * @returns 字段编辑器\n */\n const getFieldEditor = () => {\n // 获取内置的el表单组件\n return fieldEditor.value;\n };\n\n /**\n * 显示文件列表\n * @param list 文件列表\n * @returns 格式化后的文件列表\n */\n const showFileList = (list: any) => {\n if (typeof list === 'string') {\n list = JSON.parse(list);\n }\n if (!isArray(list)) return [];\n const res = list.map((item: any, uid: number) => ({\n ...item,\n name: item.fileName,\n uid\n }));\n return res;\n };\n\n /**\n * 设置值\n * @param newValue 新值\n * @param disableChangeEvent 是否禁用变更事件\n */\n const setValue = (newValue: any, disableChangeEvent = false) => {\n if (newValue) {\n newValue = newValue.target ? newValue.target.value : newValue;\n }\n if (eq(fieldModel.value, newValue)) return;\n\n const oldValue = deepClone(fieldModel.value);\n if (props.field.type === 'file-upload') {\n newValue = showFileList(newValue || []);\n // TODO\n } else if (props.field.type === 'code-editor') {\n const fieldEditor = getFieldEditor();\n if (fieldEditor) {\n fieldEditor.setValue(newValue);\n }\n }\n fieldModel.value = newValue;\n if (!disableChangeEvent) {\n emitFieldDataChange(newValue, oldValue);\n }\n };\n\n /**\n * 获取值\n * @returns 字段值\n */\n const getValue = () => {\n return fieldModel.value;\n };\n\n /**\n * 重置字段\n */\n const resetField = () => {\n const defaultValue = props.field.options.defaultValue;\n setValue(defaultValue);\n\n // 清空上传组件文件列表\n if (props.field.type === 'picture-upload' || props.field.type === 'file-upload') {\n fieldModel.value.splice(0, fieldModel.value.length);\n // handleChangeEvent(fieldModel.value);\n }\n };\n\n /**\n * 设置组件选项\n * @param optionName 选项名称\n * @param optionValue 选项值\n */\n const setWidgetOption = (optionName: string, optionValue: any) => {\n // 通用组件选项修改API\n if (props.field.options.hasOwnProperty(optionName)) {\n props.field.options[optionName] = optionValue;\n }\n };\n\n /**\n * 设置只读\n * @param flag 是否只读\n */\n const setReadonly = (flag: boolean) => {\n props.field.options.readonly = flag;\n };\n\n /**\n * 设置禁用\n * @param flag 是否禁用\n */\n const setDisabled = (flag: boolean) => {\n props.field.options.disabled = flag;\n };\n\n /**\n * 设置附加按钮可见性\n * @param flag 是否可见\n */\n const setAppendButtonVisible = (flag: boolean) => {\n props.field.options.appendButton = flag;\n };\n\n /**\n * 设置附加按钮禁用状态\n * @param flag 是否禁用\n */\n const setAppendButtonDisabled = (flag: boolean) => {\n props.field.options.appendButtonDisabled = flag;\n };\n\n /**\n * 设置隐藏\n * @param flag 是否隐藏\n */\n const setHidden = (flag: boolean) => {\n props.field.options.hidden = flag;\n\n if (flag) {\n // 清除组件校验规则\n clearFieldRules();\n } else {\n // 重建组件校验规则\n buildFieldRules();\n }\n };\n\n /**\n * 设置必填\n * @param flag 是否必填\n */\n const setRequired = (flag: boolean) => {\n props.field.options.required = flag;\n buildFieldRules();\n\n if (!designState && !flag) {\n // 清除必填校验提示\n clearValidate();\n }\n };\n\n /**\n * 清除字段校验提示\n */\n const clearValidate = () => {\n if (designState) {\n return;\n }\n\n getFormRef().clearValidate(getPropName.value);\n };\n\n /**\n * 获取VForm上下文\n * @returns VForm上下文\n */\n const getVfCtx = () => {\n return getFormRef().vfCtx;\n };\n\n /**\n * 设置标签\n * @param newLabel 新标签\n */\n const setLabel = (newLabel: string) => {\n props.field.options.label = newLabel;\n };\n\n /**\n * 聚焦\n */\n const focus = () => {\n const fieldEditor = getFieldEditor();\n if (fieldEditor && fieldEditor.focus) {\n fieldEditor.focus();\n }\n };\n\n /**\n * 设置上传头\n * @param name 名称\n * @param value 值\n */\n const setUploadHeader = (name: string, value: any) => {\n uploadHeaders.value[name] = value;\n };\n\n /**\n * 设置上传数据\n * @param name 名称\n * @param value 值\n */\n const setUploadData = (name: string, value: any) => {\n uploadData.value[name] = value;\n };\n\n /**\n * 设置或取消设置字段只读查看模式\n * @param readonlyFlag 只读标志\n */\n const setReadMode = (readonlyFlag = true) => {\n fieldReadonlyFlag.value = readonlyFlag;\n };\n\n /**\n * 动态增加自定义css样式\n * @param className 类名\n */\n const addCssClass = (className: string) => {\n if (!props.field.options.customClass) {\n props.field.options.customClass = [className];\n } else {\n props.field.options.customClass.push(className);\n }\n };\n const customClass = computed(() => props.field.options.customClass);\n\n /**\n * 动态移除自定义css样式\n * @param className 类名\n */\n const removeCssClass = (className: string) => {\n if (!props.field.options.customClass) {\n return;\n }\n\n let foundIdx = -1;\n props.field.options.customClass.map((cc: string, idx: number) => {\n if (cc === className) {\n foundIdx = idx;\n }\n });\n if (foundIdx > -1) {\n props.field.options.customClass.splice(foundIdx, 1);\n }\n };\n\n const getEl = () => {\n return fieldEditor.value?.$el;\n };\n\n const options = computed({\n get() {\n return props.field.options;\n },\n set(value) {\n props.field.options = value;\n }\n });\n\n const initFieldModel = () => {\n dispatch('VFormRender', 'fieldChange', {\n fieldName: getPropName.value,\n value: props.field.options.defaultValue,\n oldValue: toRaw(fieldModel.value),\n field: field\n });\n };\n\n // 生命周期钩子\n onMounted(async () => {\n initFieldModel();\n await registerToRefList();\n\n await handleOnCreated();\n\n await handleOnMounted();\n buildFieldRules();\n });\n\n onBeforeUnmount(() => {\n unregisterFromRefList();\n });\n\n const defineExposed = {\n i18nt,\n options,\n proxy: instance?.proxy,\n field,\n widget: field,\n fieldModel,\n fieldEditor,\n isReadMode,\n setWidgetOption,\n setReadonly,\n setDisabled,\n getVfCtx,\n setLabel,\n getEl,\n setReadMode,\n resetField,\n setValue,\n getValue,\n getFieldEditor,\n getFormRef,\n getWidgetRef,\n setHidden,\n addCssClass,\n removeCssClass,\n setRequired,\n clearValidate,\n focus\n };\n\n return {\n asyncExecuteFunction,\n executeFunction,\n options,\n customClass,\n fieldEditor,\n // 状态\n fieldModel,\n oldFieldValue,\n fieldReadonlyFlag,\n loading,\n rules,\n uploadHeaders,\n uploadData,\n designState,\n customToolbar,\n i18nt,\n i18n2t,\n size,\n field,\n // 计算属性\n formConfig,\n subFormName,\n\n formModel,\n isReadMode,\n\n // 方法\n handleHidden,\n handleDisabled,\n findInArray,\n getPropName,\n refreshDefaultValue,\n clearFieldRules,\n buildFieldRules,\n disableChangeValidate,\n enableChangeValidate,\n disableOptionOfList,\n enableOptionOfList,\n emitFieldDataChange,\n syncUpdateFormModel,\n handleFocusCustomEvent,\n handleBlurCustomEvent,\n emitAppendButtonClick,\n handleOnChange,\n onClick,\n handleClickIcon,\n getFieldEditor,\n showFileList,\n\n setAppendButtonVisible,\n setAppendButtonDisabled,\n\n focus,\n setUploadHeader,\n setUploadData,\n\n isSubFormField,\n defineExposed\n };\n}\n"],"names":["useField","props","getFormConfig","inject","formModel","ref","getReadMode","isSubFormField","getSubFormName","designState","registerToRefList","getWidgetRef","getFormRef","unregisterFromRefList","useAppRef","executeFunction","asyncExecuteFunction","useExecFunction","i18nt","i18n2t","useI18n","field","fieldEditor","oldFieldValue","fieldReadonlyFlag","loading","rules","uploadHeaders","uploadData","customToolbar","instance","getCurrentInstance","dispatch","useEmitter","formConfig","computed","size","_a","subFormName","fieldModel","get","getPropName","value","syncUpdateFormModel","subFormData","isReadMode","handleHidden","onHidden","hidden","result","handleDisabled","onDisabled","disabled","error","findInArray","arrayObject","element","foundIdx","aItem","aIdx","handleOnCreated","handleOnMounted","refreshDefaultValue","clearFieldRules","buildFieldRules","vldName","FormValidators","customFn","rule","disableChangeValidate","enableChangeValidate","disableOptionOfList","optionList","optionValue","opt","enableOptionOfList","emitFieldDataChange","newValue","oldValue","toRaw","handleOnChange","handleFocusCustomEvent","event","deepClone","handleBlurCustomEvent","emitAppendButtonClick","val","oldVal","onClick","handleClickIcon","getFieldEditor","showFileList","list","isArray","item","uid","setValue","disableChangeEvent","eq","getValue","resetField","defaultValue","setWidgetOption","optionName","setReadonly","flag","setDisabled","setAppendButtonVisible","setAppendButtonDisabled","setHidden","setRequired","clearValidate","getVfCtx","setLabel","newLabel","focus","setUploadHeader","name","setUploadData","setReadMode","readonlyFlag","addCssClass","className","customClass","removeCssClass","cc","idx","getEl","options","initFieldModel","onMounted","onBeforeUnmount","defineExposed"],"mappings":"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"}
1
+ {"version":3,"file":"useField.js","sources":["../../../../../../src/components/form-designer/form-widget/field-widget/useField.ts"],"sourcesContent":["import {\n ref,\n computed,\n inject,\n onMounted,\n onBeforeUnmount,\n getCurrentInstance,\n Ref,\n toRaw\n} from 'vue';\nimport { deepClone } from '@/utils/util';\nimport FormValidators from '@/utils/validators';\nimport { isArray, eq, get } from 'lodash-es';\nimport { FormConfig, Widget } from '@/types/schema';\nimport { useI18n } from '@/utils/i18n';\nimport { useEmitter } from '@/utils/useEmitter';\nimport { useAppRef } from '../../useAppRef';\nimport { useExecFunction } from 'tmgc2-share';\n\nexport type FieldProps<T = Widget> = {\n widget: T;\n field: T;\n designer?: any;\n parentWidget?: Widget | null;\n parentList?: T[] | null;\n indexOfParentList?: number;\n subFormRowIndex?: number;\n subFormRowId?: string;\n subFormColIndex?: number;\n};\n\n/**\n * 表单字段 Hook,提供表单字段的通用功能\n * @returns 表单字段相关的状态和方法\n */\nexport function useField<T extends Widget>(props: FieldProps<T>) {\n // 注入依赖\n const formConfig = inject<Ref<FormConfig>>('formConfig', ref({} as FormConfig));\n const formModel = inject<Ref<any>>('formData', ref({}));\n const getReadMode = inject('getReadMode', () => false);\n const isSubFormField = inject('isSubFormField', false);\n\n const getSubFormName = inject('getSubFormName', () => '');\n const designState = inject('designState', false);\n\n const { registerToRefList, getWidgetRef, getFormRef, unregisterFromRefList } = useAppRef();\n const { executeFunction, asyncExecuteFunction } = useExecFunction();\n\n const { i18nt, i18n2t } = useI18n();\n const { field } = props;\n\n const fieldEditor = ref<InstanceType<any>>(null);\n // 状态\n const oldFieldValue = ref<any>(null);\n const fieldReadonlyFlag = ref<boolean>(false);\n const loading = ref<boolean>(false);\n const rules = ref<any[]>([]);\n const uploadHeaders = ref<Record<string, any>>({});\n const uploadData = ref<Record<string, any>>({});\n const customToolbar = ref<any>(null);\n const instance = getCurrentInstance();\n const { dispatch } = useEmitter();\n\n const size = computed(() => {\n if (field?.options?.size) {\n return field.options.size;\n }\n return formConfig.value.size || 'middle';\n });\n\n const subFormName = computed(() => {\n return getSubFormName ? getSubFormName() : '';\n });\n\n const fieldModel = computed({\n get() {\n return get(formModel.value, getPropName.value);\n },\n set(value) {\n syncUpdateFormModel(value);\n }\n });\n\n const subFormData = computed(() => formModel.value[subFormName.value]);\n\n const isReadMode = computed(() => {\n return getReadMode() ? true : fieldReadonlyFlag.value;\n });\n\n /**\n * 处理字段隐藏逻辑\n * @returns 是否隐藏\n */\n const handleHidden = computed(() => {\n if (designState) {\n return false;\n }\n const { onHidden, hidden } = props.field.options;\n\n if (hidden) return true;\n if (onHidden) {\n try {\n const result = executeFunction({\n functionBody: onHidden\n });\n if (typeof result === 'boolean') {\n return result;\n } else {\n return false;\n }\n } catch {\n return false;\n }\n }\n return false;\n });\n\n /**\n * 处理字段禁用逻辑\n * @returns 是否禁用\n */\n const handleDisabled = computed(() => {\n if (designState) {\n return false;\n }\n const { onDisabled, disabled } = props.field.options;\n if (disabled) return true;\n if (onDisabled) {\n try {\n const result = executeFunction({\n functionBody: onDisabled\n });\n if (typeof result === 'boolean') {\n return result;\n } else {\n return false;\n }\n } catch (error) {\n console.log({ error });\n return false;\n }\n }\n return false;\n });\n\n /**\n * 在数组中查找元素\n * @param arrayObject 数组对象\n * @param element 要查找的元素\n * @returns 找到的索引,未找到返回-1\n */\n const findInArray = (arrayObject: any[], element: any) => {\n if (!Array.isArray(arrayObject)) {\n return -1;\n }\n\n let foundIdx = -1;\n arrayObject.forEach((aItem, aIdx) => {\n if (aItem === element) {\n foundIdx = aIdx;\n }\n });\n\n return foundIdx;\n };\n\n /**\n * 获取属性名称\n * @returns 属性名称\n */\n const getPropName = computed(() => {\n if (isSubFormField && !designState) {\n return (\n subFormName.value +\n '.' +\n props.subFormRowIndex +\n '.' +\n props.field.options.name +\n ''\n );\n } else {\n return props.field.options.name;\n }\n });\n\n /**\n * 处理组件创建事件\n */\n async function handleOnCreated() {\n if (designState) {\n // 设计状态不触发事件\n return;\n }\n\n if (props.field.options.onCreated) {\n await asyncExecuteFunction({\n functionBody: props.field.options.onCreated\n });\n }\n }\n\n /**\n * 处理组件挂载事件\n */\n async function handleOnMounted() {\n if (designState) {\n // 设计状态不触发事件\n return;\n }\n if (props.field.options.onMounted) {\n await asyncExecuteFunction({\n functionBody: props.field.options.onMounted\n });\n }\n }\n\n /**\n * 刷新默认值\n */\n const refreshDefaultValue = () => {\n fieldModel.value = props.field.options.defaultValue;\n };\n\n /**\n * 清除字段规则\n */\n const clearFieldRules = () => {\n if (!props.field.formItemFlag) {\n return;\n }\n\n rules.value.splice(0, rules.value.length); // 清空已有\n };\n\n /**\n * 构建字段规则\n */\n const buildFieldRules = () => {\n if (!props?.field.formItemFlag || props?.field.options.hidden) {\n return;\n }\n\n rules.value.splice(0, rules.value.length); // 清空已有\n if (props.field.options.required) {\n rules.value.push({\n required: true,\n // trigger: ['blur', 'change'],\n trigger: [\n 'blur'\n ] /* 去掉change事件触发校验,change事件触发时formModel数据尚未更新,导致radio/checkbox必填校验出错!! */,\n message: props.field.options.requiredHint || i18nt('render.hint.fieldRequired')\n });\n }\n\n if (props.field.options.validation) {\n const vldName = props.field.options.validation;\n if (FormValidators[vldName]) {\n rules.value.push({\n validator: FormValidators[vldName],\n trigger: ['blur', 'change'],\n label: props.field.options.label,\n errorMsg: props.field.options.validationHint\n });\n } else {\n rules.value.push({\n validator: FormValidators['regExp'],\n trigger: ['blur', 'change'],\n regExp: vldName,\n label: props.field.options.label,\n errorMsg: props.field.options.validationHint\n });\n }\n }\n\n if (props.field.options.onValidate) {\n const customFn = (rule: any, value: any) => {\n return executeFunction({\n functionBody: props.field.options.onValidate,\n params: { rule, value },\n keys: ['rule', 'value']\n });\n };\n rules.value.push({\n validator: customFn,\n trigger: ['blur'],\n label: props.field.options.label\n });\n }\n };\n\n /**\n * 禁用字段值变动触发表单校验\n */\n const disableChangeValidate = () => {\n if (!rules.value) {\n return;\n }\n\n rules.value.forEach(rule => {\n if (rule.trigger) {\n rule.trigger.splice(0, rule.trigger.length);\n }\n });\n };\n\n /**\n * 启用字段值变动触发表单校验\n */\n const enableChangeValidate = () => {\n if (!rules.value) {\n return;\n }\n\n rules.value.forEach(rule => {\n if (rule.trigger) {\n rule.trigger.push('blur');\n rule.trigger.push('change');\n }\n });\n };\n\n /**\n * 禁用列表中的选项\n * @param optionList 选项列表\n * @param optionValue 选项值\n */\n const disableOptionOfList = (optionList: any[], optionValue: any) => {\n if (optionList && optionList.length > 0) {\n optionList.forEach(opt => {\n if (opt.value === optionValue) {\n opt.disabled = true;\n }\n });\n }\n };\n\n /**\n * 启用列表中的选项\n * @param optionList 选项列表\n * @param optionValue 选项值\n */\n const enableOptionOfList = (optionList: any[], optionValue: any) => {\n if (optionList && optionList.length > 0) {\n optionList.forEach(opt => {\n if (opt.value === optionValue) {\n opt.disabled = false;\n }\n });\n }\n };\n\n /**\n * 发送字段数据变更事件\n * @param newValue 新值\n * @param oldValue 旧值\n */\n const emitFieldDataChange = (newValue: any, oldValue: any) => {\n if (newValue) {\n newValue = newValue.target ? newValue.target.value : newValue;\n }\n\n if (!instance) return;\n\n /* 必须用dispatch向指定父组件派发消息!! */\n dispatch('VFormRender', 'fieldChange', [\n props.field.options.name,\n newValue,\n oldValue,\n subFormName.value,\n props.subFormRowIndex\n ]);\n };\n\n /**\n * 同步更新表单模型\n * @param value 值\n */\n\n const syncUpdateFormModel = value => {\n if (designState) {\n dispatch('VFormDesigner', 'fieldChange', {\n fieldName: getPropName.value,\n value,\n field: field\n });\n //设计状态不触发事件\n return;\n }\n /* 主动触发表单的单个字段校验,用于清除字段可能存在的校验错误提示 */\n dispatch('VFormRender', 'fieldValidation', [getPropName.value]);\n const oldValue = toRaw(fieldModel.value);\n dispatch('VFormRender', 'fieldChange', {\n fieldName: getPropName.value,\n value,\n oldValue: oldValue,\n field: field\n });\n handleOnChange(value, oldValue);\n };\n\n /**\n * 处理焦点自定义事件\n * @param event 事件对象\n */\n const handleFocusCustomEvent = (event: any) => {\n if (designState) {\n // 设计状态不触发事件\n return;\n }\n\n oldFieldValue.value = deepClone(fieldModel.value); // 保存修改change之前的值\n\n if (props.field.options.onFocus) {\n executeFunction({\n functionBody: props.field.options.onFocus,\n params: { event },\n keys: ['event']\n });\n }\n };\n\n /**\n * 处理失焦自定义事件\n * @param event 事件对象\n */\n const handleBlurCustomEvent = (event: any) => {\n if (designState) {\n // 设计状态不触发事件\n return;\n }\n\n if (props.field.options.onBlur) {\n executeFunction({\n functionBody: props.field.options.onBlur,\n params: { event },\n keys: ['event']\n });\n }\n };\n\n /**\n * 发送附加按钮点击事件\n */\n const emitAppendButtonClick = () => {\n if (designState) {\n // 设计状态不触发点击事件\n return;\n }\n\n if (props.field.options.onAppendButtonClick) {\n executeFunction({\n functionBody: props.field.options.onAppendButtonClick\n });\n }\n };\n\n /**\n * 处理变更事件\n * @param val 新值\n * @param oldVal 旧值\n * @param ops 选项\n */\n const handleOnChange = (val: any, oldVal: any) => {\n // 自定义onChange事件\n if (designState) {\n // 设计状态不触发事件\n return;\n }\n\n if (props.field.options.onChange) {\n executeFunction({\n functionBody: props.field.options.onChange,\n params: {\n value: val,\n oldValue: oldVal,\n subFormData: subFormData.value,\n rowId: props.subFormRowId\n },\n keys: ['value', 'oldValue', 'subFormData', 'rowId']\n });\n }\n };\n\n /**\n * 处理点击事件\n */\n const onClick = async () => {\n if (designState) {\n // 设计状态不触发点击事件\n return;\n }\n\n if (props.field.options.onClick) {\n return await asyncExecuteFunction({\n functionBody: props.field.options.onClick\n });\n }\n };\n\n /**\n * 处理图标点击事件\n */\n const handleClickIcon = async () => {\n if (designState) {\n // 设计状态不触发事件\n return;\n }\n if (handleDisabled.value) {\n return;\n }\n if (field.options.onClickIcon) {\n await asyncExecuteFunction({\n functionBody: field.options.onClickIcon\n });\n }\n };\n\n /**\n * 获取字段编辑器\n * @returns 字段编辑器\n */\n const getFieldEditor = () => {\n // 获取内置的el表单组件\n return fieldEditor.value;\n };\n\n /**\n * 显示文件列表\n * @param list 文件列表\n * @returns 格式化后的文件列表\n */\n const showFileList = (list: any) => {\n if (typeof list === 'string') {\n list = JSON.parse(list);\n }\n if (!isArray(list)) return [];\n const res = list.map((item: any, uid: number) => ({\n ...item,\n name: item.fileName,\n uid\n }));\n return res;\n };\n\n /**\n * 设置值\n * @param newValue 新值\n * @param disableChangeEvent 是否禁用变更事件\n */\n const setValue = (newValue: any, disableChangeEvent = false) => {\n if (newValue) {\n newValue = newValue.target ? newValue.target.value : newValue;\n }\n if (eq(fieldModel.value, newValue)) return;\n\n const oldValue = deepClone(fieldModel.value);\n if (props.field.type === 'file-upload') {\n newValue = showFileList(newValue || []);\n // TODO\n } else if (props.field.type === 'code-editor') {\n const fieldEditor = getFieldEditor();\n if (fieldEditor) {\n fieldEditor.setValue(newValue);\n }\n }\n fieldModel.value = newValue;\n if (!disableChangeEvent) {\n emitFieldDataChange(newValue, oldValue);\n }\n };\n\n /**\n * 获取值\n * @returns 字段值\n */\n const getValue = () => {\n return fieldModel.value;\n };\n\n /**\n * 重置字段\n */\n const resetField = () => {\n const defaultValue = props.field.options.defaultValue;\n setValue(defaultValue);\n\n // 清空上传组件文件列表\n if (props.field.type === 'picture-upload' || props.field.type === 'file-upload') {\n fieldModel.value.splice(0, fieldModel.value.length);\n // handleChangeEvent(fieldModel.value);\n }\n };\n\n /**\n * 设置只读\n * @param flag 是否只读\n */\n const setReadonly = (flag: boolean) => {\n props.field.options.readonly = flag;\n };\n\n /**\n * 设置禁用\n * @param flag 是否禁用\n */\n const setDisabled = (flag: boolean) => {\n props.field.options.disabled = flag;\n };\n\n /**\n * 设置附加按钮可见性\n * @param flag 是否可见\n */\n const setAppendButtonVisible = (flag: boolean) => {\n props.field.options.appendButton = flag;\n };\n\n /**\n * 设置附加按钮禁用状态\n * @param flag 是否禁用\n */\n const setAppendButtonDisabled = (flag: boolean) => {\n props.field.options.appendButtonDisabled = flag;\n };\n\n /**\n * 设置隐藏\n * @param flag 是否隐藏\n */\n const setHidden = (flag: boolean) => {\n props.field.options.hidden = flag;\n\n if (flag) {\n // 清除组件校验规则\n clearFieldRules();\n } else {\n // 重建组件校验规则\n buildFieldRules();\n }\n };\n\n /**\n * 设置必填\n * @param flag 是否必填\n */\n const setRequired = (flag: boolean) => {\n props.field.options.required = flag;\n buildFieldRules();\n\n if (!designState && !flag) {\n // 清除必填校验提示\n clearValidate();\n }\n };\n\n /**\n * 清除字段校验提示\n */\n const clearValidate = () => {\n if (designState) {\n return;\n }\n\n getFormRef().clearValidate(getPropName.value);\n };\n\n /**\n * 获取VForm上下文\n * @returns VForm上下文\n */\n const getVfCtx = () => {\n return getFormRef().vfCtx;\n };\n\n /**\n * 设置标签\n * @param newLabel 新标签\n */\n const setLabel = (newLabel: string) => {\n props.field.options.label = newLabel;\n };\n\n /**\n * 聚焦\n */\n const focus = () => {\n const fieldEditor = getFieldEditor();\n if (fieldEditor && fieldEditor.focus) {\n fieldEditor.focus();\n }\n };\n\n /**\n * 设置上传头\n * @param name 名称\n * @param value 值\n */\n const setUploadHeader = (name: string, value: any) => {\n uploadHeaders.value[name] = value;\n };\n\n /**\n * 设置上传数据\n * @param name 名称\n * @param value 值\n */\n const setUploadData = (name: string, value: any) => {\n uploadData.value[name] = value;\n };\n\n /**\n * 设置或取消设置字段只读查看模式\n * @param readonlyFlag 只读标志\n */\n const setReadMode = (readonlyFlag = true) => {\n fieldReadonlyFlag.value = readonlyFlag;\n };\n\n /**\n * 动态增加自定义css样式\n * @param className 类名\n */\n const addCssClass = (className: string) => {\n if (!props.field.options.customClass) {\n props.field.options.customClass = [className];\n } else {\n props.field.options.customClass.push(className);\n }\n };\n const customClass = computed(() => props.field.options.customClass);\n\n /**\n * 动态移除自定义css样式\n * @param className 类名\n */\n const removeCssClass = (className: string) => {\n if (!props.field.options.customClass) {\n return;\n }\n\n let foundIdx = -1;\n props.field.options.customClass.map((cc: string, idx: number) => {\n if (cc === className) {\n foundIdx = idx;\n }\n });\n if (foundIdx > -1) {\n props.field.options.customClass.splice(foundIdx, 1);\n }\n };\n\n const getEl = () => {\n return fieldEditor.value?.$el;\n };\n\n /**\n * 设置组件选项\n * @param optionName 选项名称\n * @param optionValue 选项值\n */\n const setWidgetOption = (optionName: string, optionValue: any) => {\n // 通用组件选项修改API\n props.field.options[optionName] = optionValue;\n };\n\n const options = computed({\n get() {\n return props.field.options;\n },\n set(value) {\n props.field.options = value;\n }\n });\n\n const initFieldModel = () => {\n dispatch('VFormRender', 'fieldChange', {\n fieldName: getPropName.value,\n value: props.field.options.defaultValue,\n oldValue: toRaw(fieldModel.value),\n field: field\n });\n };\n\n // 生命周期钩子\n onMounted(async () => {\n initFieldModel();\n await registerToRefList();\n\n await handleOnCreated();\n\n await handleOnMounted();\n buildFieldRules();\n });\n\n onBeforeUnmount(() => {\n unregisterFromRefList();\n });\n\n const defineExposed = {\n i18nt,\n options,\n proxy: instance?.proxy,\n field,\n widget: field,\n fieldModel,\n fieldEditor,\n isReadMode,\n setWidgetOption,\n setReadonly,\n setDisabled,\n getVfCtx,\n setLabel,\n getEl,\n setReadMode,\n resetField,\n setValue,\n getValue,\n getFieldEditor,\n getFormRef,\n getWidgetRef,\n setHidden,\n addCssClass,\n removeCssClass,\n setRequired,\n clearValidate,\n focus\n };\n\n return {\n asyncExecuteFunction,\n executeFunction,\n options,\n customClass,\n fieldEditor,\n // 状态\n fieldModel,\n oldFieldValue,\n fieldReadonlyFlag,\n loading,\n rules,\n uploadHeaders,\n uploadData,\n designState,\n customToolbar,\n i18nt,\n i18n2t,\n size,\n field,\n // 计算属性\n formConfig,\n subFormName,\n\n formModel,\n isReadMode,\n\n // 方法\n handleHidden,\n handleDisabled,\n findInArray,\n getPropName,\n refreshDefaultValue,\n clearFieldRules,\n buildFieldRules,\n disableChangeValidate,\n enableChangeValidate,\n disableOptionOfList,\n enableOptionOfList,\n emitFieldDataChange,\n syncUpdateFormModel,\n handleFocusCustomEvent,\n handleBlurCustomEvent,\n emitAppendButtonClick,\n handleOnChange,\n onClick,\n handleClickIcon,\n getFieldEditor,\n showFileList,\n\n setAppendButtonVisible,\n setAppendButtonDisabled,\n\n focus,\n setUploadHeader,\n setUploadData,\n\n isSubFormField,\n defineExposed\n };\n}\n"],"names":["useField","props","formConfig","inject","ref","formModel","getReadMode","isSubFormField","getSubFormName","designState","registerToRefList","getWidgetRef","getFormRef","unregisterFromRefList","useAppRef","executeFunction","asyncExecuteFunction","useExecFunction","i18nt","i18n2t","useI18n","field","fieldEditor","oldFieldValue","fieldReadonlyFlag","loading","rules","uploadHeaders","uploadData","customToolbar","instance","getCurrentInstance","dispatch","useEmitter","size","computed","_a","subFormName","fieldModel","get","getPropName","value","syncUpdateFormModel","subFormData","isReadMode","handleHidden","onHidden","hidden","result","handleDisabled","onDisabled","disabled","error","findInArray","arrayObject","element","foundIdx","aItem","aIdx","handleOnCreated","handleOnMounted","refreshDefaultValue","clearFieldRules","buildFieldRules","vldName","FormValidators","customFn","rule","disableChangeValidate","enableChangeValidate","disableOptionOfList","optionList","optionValue","opt","enableOptionOfList","emitFieldDataChange","newValue","oldValue","toRaw","handleOnChange","handleFocusCustomEvent","event","deepClone","handleBlurCustomEvent","emitAppendButtonClick","val","oldVal","onClick","handleClickIcon","getFieldEditor","showFileList","list","isArray","item","uid","setValue","disableChangeEvent","eq","getValue","resetField","defaultValue","setReadonly","flag","setDisabled","setAppendButtonVisible","setAppendButtonDisabled","setHidden","setRequired","clearValidate","getVfCtx","setLabel","newLabel","focus","setUploadHeader","name","setUploadData","setReadMode","readonlyFlag","addCssClass","className","customClass","removeCssClass","cc","idx","getEl","setWidgetOption","optionName","options","initFieldModel","onMounted","onBeforeUnmount","defineExposed"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import o from "./index.vue2.js";
2
2
  /* empty css */
3
3
  import t from "../../../../_virtual/_plugin-vue_export-helper.js";
4
- const p = /* @__PURE__ */ t(o, [["__scopeId", "data-v-70e501c6"]]);
4
+ const f = /* @__PURE__ */ t(o, [["__scopeId", "data-v-b0bf411e"]]);
5
5
  export {
6
- p as default
6
+ f as default
7
7
  };
8
8
  //# sourceMappingURL=index.vue.js.map