@farris/ui-vue 1.2.9 → 1.3.0

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 (236) hide show
  1. package/components/accordion/index.esm.js +63 -63
  2. package/components/accordion/index.umd.cjs +1 -1
  3. package/components/avatar/index.esm.js +402 -323
  4. package/components/avatar/index.umd.cjs +1 -1
  5. package/components/button-edit/index.css +1 -1
  6. package/components/button-edit/index.esm.js +98 -96
  7. package/components/button-edit/index.umd.cjs +1 -1
  8. package/components/calendar/index.esm.js +66 -66
  9. package/components/calendar/index.umd.cjs +1 -1
  10. package/components/capsule/index.esm.js +118 -118
  11. package/components/capsule/index.umd.cjs +1 -1
  12. package/components/checkbox/index.esm.js +539 -460
  13. package/components/checkbox/index.umd.cjs +1 -1
  14. package/components/color-picker/index.esm.js +135 -135
  15. package/components/color-picker/index.umd.cjs +2 -2
  16. package/components/combo-list/index.css +1 -0
  17. package/components/combo-list/index.esm.js +1007 -312
  18. package/components/combo-list/index.umd.cjs +1 -1
  19. package/components/combo-tree/index.esm.js +97 -97
  20. package/components/combo-tree/index.umd.cjs +1 -1
  21. package/components/common/index.esm.js +778 -700
  22. package/components/common/index.umd.cjs +1 -1
  23. package/components/component/index.esm.js +472 -329
  24. package/components/component/index.umd.cjs +1 -1
  25. package/components/condition/index.css +1 -0
  26. package/components/condition/index.esm.js +2231 -1055
  27. package/components/condition/index.umd.cjs +1 -1
  28. package/components/content-container/index.esm.js +79 -79
  29. package/components/content-container/index.umd.cjs +1 -1
  30. package/components/data-grid/index.css +1 -1
  31. package/components/data-grid/index.esm.js +6408 -5034
  32. package/components/data-grid/index.umd.cjs +1 -1
  33. package/components/data-view/index.css +1 -0
  34. package/components/data-view/index.esm.js +4762 -3511
  35. package/components/data-view/index.umd.cjs +1 -1
  36. package/components/date-picker/index.css +1 -1
  37. package/components/date-picker/index.esm.js +3442 -2742
  38. package/components/date-picker/index.umd.cjs +1 -1
  39. package/components/designer-outline/index.esm.js +14 -13
  40. package/components/designer-outline/index.umd.cjs +1 -1
  41. package/components/dropdown/index.esm.js +73 -73
  42. package/components/dropdown/index.umd.cjs +2 -2
  43. package/components/dynamic-form/index.css +1 -0
  44. package/components/dynamic-form/index.esm.js +2597 -1141
  45. package/components/dynamic-form/index.umd.cjs +1 -1
  46. package/components/dynamic-resolver/index.esm.js +114 -71
  47. package/components/dynamic-resolver/index.umd.cjs +1 -1
  48. package/components/dynamic-view/index.esm.js +303 -290
  49. package/components/dynamic-view/index.umd.cjs +1 -1
  50. package/components/events-editor/index.esm.js +171 -171
  51. package/components/events-editor/index.umd.cjs +1 -1
  52. package/components/expression-editor/index.esm.js +65 -65
  53. package/components/expression-editor/index.umd.cjs +1 -1
  54. package/components/external-container/index.css +1 -1
  55. package/components/external-container/index.esm.js +3075 -2586
  56. package/components/external-container/index.umd.cjs +1 -1
  57. package/components/field-selector/index.css +1 -1
  58. package/components/field-selector/index.esm.js +5272 -8511
  59. package/components/field-selector/index.umd.cjs +1 -1
  60. package/components/filter-bar/index.css +1 -1
  61. package/components/filter-bar/index.esm.js +1726 -1822
  62. package/components/filter-bar/index.umd.cjs +1 -1
  63. package/components/image-cropper/index.esm.js +126 -126
  64. package/components/image-cropper/index.umd.cjs +1 -1
  65. package/components/input-group/index.esm.js +620 -540
  66. package/components/input-group/index.umd.cjs +1 -1
  67. package/components/layout/index.esm.js +88 -88
  68. package/components/layout/index.umd.cjs +1 -1
  69. package/components/list-nav/index.esm.js +71 -71
  70. package/components/list-nav/index.umd.cjs +1 -1
  71. package/components/list-view/index.css +1 -1
  72. package/components/list-view/index.esm.js +3582 -2356
  73. package/components/list-view/index.umd.cjs +1 -1
  74. package/components/lookup/index.css +1 -1
  75. package/components/lookup/index.esm.js +10752 -8972
  76. package/components/lookup/index.umd.cjs +1 -1
  77. package/components/mapping-editor/index.css +1 -1
  78. package/components/mapping-editor/index.esm.js +5601 -5329
  79. package/components/mapping-editor/index.umd.cjs +1 -1
  80. package/components/message-box/index.css +1 -1
  81. package/components/message-box/index.esm.js +511 -471
  82. package/components/message-box/index.umd.cjs +1 -1
  83. package/components/modal/index.css +1 -1
  84. package/components/modal/index.esm.js +438 -398
  85. package/components/modal/index.umd.cjs +1 -1
  86. package/components/nav/index.esm.js +535 -452
  87. package/components/nav/index.umd.cjs +2 -2
  88. package/components/notify/index.esm.js +59 -53
  89. package/components/notify/index.umd.cjs +1 -1
  90. package/components/number-range/index.esm.js +556 -477
  91. package/components/number-range/index.umd.cjs +1 -1
  92. package/components/number-spinner/index.esm.js +504 -425
  93. package/components/number-spinner/index.umd.cjs +1 -1
  94. package/components/order/index.css +1 -1
  95. package/components/order/index.esm.js +1833 -1054
  96. package/components/order/index.umd.cjs +1 -1
  97. package/components/page-footer/index.esm.js +100 -100
  98. package/components/page-footer/index.umd.cjs +1 -1
  99. package/components/page-header/index.esm.js +899 -870
  100. package/components/page-header/index.umd.cjs +1 -1
  101. package/components/pagination/index.esm.js +576 -487
  102. package/components/pagination/index.umd.cjs +1 -1
  103. package/components/popover/index.esm.js +71 -70
  104. package/components/popover/index.umd.cjs +1 -1
  105. package/components/progress/index.esm.js +73 -73
  106. package/components/progress/index.umd.cjs +2 -2
  107. package/components/property-editor/index.css +1 -1
  108. package/components/property-editor/index.esm.js +1916 -1220
  109. package/components/property-editor/index.umd.cjs +3 -3
  110. package/components/property-panel/index.esm.js +783 -886
  111. package/components/property-panel/index.umd.cjs +1 -1
  112. package/components/query-solution/index.css +1 -1
  113. package/components/query-solution/index.esm.js +3632 -2556
  114. package/components/query-solution/index.umd.cjs +1 -1
  115. package/components/radio-button/index.esm.js +72 -72
  116. package/components/radio-button/index.umd.cjs +1 -1
  117. package/components/radio-group/index.esm.js +484 -405
  118. package/components/radio-group/index.umd.cjs +1 -1
  119. package/components/rate/index.esm.js +152 -152
  120. package/components/rate/index.umd.cjs +1 -1
  121. package/components/response-layout/index.esm.js +73 -73
  122. package/components/response-layout/index.umd.cjs +1 -1
  123. package/components/response-layout-editor/index.css +1 -1
  124. package/components/response-layout-editor/index.esm.js +1081 -1043
  125. package/components/response-layout-editor/index.umd.cjs +1 -1
  126. package/components/response-toolbar/index.esm.js +753 -738
  127. package/components/response-toolbar/index.umd.cjs +1 -1
  128. package/components/schema-selector/index.css +1 -1
  129. package/components/schema-selector/index.esm.js +4418 -4177
  130. package/components/schema-selector/index.umd.cjs +2 -2
  131. package/components/search-box/index.esm.js +119 -119
  132. package/components/search-box/index.umd.cjs +1 -1
  133. package/components/section/index.esm.js +92 -91
  134. package/components/section/index.umd.cjs +1 -1
  135. package/components/smoke-detector/index.esm.js +59 -59
  136. package/components/smoke-detector/index.umd.cjs +1 -1
  137. package/components/splitter/index.esm.js +103 -103
  138. package/components/splitter/index.umd.cjs +1 -1
  139. package/components/step/index.esm.js +85 -85
  140. package/components/step/index.umd.cjs +1 -1
  141. package/components/switch/index.esm.js +457 -378
  142. package/components/switch/index.umd.cjs +1 -1
  143. package/components/tabs/index.css +1 -1
  144. package/components/tabs/index.esm.js +1696 -1617
  145. package/components/tabs/index.umd.cjs +1 -1
  146. package/components/tags/index.esm.js +53 -53
  147. package/components/tags/index.umd.cjs +1 -1
  148. package/components/text/index.esm.js +268 -268
  149. package/components/text/index.umd.cjs +1 -1
  150. package/components/textarea/index.esm.js +420 -341
  151. package/components/textarea/index.umd.cjs +1 -1
  152. package/components/time-picker/index.css +1 -1
  153. package/components/time-picker/index.esm.js +1062 -981
  154. package/components/time-picker/index.umd.cjs +1 -1
  155. package/components/transfer/index.css +1 -1
  156. package/components/transfer/index.esm.js +381 -379
  157. package/components/transfer/index.umd.cjs +1 -1
  158. package/components/tree-grid/index.css +1 -1
  159. package/components/tree-grid/index.esm.js +5252 -9560
  160. package/components/tree-grid/index.umd.cjs +1 -1
  161. package/components/tree-view/index.css +1 -0
  162. package/components/tree-view/index.esm.js +3920 -2692
  163. package/components/tree-view/index.umd.cjs +1 -1
  164. package/components/uploader/index.esm.js +373 -367
  165. package/components/uploader/index.umd.cjs +2 -2
  166. package/components/verify-detail/index.esm.js +92 -92
  167. package/components/verify-detail/index.umd.cjs +1 -1
  168. package/components/video/index.esm.js +597 -417
  169. package/components/video/index.umd.cjs +1 -1
  170. package/components/weather/index.esm.js +251 -251
  171. package/components/weather/index.umd.cjs +4 -4
  172. package/farris.all.esm.js +17125 -16176
  173. package/farris.all.umd.cjs +8 -8
  174. package/index.css +1 -1
  175. package/package.json +1 -1
  176. package/types/capsule/src/capsule.props.d.ts +2 -2
  177. package/types/combo-list/src/components/list-container.component.d.ts +0 -3
  178. package/types/combo-list/src/components/list-container.props.d.ts +0 -4
  179. package/types/common/index.d.ts +1 -0
  180. package/types/common/types.d.ts +1 -1
  181. package/types/common/utils/encrypt.d.ts +2 -0
  182. package/types/component/src/component.props.d.ts +7 -0
  183. package/types/component/src/designer/use-designer-rules.d.ts +1 -1
  184. package/types/component/src/property-config/component.property-config.d.ts +9 -0
  185. package/types/components.d.ts +1 -0
  186. package/types/data-grid/index.d.ts +5 -2
  187. package/types/data-grid/src/data-grid.component.d.ts +2 -1
  188. package/types/data-grid/src/data-grid.props.d.ts +1 -0
  189. package/types/data-view/composition/types.d.ts +18 -1
  190. package/types/data-view/composition/visualization/use-virtual-scroll.d.ts +0 -15
  191. package/types/designer-canvas/src/composition/dg-control.d.ts +5 -0
  192. package/types/designer-canvas/src/composition/types.d.ts +1 -1
  193. package/types/dynamic-form/src/composition/use-response-form-layout-setting.d.ts +2 -0
  194. package/types/dynamic-form/src/designer/response-form-layout-setting.component.d.ts +8 -0
  195. package/types/dynamic-form/src/designer/response-form-layout-setting.props.d.ts +4 -0
  196. package/types/dynamic-form/src/designer/use-designer-rules.d.ts +2 -2
  197. package/types/dynamic-form/src/property-config/form.property-config.d.ts +9 -0
  198. package/types/dynamic-form/src/schema/schema-mapper.d.ts +1 -0
  199. package/types/dynamic-form/src/schema/schema-resolver.d.ts +1 -0
  200. package/types/dynamic-form/src/types.d.ts +12 -1
  201. package/types/dynamic-resolver/index.d.ts +1 -0
  202. package/types/dynamic-resolver/src/event-handler-resolver.d.ts +4 -0
  203. package/types/dynamic-resolver/src/types.d.ts +9 -0
  204. package/types/dynamic-view/index.d.ts +1 -0
  205. package/types/dynamic-view/src/event-dispatcher.d.ts +1 -1
  206. package/types/index.d.ts +2 -0
  207. package/types/lookup/src/components/favorite/lookup-favorite.component.d.ts +29 -0
  208. package/types/lookup/src/components/favorite/lookup-favorite.props.d.ts +15 -0
  209. package/types/lookup/src/components/modal-container.component.d.ts +25 -0
  210. package/types/lookup/src/components/modal-container.props.d.ts +29 -0
  211. package/types/lookup/src/composition/types.d.ts +8 -0
  212. package/types/lookup/src/composition/use-check-props.d.ts +9 -2
  213. package/types/lookup/src/composition/use-dialog.d.ts +5 -1
  214. package/types/lookup/src/composition/use-favorite.d.ts +12 -0
  215. package/types/lookup/src/composition/use-http.d.ts +9 -5
  216. package/types/lookup/src/composition/use-input-change.d.ts +3 -0
  217. package/types/lookup/src/composition/use-user-data.d.ts +24 -0
  218. package/types/lookup/src/property-config/lookup.property-config.d.ts +6 -4
  219. package/types/mapping-editor/src/mapping-editor.component.d.ts +3 -0
  220. package/types/mapping-editor/src/mapping-editor.props.d.ts +0 -1
  221. package/types/modal/src/composition/use-draggable.d.ts +2 -1
  222. package/types/modal/src/composition/use-shortcut.d.ts +6 -0
  223. package/types/modal/src/modal.component.d.ts +3 -0
  224. package/types/modal/src/modal.props.d.ts +4 -0
  225. package/types/page-header/src/page-header.props.d.ts +1 -0
  226. package/types/property-panel/src/composition/entity/base-property.d.ts +8 -0
  227. package/types/property-panel/src/composition/entity/input-base-property.d.ts +20 -1
  228. package/types/response-layout-editor/src/composition/converter/use-response-layout-editor-setting.d.ts +2 -0
  229. package/types/response-layout-editor/src/type.d.ts +21 -0
  230. package/types/tabs/src/tabs.props.d.ts +1 -0
  231. package/types/tree-grid/index.d.ts +8 -2
  232. package/types/tree-grid/src/tree-grid.component.d.ts +3 -1
  233. package/types/data-grid/src/designer/use-group-column.d.ts +0 -20
  234. package/types/modal/src/composition/use-esc.d.ts +0 -1
  235. package/types/response-layout-editor/src/composition/converter/response-layout-editor.converter.d.ts +0 -3
  236. package/types/response-layout-editor/src/composition/converter/use-convert-property-value.d.ts +0 -20
