@farris/ui-vue 1.2.7 → 1.2.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (206) hide show
  1. package/components/accordion/index.esm.js +79 -79
  2. package/components/avatar/index.esm.js +393 -440
  3. package/components/border-editor/index.esm.js +4 -4
  4. package/components/button/index.esm.js +1 -1
  5. package/components/button-edit/index.esm.js +353 -444
  6. package/components/button-group/index.esm.js +5 -5
  7. package/components/calendar/index.esm.js +176 -176
  8. package/components/capsule/index.esm.js +93 -93
  9. package/components/checkbox/index.esm.js +496 -542
  10. package/components/color-picker/index.esm.js +1 -1
  11. package/components/combo-list/index.esm.js +437 -483
  12. package/components/combo-tree/index.esm.js +8 -8
  13. package/components/component/index.esm.js +89 -89
  14. package/components/condition/index.esm.js +839 -726
  15. package/components/content-container/index.esm.js +61 -61
  16. package/components/data-grid/index.esm.js +4702 -4972
  17. package/components/data-view/index.esm.js +2999 -2875
  18. package/components/date-picker/index.esm.js +2626 -2672
  19. package/components/dependent-base/style.js +1 -0
  20. package/components/dependent-fluid/style.js +1 -0
  21. package/components/dependent-icon/style.js +1 -0
  22. package/components/dependent-input/style.js +1 -0
  23. package/components/dependent-table/style.js +1 -0
  24. package/components/designer-canvas/index.esm.js +478 -475
  25. package/components/designer-outline/index.esm.js +173 -131
  26. package/components/discussion-editor/index.esm.js +1 -1
  27. package/components/dropdown/index.esm.js +73 -73
  28. package/components/dynamic-form/index.esm.js +934 -976
  29. package/components/dynamic-resolver/index.esm.js +67 -35
  30. package/components/dynamic-view/index.esm.js +258 -249
  31. package/components/enum-editor/index.esm.js +3 -3
  32. package/components/events-editor/index.esm.js +178 -178
  33. package/components/expression-editor/index.esm.js +105 -105
  34. package/components/external-container/index.esm.js +1892 -1775
  35. package/components/field-selector/index.css +1 -1
  36. package/components/field-selector/index.esm.js +5245 -5514
  37. package/components/filter-bar/index.css +1 -1
  38. package/components/filter-bar/index.esm.js +1483 -1556
  39. package/components/flow-canvas/index.esm.js +678 -675
  40. package/components/image-cropper/index.esm.js +266 -266
  41. package/components/input-group/index.esm.js +668 -714
  42. package/components/layout/index.esm.js +148 -148
  43. package/components/list-nav/index.esm.js +109 -109
  44. package/components/list-view/index.esm.js +1679 -1563
  45. package/components/lookup/index.css +1 -1
  46. package/components/lookup/index.esm.js +6596 -6865
  47. package/components/mapping-editor/index.esm.js +5592 -5862
  48. package/components/message-box/index.esm.js +1 -1
  49. package/components/modal/index.esm.js +1 -1
  50. package/components/nav/index.esm.js +86 -86
  51. package/components/number-range/index.esm.js +1120 -0
  52. package/components/number-range/package.json +8 -0
  53. package/components/number-range/style.js +6 -0
  54. package/components/number-spinner/index.esm.js +1146 -0
  55. package/components/number-spinner/package.json +8 -0
  56. package/components/number-spinner/style.js +4 -0
  57. package/components/order/index.esm.js +988 -1034
  58. package/components/page-footer/index.esm.js +106 -106
  59. package/components/page-header/index.esm.js +1088 -1296
  60. package/components/pagination/index.esm.js +252 -252
  61. package/components/progress/index.esm.js +37 -37
  62. package/components/property-editor/index.esm.js +1416 -1462
  63. package/components/property-panel/index.css +1 -1
  64. package/components/property-panel/index.esm.js +757 -830
  65. package/components/query-solution/index.css +1 -0
  66. package/components/query-solution/index.esm.js +6935 -0
  67. package/components/query-solution/package.json +8 -0
  68. package/components/query-solution/style.js +2 -0
  69. package/components/radio-button/index.esm.js +64 -64
  70. package/components/radio-group/index.esm.js +452 -498
  71. package/components/rate/index.esm.js +92 -92
  72. package/components/response-layout/index.esm.js +33 -33
  73. package/components/response-layout-editor/index.esm.js +117 -117
  74. package/components/response-toolbar/index.esm.js +1021 -1238
  75. package/components/schema-selector/index.esm.js +3215 -3308
  76. package/components/search-box/index.esm.js +143 -143
  77. package/components/section/index.esm.js +209 -209
  78. package/components/smoke-detector/index.esm.js +22 -22
  79. package/components/spacing-editor/index.esm.js +2 -2
  80. package/components/splitter/index.esm.js +1097 -394
  81. package/components/step/index.esm.js +153 -153
  82. package/components/switch/index.esm.js +442 -488
  83. package/components/tabs/index.esm.js +1835 -2004
  84. package/components/tags/index.esm.js +215 -215
  85. package/components/text/index.esm.js +53 -53
  86. package/components/textarea/index.esm.js +451 -482
  87. package/components/time-picker/index.esm.js +1345 -1392
  88. package/components/transfer/index.esm.js +135 -135
  89. package/components/tree-grid/index.css +1 -1
  90. package/components/tree-grid/index.esm.js +5761 -6020
  91. package/components/tree-view/index.esm.js +2380 -2253
  92. package/components/uploader/index.esm.js +1 -1
  93. package/components/verify-detail/index.esm.js +232 -232
  94. package/components/video/index.esm.js +136 -136
  95. package/components/weather/index.esm.js +2 -2
  96. package/farris.all.esm.js +31630 -31224
  97. package/farris.all.umd.cjs +9 -9
  98. package/index.css +1 -1
  99. package/package.json +1 -1
  100. package/types/checkbox/index.d.ts +1 -0
  101. package/types/data-grid/src/designer/column-header.design.component.d.ts +1 -1
  102. package/types/data-grid/src/designer/data-grid-column.props.d.ts +1 -0
  103. package/types/data-view/composition/types.d.ts +1 -1
  104. package/types/designer-canvas/src/composition/dg-control.d.ts +16 -350
  105. package/types/designer-canvas/src/types.d.ts +1 -1
  106. package/types/dynamic-form/index.d.ts +1 -0
  107. package/types/dynamic-form/src/types.d.ts +1 -1
  108. package/types/dynamic-resolver/index.d.ts +1 -0
  109. package/types/dynamic-resolver/src/binding-resolver.d.ts +1 -0
  110. package/types/dynamic-view/src/dynamic-view.component.d.ts +1 -1
  111. package/types/lookup/src/property-config/lookup.property-config.d.ts +2 -1
  112. package/types/modal/src/modal.props.d.ts +1 -4
  113. package/types/property-panel/src/composition/entity/base-property.d.ts +0 -12
  114. package/types/property-panel/src/composition/entity/input-base-property.d.ts +11 -26
  115. package/types/property-panel/src/composition/entity/schema-dom-mapping.d.ts +10 -8
  116. package/types/tabs/src/designer/tab-toolbar-item.props.d.ts +19 -0
  117. package/types/tabs/src/property-config/tabs.property-config.d.ts +6 -6
  118. package/types/tree-grid/src/designer/use-designer-rules.d.ts +3 -0
  119. package/types/tree-grid/src/property-config/tree-grid.property-config.d.ts +11 -0
  120. package/types/tree-grid/src/schema/column-resolver.d.ts +1 -1
  121. package/types/tree-grid/src/tree-grid.props.d.ts +8 -0
  122. package/components/accordion/index.umd.cjs +0 -1
  123. package/components/avatar/index.umd.cjs +0 -1
  124. package/components/border-editor/index.umd.cjs +0 -1
  125. package/components/button/index.umd.cjs +0 -1
  126. package/components/button-edit/index.umd.cjs +0 -1
  127. package/components/button-group/index.umd.cjs +0 -1
  128. package/components/calculator/index.umd.cjs +0 -1
  129. package/components/calendar/index.umd.cjs +0 -1
  130. package/components/capsule/index.umd.cjs +0 -1
  131. package/components/checkbox/index.umd.cjs +0 -1
  132. package/components/color-picker/index.umd.cjs +0 -3
  133. package/components/combo-list/index.umd.cjs +0 -1
  134. package/components/combo-tree/index.umd.cjs +0 -1
  135. package/components/common/index.umd.cjs +0 -1
  136. package/components/component/index.umd.cjs +0 -1
  137. package/components/condition/index.umd.cjs +0 -1
  138. package/components/content-container/index.umd.cjs +0 -1
  139. package/components/data-grid/index.umd.cjs +0 -1
  140. package/components/data-view/index.umd.cjs +0 -1
  141. package/components/date-picker/index.umd.cjs +0 -1
  142. package/components/designer-canvas/index.umd.cjs +0 -1
  143. package/components/designer-outline/index.umd.cjs +0 -1
  144. package/components/designer-toolbox/index.umd.cjs +0 -1
  145. package/components/discussion-editor/index.umd.cjs +0 -3
  146. package/components/discussion-list/index.umd.cjs +0 -1
  147. package/components/drawer/index.umd.cjs +0 -1
  148. package/components/dropdown/index.umd.cjs +0 -2
  149. package/components/dynamic-form/index.umd.cjs +0 -1
  150. package/components/dynamic-resolver/index.umd.cjs +0 -1
  151. package/components/dynamic-view/index.umd.cjs +0 -1
  152. package/components/enum-editor/index.umd.cjs +0 -1
  153. package/components/events-editor/index.umd.cjs +0 -1
  154. package/components/expression-editor/index.umd.cjs +0 -1
  155. package/components/external-container/index.umd.cjs +0 -1
  156. package/components/field-selector/index.umd.cjs +0 -1
  157. package/components/filter-bar/index.umd.cjs +0 -1
  158. package/components/flow-canvas/index.umd.cjs +0 -1
  159. package/components/image-cropper/index.umd.cjs +0 -1
  160. package/components/input-group/index.umd.cjs +0 -1
  161. package/components/layout/index.umd.cjs +0 -1
  162. package/components/list-nav/index.umd.cjs +0 -1
  163. package/components/list-view/index.umd.cjs +0 -1
  164. package/components/loading/index.umd.cjs +0 -8
  165. package/components/locale/index.umd.cjs +0 -1
  166. package/components/lookup/index.umd.cjs +0 -1
  167. package/components/mapping-editor/index.umd.cjs +0 -1
  168. package/components/message-box/index.umd.cjs +0 -1
  169. package/components/modal/index.umd.cjs +0 -1
  170. package/components/nav/index.umd.cjs +0 -3
  171. package/components/notify/index.umd.cjs +0 -1
  172. package/components/order/index.umd.cjs +0 -1
  173. package/components/page-footer/index.umd.cjs +0 -1
  174. package/components/page-header/index.umd.cjs +0 -1
  175. package/components/pagination/index.umd.cjs +0 -1
  176. package/components/popover/index.umd.cjs +0 -1
  177. package/components/progress/index.umd.cjs +0 -3
  178. package/components/property-editor/index.umd.cjs +0 -3
  179. package/components/property-panel/index.umd.cjs +0 -1
  180. package/components/radio-button/index.umd.cjs +0 -1
  181. package/components/radio-group/index.umd.cjs +0 -1
  182. package/components/rate/index.umd.cjs +0 -1
  183. package/components/response-layout/index.umd.cjs +0 -1
  184. package/components/response-layout-editor/index.umd.cjs +0 -1
  185. package/components/response-toolbar/index.umd.cjs +0 -1
  186. package/components/schema-selector/index.umd.cjs +0 -8
  187. package/components/search-box/index.umd.cjs +0 -1
  188. package/components/section/index.umd.cjs +0 -1
  189. package/components/smoke-detector/index.umd.cjs +0 -1
  190. package/components/spacing-editor/index.umd.cjs +0 -1
  191. package/components/splitter/index.umd.cjs +0 -1
  192. package/components/step/index.umd.cjs +0 -1
  193. package/components/switch/index.umd.cjs +0 -1
  194. package/components/tabs/index.umd.cjs +0 -1
  195. package/components/tags/index.umd.cjs +0 -1
  196. package/components/text/index.umd.cjs +0 -1
  197. package/components/textarea/index.umd.cjs +0 -1
  198. package/components/time-picker/index.umd.cjs +0 -1
  199. package/components/tooltip/index.umd.cjs +0 -1
  200. package/components/transfer/index.umd.cjs +0 -1
  201. package/components/tree-grid/index.umd.cjs +0 -1
  202. package/components/tree-view/index.umd.cjs +0 -1
  203. package/components/uploader/index.umd.cjs +0 -2
  204. package/components/verify-detail/index.umd.cjs +0 -1
  205. package/components/video/index.umd.cjs +0 -1
  206. package/components/weather/index.umd.cjs +0 -16