@@ -1,96 +1,96 @@
1
- var $ = Object.defineProperty;
2
- var H = (e, t, n) => t in e ? $(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n;
3
- var S = (e, t, n) => H(e, typeof t != "symbol" ? t + "" : t, n);
4
- import { defineComponent as P, ref as v, computed as k, watch as M, createVNode as B, inject as E, onMounted as q } from "vue";
5
- import { cloneDeep as G } from "lodash-es";
6
- import W from "../list-view/index.esm.js";
7
- import z from "../button-edit/index.esm.js";
8
- import J from "../button-edit/index.esm.js/src/designer/button-edit.design.component";
9
- import { getSchemaByType as A } from "../dynamic-resolver/index.esm.js";
10
- import { useDesignerComponent as Q } from "../designer-canvas/index.esm.js";
11
- const X = {}, Y = {};
12
- function j(e) {
13
- const { properties: t, title: n, ignore: i } = e, l = i && Array.isArray(i), m = Object.keys(t).reduce((u, c) => ((!l || !i.find((f) => f == c)) && (u[c] = t[c].type === "object" && t[c].properties ? j(t[c]) : G(t[c].default)), u), {});
14
- return (!l || !i.find((u) => u == "id")) && (m.id = `${n}-${Date.now()}`), m;
1
+ var Q = Object.defineProperty;
2
+ var Y = (e, t, n) => t in e ? Q(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n;
3
+ var S = (e, t, n) => Y(e, typeof t != "symbol" ? t + "" : t, n);
4
+ import { defineComponent as O, ref as g, computed as F, watch as M, createVNode as k, Teleport as Z, createApp as _, onUnmounted as K, inject as E, nextTick as A, onMounted as D, mergeProps as ee } from "vue";
5
+ import { isPlainObject as j, cloneDeep as $ } from "lodash-es";
6
+ import te from "../list-view/index.esm.js";
7
+ import ne from "../button-edit/index.esm.js";
8
+ import { resolveAppearance as oe, getSchemaByType as R } from "../dynamic-resolver/index.esm.js";
9
+ import { useDesignerComponent as U } from "../designer-canvas/index.esm.js";
10
+ import { useResponseLayoutEditorSetting as ie } from "../response-layout-editor/index.esm.js/src/composition/converter/use-response-layout-editor-setting";
11
+ const ae = {}, le = {};
12
+ function N(e) {
13
+ const { properties: t, title: n, ignore: o } = e, i = o && Array.isArray(o), l = Object.keys(t).reduce((u, d) => ((!i || !o.find((c) => c == d)) && (u[d] = t[d].type === "object" && t[d].properties ? N(t[d]) : $(t[d].default)), u), {});
14
+ return (!i || !o.find((u) => u == "id")) && (l.id = `${n}-${Date.now()}`), l;
15
15
  }
16
- function Z(e, t) {
17
- const n = j(t);
18
- return Object.keys(e).reduce((i, l) => (i[l] && typeof i[l] == "object" ? Object.assign(i[l], e[l]) : i[l] = e[l], i), n), n;
16
+ function re(e, t) {
17
+ const n = N(t);
18
+ return Object.keys(e).reduce((o, i) => (o[i] && j(o[i]) && j(e[i]) ? Object.assign(o[i], e[i]) : o[i] = e[i], o), n), n;
19
19
  }
20
- function _(e, t) {
21
- return Object.keys(e).filter((i) => e[i] != null).reduce((i, l) => {
22
- if (t.has(l)) {
23
- const m = t.get(l);
24
- if (typeof m == "string")
25
- i[m] = e[l];
20
+ function se(e, t) {
21
+ return Object.keys(e).filter((o) => e[o] != null).reduce((o, i) => {
22
+ if (t.has(i)) {
23
+ const l = t.get(i);
24
+ if (typeof l == "string")
25
+ o[l] = e[i];
26
26
  else {
27
- const u = m(l, e[l], e);
28
- Object.assign(i, u);
27
+ const u = l(i, e[i], e);
28
+ Object.assign(o, u);
29
29
  }
30
30
  } else
31
- i[l] = e[l];
32
- return i;
31
+ o[i] = e[i];
32
+ return o;
33
33
  }, {});
34
34
  }
35
- function K(e, t, n = /* @__PURE__ */ new Map()) {
36
- const i = Z(e, t);
37
- return _(i, n);
35
+ function ue(e, t, n = /* @__PURE__ */ new Map()) {
36
+ const o = re(e, t);
37
+ return se(o, n);
38
38
  }
39
- function ee(e = {}) {
40
- function t(r, d, a, o) {
39
+ function ce(e = {}) {
40
+ function t(r, p, a, s) {
41
41
  if (typeof a == "number")
42
- return o[r].length === a;
42
+ return s[r].length === a;
43
43
  if (typeof a == "object") {
44
- const p = Object.keys(a)[0], y = a[p];
45
- if (p === "not")
46
- return Number(o[r].length) !== Number(y);
47
- if (p === "moreThan")
48
- return Number(o[r].length) >= Number(y);
49
- if (p === "lessThan")
50
- return Number(o[r].length) <= Number(y);
44
+ const y = Object.keys(a)[0], m = a[y];
45
+ if (y === "not")
46
+ return Number(s[r].length) !== Number(m);
47
+ if (y === "moreThan")
48
+ return Number(s[r].length) >= Number(m);
49
+ if (y === "lessThan")
50
+ return Number(s[r].length) <= Number(m);
51
51
  }
52
52
  return !1;
53
53
  }
54
- function n(r, d, a, o) {
55
- return o[r] && o[r].propertyValue && String(o[r].propertyValue.value) === String(a);
54
+ function n(r, p, a, s) {
55
+ return s[r] && s[r].propertyValue && String(s[r].propertyValue.value) === String(a);
56
56
  }
57
- const i = /* @__PURE__ */ new Map([
57
+ const o = /* @__PURE__ */ new Map([
58
58
  ["length", t],
59
59
  ["getProperty", n]
60
60
  ]);
61
- Object.keys(e).reduce((r, d) => (r.set(d, e[d]), r), i);
62
- function l(r, d) {
61
+ Object.keys(e).reduce((r, p) => (r.set(p, e[p]), r), o);
62
+ function i(r, p) {
63
63
  const a = r;
64
- return typeof d == "number" ? [{ target: a, operator: "length", param: null, value: Number(d) }] : typeof d == "boolean" ? [{ target: a, operator: "getProperty", param: r, value: !!d }] : typeof d == "object" ? Object.keys(d).map((o) => {
65
- if (o === "length")
66
- return { target: a, operator: "length", param: null, value: d[o] };
67
- const p = o, y = d[o];
68
- return { target: a, operator: "getProperty", param: p, value: y };
64
+ return typeof p == "number" ? [{ target: a, operator: "length", param: null, value: Number(p) }] : typeof p == "boolean" ? [{ target: a, operator: "getProperty", param: r, value: !!p }] : typeof p == "object" ? Object.keys(p).map((s) => {
65
+ if (s === "length")
66
+ return { target: a, operator: "length", param: null, value: p[s] };
67
+ const y = s, m = p[s];
68
+ return { target: a, operator: "getProperty", param: y, value: m };
69
69
  }) : [];
70
70
  }
71
- function m(r) {
72
- return Object.keys(r).reduce((a, o) => {
73
- const p = l(o, r[o]);
74
- return a.push(...p), a;
71
+ function l(r) {
72
+ return Object.keys(r).reduce((a, s) => {
73
+ const y = i(s, r[s]);
74
+ return a.push(...y), a;
75
75
  }, []);
76
76
  }
77
- function u(r, d) {
78
- if (i.has(r.operator)) {
79
- const a = i.get(r.operator);
80
- return a && a(r.target, r.param, r.value, d) || !1;
77
+ function u(r, p) {
78
+ if (o.has(r.operator)) {
79
+ const a = o.get(r.operator);
80
+ return a && a(r.target, r.param, r.value, p) || !1;
81
81
  }
82
82
  return !1;
83
83
  }
84
- function c(r, d) {
85
- return m(r).reduce((p, y) => p && u(y, d), !0);
84
+ function d(r, p) {
85
+ return l(r).reduce((y, m) => y && u(m, p), !0);
86
86
  }
87
- function f(r, d) {
88
- const a = Object.keys(r), o = a.includes("allOf"), p = a.includes("anyOf"), y = o || p, g = (y ? r[y ? o ? "allOf" : "anyOf" : "allOf"] : [r]).map((F) => c(F, d));
89
- return o ? !g.includes(!1) : g.includes(!0);
87
+ function c(r, p) {
88
+ const a = Object.keys(r), s = a.includes("allOf"), y = a.includes("anyOf"), m = s || y, h = (m ? r[m ? s ? "allOf" : "anyOf" : "allOf"] : [r]).map((x) => d(x, p));
89
+ return s ? !h.includes(!1) : h.includes(!0);
90
90
  }
91
- return { parseValueSchema: f };
91
+ return { parseValueSchema: c };
92
92
  }
93
- const s = {
93
+ const f = {
94
94
  button: { type: "button", name: "按钮", icon: "Button" },
95
95
  "response-toolbar": { type: "response-toolbar", name: "工具栏", icon: "ButtonGroup" },
96
96
  "response-toolbar-item": { type: "response-toolbar-item", name: "按钮", icon: "Button" },
@@ -127,21 +127,22 @@ const s = {
127
127
  uploader: { type: "uploader", name: "附件上传", icon: "FileUpload" },
128
128
  "page-header": { type: "page-header", name: "页头", icon: "Header" },
129
129
  "page-footer": { type: "page-footer", name: "页脚", icon: "ModalFooter" },
130
- "tab-toolbar": { type: "tab-toolbar", name: "标签页工具栏", icon: "TabToolbar" }
131
- }, te = {}, ne = {};
132
- ee();
133
- function ie(e, t, n = /* @__PURE__ */ new Map(), i = (u, c, f) => c, l = {}, m = (u) => u) {
134
- return X[t.title] = t, Y[t.title] = i, te[t.title] = l, ne[t.title] = m, (u = {}) => {
135
- const c = K(u, t, n), f = Object.keys(e).reduce((r, d) => (r[d] = e[d].default, r), {});
136
- return Object.assign(f, c);
130
+ "tab-toolbar": { type: "tab-toolbar", name: "标签页工具栏", icon: "TabToolbar" },
131
+ fieldset: { type: "fieldset", name: "分组", icon: "fieldset" }
132
+ }, de = {}, pe = {};
133
+ ce();
134
+ function q(e, t, n = /* @__PURE__ */ new Map(), o = (u, d, c) => d, i = {}, l = (u) => u) {
135
+ return ae[t.title] = t, le[t.title] = o, de[t.title] = i, pe[t.title] = l, (u = {}) => {
136
+ const d = ue(u, t, n), c = Object.keys(e).reduce((r, p) => (r[p] = e[p].default, r), {});
137
+ return Object.assign(c, d);
137
138
  };
138
139
  }
139
- function oe(e, t) {
140
+ function fe(e, t) {
140
141
  return { customClass: t.class, customStyle: t.style };
141
142
  }
142
- const ae = /* @__PURE__ */ new Map([
143
- ["appearance", oe]
144
- ]), le = "https://json-schema.org/draft/2020-12/schema", re = "https://farris-design.gitee.io/combo-list.schema.json", se = "combo-list", ce = "A Farris Input Component", de = "object", ue = {
143
+ const ye = /* @__PURE__ */ new Map([
144
+ ["appearance", fe]
145
+ ]), me = "https://json-schema.org/draft/2020-12/schema", ge = "https://farris-design.gitee.io/combo-list.schema.json", be = "combo-list", he = "A Farris Input Component", ve = "object", Ce = {
145
146
  id: {
146
147
  description: "The unique identifier for a combo list",
147
148
  type: "string"
@@ -257,28 +258,28 @@ const ae = /* @__PURE__ */ new Map([
257
258
  type: "sting",
258
259
  default: ""
259
260
  }
260
- }, pe = [
261
+ }, Se = [
261
262
  "id",
262
263
  "type"
263
- ], me = [
264
+ ], ke = [
264
265
  "id",
265
266
  "appearance",
266
267
  "binding"
267
- ], fe = {
268
- $schema: le,
269
- $id: re,
270
- title: se,
271
- description: ce,
272
- type: de,
273
- properties: ue,
274
- required: pe,
275
- ignore: me
268
+ ], Fe = {
269
+ $schema: me,
270
+ $id: ge,
271
+ title: be,
272
+ description: he,
273
+ type: ve,
274
+ properties: Ce,
275
+ required: Se,
276
+ ignore: ke
276
277
  };
277
- function ye(e, t, n) {
278
+ function Be(e, t, n) {
278
279
  return t;
279
280
  }
280
- var ge = /* @__PURE__ */ ((e) => (e.Text = "text", e.Tag = "tag", e))(ge || {}), he = /* @__PURE__ */ ((e) => (e.top = "top", e.bottom = "bottom", e.auto = "auto", e))(he || {});
281
- const D = {
281
+ var xe = /* @__PURE__ */ ((e) => (e.Text = "text", e.Tag = "tag", e))(xe || {}), we = /* @__PURE__ */ ((e) => (e.top = "top", e.bottom = "bottom", e.auto = "auto", e))(we || {});
282
+ const V = {
282
283
  /**
283
284
  * 组件标识
284
285
  */
@@ -444,7 +445,7 @@ const D = {
444
445
  },
445
446
  // 搜索启用高亮
446
447
  enableHighlightSearch: { type: Boolean, default: !0 }
447
- }, L = ie(D, fe, ae, ye), be = {
448
+ }, H = q(V, Fe, ye, Be), Ie = {
448
449
  dataSource: { type: Array, default: [] },
449
450
  enableSearch: { type: Boolean, default: !1 },
450
451
  idField: { type: String, default: "id" },
@@ -464,15 +465,13 @@ const D = {
464
465
  default: !1
465
466
  },
466
467
  // 搜索启用高亮
467
- enableHighlightSearch: { type: Boolean, default: !0 },
468
- // 是否展示复选框
469
- showCheckbox: { type: Boolean, default: !1 }
470
- }, ve = /* @__PURE__ */ P({
468
+ enableHighlightSearch: { type: Boolean, default: !0 }
469
+ }, Me = /* @__PURE__ */ O({
471
470
  name: "FComboListContainer",
472
- props: be,
471
+ props: Ie,
473
472
  emits: ["selectionChange"],
474
473
  setup(e, t) {
475
- const n = v(), i = v(e.dataSource), l = v([]), m = v(e.separator), u = v(e.width), c = v(e.maxHeight), f = v(String(e.selectedValues).split(m.value)), r = k(() => e.multiSelect), d = k(() => ({
474
+ const n = g(), o = g(e.dataSource), i = g([]), l = g(e.separator), u = g(e.width), d = g(e.maxHeight), c = g(String(e.selectedValues).split(l.value)), r = F(() => e.multiSelect), p = F(() => ({
476
475
  enableSelectRow: !0,
477
476
  multiSelect: e.multiSelect,
478
477
  multiSelectMode: "OnCheckAndClick",
@@ -481,211 +480,830 @@ const D = {
481
480
  showSelection: !0
482
481
  }));
483
482
  M(e.dataSource, () => {
484
- i.value = e.dataSource;
483
+ o.value = e.dataSource;
485
484
  });
486
- const a = k(() => e.enableSearch ? "SearchBar" : "ContentHeader"), o = k(() => {
487
- const h = {};
488
- return u.value !== void 0 && (h.width = `${u.value}px`), c.value !== void 0 && c.value > 0 && (h.maxHeight = `${c.value}px`), h;
485
+ const a = F(() => e.enableSearch ? "SearchBar" : "ContentHeader"), s = F(() => {
486
+ const b = {};
487
+ return u.value !== void 0 && (b.width = `${u.value}px`), d.value !== void 0 && d.value > 0 && (b.maxHeight = `${d.value}px`), b;
489
488
  });
490
- function p(h) {
491
- l.value = h.map((b) => Object.assign({}, b)), f.value = h.map((b) => b[e.idField]), t.emit("selectionChange", l.value);
489
+ function y(b) {
490
+ i.value = b.map((v) => Object.assign({}, v)), c.value = b.map((v) => v[e.idField]), t.emit("selectionChange", i.value);
492
491
  }
493
- function y(h) {
492
+ function m(b) {
494
493
  if (e.enableHighlightSearch)
495
494
  return;
496
- let b = [];
497
- typeof e.searchOption == "function" ? b = i.value.filter((g) => e.searchOption(h, g)) : b = i.value.filter((g) => g[e.valueField].indexOf(h) > -1 || g[e.textField].indexOf(h) > -1), n.value.updateDataSource(b);
495
+ let v = [];
496
+ typeof e.searchOption == "function" ? v = o.value.filter((h) => e.searchOption(b, h)) : v = o.value.filter((h) => h[e.valueField].indexOf(b) > -1 || h[e.textField].indexOf(b) > -1), n.value.updateDataSource(v);
498
497
  }
499
- return M([() => e.selectedValues], ([h]) => {
500
- f.value = h.split(m.value);
501
- }), () => B("div", {
498
+ return M([() => e.selectedValues], ([b]) => {
499
+ c.value = b.split(l.value);
500
+ }), () => k("div", {
502
501
  class: "f-combo-list-container pl-1",
503
- style: o.value
504
- }, [B(W, {
502
+ style: s.value
503
+ }, [k(te, {
505
504
  ref: n,
506
505
  size: "small",
507
506
  itemClass: "f-combo-list-item",
508
507
  header: a.value,
509
508
  headerClass: "f-combo-list-search-box",
510
- data: i.value,
509
+ data: o.value,
511
510
  idField: e.idField,
512
511
  textField: e.textField,
513
512
  titleField: e.titleField,
514
513
  multiSelect: e.multiSelect,
515
- selection: d.value,
514
+ selection: p.value,
516
515
  enableHighlightSearch: e.enableHighlightSearch,
517
- selectionValues: f.value,
518
- onSelectionChange: p,
519
- onAfterSearch: y
516
+ selectionValues: c.value,
517
+ onSelectionChange: y,
518
+ onAfterSearch: m
520
519
  }, null)]);
521
520
  }
522
521
  });
523
- function Ce(e) {
524
- const t = v(""), n = v(e.modelValue), i = v(e.data || []), l = v(e.editable);
525
- function m(a) {
526
- const o = String(a).split(e.separator), p = o.map((b) => [b, !0]), y = new Map(p);
527
- return i.value.filter((b) => y.has(String(b[e.valueField]))).sort((b, g) => {
528
- const T = o.indexOf(b[e.valueField]), F = o.indexOf(g[e.valueField]);
529
- return T - F;
522
+ function Oe(e) {
523
+ const t = g(""), n = g(e.modelValue), o = g(e.data || []), i = g(e.editable);
524
+ function l(a) {
525
+ const s = String(a).split(e.separator), y = s.map((v) => [v, !0]), m = new Map(y);
526
+ return o.value.filter((v) => m.has(String(v[e.valueField]))).sort((v, h) => {
527
+ const B = s.indexOf(v[e.valueField]), x = s.indexOf(h[e.valueField]);
528
+ return B - x;
530
529
  });
531
530
  }
532
531
  function u(a) {
533
- const o = m(a).map((p) => p[e.textField]).join(e.separator);
534
- t.value = l.value ? o || a : o;
532
+ const s = l(a).map((y) => y[e.textField]).join(e.separator);
533
+ t.value = i.value ? s || a : s;
535
534
  }
536
- function c(a) {
537
- const o = a.split(e.separator).map((y) => [y, !0]), p = new Map(o);
538
- return i.value.filter((y) => p.has(y[e.textField]));
535
+ function d(a) {
536
+ const s = a.split(e.separator).map((m) => [m, !0]), y = new Map(s);
537
+ return o.value.filter((m) => y.has(m[e.textField]));
539
538
  }
540
- function f(a) {
541
- const o = {};
542
- return o[e.idField] = a, o[e.textField] = a, [o];
539
+ function c(a) {
540
+ const s = {};
541
+ return s[e.idField] = a, s[e.textField] = a, [s];
543
542
  }
544
543
  function r(a) {
545
- let o = c(a);
546
- const p = o && o.length > 0;
547
- return l.value && !p && (o = f(a)), o;
544
+ let s = d(a);
545
+ const y = s && s.length > 0;
546
+ return i.value && !y && (s = c(a)), s;
548
547
  }
549
- function d() {
550
- const { url: a, method: o = "GET", headers: p = {}, body: y = null } = e.remote, h = o.toLowerCase() == "get" ? { method: o, headers: p } : { method: o, headers: p, body: y };
551
- let b = !1;
552
- fetch(a, h).then((g) => {
553
- var F, V;
554
- if (g.status === 200)
555
- return b = !!((V = (F = g.headers) == null ? void 0 : F.get("content-type")) != null && V.includes("application/json")), b ? g.text() : g.json();
556
- throw new Error(g.statusText);
557
- }).then((g) => {
558
- i.value = b ? JSON.parse(g) : g;
559
- }).catch((g) => {
560
- console.error(g);
548
+ function p() {
549
+ const { url: a, method: s = "GET", headers: y = {}, body: m = null } = e.remote, b = s.toLowerCase() == "get" ? { method: s, headers: y } : { method: s, headers: y, body: m };
550
+ let v = !1;
551
+ fetch(a, b).then((h) => {
552
+ var x, T;
553
+ if (h.status === 200)
554
+ return v = !!((T = (x = h.headers) == null ? void 0 : x.get("content-type")) != null && T.includes("application/json")), v ? h.text() : h.json();
555
+ throw new Error(h.statusText);
556
+ }).then((h) => {
557
+ o.value = v ? JSON.parse(h) : h;
558
+ }).catch((h) => {
559
+ console.error(h);
561
560
  });
562
561
  }
563
- return e.remote && d(), M(() => e.data, () => {
564
- i.value = e.data;
565
- }), M([i], ([a]) => {
566
- if (e.modelValue) {
567
- const o = a.find((p) => p[e.valueField] === e.modelValue);
568
- o && (t.value = o[e.textField]);
562
+ return e.remote && p(), M(() => e.data, () => {
563
+ o.value = e.data;
564
+ }), M([o], ([a]) => {
565
+ if (e.modelValue != null) {
566
+ const s = a.find((y) => y[e.valueField] === e.modelValue);
567
+ s && (t.value = s[e.textField]);
569
568
  }
570
569
  }), M(() => e.modelValue, (a) => {
571
570
  n.value = a, u(a);
572
- }), u(e.modelValue), { dataSource: i, displayText: t, editable: l, modelValue: n, getItemsByDisplayText: c, getItemsByValue: m, getSelectedItemsByDisplayText: r };
571
+ }), u(e.modelValue), { dataSource: o, displayText: t, editable: i, modelValue: n, getItemsByDisplayText: d, getItemsByValue: l, getSelectedItemsByDisplayText: r };
573
572
  }
574
- const I = /* @__PURE__ */ P({
573
+ const P = /* @__PURE__ */ O({
575
574
  name: "FComboList",
576
- props: D,
575
+ props: V,
577
576
  emits: ["clear", "update:modelValue", "change", "input"],
578
577
  setup(e, t) {
579
- const n = v(), i = v(e.disabled), l = v(e.enableClear), m = v(e.enableSearch), u = v(e.readonly), {
580
- dataSource: c,
581
- displayText: f,
578
+ const n = g(), o = g(e.disabled), i = g(e.enableClear), l = g(e.enableSearch), u = g(e.readonly), {
579
+ dataSource: d,
580
+ displayText: c,
582
581
  editable: r,
583
- modelValue: d,
582
+ modelValue: p,
584
583
  getSelectedItemsByDisplayText: a
585
- } = Ce(e), o = k(() => e.multiSelect), p = k(() => n.value ? n.value.elementRef.getBoundingClientRect().width : 0);
586
- function y() {
587
- !o.value && n.value && n.value.hidePopup();
584
+ } = Oe(e), s = F(() => e.multiSelect), y = F(() => n.value ? n.value.elementRef.getBoundingClientRect().width : 0);
585
+ function m() {
586
+ !s.value && n.value && n.value.hidePopup();
588
587
  }
589
- function h(C) {
590
- f.value = C.map((x) => x[e.textField]).join(e.separator), C.length === 1 ? d.value = C[0][e.valueField] : d.value = C.map((x) => x[e.valueField]).join(e.separator), t.emit("update:modelValue", d.value), t.emit("change", C, d.value), y();
588
+ function b(C) {
589
+ c.value = C.map((w) => w[e.textField]).join(e.separator), C.length === 1 ? p.value = C[0][e.valueField] : p.value = C.map((w) => w[e.valueField]).join(e.separator), t.emit("update:modelValue", p.value), t.emit("change", C, p.value), m();
591
590
  }
592
- function b() {
591
+ function v() {
593
592
  u.value || n.value.togglePopup();
594
593
  }
595
- function g(C) {
596
- d.value = "", t.emit("update:modelValue", ""), t.emit("clear");
594
+ function h(C) {
595
+ p.value = "", t.emit("update:modelValue", ""), t.emit("clear");
597
596
  }
598
- function T(C) {
599
- const x = a(C);
600
- h(x);
597
+ function B(C) {
598
+ const w = a(C);
599
+ b(w);
601
600
  }
602
- function F() {
603
- return f.value;
601
+ function x() {
602
+ return c.value;
604
603
  }
605
- function V(C) {
604
+ function T(C) {
606
605
  t.emit("input", C);
607
606
  }
608
607
  return t.expose({
609
- getDisplayText: F
610
- }), M([() => e.disabled, () => e.editable, () => e.enableClear, () => e.enableSearch, () => e.readonly], ([C, x, R, N, U]) => {
611
- i.value = C, r.value = x, l.value = R, m.value = N, u.value = U;
612
- }), () => B(z, {
608
+ getDisplayText: x
609
+ }), M([() => e.disabled, () => e.editable, () => e.enableClear, () => e.enableSearch, () => e.readonly], ([C, w, z, J, X]) => {
610
+ o.value = C, r.value = w, i.value = z, l.value = J, u.value = X;
611
+ }), () => k(ne, {
613
612
  ref: n,
614
613
  id: e.id,
615
- disable: i.value,
614
+ disable: o.value,
616
615
  readonly: u.value,
617
616
  forcePlaceholder: e.forcePlaceholder,
618
617
  editable: r.value,
619
618
  buttonContent: e.dropDownIcon,
620
619
  placeholder: e.placeholder,
621
- enableClear: l.value,
620
+ enableClear: i.value,
622
621
  maxLength: e.maxLength,
623
622
  tabIndex: e.tabIndex,
624
623
  enableTitle: e.enableTitle,
625
624
  multiSelect: e.multiSelect,
626
625
  inputType: e.multiSelect ? e.viewType : "text",
627
- modelValue: f.value,
628
- "onUpdate:modelValue": (C) => f.value = C,
626
+ modelValue: c.value,
627
+ "onUpdate:modelValue": (C) => c.value = C,
629
628
  focusOnCreated: e.focusOnCreated,
630
629
  selectOnCreated: e.selectOnCreated,
631
- onClear: g,
632
- onClick: b,
633
- onChange: T,
634
- onInput: V,
630
+ onClear: h,
631
+ onClick: v,
632
+ onChange: B,
633
+ onInput: T,
635
634
  beforeOpen: e.beforeOpen
636
635
  }, {
637
- default: () => [B(ve, {
636
+ default: () => [k(Me, {
638
637
  idField: e.idField,
639
638
  valueField: e.valueField,
640
639
  textField: e.textField,
641
640
  titleField: e.titleField,
642
- dataSource: c.value,
643
- selectedValues: d.value,
641
+ dataSource: d.value,
642
+ selectedValues: p.value,
644
643
  multiSelect: e.multiSelect,
645
- enableSearch: m.value,
644
+ enableSearch: l.value,
646
645
  maxHeight: e.maxHeight,
647
646
  enableHighlightSearch: e.enableHighlightSearch,
648
- width: e.fitEditor ? p.value : void 0,
649
- onSelectionChange: h
647
+ width: e.fitEditor ? y.value : void 0,
648
+ onSelectionChange: b
650
649
  }, null)]
651
650
  });
652
651
  }
652
+ }), Te = /* @__PURE__ */ new Map([
653
+ ["appearance", oe]
654
+ ]);
655
+ function Ee(e, t, n) {
656
+ return t;
657
+ }
658
+ const Pe = "https://json-schema.org/draft/2020-12/schema", Le = "https://farris-design.gitee.io/button-edit.schema.json", Ve = "button-edit", Ae = "A Farris Input Component", je = "object", Re = {
659
+ id: {
660
+ description: "The unique identifier for a Input Group",
661
+ type: "string"
662
+ },
663
+ type: {
664
+ description: "The type string of Input Group component",
665
+ type: "string",
666
+ default: "button-edit"
667
+ },
668
+ appearance: {
669
+ description: "",
670
+ type: "object",
671
+ properties: {
672
+ class: {
673
+ type: "string"
674
+ },
675
+ style: {
676
+ type: "string"
677
+ }
678
+ },
679
+ default: {}
680
+ },
681
+ binding: {
682
+ description: "",
683
+ type: "object",
684
+ default: {}
685
+ },
686
+ disable: {
687
+ type: "string",
688
+ default: !1
689
+ },
690
+ editable: {
691
+ description: "",
692
+ type: "boolean",
693
+ default: !0
694
+ },
695
+ enableLinkLabel: {
696
+ description: "",
697
+ type: "boolean",
698
+ default: !1
699
+ },
700
+ label: {
701
+ description: "",
702
+ type: "string",
703
+ default: ""
704
+ },
705
+ lableWidth: {
706
+ description: "",
707
+ type: "number"
708
+ },
709
+ placeholder: {
710
+ description: "",
711
+ type: "string",
712
+ default: ""
713
+ },
714
+ readonly: {
715
+ description: "",
716
+ type: "boolean",
717
+ default: !1
718
+ },
719
+ require: {
720
+ description: "",
721
+ type: "boolean",
722
+ default: !1
723
+ },
724
+ tabindex: {
725
+ description: "",
726
+ type: "number",
727
+ default: -1
728
+ },
729
+ textAlign: {
730
+ description: "",
731
+ type: "string",
732
+ enum: [
733
+ "left",
734
+ "middle",
735
+ "right"
736
+ ],
737
+ default: "left"
738
+ },
739
+ visible: {
740
+ description: "",
741
+ type: "boolean",
742
+ default: !0
743
+ },
744
+ onBlur: {
745
+ description: "",
746
+ type: "string",
747
+ default: ""
748
+ },
749
+ onClickLinkLabel: {
750
+ description: "",
751
+ type: "sting",
752
+ default: ""
753
+ },
754
+ autoComplete: {
755
+ description: "",
756
+ type: "boolean",
757
+ default: !1
758
+ },
759
+ buttonContent: {
760
+ description: "",
761
+ type: "string",
762
+ default: ""
763
+ },
764
+ enableClear: {
765
+ description: "",
766
+ type: "boolean",
767
+ default: !0
768
+ },
769
+ inputType: {
770
+ description: "",
771
+ type: "string",
772
+ enum: [
773
+ "text",
774
+ "tag"
775
+ ],
776
+ default: "text"
777
+ },
778
+ multiSelect: {
779
+ description: "",
780
+ type: "boolean",
781
+ default: !1
782
+ },
783
+ popup: {
784
+ description: "",
785
+ type: "object",
786
+ properties: {
787
+ footerButtons: {
788
+ type: "array",
789
+ default: []
790
+ },
791
+ height: {
792
+ type: "number",
793
+ default: 600
794
+ },
795
+ dataMapping: {
796
+ type: "object"
797
+ },
798
+ contents: {
799
+ type: "array",
800
+ default: []
801
+ },
802
+ showMaxButton: {
803
+ type: "boolean",
804
+ default: !0
805
+ },
806
+ showCloseButton: {
807
+ type: "boolean",
808
+ default: !0
809
+ },
810
+ showFooter: {
811
+ type: "boolean",
812
+ default: !0
813
+ },
814
+ title: {
815
+ type: "string",
816
+ default: ""
817
+ },
818
+ width: {
819
+ type: "number",
820
+ default: 800
821
+ }
822
+ }
823
+ },
824
+ separator: {
825
+ type: "string",
826
+ default: ","
827
+ },
828
+ showButtonWhenDisabled: {
829
+ description: "",
830
+ type: "boolean",
831
+ default: !1
832
+ },
833
+ wrapText: {
834
+ type: "boolean",
835
+ default: !1
836
+ },
837
+ onClear: {
838
+ description: "",
839
+ type: "string",
840
+ default: ""
841
+ }
842
+ }, De = [
843
+ "id",
844
+ "type"
845
+ ], $e = {
846
+ $schema: Pe,
847
+ $id: Le,
848
+ title: Ve,
849
+ description: Ae,
850
+ type: je,
851
+ properties: Re,
852
+ required: De
853
+ }, Ue = "buttonEdit", Ne = "A Farris Component", qe = "object", He = {
854
+ basic: {
855
+ description: "Basic Infomation",
856
+ title: "基本信息",
857
+ properties: {
858
+ id: {
859
+ description: "组件标识",
860
+ title: "标识",
861
+ type: "string",
862
+ readonly: !0
863
+ },
864
+ type: {
865
+ description: "组件类型",
866
+ title: "控件类型",
867
+ type: "select",
868
+ editor: {
869
+ type: "waiting for modification",
870
+ enum: []
871
+ }
872
+ }
873
+ }
874
+ },
875
+ behavior: {
876
+ description: "Basic Infomation",
877
+ title: "行为",
878
+ properties: {
879
+ editable: {
880
+ description: "",
881
+ title: "允许编辑",
882
+ type: "boolean"
883
+ },
884
+ readonly: {
885
+ description: "",
886
+ title: "只读",
887
+ type: "string"
888
+ },
889
+ required: {
890
+ description: "",
891
+ title: "必填",
892
+ type: "boolean"
893
+ },
894
+ visible: {
895
+ description: "",
896
+ title: "可见",
897
+ type: "boolean"
898
+ },
899
+ placeholder: {
900
+ description: "",
901
+ title: "提示文本",
902
+ type: "string"
903
+ },
904
+ tabindex: {
905
+ description: "",
906
+ title: "tab索引",
907
+ type: "number"
908
+ },
909
+ textAlign: {
910
+ description: "",
911
+ title: "对齐方式",
912
+ type: "enum",
913
+ editor: {
914
+ type: "combo-list",
915
+ textField: "name",
916
+ valueField: "value",
917
+ data: [
918
+ {
919
+ value: "left",
920
+ name: "左对齐"
921
+ },
922
+ {
923
+ value: "center",
924
+ name: "居中对齐"
925
+ },
926
+ {
927
+ value: "right",
928
+ name: "右对齐"
929
+ }
930
+ ]
931
+ }
932
+ }
933
+ }
934
+ }
935
+ }, Ge = {
936
+ title: Ue,
937
+ description: Ne,
938
+ type: qe,
939
+ categories: He
940
+ }, G = {
941
+ /**
942
+ * 组件标识
943
+ */
944
+ id: String,
945
+ /**
946
+ * 扩展按钮显示内容,这是一段现在扩展按钮中的html标签
947
+ */
948
+ buttonContent: { type: String, default: '<i class="f-icon f-icon-lookup"></i>' },
949
+ buttonBehavior: { type: String, default: "Popup" },
950
+ /**
951
+ * 启用输入框自动完成功能
952
+ */
953
+ autoComplete: { type: Boolean, default: !1 },
954
+ /**
955
+ * 组件自定义样式
956
+ */
957
+ customClass: { type: String, default: "" },
958
+ /**
959
+ * 禁用组件,既不允许在输入框中录入,也不允许点击扩展按钮。
960
+ */
961
+ disable: { type: Boolean, default: !1 },
962
+ /**
963
+ * 允许在输入框中录入文本。
964
+ */
965
+ editable: { type: Boolean, default: !0 },
966
+ /**
967
+ * 显示清空文本按钮
968
+ */
969
+ enableClear: { type: Boolean, default: !1 },
970
+ /**
971
+ * 组件值
972
+ */
973
+ modelValue: { type: String, default: "" },
974
+ /**
975
+ * 将组件设置为只读,既不允许在输入框中录入,也不允许点击扩展按钮,但是允许复制输入框中的内容。
976
+ */
977
+ readonly: { type: Boolean, default: !1 },
978
+ /**
979
+ * 禁用组件时,是否显示扩展按钮
980
+ */
981
+ showButtonWhenDisabled: { type: Boolean, default: !1 },
982
+ /**
983
+ * 显示输入框的标签
984
+ */
985
+ enableTitle: { type: Boolean, default: !1 },
986
+ /**
987
+ * 输入框类型
988
+ */
989
+ inputType: { type: String, default: "text" },
990
+ /**
991
+ * 显示输入框提示信息
992
+ */
993
+ forcePlaceholder: { type: Boolean, default: !1 },
994
+ /**
995
+ * 输入框提示文本
996
+ */
997
+ placeholder: { type: String, default: "" },
998
+ /**
999
+ * 输入框最小长度
1000
+ */
1001
+ minLength: Number,
1002
+ /**
1003
+ * 输入框最大长度
1004
+ */
1005
+ maxLength: Number,
1006
+ /**
1007
+ * 输入框Tab键索引
1008
+ */
1009
+ tabIndex: Number,
1010
+ popupHost: { type: Object },
1011
+ popupRightBoundary: { type: Object },
1012
+ popupOffsetX: { type: Object },
1013
+ popupOnInput: { type: Boolean, default: !1 },
1014
+ popupOnFocus: { type: Boolean, default: !1 },
1015
+ popupMinWidth: { type: Number, default: 160 },
1016
+ modalOptions: { type: Object, default: {} },
1017
+ wrapText: { type: Boolean, default: !1 },
1018
+ /**
1019
+ * 可选,是否支持多选
1020
+ * 默认`false`
1021
+ */
1022
+ multiSelect: { type: Boolean, default: !1 },
1023
+ /**
1024
+ * 可选,分隔符
1025
+ * 默认`,`
1026
+ */
1027
+ separator: { type: String, default: "," },
1028
+ /** 对齐方式 */
1029
+ textAlign: { type: String, default: "left" },
1030
+ /**
1031
+ * 废弃
1032
+ */
1033
+ beforeClickButton: { type: Function, default: null },
1034
+ /**
1035
+ * 作为内嵌编辑器被创建后默认获得焦点
1036
+ */
1037
+ focusOnCreated: { type: Boolean, default: !1 },
1038
+ /**
1039
+ * 作为内嵌编辑器被创建后默认选中文本
1040
+ */
1041
+ selectOnCreated: { type: Boolean, default: !1 },
1042
+ /**
1043
+ * 打开前
1044
+ */
1045
+ beforeOpen: { type: Function, default: null },
1046
+ /** 更新方式 blur | change */
1047
+ updateOn: { type: String, default: "change" }
1048
+ };
1049
+ q(G, $e, Te, Ee, Ge);
1050
+ const We = {
1051
+ popupContentPosition: { type: Object, default: { left: 0, top: 0 } },
1052
+ host: { type: Object },
1053
+ backgroundColor: { type: String, default: "" }
1054
+ }, ze = /* @__PURE__ */ O({
1055
+ name: "FOverlay",
1056
+ props: We,
1057
+ emits: ["click"],
1058
+ setup(e, t) {
1059
+ const n = g(e.popupContentPosition), o = g(e.host), i = F(() => ({
1060
+ backgroundColor: e.backgroundColor || "",
1061
+ pointerEvents: "auto"
1062
+ }));
1063
+ function l(d) {
1064
+ t.emit("click"), d.preventDefault(), d.stopPropagation();
1065
+ }
1066
+ F(() => {
1067
+ const d = o.value;
1068
+ if (d) {
1069
+ const c = d.getBoundingClientRect(), {
1070
+ left: r,
1071
+ top: p,
1072
+ height: a
1073
+ } = c;
1074
+ return {
1075
+ left: r,
1076
+ top: p + a
1077
+ };
1078
+ }
1079
+ return n.value;
1080
+ });
1081
+ const u = F(() => ({
1082
+ // position: 'relative',
1083
+ // left: `${position.value.left}px`,
1084
+ // top: `${position.value.top}px`
1085
+ }));
1086
+ return () => k(Z, {
1087
+ to: "body"
1088
+ }, {
1089
+ default: () => {
1090
+ var d, c;
1091
+ return [k("div", {
1092
+ class: "overlay-container",
1093
+ onClick: (r) => l(r),
1094
+ style: i.value
1095
+ }, [k("div", {
1096
+ style: u.value
1097
+ }, [(c = (d = t.slots).default) == null ? void 0 : c.call(d)])])];
1098
+ }
1099
+ });
1100
+ }
653
1101
  });
654
- function Se(e, t) {
1102
+ function Je(e) {
1103
+ if (e.content && e.content.render)
1104
+ return e.content.render;
1105
+ if (e.render && typeof e.render == "function")
1106
+ return e.render;
1107
+ }
1108
+ function Xe(e) {
1109
+ const t = document.createElement("div");
1110
+ t.style.display = "contents";
1111
+ let n;
1112
+ const o = e.onClickCallback || (() => {
1113
+ }), i = () => {
1114
+ o(), n && n.unmount();
1115
+ };
1116
+ return n = _({
1117
+ setup() {
1118
+ K(() => {
1119
+ document.body.removeChild(t);
1120
+ });
1121
+ const l = Je(e);
1122
+ return () => k(ze, {
1123
+ "popup-content-position": e.popupPosition,
1124
+ host: e.host,
1125
+ onClick: i,
1126
+ backgroundColor: e.backgroundColor
1127
+ }, {
1128
+ default: () => [l && l()]
1129
+ });
1130
+ }
1131
+ }), document.body.appendChild(t), n.mount(t), n;
1132
+ }
1133
+ class Qe {
1134
+ static show(t) {
1135
+ return Xe(t);
1136
+ }
1137
+ }
1138
+ const Ye = Symbol("FModalService");
1139
+ function W(e, t) {
1140
+ function n() {
1141
+ const o = e.beforeOpen || e.beforeClickButton || null;
1142
+ let i = Promise.resolve(!0);
1143
+ if (o) {
1144
+ const l = o(t.value);
1145
+ if (typeof l > "u")
1146
+ return i;
1147
+ typeof l == "boolean" ? i = Promise.resolve(l) : i = l;
1148
+ }
1149
+ return i;
1150
+ }
1151
+ return { judgeCanOpen: n };
1152
+ }
1153
+ function Ze(e, t, n, o, i) {
1154
+ const l = g(e.buttonBehavior), u = g(e.popupOnInput), d = F(() => ({
1155
+ "input-group-append": !0,
1156
+ "append-force-show": e.showButtonWhenDisabled && (e.readonly || e.disable)
1157
+ })), { judgeCanOpen: c } = W(e, i), r = F(() => e.showButtonWhenDisabled || (!e.editable || !e.readonly) && !e.disable), p = E(Ye, null), a = g();
1158
+ async function s(b) {
1159
+ if (await c() && r.value) {
1160
+ const v = !!t.slots.default;
1161
+ if (l.value === "Modal") {
1162
+ const h = e.modalOptions, B = p == null ? void 0 : p.open({
1163
+ ...h,
1164
+ render: () => t.slots.default && t.slots.default()
1165
+ });
1166
+ a.value = B == null ? void 0 : B.modalRef;
1167
+ }
1168
+ l.value === "Overlay" && Qe.show({
1169
+ // host: buttonEditRef.value,
1170
+ host: document.body,
1171
+ backgroundColor: "rgba(0,0,0,.15)",
1172
+ render: () => t.slots.default && t.slots.default()
1173
+ }), v && l.value === "Popup" && o.togglePopup(!0), v && u.value && o.hidePopup(), t.emit("clickButton", { origin: b, value: e.modelValue });
1174
+ }
1175
+ }
1176
+ function y(b) {
1177
+ t.emit("mouseEnterIcon", b);
1178
+ }
1179
+ function m(b) {
1180
+ t.emit("mouseLeaveIcon", b);
1181
+ }
1182
+ return {
1183
+ buttonGroupClass: d,
1184
+ onClickButton: s,
1185
+ onMouseEnterButton: y,
1186
+ onMouseLeaveButton: m,
1187
+ modalRef: a
1188
+ };
1189
+ }
1190
+ function _e(e, t, n, o) {
1191
+ const i = g(), l = g(!1), { judgeCanOpen: u } = W(e, o);
1192
+ function d() {
1193
+ const a = i.value;
1194
+ a && a.show(n.value);
1195
+ }
1196
+ async function c(a = !1) {
1197
+ if (!!t.slots.default) {
1198
+ if (!a && !l.value && !await u())
1199
+ return;
1200
+ l.value = !l.value, await A(), d();
1201
+ }
1202
+ }
1203
+ async function r(a = !1) {
1204
+ if (!!t.slots.default) {
1205
+ if (!a && !await u())
1206
+ return;
1207
+ l.value = !0, await A(), d();
1208
+ }
1209
+ }
1210
+ function p() {
1211
+ l.value = !1;
1212
+ }
1213
+ return { hidePopup: p, popup: r, shouldPopupContent: l, togglePopup: c, popoverRef: i };
1214
+ }
1215
+ function Ke(e, t, n) {
1216
+ const {
1217
+ buttonGroupClass: o
1218
+ } = n, i = g();
1219
+ return {
1220
+ renderButtonGroup: () => k("div", {
1221
+ id: `${e.id}-button-group`,
1222
+ class: o.value
1223
+ }, [t.slots.buttonContent ? k("span", {
1224
+ class: "input-group-text input-group-append-button"
1225
+ }, [t.slots.buttonContent()]) : e.buttonContent ? k("span", {
1226
+ class: "input-group-text input-group-append-button",
1227
+ innerHTML: e.buttonContent,
1228
+ ref: i
1229
+ }, null) : null]),
1230
+ buttonHandleElement: i
1231
+ };
1232
+ }
1233
+ const et = /* @__PURE__ */ O({
1234
+ name: "FButtonEdit",
1235
+ props: G,
1236
+ emits: ["updateExtendInfo", "clear", "change", "click", "clickButton", "blur", "focus", "mouseEnterIcon", "mouseLeaveIcon", "keyup", "keydown", "inputClick", "input", "update:modelValue"],
1237
+ setup(e, t) {
1238
+ const n = g(), o = E("design-item-context"), i = U(n, o), l = g(e.customClass), u = g(e.modelValue), d = _e(e, t, n, u), c = Ze(e, t, n, d, u), r = g(), p = F(() => ({
1239
+ "f-cmp-inputgroup": !0,
1240
+ "input-group": !0,
1241
+ "f-state-disable": !0,
1242
+ "f-state-editable": !1,
1243
+ "f-state-readonly": !0
1244
+ }));
1245
+ D(() => {
1246
+ n.value.componentInstance = i;
1247
+ }), t.expose(i.value);
1248
+ const a = F(() => {
1249
+ const y = {
1250
+ "f-button-edit": !0,
1251
+ "f-cmp-inputgroup": !0,
1252
+ "f-button-edit-nowrap": !e.wrapText
1253
+ };
1254
+ return l.value && l.value.split(" ").reduce((m, b) => (m[b] = !0, m), y), y;
1255
+ }), {
1256
+ renderButtonGroup: s
1257
+ } = Ke(e, t, c);
1258
+ return () => k("div", ee(t.attrs, {
1259
+ ref: n,
1260
+ class: a.value,
1261
+ id: e.id
1262
+ }), [k("div", {
1263
+ class: p.value
1264
+ }, [k("input", {
1265
+ ref: r,
1266
+ class: "form-control",
1267
+ readonly: !0,
1268
+ placeholder: e.placeholder
1269
+ }, null), s()])]);
1270
+ }
1271
+ });
1272
+ function tt(e, t) {
655
1273
  e.schema;
656
- const n = v(!0), i = v(!0);
657
- function l(a) {
1274
+ const n = g(!0), o = g(!0);
1275
+ function i(a) {
658
1276
  return !1;
659
1277
  }
660
- function m() {
1278
+ function l() {
661
1279
  return !1;
662
1280
  }
663
1281
  function u() {
664
1282
  return !1;
665
1283
  }
666
- function c() {
1284
+ function d() {
667
1285
  return !0;
668
1286
  }
669
- function f(a) {
1287
+ function c(a) {
670
1288
  }
671
1289
  function r() {
672
1290
  }
673
- function d(a) {
1291
+ function p(a) {
674
1292
  return null;
675
1293
  }
676
1294
  return {
677
- canAccepts: l,
678
- checkCanDeleteComponent: m,
1295
+ canAccepts: i,
1296
+ checkCanDeleteComponent: l,
679
1297
  checkCanMoveComponent: u,
680
- hideNestedPaddingInDesginerView: c,
681
- onAcceptMovedChildElement: f,
1298
+ hideNestedPaddingInDesginerView: d,
1299
+ onAcceptMovedChildElement: c,
682
1300
  resolveComponentContext: r,
683
1301
  triggerBelongedComponentToMoveWhenMoved: n,
684
- triggerBelongedComponentToDeleteWhenDeleted: i,
685
- getPropsConfig: d
1302
+ triggerBelongedComponentToDeleteWhenDeleted: o,
1303
+ getPropsConfig: p
686
1304
  };
687
1305
  }
688
- class Fe {
1306
+ class nt {
689
1307
  constructor(t, n) {
690
1308
  S(this, "componentId");
691
1309
  S(this, "viewModelId");
@@ -702,8 +1320,8 @@ class Fe {
702
1320
  type: "object",
703
1321
  categories: {}
704
1322
  });
705
- var i;
706
- this.componentId = t, this.designerHostService = n, this.eventsEditorUtils = n.eventsEditorUtils, this.formSchemaUtils = n.formSchemaUtils, this.formMetadataConverter = n.formMetadataConverter, this.viewModelId = ((i = this.formSchemaUtils) == null ? void 0 : i.getViewModelIdByComponentId(t)) || "", this.designViewModelUtils = n.designViewModelUtils, this.controlCreatorUtils = n.controlCreatorUtils, this.metadataService = n.metadataService, this.schemaService = n.schemaService;
1323
+ var o;
1324
+ this.componentId = t, this.designerHostService = n, this.eventsEditorUtils = n.eventsEditorUtils, this.formSchemaUtils = n.formSchemaUtils, this.formMetadataConverter = n.formMetadataConverter, this.viewModelId = ((o = this.formSchemaUtils) == null ? void 0 : o.getViewModelIdByComponentId(t)) || "", this.designViewModelUtils = n.designViewModelUtils, this.controlCreatorUtils = n.controlCreatorUtils, this.metadataService = n.metadataService, this.schemaService = n.schemaService;
707
1325
  }
708
1326
  getTableInfo() {
709
1327
  var t;
@@ -713,8 +1331,8 @@ class Fe {
713
1331
  const n = t.binding && t.binding.type === "Form" && t.binding.field;
714
1332
  if (n) {
715
1333
  if (!this.designViewModelField) {
716
- const i = this.designViewModelUtils.getDgViewModel(this.viewModelId);
717
- this.designViewModelField = i.fields.find((l) => l.id === n);
1334
+ const o = this.designViewModelUtils.getDgViewModel(this.viewModelId);
1335
+ this.designViewModelField = o.fields.find((i) => i.id === n);
718
1336
  }
719
1337
  t.updateOn = this.designViewModelField.updateOn;
720
1338
  }
@@ -740,7 +1358,7 @@ class Fe {
740
1358
  type: "combo-list",
741
1359
  textField: "name",
742
1360
  valueField: "value",
743
- data: [{ value: t.type, name: s[t.type].name }]
1361
+ data: [{ value: t.type, name: f[t.type].name }]
744
1362
  }
745
1363
  }
746
1364
  }
@@ -766,13 +1384,26 @@ class Fe {
766
1384
  }
767
1385
  };
768
1386
  }
1387
+ /**
1388
+ *
1389
+ * @param propertyId
1390
+ * @param componentInstance
1391
+ * @returns
1392
+ */
1393
+ updateElementByParentContainer(t, n) {
1394
+ const o = n && n.parent && n.parent.schema;
1395
+ if (!o)
1396
+ return;
1397
+ const i = o.contents.findIndex((u) => u.id === t), l = $(o.contents[i]);
1398
+ o.contents.splice(i, 1), o.contents.splice(i, 0, l);
1399
+ }
769
1400
  }
770
- const w = class w {
1401
+ const I = class I {
771
1402
  /**
772
1403
  * 根据绑定字段类型获取可用的输入类控件
773
1404
  */
774
1405
  static getEditorTypesByMDataType(t) {
775
- const n = w.fieldControlTypeMapping[t];
1406
+ const n = I.fieldControlTypeMapping[t];
776
1407
  return n || [{ key: "", value: "" }];
777
1408
  }
778
1409
  /**
@@ -780,9 +1411,9 @@ const w = class w {
780
1411
  */
781
1412
  static getAllInputTypes() {
782
1413
  const t = [];
783
- for (let n in w.fieldControlTypeMapping)
784
- w.fieldControlTypeMapping[n].forEach((i) => {
785
- t.find((l) => l.key === i.key && l.value === i.value) || t.push({ key: i.key, value: i.value });
1414
+ for (let n in I.fieldControlTypeMapping)
1415
+ I.fieldControlTypeMapping[n].forEach((o) => {
1416
+ t.find((i) => i.key === o.key && i.value === o.value) || t.push({ key: o.key, value: o.value });
786
1417
  });
787
1418
  return t;
788
1419
  }
@@ -790,66 +1421,68 @@ const w = class w {
790
1421
  /**
791
1422
  * <字段类型,可配置的控件类型列表>的映射
792
1423
  */
793
- S(w, "fieldControlTypeMapping", {
1424
+ S(I, "fieldControlTypeMapping", {
794
1425
  String: [
795
- { key: s["input-group"].type, value: s["input-group"].name },
796
- { key: s.lookup.type, value: s.lookup.name },
797
- { key: s["date-picker"].type, value: s["date-picker"].name },
798
- { key: s["check-box"].type, value: s["check-box"].name },
799
- { key: s["radio-group"].type, value: s["radio-group"].name },
800
- { key: s["combo-list"].type, value: s["combo-list"].name },
801
- { key: s.textarea.type, value: s.textarea.name }
1426
+ { key: f["input-group"].type, value: f["input-group"].name },
1427
+ { key: f.lookup.type, value: f.lookup.name },
1428
+ { key: f["date-picker"].type, value: f["date-picker"].name },
1429
+ { key: f["check-box"].type, value: f["check-box"].name },
1430
+ { key: f["radio-group"].type, value: f["radio-group"].name },
1431
+ { key: f["combo-list"].type, value: f["combo-list"].name },
1432
+ { key: f.textarea.type, value: f.textarea.name }
802
1433
  ],
803
1434
  Text: [
804
- { key: s.textarea.type, value: s.textarea.name },
805
- { key: s.lookup.type, value: s.lookup.name }
1435
+ { key: f.textarea.type, value: f.textarea.name },
1436
+ { key: f.lookup.type, value: f.lookup.name }
806
1437
  ],
807
1438
  Decimal: [
808
- { key: s["number-spinner"].type, value: s["number-spinner"].name }
1439
+ { key: f["number-spinner"].type, value: f["number-spinner"].name }
809
1440
  ],
810
1441
  Integer: [
811
- { key: s["number-spinner"].type, value: s["number-spinner"].name }
1442
+ { key: f["number-spinner"].type, value: f["number-spinner"].name }
812
1443
  ],
813
1444
  Number: [
814
- { key: s["number-spinner"].type, value: s["number-spinner"].name }
1445
+ { key: f["number-spinner"].type, value: f["number-spinner"].name }
815
1446
  ],
816
1447
  BigNumber: [
817
- { key: s["number-spinner"].type, value: s["number-spinner"].name }
1448
+ { key: f["number-spinner"].type, value: f["number-spinner"].name }
818
1449
  ],
819
1450
  Date: [
820
- { key: s["date-picker"].type, value: s["date-picker"].name }
1451
+ { key: f["date-picker"].type, value: f["date-picker"].name }
821
1452
  ],
822
1453
  DateTime: [
823
- { key: s["date-picker"].type, value: s["date-picker"].name }
1454
+ { key: f["date-picker"].type, value: f["date-picker"].name }
824
1455
  ],
825
1456
  Boolean: [
826
- { key: s.switch.type, value: s.switch.name },
827
- { key: s["check-box"].type, value: s["check-box"].name }
1457
+ { key: f.switch.type, value: f.switch.name },
1458
+ { key: f["check-box"].type, value: f["check-box"].name }
828
1459
  ],
829
1460
  Enum: [
830
- { key: s["combo-list"].type, value: s["combo-list"].name },
831
- { key: s["radio-group"].type, value: s["radio-group"].name }
1461
+ { key: f["combo-list"].type, value: f["combo-list"].name },
1462
+ { key: f["radio-group"].type, value: f["radio-group"].name }
832
1463
  ],
833
1464
  Object: [
834
- { key: s.lookup.type, value: s.lookup.name },
835
- { key: s["combo-list"].type, value: s["combo-list"].name },
836
- { key: s["radio-group"].type, value: s["radio-group"].name }
1465
+ { key: f.lookup.type, value: f.lookup.name },
1466
+ { key: f["combo-list"].type, value: f["combo-list"].name },
1467
+ { key: f["radio-group"].type, value: f["radio-group"].name }
837
1468
  ]
838
1469
  });
839
- let O = w;
840
- const xe = v(0);
841
- class ke extends Fe {
842
- constructor(t, n) {
843
- super(t, n);
1470
+ let L = I;
1471
+ const ot = g(0);
1472
+ class it extends nt {
1473
+ constructor(n, o) {
1474
+ super(n, o);
1475
+ S(this, "responseLayoutEditorFunction");
1476
+ this.responseLayoutEditorFunction = ie(this.formSchemaUtils);
844
1477
  }
845
- getPropertyConfig(t, n) {
846
- return this.propertyConfig.categories.basic = this.getBasicProperties(t, n), this.propertyConfig.categories.appearance = this.getAppearanceProperties(t), this.propertyConfig.categories.editor = this.getEditorProperties(t), this.propertyConfig;
1478
+ getPropertyConfig(n, o) {
1479
+ return this.propertyConfig.categories.basic = this.getBasicProperties(n, o), this.propertyConfig.categories.appearance = this.getAppearanceProperties(n, o), this.propertyConfig.categories.editor = this.getEditorProperties(n), this.propertyConfig;
847
1480
  }
848
- getBasicProperties(t, n) {
849
- var u;
1481
+ getBasicProperties(n, o) {
1482
+ var d;
850
1483
  var i = this;
851
- this.setDesignViewModelField(t);
852
- const l = this.formSchemaUtils.getFormMetadataBasicInfo(), m = this.designViewModelUtils.getAllFields2TreeByVMId(this.viewModelId);
1484
+ this.setDesignViewModelField(n);
1485
+ const l = this.formSchemaUtils.getFormMetadataBasicInfo(), u = this.designViewModelUtils.getAllFields2TreeByVMId(this.viewModelId);
853
1486
  return {
854
1487
  description: "Basic Information",
855
1488
  title: "基本信息",
@@ -871,7 +1504,7 @@ class ke extends Fe {
871
1504
  textField: "value",
872
1505
  valueField: "key",
873
1506
  editable: !1,
874
- data: i.designViewModelField ? O.getEditorTypesByMDataType((u = i.designViewModelField.type) == null ? void 0 : u.name) : O.getAllInputTypes()
1507
+ data: i.designViewModelField ? L.getEditorTypesByMDataType((d = i.designViewModelField.type) == null ? void 0 : d.name) : L.getAllInputTypes()
875
1508
  }
876
1509
  },
877
1510
  label: {
@@ -887,7 +1520,7 @@ class ke extends Fe {
887
1520
  type: "field-selector",
888
1521
  bindingType: { enable: !1 },
889
1522
  editorParams: {
890
- propertyData: t,
1523
+ propertyData: n,
891
1524
  formBasicInfo: l
892
1525
  },
893
1526
  columns: [
@@ -896,15 +1529,15 @@ class ke extends Fe {
896
1529
  { field: "fieldType", title: "字段类型" }
897
1530
  ],
898
1531
  textField: "bindingField",
899
- data: m
1532
+ data: u
900
1533
  }
901
1534
  }
902
1535
  },
903
- setPropertyRelates(c, f) {
1536
+ setPropertyRelates(c, r) {
904
1537
  if (c)
905
1538
  switch (c && c.propertyID) {
906
1539
  case "type": {
907
- i.changeControlType(t, c, n);
1540
+ i.changeControlType(n, c, o);
908
1541
  break;
909
1542
  }
910
1543
  case "label": {
@@ -915,7 +1548,8 @@ class ke extends Fe {
915
1548
  }
916
1549
  };
917
1550
  }
918
- getAppearanceProperties(t) {
1551
+ getAppearanceProperties(n, o) {
1552
+ var i = this;
919
1553
  return {
920
1554
  title: "样式",
921
1555
  description: "Appearance",
@@ -936,30 +1570,43 @@ class ke extends Fe {
936
1570
  description: "响应式列宽",
937
1571
  title: "响应式列宽",
938
1572
  type: "boolean",
939
- visible: !1,
1573
+ visible: !0,
1574
+ // 这个属性,标记当属性变更得时候触发重新更新属性
1575
+ refreshPanelAfterChanged: !0,
940
1576
  editor: {
941
- type: "response-layout-editor-setting"
942
- },
943
- $converter: "/converter/response-form-layout.converter"
1577
+ type: "response-layout-editor-setting",
1578
+ initialState: i.responseLayoutEditorFunction.checkCanOpenLayoutEditor(n, i.componentId)
1579
+ }
944
1580
  }
1581
+ },
1582
+ setPropertyRelates(l, u) {
1583
+ if (l)
1584
+ switch (l && l.propertyID) {
1585
+ case "responseLayout":
1586
+ i.responseLayoutEditorFunction.changeFormControlsByResponseLayoutConfig(l.propertyValue, i.componentId || n.id), i.updateUnifiedLayoutAfterResponseLayoutChanged(i.componentId), i.updateElementByParentContainer(n.id, o), delete n.responseLayout;
1587
+ break;
1588
+ case "class":
1589
+ i.updateUnifiedLayoutAfterControlChanged(l.propertyValue, n.id, this.componentId), i.updateElementByParentContainer(n.id, o);
1590
+ break;
1591
+ }
945
1592
  }
946
1593
  };
947
1594
  }
948
- getEditorProperties(t) {
949
- return this.getComponentConfig(t);
1595
+ getEditorProperties(n) {
1596
+ return this.getComponentConfig(n);
950
1597
  }
951
1598
  /**
952
1599
  * 卡片控件:切换控件类型后事件
953
1600
  * @param propertyData 控件DOM属性
954
1601
  * @param newControlType 新控件类型
955
1602
  */
956
- changeControlType(t, n, i) {
957
- var r, d, a, o;
958
- const l = n.propertyValue, m = i && i.parent && i.parent.schema;
959
- if (!m)
1603
+ changeControlType(n, o, i) {
1604
+ var p, a, s, y;
1605
+ const l = o.propertyValue, u = i && i.parent && i.parent.schema;
1606
+ if (!u)
960
1607
  return;
961
- const u = m.contents.findIndex((p) => p.id === t.id), c = m.contents[u];
962
- let f;
1608
+ const d = u.contents.findIndex((m) => m.id === n.id), c = u.contents[d];
1609
+ let r;
963
1610
  this.designViewModelField && (this.designViewModelUtils.getDgViewModel(this.viewModelId).changeField(this.designViewModelField.id, {
964
1611
  editor: {
965
1612
  $type: l
@@ -967,30 +1614,30 @@ class ke extends Fe {
967
1614
  name: this.designViewModelField.name,
968
1615
  require: this.designViewModelField.require,
969
1616
  readonly: this.designViewModelField.readonly
970
- }, !1), f = this.controlCreatorUtils.setFormFieldProperty(this.designViewModelField, l)), f || (f = A("form-group") || {}, f.editor = A(l) || {}, delete f.editor.id, delete f.editor.binding, delete f.editor.appearance), Object.assign(f, {
1617
+ }, !1), r = this.controlCreatorUtils.setFormFieldProperty(this.designViewModelField, l)), r || (r = R("form-group") || {}, r.editor = R(l) || {}, delete r.editor.id, delete r.editor.binding, delete r.editor.appearance), Object.assign(r, {
971
1618
  id: c.id,
972
1619
  appearance: c.appearance,
973
1620
  size: c.size,
974
1621
  label: c.label,
975
1622
  binding: c.binding,
976
1623
  visible: c.visible
977
- }), Object.assign(f.editor, {
978
- isTextArea: f.isTextArea && c.isTextArea,
979
- placeholder: (r = c.editor) == null ? void 0 : r.placeholder,
980
- holdPlace: (d = c.editor) == null ? void 0 : d.holdPlace,
981
- readonly: (a = c.editor) == null ? void 0 : a.readonly,
982
- require: (o = c.editor) == null ? void 0 : o.require
983
- }), m.contents.splice(u, 1), m.contents.splice(u, 0, f), i.schema = Object.assign(c, f), Array.from(document.getElementsByClassName("dgComponentSelected")).forEach(
984
- (p) => p.classList.remove("dgComponentSelected")
985
- ), xe.value++;
1624
+ }), Object.assign(r.editor, {
1625
+ isTextArea: r.isTextArea && c.isTextArea,
1626
+ placeholder: (p = c.editor) == null ? void 0 : p.placeholder,
1627
+ holdPlace: (a = c.editor) == null ? void 0 : a.holdPlace,
1628
+ readonly: (s = c.editor) == null ? void 0 : s.readonly,
1629
+ require: (y = c.editor) == null ? void 0 : y.require
1630
+ }), u.contents.splice(d, 1), u.contents.splice(d, 0, r), i.schema = Object.assign(c, r), Array.from(document.getElementsByClassName("dgComponentSelected")).forEach(
1631
+ (m) => m.classList.remove("dgComponentSelected")
1632
+ ), ot.value++;
986
1633
  }
987
- getComponentConfig(t, n = {}, i = {}) {
1634
+ getComponentConfig(n, o = {}, i = {}) {
988
1635
  const l = Object.assign({
989
1636
  description: "编辑器",
990
1637
  title: "编辑器",
991
1638
  type: "input-group",
992
1639
  $converter: "/converter/property-editor.converter"
993
- }, n), m = Object.assign({
1640
+ }, o), u = Object.assign({
994
1641
  readonly: {
995
1642
  description: "",
996
1643
  title: "只读",
@@ -1012,10 +1659,58 @@ class ke extends Fe {
1012
1659
  type: "string"
1013
1660
  }
1014
1661
  }, i);
1015
- return { ...l, properties: { ...m } };
1662
+ return { ...l, properties: { ...u } };
1663
+ }
1664
+ /**
1665
+ * 修改某一输入控件的样式后更新Form的统一布局配置
1666
+ * @param controlClass 控件样式
1667
+ * @param controlId 控件Id
1668
+ * @param componentId 控件所在组件id
1669
+ */
1670
+ updateUnifiedLayoutAfterControlChanged(n, o, i) {
1671
+ const l = n.split(" ");
1672
+ let u = l.find((a) => /^col-([1-9]|10|11|12)$/.test(a)), d = l.find((a) => /^col-md-([1-9]|10|11|12)$/.test(a)), c = l.find((a) => /^col-xl-([1-9]|10|11|12)$/.test(a)), r = l.find((a) => /^col-el-([1-9]|10|11|12)$/.test(a));
1673
+ u = u || "col-12", d = d || "col-md-" + u.replace("col-", ""), c = c || "col-xl-" + d.replace("col-md-", ""), r = r || "col-el-" + c.replace("col-xl-", "");
1674
+ const p = {
1675
+ id: o,
1676
+ columnInSM: parseInt(u.replace("col-", ""), 10),
1677
+ columnInMD: parseInt(d.replace("col-md-", ""), 10),
1678
+ columnInLG: parseInt(c.replace("col-xl-", ""), 10),
1679
+ columnInEL: parseInt(r.replace("col-el-", ""), 10)
1680
+ };
1681
+ this.updateUnifiedLayoutAfterResponseLayoutChanged(i, p);
1682
+ }
1683
+ /**
1684
+ * 修改控件布局配置后更新Form统一布局配置
1685
+ * @param componentId 组件Id
1686
+ * @param controlLayoutConfig 某单独变动的控件配置项,FormResponseLayoutContext类型
1687
+ */
1688
+ updateUnifiedLayoutAfterResponseLayoutChanged(n, o) {
1689
+ const { formNode: i } = this.responseLayoutEditorFunction.checkCanFindFormNode(n);
1690
+ if (!i || !i.unifiedLayout)
1691
+ return;
1692
+ const l = [];
1693
+ if (this.responseLayoutEditorFunction.getResonseFormLayoutConfig(i, l, 1), o) {
1694
+ const m = l.find((b) => b.id === o.id);
1695
+ Object.assign(m || {}, o);
1696
+ }
1697
+ const u = l.map((m) => m.columnInSM), d = l.map((m) => m.columnInMD), c = l.map((m) => m.columnInLG), r = l.map((m) => m.columnInEL), p = this.checkIsUniqueColumn(u) ? u[0] : null, a = this.checkIsUniqueColumn(d) ? d[0] : null, s = this.checkIsUniqueColumn(c) ? c[0] : null, y = this.checkIsUniqueColumn(r) ? r[0] : null;
1698
+ Object.assign(i.unifiedLayout, {
1699
+ uniqueColClassInSM: p,
1700
+ uniqueColClassInMD: a,
1701
+ uniqueColClassInLG: s,
1702
+ uniqueColClassInEL: y
1703
+ });
1704
+ }
1705
+ /**
1706
+ * 校验宽度样式值是否一致
1707
+ */
1708
+ checkIsUniqueColumn(n) {
1709
+ const o = new Set(n);
1710
+ return Array.from(o).length === 1;
1016
1711
  }
1017
1712
  }
1018
- class we extends ke {
1713
+ class at extends it {
1019
1714
  constructor(t, n) {
1020
1715
  super(t, n);
1021
1716
  }
@@ -1039,41 +1734,41 @@ class we extends ke {
1039
1734
  });
1040
1735
  }
1041
1736
  }
1042
- function Me(e, t) {
1737
+ function lt(e, t) {
1043
1738
  const {
1044
1739
  canAccepts: n,
1045
- checkCanDeleteComponent: i,
1046
- checkCanMoveComponent: l,
1047
- hideNestedPaddingInDesginerView: m,
1740
+ checkCanDeleteComponent: o,
1741
+ checkCanMoveComponent: i,
1742
+ hideNestedPaddingInDesginerView: l,
1048
1743
  onAcceptMovedChildElement: u,
1049
- resolveComponentContext: c,
1050
- triggerBelongedComponentToMoveWhenMoved: f,
1744
+ resolveComponentContext: d,
1745
+ triggerBelongedComponentToMoveWhenMoved: c,
1051
1746
  triggerBelongedComponentToDeleteWhenDeleted: r
1052
- } = Se(e), d = e.schema;
1053
- function a(o, p) {
1054
- return new we(o, t).getPropertyConfig(d, p);
1747
+ } = tt(e), p = e.schema;
1748
+ function a(s, y) {
1749
+ return new at(s, t).getPropertyConfig(p, y);
1055
1750
  }
1056
1751
  return {
1057
1752
  canAccepts: n,
1058
- checkCanDeleteComponent: i,
1059
- checkCanMoveComponent: l,
1060
- hideNestedPaddingInDesginerView: m,
1753
+ checkCanDeleteComponent: o,
1754
+ checkCanMoveComponent: i,
1755
+ hideNestedPaddingInDesginerView: l,
1061
1756
  onAcceptMovedChildElement: u,
1062
- resolveComponentContext: c,
1063
- triggerBelongedComponentToMoveWhenMoved: f,
1757
+ resolveComponentContext: d,
1758
+ triggerBelongedComponentToMoveWhenMoved: c,
1064
1759
  triggerBelongedComponentToDeleteWhenDeleted: r,
1065
1760
  getPropsConfig: a
1066
1761
  };
1067
1762
  }
1068
- const Te = /* @__PURE__ */ P({
1763
+ const rt = /* @__PURE__ */ O({
1069
1764
  name: "FComboListDesign",
1070
- props: D,
1765
+ props: V,
1071
1766
  emits: ["clear", "update:modelValue", "change"],
1072
1767
  setup(e, t) {
1073
- const n = v(), i = E("designer-host-service"), l = E("design-item-context"), m = Me(l, i), u = Q(n, l, m);
1074
- return q(() => {
1768
+ const n = g(), o = E("designer-host-service"), i = E("design-item-context"), l = lt(i, o), u = U(n, i, l);
1769
+ return D(() => {
1075
1770
  n.value.componentInstance = u;
1076
- }), t.expose(u.value), () => B(J, {
1771
+ }), t.expose(u.value), () => k(et, {
1077
1772
  ref: n,
1078
1773
  buttonContent: e.dropDownIcon,
1079
1774
  readonly: !0,
@@ -1083,24 +1778,24 @@ const Te = /* @__PURE__ */ P({
1083
1778
  enableClear: !0
1084
1779
  }, null);
1085
1780
  }
1086
- }), Be = (e) => {
1781
+ }), st = (e) => {
1087
1782
  const t = e;
1088
1783
  return t.install = function(n) {
1089
1784
  n.component(t.name, e);
1090
1785
  }, e;
1091
1786
  };
1092
- I.register = (e, t, n, i) => {
1093
- e["combo-list"] = I, t["combo-list"] = L;
1787
+ P.register = (e, t, n, o) => {
1788
+ e["combo-list"] = P, t["combo-list"] = H;
1094
1789
  };
1095
- I.registerDesigner = (e, t, n) => {
1096
- e["combo-list"] = Te, t["combo-list"] = L;
1790
+ P.registerDesigner = (e, t, n) => {
1791
+ e["combo-list"] = rt, t["combo-list"] = H;
1097
1792
  };
1098
- const Le = Be(I);
1793
+ const bt = st(P);
1099
1794
  export {
1100
- I as FComboList,
1101
- he as Placement,
1102
- ge as ViewType,
1103
- D as comboListProps,
1104
- Le as default,
1105
- L as propsResolver
1795
+ P as FComboList,
1796
+ we as Placement,
1797
+ xe as ViewType,
1798
+ V as comboListProps,
1799
+ bt as default,
1800
+ H as propsResolver
1106
1801
  };