@@ -0,0 +1,1120 @@
1
+ var ne = Object.defineProperty;
2
+ var oe = (e, t, n) => t in e ? ne(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n;
3
+ var F = (e, t, n) => oe(e, typeof t != "symbol" ? t + "" : t, n);
4
+ import { computed as P, ref as k, createVNode as M, defineComponent as Q, onMounted as G, watch as j, createTextVNode as X, inject as R } from "vue";
5
+ import { cloneDeep as re } from "lodash-es";
6
+ import T from "bignumber.js";
7
+ import { getSchemaByType as J } from "../dynamic-resolver/index.esm.js";
8
+ function ae(e, t, n) {
9
+ return t;
10
+ }
11
+ const Y = {}, _ = {};
12
+ function Z(e) {
13
+ const { properties: t, title: n } = e, o = Object.keys(t).reduce((a, c) => (a[c] = t[c].type === "object" && t[c].properties ? Z(t[c]) : re(t[c].default), a), {});
14
+ return o.id = `${n}-${Date.now()}`, o;
15
+ }
16
+ function z(e, t = {}) {
17
+ const n = Y[e];
18
+ if (n) {
19
+ let o = Z(n);
20
+ const a = _[e];
21
+ return o = a ? a({ getSchemaByType: z }, o, t) : o, o;
22
+ }
23
+ return null;
24
+ }
25
+ function ie(e, t) {
26
+ const n = Z(t);
27
+ return Object.keys(e).reduce((o, a) => (o[a] && typeof o[a] == "object" ? Object.assign(o[a], e[a]) : o[a] = e[a], o), n), n;
28
+ }
29
+ function le(e, t) {
30
+ return Object.keys(e).filter((o) => e[o] != null).reduce((o, a) => {
31
+ if (t.has(a)) {
32
+ const c = t.get(a);
33
+ if (typeof c == "string")
34
+ o[c] = e[a];
35
+ else {
36
+ const d = c(a, e[a], e);
37
+ Object.assign(o, d);
38
+ }
39
+ } else
40
+ o[a] = e[a];
41
+ return o;
42
+ }, {});
43
+ }
44
+ function ue(e, t, n = /* @__PURE__ */ new Map()) {
45
+ const o = ie(e, t);
46
+ return le(o, n);
47
+ }
48
+ function ce(e = {}) {
49
+ function t(r, l, u, p) {
50
+ if (typeof u == "number")
51
+ return p[r].length === u;
52
+ if (typeof u == "object") {
53
+ const f = Object.keys(u)[0], b = u[f];
54
+ if (f === "not")
55
+ return Number(p[r].length) !== Number(b);
56
+ if (f === "moreThan")
57
+ return Number(p[r].length) >= Number(b);
58
+ if (f === "lessThan")
59
+ return Number(p[r].length) <= Number(b);
60
+ }
61
+ return !1;
62
+ }
63
+ function n(r, l, u, p) {
64
+ return p[r] && p[r].propertyValue && String(p[r].propertyValue.value) === String(u);
65
+ }
66
+ const o = /* @__PURE__ */ new Map([
67
+ ["length", t],
68
+ ["getProperty", n]
69
+ ]);
70
+ Object.keys(e).reduce((r, l) => (r.set(l, e[l]), r), o);
71
+ function a(r, l) {
72
+ const u = r;
73
+ return typeof l == "number" ? [{ target: u, operator: "length", param: null, value: Number(l) }] : typeof l == "boolean" ? [{ target: u, operator: "getProperty", param: r, value: !!l }] : typeof l == "object" ? Object.keys(l).map((p) => {
74
+ if (p === "length")
75
+ return { target: u, operator: "length", param: null, value: l[p] };
76
+ const f = p, b = l[p];
77
+ return { target: u, operator: "getProperty", param: f, value: b };
78
+ }) : [];
79
+ }
80
+ function c(r) {
81
+ return Object.keys(r).reduce((u, p) => {
82
+ const f = a(p, r[p]);
83
+ return u.push(...f), u;
84
+ }, []);
85
+ }
86
+ function d(r, l) {
87
+ if (o.has(r.operator)) {
88
+ const u = o.get(r.operator);
89
+ return u && u(r.target, r.param, r.value, l) || !1;
90
+ }
91
+ return !1;
92
+ }
93
+ function s(r, l) {
94
+ return c(r).reduce((f, b) => f && d(b, l), !0);
95
+ }
96
+ function i(r, l) {
97
+ const u = Object.keys(r), p = u.includes("allOf"), f = u.includes("anyOf"), b = p || f, D = (b ? r[b ? p ? "allOf" : "anyOf" : "allOf"] : [r]).map((C) => s(C, l));
98
+ return p ? !D.includes(!1) : D.includes(!0);
99
+ }
100
+ return { parseValueSchema: i };
101
+ }
102
+ const m = {
103
+ button: { type: "button", name: "按钮", icon: "Button" },
104
+ "response-toolbar": { type: "response-toolbar", name: "工具栏", icon: "ButtonGroup" },
105
+ "response-toolbar-item": { type: "response-toolbar-item", name: "按钮", icon: "Button" },
106
+ "content-container": { type: "content-container", name: "容器", icon: "ContentContainer" },
107
+ "input-group": { type: "input-group", name: "文本", icon: "TextBox" },
108
+ textarea: { type: "textarea", name: "多行文本", icon: "MultiTextBox" },
109
+ lookup: { type: "lookup", name: "帮助", icon: "LookupEdit" },
110
+ "number-spinner": { type: "number-spinner", name: "数值", icon: "NumericBox" },
111
+ "date-picker": { type: "date-picker", name: "日期", icon: "DateBox" },
112
+ switch: { type: "switch", name: "开关", icon: "SwitchField" },
113
+ "radio-group": { type: "radio-group", name: "单选组", icon: "RadioGroup" },
114
+ "check-box": { type: "check-box", name: "复选框", icon: "CheckBox" },
115
+ "check-group": { type: "check-group", name: "复选框组", icon: "CheckGroup" },
116
+ "combo-list": { type: "combo-list", name: "下拉列表", icon: "EnumField" },
117
+ "response-form": { type: "response-form", name: "卡片面板", icon: "Form" },
118
+ "response-layout": { type: "response-layout", name: "布局容器", icon: "ResponseLayout3" },
119
+ "response-layout-item": { type: "response-layout-item", name: "布局", icon: "ResponseLayout1" },
120
+ "tree-grid": { type: "tree-grid", name: "树表格", icon: "TreeGrid" },
121
+ "tree-grid-column": { type: "tree-grid-column", name: "树表格列" },
122
+ "data-grid": { type: "data-grid", name: "表格", icon: "DataGrid" },
123
+ "data-grid-column": { type: "data-grid-column", name: "表格列" },
124
+ module: { type: "Module", name: "模块", icon: "Module" },
125
+ component: { type: "component", name: "组件", icon: "Component" },
126
+ tabs: { type: "tabs", name: "标签页", icon: "Tab" },
127
+ "tab-page": { type: "tab-page", name: "标签页项", dependentParentControl: "Tab" },
128
+ "tab-toolbar-item": { type: "tab-toolbar-item", name: "标签页工具栏按钮", icon: "Button" },
129
+ "time-picker": { type: "time-picker", name: "时间选择", icon: "TimePicker" },
130
+ section: { type: "section", name: "分组面板", icon: "Section" },
131
+ "section-toolbar": { type: "section-toolbar", name: "分组面板工具栏" },
132
+ "section-toolbar-item": { type: "section-toolbar-item", name: "分组面板按钮" },
133
+ splitter: { type: "splitter", name: "分栏面板", icon: "Splitter" },
134
+ "splitter-pane": { type: "splitter-pane", name: "分栏面板项", dependentParentControl: "Splitter" },
135
+ "component-ref": { type: "component-ref", name: "组件引用节点" },
136
+ uploader: { type: "uploader", name: "附件上传", icon: "FileUpload" },
137
+ "page-header": { type: "page-header", name: "页头", icon: "Header" },
138
+ "page-footer": { type: "page-footer", name: "页脚", icon: "ModalFooter" },
139
+ "tab-toolbar": { type: "tab-toolbar", name: "标签页工具栏", icon: "TabToolbar" }
140
+ }, se = {}, pe = {};
141
+ ce();
142
+ function de(e, t, n = /* @__PURE__ */ new Map(), o = (d, s, i) => s, a = {}, c = (d) => d) {
143
+ return Y[t.title] = t, _[t.title] = o, se[t.title] = a, pe[t.title] = c, (d = {}) => {
144
+ const s = ue(d, t, n), i = Object.keys(e).reduce((r, l) => (r[l] = e[l].default, r), {});
145
+ return Object.assign(i, s);
146
+ };
147
+ }
148
+ function me(e, t) {
149
+ return { customClass: t.class, customStyle: t.style };
150
+ }
151
+ const fe = /* @__PURE__ */ new Map([
152
+ ["appearance", me]
153
+ ]), ge = "https://json-schema.org/draft/2020-12/schema", ye = "https://farris-design.gitee.io/number-range.schema.json", be = "number-range", he = "A Farris Component", ve = "object", we = {
154
+ id: {
155
+ description: "The unique identifier for a number-range",
156
+ type: "string"
157
+ },
158
+ type: {
159
+ description: "The type string of number-range component",
160
+ type: "string",
161
+ default: "number-range"
162
+ },
163
+ appearance: {
164
+ description: "",
165
+ type: "object",
166
+ properties: {
167
+ class: {
168
+ type: "string"
169
+ },
170
+ style: {
171
+ type: "string"
172
+ }
173
+ },
174
+ default: {}
175
+ },
176
+ binding: {
177
+ description: "",
178
+ type: "object",
179
+ default: {}
180
+ },
181
+ disabled: {
182
+ type: "boolean",
183
+ default: !1
184
+ },
185
+ editable: {
186
+ description: "",
187
+ type: "boolean",
188
+ default: !0
189
+ },
190
+ placeholder: {
191
+ description: "",
192
+ type: "string",
193
+ default: ""
194
+ },
195
+ readonly: {
196
+ description: "",
197
+ type: "boolean",
198
+ default: !1
199
+ },
200
+ required: {
201
+ description: "",
202
+ type: "boolean",
203
+ default: !1
204
+ },
205
+ tabindex: {
206
+ description: "",
207
+ type: "number",
208
+ default: -1
209
+ },
210
+ visible: {
211
+ description: "",
212
+ type: "boolean",
213
+ default: !0
214
+ }
215
+ }, Ce = [
216
+ "id",
217
+ "type"
218
+ ], Be = {
219
+ $schema: ge,
220
+ $id: ye,
221
+ title: be,
222
+ description: he,
223
+ type: ve,
224
+ properties: we,
225
+ required: Ce
226
+ }, H = {
227
+ /**
228
+ * 组件标识
229
+ */
230
+ id: String,
231
+ /**
232
+ * 自动补全小数
233
+ */
234
+ autoDecimal: { type: Boolean, default: !0 },
235
+ /**
236
+ * 下限placeholder---未实现
237
+ */
238
+ beginPlaceHolder: { type: String, default: "请输入开始数字" },
239
+ /**
240
+ * 下限值
241
+ */
242
+ beginValue: { type: [Number, String], default: "0" },
243
+ /**
244
+ * 启用大数支持
245
+ */
246
+ bigNumber: { type: Boolean, default: !1 },
247
+ /**
248
+ * 允许为空
249
+ */
250
+ canNull: { type: Boolean, default: !1 },
251
+ /**
252
+ * 小数点符号
253
+ */
254
+ decimalSeparator: { type: String, default: "." },
255
+ /**
256
+ * 是否禁用
257
+ */
258
+ disabled: { type: Boolean, default: !1 },
259
+ /**
260
+ * 是否可编辑
261
+ */
262
+ editable: { type: Boolean, default: !0 },
263
+ /**
264
+ * 上限placeholder---未实现
265
+ */
266
+ endPlaceHolder: { type: String, default: "请输入结束数字" },
267
+ /**
268
+ * 上限值
269
+ */
270
+ endValue: { type: [Number, String], default: "0" },
271
+ /**
272
+ * 格式化 formatter 和 parser 必须同时存在
273
+ * formatter: (val: number) => string;
274
+ * parser: (val: string | number) => number;
275
+ */
276
+ formatter: { type: Function },
277
+ /**
278
+ * 千分位符号
279
+ */
280
+ groupSeparator: { type: String, default: "," },
281
+ /**
282
+ * 使用千分位时,每组显示的字符数
283
+ */
284
+ groupSize: { type: Number, default: 3 },
285
+ /**
286
+ * 最大值
287
+ */
288
+ max: { type: [Number, String] },
289
+ /**
290
+ * 最小值
291
+ */
292
+ min: { type: [Number, String] },
293
+ parser: { type: Function },
294
+ /**
295
+ * 空白提示文本
296
+ */
297
+ placeholder: { type: String, default: "请输入数字" },
298
+ /**
299
+ * 精度
300
+ */
301
+ precision: { type: Number, default: 0 },
302
+ /**
303
+ * 前缀
304
+ */
305
+ prefix: { type: String, default: "" },
306
+ /**
307
+ * 是否只读
308
+ */
309
+ readonly: { type: Boolean, default: !1 },
310
+ /**
311
+ * 间隔符---未实现
312
+ */
313
+ separator: { type: String, default: "~" },
314
+ /**
315
+ * 是否显示加减按钮
316
+ */
317
+ showButton: { type: Boolean, default: !0 },
318
+ /**
319
+ * 显示0值
320
+ */
321
+ showZero: { type: Boolean, default: !0 },
322
+ /**
323
+ * up or down 步长
324
+ */
325
+ step: { type: Number, default: 1 },
326
+ /**
327
+ * 后缀
328
+ */
329
+ suffix: { type: String, default: "" },
330
+ /**
331
+ * 文本方向
332
+ */
333
+ textAlign: { type: String, default: "left" },
334
+ /**
335
+ * 是否使用千分值
336
+ */
337
+ useThousands: { type: Boolean, default: !0 }
338
+ }, I = de(H, Be, fe, ae);
339
+ function K(e, t) {
340
+ const n = P(() => Number(e.precision) || 0);
341
+ function o(i) {
342
+ return i.toFixed(n.value);
343
+ }
344
+ function a(i) {
345
+ return isNaN(i) || i === null || i === void 0 || i === "";
346
+ }
347
+ function c(i) {
348
+ const r = a(e.max) ? null : new T(String(e.max), 10), l = a(e.min) ? null : new T(String(e.min), 10);
349
+ return r && i.gt(r) ? r : l && i.lt(l) ? l : i;
350
+ }
351
+ function d(i, r, l, u) {
352
+ const p = new T(i, 10), f = a(l && l.value) ? null : new T(String(l.value), 10), b = a(r && r.value) ? null : new T(String(r.value), 10);
353
+ let V;
354
+ return u ? V = f && p.gt(f) ? f : p : V = b && p.lt(b) ? b : p, V.toString();
355
+ }
356
+ function s(i) {
357
+ if (e.parser)
358
+ return isNaN(Number(i)) ? e.parser(i) : i;
359
+ let r = c(new T(i, 10));
360
+ if (r.isNaN()) {
361
+ if (e.canNull)
362
+ return null;
363
+ const u = new T("" + e.min, 10), p = new T("" + e.max, 10);
364
+ if (!u.isNaN())
365
+ r = u;
366
+ else if (!p.isNaN())
367
+ r = p;
368
+ else
369
+ return 0;
370
+ }
371
+ return o(r);
372
+ }
373
+ return { getRealValue: s, isEmpty: a, precision: n, getValidNumberObject: c, getValidNumberInRange: d };
374
+ }
375
+ function ee(e, t, n) {
376
+ const o = P(() => ({
377
+ prefix: e.prefix,
378
+ suffix: e.suffix,
379
+ decimalSeparator: e.decimalSeparator,
380
+ groupSeparator: e.useThousands ? e.groupSeparator : "",
381
+ groupSize: e.groupSize
382
+ })), { getValidNumberObject: a, precision: c } = n;
383
+ function d(r) {
384
+ return r = r == null || r === "" ? "" : String(r), r = r.replace(new RegExp(e.prefix, "g"), "").replace(new RegExp(e.suffix, "g"), "").replace(/,/g, ""), e.groupSeparator && e.groupSeparator !== "," && (r = r.replace(new RegExp(`\\${e.groupSeparator}`, "g"), "")), e.decimalSeparator && e.decimalSeparator !== "." && (r = r.replace(new RegExp(`\\${e.decimalSeparator}`, "g"), ".")), r;
385
+ }
386
+ function s(r, l) {
387
+ return e.precision !== null && e.precision !== void 0 ? r.toFormat(c.value, l) : r.toFormat(l);
388
+ }
389
+ function i(r) {
390
+ const l = d(r), u = new T(l, 10), p = a(u);
391
+ return p.valueOf() === "0" && !e.showZero || p.isNaN() ? "" : e.formatter ? e.formatter(p.toNumber()) : s(p, o.value);
392
+ }
393
+ return { cleanFormat: d, format: i };
394
+ }
395
+ function A(e, t, n, o, a, c, d, s, i, r) {
396
+ const { format: l } = a, { getRealValue: u, getValidNumberInRange: p } = c;
397
+ function f() {
398
+ const B = new T(o.value || 0);
399
+ return !(e.max && !new T(e.max).isNaN() && B.gte(new T(e.max)));
400
+ }
401
+ function b() {
402
+ const B = new T(o.value || 0);
403
+ return !(e.min && !new T(e.min).isNaN() && B.lte(new T(e.min)));
404
+ }
405
+ function V(B) {
406
+ if (e.readonly || e.disabled)
407
+ return;
408
+ const S = B === "up" ? f : b, y = B === "up" ? "plus" : "minus";
409
+ if (S()) {
410
+ let v = new T(o.value || 0)[y](Number(e.step)).toFixed();
411
+ v = p(v, s, i, r), n.value = l(v), o.value = u(v), d(o.value);
412
+ }
413
+ }
414
+ function E() {
415
+ V("up");
416
+ }
417
+ function D() {
418
+ V("down");
419
+ }
420
+ function x(B) {
421
+ E(), B.stopPropagation();
422
+ }
423
+ function C(B) {
424
+ D(), B.stopPropagation();
425
+ }
426
+ return { canDownward: b, canUpward: f, downward: D, onClickDownButton: C, onClickUpButton: x, upward: E };
427
+ }
428
+ function U(e, t, n, o, a, c, d, s, i, r, l) {
429
+ const { cleanFormat: u, format: p } = a, { getRealValue: f, isEmpty: b, getValidNumberInRange: V } = c, { downward: E, upward: D } = d, x = P(() => n.value), C = k(!1);
430
+ function B(g) {
431
+ var N;
432
+ if (g.stopPropagation(), e.readonly || e.disabled)
433
+ return;
434
+ C.value = !1;
435
+ let v = (N = g.target) == null ? void 0 : N.value;
436
+ e.canNull || (v = v || 0);
437
+ let w = u(v);
438
+ w = V(w, i, r, l), n.value = p(w), o.value = f(w), s(o.value), t.emit("blur", { event: g, formatted: n.value, value: o.value });
439
+ }
440
+ function S(g) {
441
+ g.stopPropagation(), !(e.readonly || e.disabled) && (C.value = !0, n.value = b(o.value) || !e.showZero && o.value === "0" ? "" : String(o.value), t.emit("focus", { event: g, formatted: n.value, value: o.value }));
442
+ }
443
+ function y(g) {
444
+ var N;
445
+ g.stopPropagation();
446
+ let v = (N = g.target) == null ? void 0 : N.value;
447
+ e.canNull || (v = v || 0);
448
+ const w = u(v);
449
+ n.value = w, o.value = f(w), s(o.value);
450
+ }
451
+ function h(g) {
452
+ g.key === "ArrowDown" && (g.preventDefault(), E()), g.key === "ArrowUp" && (g.preventDefault(), D()), g.stopPropagation();
453
+ }
454
+ return { textBoxValue: x, onBlurTextBox: B, onFocusTextBox: S, onInput: y, onKeyDown: h, isTextBoxFocused: C };
455
+ }
456
+ function $(e, t, n, o) {
457
+ const {
458
+ onBlurTextBox: a,
459
+ onFocusTextBox: c,
460
+ onInput: d,
461
+ onKeyDown: s,
462
+ textBoxValue: i
463
+ } = n, r = P(() => e.disabled || e.readonly || !e.editable ? "" : o ? e.beginPlaceHolder : e.endPlaceHolder), l = P(() => ({
464
+ "form-control": !0,
465
+ "sub-input": !0
466
+ })), u = P(() => ({
467
+ "text-align": e.textAlign
468
+ }));
469
+ function p(f) {
470
+ f.stopPropagation();
471
+ }
472
+ return () => M("input", {
473
+ class: l.value,
474
+ style: u.value,
475
+ type: "text",
476
+ value: i.value,
477
+ disabled: e.disabled,
478
+ readonly: e.readonly || !e.editable,
479
+ placeholder: r.value,
480
+ onBlur: a,
481
+ onChange: p,
482
+ onFocus: c,
483
+ onInput: d,
484
+ onKeydown: s
485
+ }, null);
486
+ }
487
+ function q(e, t, n) {
488
+ const {
489
+ canDownward: o,
490
+ canUpward: a,
491
+ onClickDownButton: c,
492
+ onClickUpButton: d
493
+ } = n, s = P(() => ({
494
+ "input-group-append": !0,
495
+ "btn-group": !0,
496
+ "btn-group-number": !0,
497
+ "sub-btn-group": !0
498
+ })), i = P(() => ({
499
+ btn: !0,
500
+ "btn-secondary": !0,
501
+ "btn-number-flag": !0
502
+ })), r = P(() => ({
503
+ cursor: a() ? "pointer" : "not-allowed",
504
+ "margin-left": 0
505
+ })), l = P(() => ({
506
+ cursor: o() ? "pointer" : "not-allowed",
507
+ "margin-left": 0
508
+ }));
509
+ return () => M("div", {
510
+ class: s.value
511
+ }, [M("button", {
512
+ title: "upButton",
513
+ class: i.value,
514
+ style: r.value,
515
+ onClick: d,
516
+ disabled: !a()
517
+ }, [M("span", {
518
+ class: "f-icon f-icon-arrow-chevron-up number-arrow-chevron"
519
+ }, null)]), M("button", {
520
+ title: "downButton",
521
+ class: i.value,
522
+ style: l.value,
523
+ onClick: c,
524
+ disabled: !o()
525
+ }, [M("span", {
526
+ class: "f-icon f-icon-arrow-chevron-down number-arrow-chevron"
527
+ }, null)])]);
528
+ }
529
+ const L = /* @__PURE__ */ Q({
530
+ name: "FNumberRange",
531
+ props: H,
532
+ emits: ["valueChange", "blur", "focus", "click", "input", "beginValueChange", "endValueChange"],
533
+ setup(e, t) {
534
+ const n = k(e.beginValue), o = k(""), a = k(e.endValue), c = k(""), d = K(e), s = ee(e, t, d), i = (S) => {
535
+ t.emit("beginValueChange", S);
536
+ }, r = A(e, t, o, n, s, d, i, n, a, !0), l = U(e, t, o, n, s, d, r, i, n, a, !0), u = q(e, t, r), p = $(e, t, l, !0), f = (S) => {
537
+ t.emit("endValueChange", S);
538
+ }, b = A(e, t, c, a, s, d, f, n, a, !1), V = U(e, t, c, a, s, d, b, f, n, a, !1), E = q(e, t, b), D = $(e, t, V, !1), {
539
+ getRealValue: x
540
+ } = d, {
541
+ format: C
542
+ } = s, B = P(() => !e.disabled && !e.readonly && e.showButton);
543
+ return G(() => {
544
+ const S = x(e.beginValue), y = x(e.endValue);
545
+ o.value = C(S), c.value = C(y);
546
+ }), j(() => [e.beginValue], ([S]) => {
547
+ if (!l.isTextBoxFocused.value) {
548
+ const y = x(S);
549
+ o.value = C(y);
550
+ }
551
+ }), j(() => [e.endValue], ([S]) => {
552
+ if (!V.isTextBoxFocused.value) {
553
+ const y = x(S);
554
+ c.value = C(y);
555
+ }
556
+ }), j(() => [e.precision, e.useThousands, e.prefix, e.suffix, e.showZero], () => {
557
+ o.value = C(n.value), c.value = C(a.value);
558
+ }), () => M("div", {
559
+ class: "input-group number-range f-cmp-number-spinner"
560
+ }, [M("div", {
561
+ class: "form-control input-container"
562
+ }, [M("div", {
563
+ class: "sub-input-group"
564
+ }, [p(), B.value && u()]), M("span", {
565
+ class: "spliter"
566
+ }, [X("~")]), M("div", {
567
+ class: "sub-input-group"
568
+ }, [D(), B.value && E()])])]);
569
+ }
570
+ });
571
+ function Ne(e, t, n) {
572
+ var S;
573
+ function o() {
574
+ n != null && n.resolveComponentContext && n.resolveComponentContext();
575
+ }
576
+ o();
577
+ const a = n && n.getStyles && n.getStyles() || "", c = n && n.getDesignerClass && n.getDesignerClass() || "", d = k();
578
+ function s() {
579
+ return (t == null ? void 0 : t.schema.componentType) === "frame" ? !1 : n && n.checkCanMoveComponent ? n.checkCanMoveComponent() : !0;
580
+ }
581
+ function i() {
582
+ return !1;
583
+ }
584
+ function r() {
585
+ return (t == null ? void 0 : t.schema.componentType) === "frame" ? !1 : n && n.checkCanDeleteComponent ? n.checkCanDeleteComponent() : !0;
586
+ }
587
+ function l() {
588
+ return (t == null ? void 0 : t.schema.componentType) === "frame" ? !0 : n && n.hideNestedPaddingInDesginerView ? n.hideNestedPaddingInDesginerView() : !1;
589
+ }
590
+ function u(y) {
591
+ if (!y || !y.value)
592
+ return null;
593
+ if (y.value.schema && y.value.schema.type === "component")
594
+ return y.value;
595
+ const h = k(y == null ? void 0 : y.value.parent), g = u(h);
596
+ return g || null;
597
+ }
598
+ function p(y = t) {
599
+ const { componentInstance: h, designerItemElementRef: g } = y;
600
+ return !h || !h.value ? null : h.value.canMove ? g : p(y.parent);
601
+ }
602
+ function f(y) {
603
+ return !!n && n.canAccepts(y);
604
+ }
605
+ function b() {
606
+ return (t == null ? void 0 : t.schema.label) || (t == null ? void 0 : t.schema.title) || (t == null ? void 0 : t.schema.name);
607
+ }
608
+ function V() {
609
+ }
610
+ function E(y, h) {
611
+ h && n != null && n.onAcceptMovedChildElement && n.onAcceptMovedChildElement(h);
612
+ }
613
+ function D(y) {
614
+ const { componentType: h } = y;
615
+ let g = z(h, y);
616
+ n && n.onResolveNewComponentSchema && (g = n.onResolveNewComponentSchema(y, g));
617
+ const v = h.toLowerCase().replace("-", "_");
618
+ return g && !g.id && g.type === h && (g.id = `${v}_${Math.random().toString().slice(2, 6)}`), g;
619
+ }
620
+ function x(y, h) {
621
+ const g = String(y.getAttribute("data-controltype")), v = y.getAttribute("data-feature"), w = v ? JSON.parse(v) : {};
622
+ w.parentComponentInstance = d.value;
623
+ let N = z(g, w);
624
+ n && n.onAcceptNewChildElement && (N = n.onAcceptNewChildElement(y, h, N));
625
+ const te = g.toLowerCase().replace("-", "_");
626
+ return N && !N.id && N.type === g && (N.id = `${te}_${Math.random().toString().slice(2, 6)}`), N;
627
+ }
628
+ function C(y) {
629
+ }
630
+ function B(...y) {
631
+ if (n && n.getPropsConfig)
632
+ return n.getPropsConfig(...y);
633
+ }
634
+ return d.value = {
635
+ canMove: s(),
636
+ canSelectParent: i(),
637
+ canDelete: r(),
638
+ canNested: !l(),
639
+ contents: t == null ? void 0 : t.schema.contents,
640
+ elementRef: e,
641
+ parent: (S = t == null ? void 0 : t.parent) == null ? void 0 : S.componentInstance,
642
+ schema: t == null ? void 0 : t.schema,
643
+ styles: a,
644
+ designerClass: c,
645
+ canAccepts: f,
646
+ getBelongedComponentInstance: u,
647
+ getDraggableDesignItemElement: p,
648
+ getDraggingDisplayText: b,
649
+ getPropConfig: B,
650
+ getDragScopeElement: V,
651
+ onAcceptMovedChildElement: E,
652
+ onAcceptNewChildElement: x,
653
+ onChildElementMovedOut: C,
654
+ addNewChildComponentSchema: D,
655
+ updateDragAndDropRules: o,
656
+ triggerBelongedComponentToMoveWhenMoved: !!n && n.triggerBelongedComponentToMoveWhenMoved || k(!1),
657
+ triggerBelongedComponentToDeleteWhenDeleted: !!n && n.triggerBelongedComponentToDeleteWhenDeleted || k(!1)
658
+ }, d;
659
+ }
660
+ function Se(e, t) {
661
+ e.schema;
662
+ const n = k(!0), o = k(!0);
663
+ function a(u) {
664
+ return !1;
665
+ }
666
+ function c() {
667
+ return !1;
668
+ }
669
+ function d() {
670
+ return !1;
671
+ }
672
+ function s() {
673
+ return !0;
674
+ }
675
+ function i(u) {
676
+ }
677
+ function r() {
678
+ }
679
+ function l(u) {
680
+ return null;
681
+ }
682
+ return {
683
+ canAccepts: a,
684
+ checkCanDeleteComponent: c,
685
+ checkCanMoveComponent: d,
686
+ hideNestedPaddingInDesginerView: s,
687
+ onAcceptMovedChildElement: i,
688
+ resolveComponentContext: r,
689
+ triggerBelongedComponentToMoveWhenMoved: n,
690
+ triggerBelongedComponentToDeleteWhenDeleted: o,
691
+ getPropsConfig: l
692
+ };
693
+ }
694
+ class Ve {
695
+ constructor(t, n) {
696
+ F(this, "componentId");
697
+ F(this, "viewModelId");
698
+ F(this, "eventsEditorUtils");
699
+ F(this, "formSchemaUtils");
700
+ F(this, "formMetadataConverter");
701
+ F(this, "designViewModelUtils");
702
+ F(this, "designViewModelField");
703
+ F(this, "controlCreatorUtils");
704
+ F(this, "designerHostService");
705
+ F(this, "schemaService", null);
706
+ F(this, "metadataService", null);
707
+ F(this, "propertyConfig", {
708
+ type: "object",
709
+ categories: {}
710
+ });
711
+ var o;
712
+ 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;
713
+ }
714
+ getTableInfo() {
715
+ var t;
716
+ return (t = this.schemaService) == null ? void 0 : t.getTableInfoByViewModelId(this.viewModelId);
717
+ }
718
+ setDesignViewModelField(t) {
719
+ const n = t.binding && t.binding.type === "Form" && t.binding.field;
720
+ if (n) {
721
+ if (!this.designViewModelField) {
722
+ const o = this.designViewModelUtils.getDgViewModel(this.viewModelId);
723
+ this.designViewModelField = o.fields.find((a) => a.id === n);
724
+ }
725
+ t.updateOn = this.designViewModelField.updateOn;
726
+ }
727
+ }
728
+ changeFieldEditorType(t, n) {
729
+ }
730
+ getBasicPropConfig(t) {
731
+ return {
732
+ description: "Basic Information",
733
+ title: "基本信息",
734
+ properties: {
735
+ id: {
736
+ description: "组件标识",
737
+ title: "标识",
738
+ type: "string",
739
+ readonly: !0
740
+ },
741
+ type: {
742
+ description: "组件类型",
743
+ title: "控件类型",
744
+ type: "select",
745
+ editor: {
746
+ type: "combo-list",
747
+ textField: "name",
748
+ valueField: "value",
749
+ data: [{ value: t.type, name: m[t.type].name }]
750
+ }
751
+ }
752
+ }
753
+ };
754
+ }
755
+ getAppearanceConfig(t = null) {
756
+ return {
757
+ title: "样式",
758
+ description: "Appearance",
759
+ properties: {
760
+ class: {
761
+ title: "class样式",
762
+ type: "string",
763
+ description: "组件的CSS样式",
764
+ $converter: "/converter/appearance.converter"
765
+ },
766
+ style: {
767
+ title: "style样式",
768
+ type: "string",
769
+ description: "组件的样式",
770
+ $converter: "/converter/appearance.converter"
771
+ }
772
+ }
773
+ };
774
+ }
775
+ }
776
+ const O = class O {
777
+ /**
778
+ * 根据绑定字段类型获取可用的输入类控件
779
+ */
780
+ static getEditorTypesByMDataType(t) {
781
+ const n = O.fieldControlTypeMapping[t];
782
+ return n || [{ key: "", value: "" }];
783
+ }
784
+ /**
785
+ * 获取所有输入类控件
786
+ */
787
+ static getAllInputTypes() {
788
+ const t = [];
789
+ for (let n in O.fieldControlTypeMapping)
790
+ O.fieldControlTypeMapping[n].forEach((o) => {
791
+ t.find((a) => a.key === o.key && a.value === o.value) || t.push({ key: o.key, value: o.value });
792
+ });
793
+ return t;
794
+ }
795
+ };
796
+ /**
797
+ * <字段类型,可配置的控件类型列表>的映射
798
+ */
799
+ F(O, "fieldControlTypeMapping", {
800
+ String: [
801
+ { key: m["input-group"].type, value: m["input-group"].name },
802
+ { key: m.lookup.type, value: m.lookup.name },
803
+ { key: m["date-picker"].type, value: m["date-picker"].name },
804
+ { key: m["check-box"].type, value: m["check-box"].name },
805
+ { key: m["radio-group"].type, value: m["radio-group"].name },
806
+ { key: m["combo-list"].type, value: m["combo-list"].name },
807
+ { key: m.textarea.type, value: m.textarea.name }
808
+ ],
809
+ Text: [
810
+ { key: m.textarea.type, value: m.textarea.name },
811
+ { key: m.lookup.type, value: m.lookup.name }
812
+ ],
813
+ Decimal: [
814
+ { key: m["number-spinner"].type, value: m["number-spinner"].name }
815
+ ],
816
+ Integer: [
817
+ { key: m["number-spinner"].type, value: m["number-spinner"].name }
818
+ ],
819
+ Number: [
820
+ { key: m["number-spinner"].type, value: m["number-spinner"].name }
821
+ ],
822
+ BigNumber: [
823
+ { key: m["number-spinner"].type, value: m["number-spinner"].name }
824
+ ],
825
+ Date: [
826
+ { key: m["date-picker"].type, value: m["date-picker"].name }
827
+ ],
828
+ DateTime: [
829
+ { key: m["date-picker"].type, value: m["date-picker"].name }
830
+ ],
831
+ Boolean: [
832
+ { key: m.switch.type, value: m.switch.name },
833
+ { key: m["check-box"].type, value: m["check-box"].name }
834
+ ],
835
+ Enum: [
836
+ { key: m["combo-list"].type, value: m["combo-list"].name },
837
+ { key: m["radio-group"].type, value: m["radio-group"].name }
838
+ ],
839
+ Object: [
840
+ { key: m.lookup.type, value: m.lookup.name },
841
+ { key: m["combo-list"].type, value: m["combo-list"].name },
842
+ { key: m["radio-group"].type, value: m["radio-group"].name }
843
+ ]
844
+ });
845
+ let W = O;
846
+ const ke = k(0);
847
+ class Te extends Ve {
848
+ constructor(t, n) {
849
+ super(t, n);
850
+ }
851
+ getPropertyConfig(t, n) {
852
+ 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;
853
+ }
854
+ getBasicProperties(t, n) {
855
+ var d;
856
+ var o = this;
857
+ this.setDesignViewModelField(t);
858
+ const a = this.formSchemaUtils.getFormMetadataBasicInfo(), c = this.designViewModelUtils.getAllFields2TreeByVMId(this.viewModelId);
859
+ return {
860
+ description: "Basic Information",
861
+ title: "基本信息",
862
+ properties: {
863
+ id: {
864
+ description: "组件标识",
865
+ title: "标识",
866
+ type: "string",
867
+ readonly: !0
868
+ },
869
+ type: {
870
+ description: "组件类型",
871
+ title: "控件类型",
872
+ type: "string",
873
+ refreshPanelAfterChanged: !0,
874
+ $converter: "/converter/change-editor.converter",
875
+ editor: {
876
+ type: "combo-list",
877
+ textField: "value",
878
+ valueField: "key",
879
+ editable: !1,
880
+ data: o.designViewModelField ? W.getEditorTypesByMDataType((d = o.designViewModelField.type) == null ? void 0 : d.name) : W.getAllInputTypes()
881
+ }
882
+ },
883
+ label: {
884
+ title: "标签",
885
+ type: "string",
886
+ $converter: "/converter/form-group-label.converter"
887
+ },
888
+ binding: {
889
+ description: "绑定的表单字段",
890
+ title: "绑定",
891
+ $converter: "/converter/field-selector.converter",
892
+ editor: {
893
+ type: "field-selector",
894
+ bindingType: { enable: !1 },
895
+ editorParams: {
896
+ propertyData: t,
897
+ formBasicInfo: a
898
+ },
899
+ columns: [
900
+ { field: "name", title: "字段名称" },
901
+ { field: "bindingField", title: "绑定字段" },
902
+ { field: "fieldType", title: "字段类型" }
903
+ ],
904
+ textField: "bindingField",
905
+ data: c
906
+ }
907
+ }
908
+ },
909
+ setPropertyRelates(s, i) {
910
+ if (s)
911
+ switch (s && s.propertyID) {
912
+ case "type": {
913
+ o.changeControlType(t, s, n);
914
+ break;
915
+ }
916
+ }
917
+ }
918
+ };
919
+ }
920
+ getAppearanceProperties(t) {
921
+ return {
922
+ title: "样式",
923
+ description: "Appearance",
924
+ properties: {
925
+ class: {
926
+ title: "class样式",
927
+ type: "string",
928
+ description: "组件的CSS样式",
929
+ $converter: "/converter/appearance.converter"
930
+ },
931
+ style: {
932
+ title: "style样式",
933
+ type: "string",
934
+ description: "组件的样式",
935
+ $converter: "/converter/appearance.converter"
936
+ },
937
+ responseLayout: {
938
+ description: "响应式列宽",
939
+ title: "响应式列宽",
940
+ type: "boolean",
941
+ visible: !1,
942
+ editor: {
943
+ type: "response-layout-editor-setting"
944
+ },
945
+ $converter: "/converter/response-form-layout.converter"
946
+ }
947
+ }
948
+ };
949
+ }
950
+ getEditorProperties(t) {
951
+ return this.getComponentConfig(t);
952
+ }
953
+ /**
954
+ * 卡片控件:切换控件类型后事件
955
+ * @param propertyData 控件DOM属性
956
+ * @param newControlType 新控件类型
957
+ */
958
+ changeControlType(t, n, o) {
959
+ var r, l, u, p;
960
+ const a = n.propertyValue, c = o && o.parent && o.parent.schema;
961
+ if (!c)
962
+ return;
963
+ const d = c.contents.findIndex((f) => f.id === t.id), s = c.contents[d];
964
+ let i;
965
+ this.designViewModelField && (this.designViewModelUtils.getDgViewModel(this.viewModelId).changeField(this.designViewModelField.id, {
966
+ editor: {
967
+ $type: a
968
+ },
969
+ name: this.designViewModelField.name,
970
+ require: this.designViewModelField.require,
971
+ readonly: this.designViewModelField.readonly
972
+ }, !1), i = this.controlCreatorUtils.setFormFieldProperty(this.designViewModelField, a)), i || (i = J("form-group") || {}, i.editor = J(a) || {}, delete i.editor.id, delete i.editor.binding, delete i.editor.appearance), Object.assign(i, {
973
+ id: s.id,
974
+ appearance: s.appearance,
975
+ size: s.size,
976
+ label: s.label,
977
+ binding: s.binding,
978
+ visible: s.visible
979
+ }), Object.assign(i.editor, {
980
+ isTextArea: i.isTextArea && s.isTextArea,
981
+ placeholder: (r = s.editor) == null ? void 0 : r.placeholder,
982
+ holdPlace: (l = s.editor) == null ? void 0 : l.holdPlace,
983
+ readonly: (u = s.editor) == null ? void 0 : u.readonly,
984
+ require: (p = s.editor) == null ? void 0 : p.require
985
+ }), c.contents.splice(d, 1), c.contents.splice(d, 0, i), o.schema = Object.assign(s, i), Array.from(document.getElementsByClassName("dgComponentSelected")).forEach(
986
+ (f) => f.classList.remove("dgComponentSelected")
987
+ ), ke.value++;
988
+ }
989
+ getComponentConfig(t, n = {}, o = {}) {
990
+ const a = Object.assign({
991
+ description: "组件信息",
992
+ title: "组件信息",
993
+ type: "input-group",
994
+ $converter: "/converter/property-editor.converter"
995
+ }, n), c = Object.assign({
996
+ readonly: {
997
+ description: "",
998
+ title: "只读",
999
+ type: "boolean"
1000
+ },
1001
+ disabled: {
1002
+ description: "",
1003
+ title: "禁用",
1004
+ type: "boolean"
1005
+ },
1006
+ // required: {
1007
+ // description: "",
1008
+ // title: "必填",
1009
+ // type: "boolean"
1010
+ // },
1011
+ placeholder: {
1012
+ description: "空值时,输入控件内的占位文本",
1013
+ title: "提示文本",
1014
+ type: "string"
1015
+ }
1016
+ }, o);
1017
+ return { ...a, properties: { ...c } };
1018
+ }
1019
+ }
1020
+ class Me extends Te {
1021
+ constructor(t, n) {
1022
+ super(t, n);
1023
+ }
1024
+ getEditorProperties(t) {
1025
+ return this.getComponentConfig(t, { type: "number-range" }, {
1026
+ editable: {
1027
+ description: "",
1028
+ title: "允许编辑",
1029
+ type: "boolean"
1030
+ }
1031
+ });
1032
+ }
1033
+ }
1034
+ function xe(e, t) {
1035
+ const {
1036
+ canAccepts: n,
1037
+ checkCanDeleteComponent: o,
1038
+ checkCanMoveComponent: a,
1039
+ hideNestedPaddingInDesginerView: c,
1040
+ onAcceptMovedChildElement: d,
1041
+ resolveComponentContext: s,
1042
+ triggerBelongedComponentToMoveWhenMoved: i,
1043
+ triggerBelongedComponentToDeleteWhenDeleted: r
1044
+ } = Se(e), l = e.schema;
1045
+ function u(p, f) {
1046
+ return new Me(p, t).getPropertyConfig(l, f);
1047
+ }
1048
+ return {
1049
+ canAccepts: n,
1050
+ checkCanDeleteComponent: o,
1051
+ checkCanMoveComponent: a,
1052
+ hideNestedPaddingInDesginerView: c,
1053
+ onAcceptMovedChildElement: d,
1054
+ resolveComponentContext: s,
1055
+ triggerBelongedComponentToMoveWhenMoved: i,
1056
+ triggerBelongedComponentToDeleteWhenDeleted: r,
1057
+ getPropsConfig: u
1058
+ };
1059
+ }
1060
+ const Fe = /* @__PURE__ */ Q({
1061
+ name: "FNumberRangeDesign",
1062
+ props: H,
1063
+ emits: ["valueChange", "blur", "focus", "click", "input", "beginValueChange", "endValueChange"],
1064
+ setup(e, t) {
1065
+ const n = k(e.beginValue), o = k(""), a = k(e.endValue), c = k(""), d = K(e), s = ee(e, t, d), i = (w) => {
1066
+ t.emit("beginValueChange", w);
1067
+ }, r = k(), l = R("designer-host-service"), u = R("design-item-context"), p = xe(u, l), f = Ne(r, u, p);
1068
+ G(() => {
1069
+ r.value.componentInstance = f;
1070
+ }), t.expose(f.value);
1071
+ const b = A(e, t, o, n, s, d, i, n, a, !0), V = U(e, t, o, n, s, d, b, i, n, a, !0), E = q(e, t, b), D = $(e, t, V, !0), x = (w) => {
1072
+ t.emit("endValueChange", w);
1073
+ }, C = A(e, t, c, a, s, d, x, n, a, !1), B = U(e, t, c, a, s, d, C, x, n, a, !1), S = q(e, t, C), y = $(e, t, B, !1), {
1074
+ getRealValue: h
1075
+ } = d, {
1076
+ format: g
1077
+ } = s, v = P(() => !e.disabled && !e.readonly && e.showButton);
1078
+ return G(() => {
1079
+ const w = h(e.beginValue), N = h(e.endValue);
1080
+ o.value = g(w), c.value = g(N);
1081
+ }), j(() => [e.beginValue], ([w]) => {
1082
+ const N = h(w);
1083
+ o.value = g(N);
1084
+ }), j(() => [e.endValue], ([w]) => {
1085
+ const N = h(w);
1086
+ c.value = g(N);
1087
+ }), j(() => [e.precision, e.useThousands, e.prefix, e.suffix, e.showZero], () => {
1088
+ o.value = g(n.value), c.value = g(a.value);
1089
+ }), () => M("div", {
1090
+ ref: r,
1091
+ class: "input-group number-range f-cmp-number-spinner"
1092
+ }, [M("div", {
1093
+ class: "form-control input-container"
1094
+ }, [M("div", {
1095
+ class: "sub-input-group"
1096
+ }, [D(), v.value && E()]), M("span", {
1097
+ class: "spliter"
1098
+ }, [X("~")]), M("div", {
1099
+ class: "sub-input-group"
1100
+ }, [y(), v.value && S()])])]);
1101
+ }
1102
+ }), De = (e) => {
1103
+ const t = e;
1104
+ return t.install = function(n) {
1105
+ n.component(t.name, e);
1106
+ }, e;
1107
+ };
1108
+ L.register = (e, t, n, o) => {
1109
+ e["number-range"] = L, t["number-range"] = I;
1110
+ };
1111
+ L.registerDesigner = (e, t, n) => {
1112
+ e["number-range"] = Fe, t["number-range"] = I;
1113
+ };
1114
+ const Ue = De(L);
1115
+ export {
1116
+ L as FNumberRange,
1117
+ Ue as default,
1118
+ H as numberRangeProps,
1119
+ I as propsResolver
1120
+ };