@farris/ui-vue 1.2.8 → 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 (283) hide show
  1. package/components/accordion/index.esm.js +180 -180
  2. package/components/accordion/index.umd.cjs +1 -0
  3. package/components/avatar/index.esm.js +419 -331
  4. package/components/avatar/index.umd.cjs +1 -0
  5. package/components/border-editor/index.umd.cjs +1 -0
  6. package/components/button/index.umd.cjs +1 -0
  7. package/components/button-edit/index.css +1 -1
  8. package/components/button-edit/index.esm.js +346 -326
  9. package/components/button-edit/index.umd.cjs +1 -0
  10. package/components/button-group/index.umd.cjs +1 -0
  11. package/components/calculator/index.umd.cjs +1 -0
  12. package/components/calendar/index.esm.js +384 -384
  13. package/components/calendar/index.umd.cjs +1 -0
  14. package/components/capsule/index.esm.js +205 -205
  15. package/components/capsule/index.umd.cjs +1 -0
  16. package/components/checkbox/index.esm.js +555 -467
  17. package/components/checkbox/index.umd.cjs +1 -0
  18. package/components/color-picker/index.esm.js +239 -239
  19. package/components/color-picker/index.umd.cjs +3 -0
  20. package/components/combo-list/index.css +1 -0
  21. package/components/combo-list/index.esm.js +1072 -364
  22. package/components/combo-list/index.umd.cjs +1 -0
  23. package/components/combo-tree/index.esm.js +129 -129
  24. package/components/combo-tree/index.umd.cjs +1 -0
  25. package/components/common/index.esm.js +778 -700
  26. package/components/common/index.umd.cjs +1 -0
  27. package/components/component/index.esm.js +582 -327
  28. package/components/component/index.umd.cjs +1 -0
  29. package/components/condition/index.css +1 -0
  30. package/components/condition/index.esm.js +2433 -1134
  31. package/components/condition/index.umd.cjs +1 -0
  32. package/components/content-container/index.esm.js +307 -234
  33. package/components/content-container/index.umd.cjs +1 -0
  34. package/components/data-grid/index.css +1 -1
  35. package/components/data-grid/index.esm.js +6762 -4946
  36. package/components/data-grid/index.umd.cjs +1 -0
  37. package/components/data-view/index.css +1 -0
  38. package/components/data-view/index.esm.js +4977 -3489
  39. package/components/data-view/index.umd.cjs +1 -0
  40. package/components/date-picker/index.css +1 -1
  41. package/components/date-picker/index.esm.js +3525 -2811
  42. package/components/date-picker/index.umd.cjs +1 -0
  43. package/components/designer-canvas/index.css +1 -1
  44. package/components/designer-canvas/index.esm.js +938 -928
  45. package/components/designer-canvas/index.umd.cjs +1 -0
  46. package/components/designer-outline/index.css +1 -1
  47. package/components/designer-outline/index.esm.js +38 -37
  48. package/components/designer-outline/index.umd.cjs +1 -0
  49. package/components/designer-toolbox/index.esm.js +36 -12
  50. package/components/designer-toolbox/index.umd.cjs +1 -0
  51. package/components/discussion-editor/index.umd.cjs +3 -0
  52. package/components/discussion-list/index.umd.cjs +1 -0
  53. package/components/drawer/index.umd.cjs +1 -0
  54. package/components/dropdown/index.esm.js +282 -282
  55. package/components/dropdown/index.umd.cjs +2 -0
  56. package/components/dynamic-form/index.css +1 -0
  57. package/components/dynamic-form/index.esm.js +2684 -1039
  58. package/components/dynamic-form/index.umd.cjs +1 -0
  59. package/components/dynamic-resolver/index.esm.js +149 -101
  60. package/components/dynamic-resolver/index.umd.cjs +1 -0
  61. package/components/dynamic-view/index.esm.js +303 -290
  62. package/components/dynamic-view/index.umd.cjs +1 -0
  63. package/components/enum-editor/index.umd.cjs +1 -0
  64. package/components/events-editor/index.esm.js +573 -518
  65. package/components/events-editor/index.umd.cjs +1 -0
  66. package/components/expression-editor/index.esm.js +99 -99
  67. package/components/expression-editor/index.umd.cjs +1 -0
  68. package/components/external-container/index.css +1 -1
  69. package/components/external-container/index.esm.js +3607 -2799
  70. package/components/external-container/index.umd.cjs +1 -0
  71. package/components/field-selector/index.css +1 -1
  72. package/components/field-selector/index.esm.js +5438 -8236
  73. package/components/field-selector/index.umd.cjs +1 -0
  74. package/components/filter-bar/index.css +1 -1
  75. package/components/filter-bar/index.esm.js +1679 -1759
  76. package/components/filter-bar/index.umd.cjs +1 -0
  77. package/components/flow-canvas/index.css +1 -1
  78. package/components/flow-canvas/index.esm.js +1062 -1052
  79. package/components/flow-canvas/index.umd.cjs +1 -0
  80. package/components/image-cropper/index.esm.js +421 -421
  81. package/components/image-cropper/index.umd.cjs +1 -0
  82. package/components/input-group/index.esm.js +677 -593
  83. package/components/input-group/index.umd.cjs +1 -0
  84. package/components/layout/index.esm.js +326 -326
  85. package/components/layout/index.umd.cjs +1 -0
  86. package/components/list-nav/index.esm.js +272 -199
  87. package/components/list-nav/index.umd.cjs +1 -0
  88. package/components/list-view/index.css +1 -1
  89. package/components/list-view/index.esm.js +3739 -2273
  90. package/components/list-view/index.umd.cjs +1 -0
  91. package/components/loading/index.umd.cjs +8 -0
  92. package/components/locale/index.umd.cjs +1 -0
  93. package/components/lookup/index.css +1 -1
  94. package/components/lookup/index.esm.js +11255 -9004
  95. package/components/lookup/index.umd.cjs +1 -0
  96. package/components/mapping-editor/index.css +1 -1
  97. package/components/mapping-editor/index.esm.js +6046 -5314
  98. package/components/mapping-editor/index.umd.cjs +1 -0
  99. package/components/message-box/index.css +1 -1
  100. package/components/message-box/index.esm.js +511 -471
  101. package/components/message-box/index.umd.cjs +1 -0
  102. package/components/modal/index.css +1 -1
  103. package/components/modal/index.esm.js +438 -398
  104. package/components/modal/index.umd.cjs +1 -0
  105. package/components/nav/index.esm.js +588 -444
  106. package/components/nav/index.umd.cjs +3 -0
  107. package/components/notify/index.esm.js +59 -53
  108. package/components/notify/index.umd.cjs +1 -0
  109. package/components/number-range/index.esm.js +568 -485
  110. package/components/number-range/index.umd.cjs +1 -0
  111. package/components/number-spinner/index.esm.js +542 -454
  112. package/components/number-spinner/index.umd.cjs +1 -0
  113. package/components/order/index.css +1 -1
  114. package/components/order/index.esm.js +1967 -1105
  115. package/components/order/index.umd.cjs +1 -0
  116. package/components/page-footer/index.esm.js +160 -160
  117. package/components/page-footer/index.umd.cjs +1 -0
  118. package/components/page-header/index.esm.js +1282 -1151
  119. package/components/page-header/index.umd.cjs +1 -0
  120. package/components/pagination/index.esm.js +705 -555
  121. package/components/pagination/index.umd.cjs +1 -0
  122. package/components/popover/index.esm.js +71 -70
  123. package/components/popover/index.umd.cjs +1 -0
  124. package/components/progress/index.esm.js +270 -270
  125. package/components/progress/index.umd.cjs +3 -0
  126. package/components/property-editor/index.css +1 -1
  127. package/components/property-editor/index.esm.js +2231 -1517
  128. package/components/property-editor/index.umd.cjs +3 -0
  129. package/components/property-panel/index.esm.js +813 -909
  130. package/components/property-panel/index.umd.cjs +1 -0
  131. package/components/query-solution/index.css +1 -1
  132. package/components/query-solution/index.esm.js +3781 -2566
  133. package/components/query-solution/index.umd.cjs +1 -0
  134. package/components/radio-button/index.esm.js +101 -101
  135. package/components/radio-button/index.umd.cjs +1 -0
  136. package/components/radio-group/index.esm.js +538 -450
  137. package/components/radio-group/index.umd.cjs +1 -0
  138. package/components/rate/index.esm.js +238 -233
  139. package/components/rate/index.umd.cjs +1 -0
  140. package/components/response-layout/index.esm.js +155 -155
  141. package/components/response-layout/index.umd.cjs +1 -0
  142. package/components/response-layout-editor/index.css +1 -1
  143. package/components/response-layout-editor/index.esm.js +1243 -1180
  144. package/components/response-layout-editor/index.umd.cjs +1 -0
  145. package/components/response-toolbar/index.esm.js +988 -877
  146. package/components/response-toolbar/index.umd.cjs +1 -0
  147. package/components/schema-selector/index.css +1 -1
  148. package/components/schema-selector/index.esm.js +5413 -4867
  149. package/components/schema-selector/index.umd.cjs +8 -0
  150. package/components/search-box/index.esm.js +199 -199
  151. package/components/search-box/index.umd.cjs +1 -0
  152. package/components/section/index.esm.js +646 -503
  153. package/components/section/index.umd.cjs +1 -0
  154. package/components/smoke-detector/index.esm.js +144 -144
  155. package/components/smoke-detector/index.umd.cjs +1 -0
  156. package/components/spacing-editor/index.umd.cjs +1 -0
  157. package/components/splitter/index.esm.js +464 -391
  158. package/components/splitter/index.umd.cjs +1 -0
  159. package/components/step/index.esm.js +249 -249
  160. package/components/step/index.umd.cjs +1 -0
  161. package/components/switch/index.esm.js +483 -394
  162. package/components/switch/index.umd.cjs +1 -0
  163. package/components/tabs/index.css +1 -1
  164. package/components/tabs/index.esm.js +2366 -2208
  165. package/components/tabs/index.umd.cjs +1 -0
  166. package/components/tags/index.esm.js +397 -399
  167. package/components/tags/index.umd.cjs +1 -0
  168. package/components/text/index.esm.js +394 -394
  169. package/components/text/index.umd.cjs +1 -0
  170. package/components/textarea/index.esm.js +451 -367
  171. package/components/textarea/index.umd.cjs +1 -0
  172. package/components/time-picker/index.css +1 -1
  173. package/components/time-picker/index.esm.js +1252 -1144
  174. package/components/time-picker/index.umd.cjs +1 -0
  175. package/components/tooltip/index.umd.cjs +1 -0
  176. package/components/transfer/index.css +1 -1
  177. package/components/transfer/index.esm.js +510 -499
  178. package/components/transfer/index.umd.cjs +1 -0
  179. package/components/tree-grid/index.css +1 -1
  180. package/components/tree-grid/index.esm.js +5463 -9330
  181. package/components/tree-grid/index.umd.cjs +1 -0
  182. package/components/tree-view/index.css +1 -0
  183. package/components/tree-view/index.esm.js +4058 -2597
  184. package/components/tree-view/index.umd.cjs +1 -0
  185. package/components/uploader/index.esm.js +510 -504
  186. package/components/uploader/index.umd.cjs +2 -0
  187. package/components/verify-detail/index.esm.js +220 -220
  188. package/components/verify-detail/index.umd.cjs +1 -0
  189. package/components/video/index.esm.js +653 -394
  190. package/components/video/index.umd.cjs +1 -0
  191. package/components/weather/index.esm.js +1028 -1028
  192. package/components/weather/index.umd.cjs +16 -0
  193. package/farris.all.esm.js +20407 -18556
  194. package/farris.all.umd.cjs +8 -8
  195. package/index.css +1 -1
  196. package/package.json +1 -1
  197. package/types/button-edit/src/designer/button-group.design.component.d.ts +7 -0
  198. package/types/capsule/src/capsule.props.d.ts +2 -2
  199. package/types/combo-list/src/components/list-container.props.d.ts +1 -1
  200. package/types/common/entity/entity-schema.d.ts +258 -0
  201. package/types/common/index.d.ts +1 -0
  202. package/types/common/types.d.ts +1 -1
  203. package/types/common/utils/encrypt.d.ts +2 -0
  204. package/types/component/src/component-ref.props.d.ts +4 -0
  205. package/types/component/src/component.props.d.ts +7 -0
  206. package/types/component/src/composition/inner-component-build-info.d.ts +27 -0
  207. package/types/component/src/designer/use-designer-rules.d.ts +2 -2
  208. package/types/component/src/property-config/component.property-config.d.ts +9 -0
  209. package/types/components.d.ts +1 -0
  210. package/types/data-grid/index.d.ts +8 -2
  211. package/types/data-grid/src/composition/data-grid-component-creator.service.d.ts +33 -0
  212. package/types/data-grid/src/data-grid.component.d.ts +3 -1
  213. package/types/data-grid/src/data-grid.props.d.ts +3 -2
  214. package/types/data-grid/src/property-config/data-grid.property-config.d.ts +4 -0
  215. package/types/data-grid/src/schema/schema-resolver.d.ts +2 -1
  216. package/types/data-view/components/column-format/boolean.component.d.ts +4 -0
  217. package/types/data-view/components/column-format/column-format.component.d.ts +4 -0
  218. package/types/data-view/components/column-format/date.component.d.ts +4 -0
  219. package/types/data-view/components/column-format/enum.component.d.ts +4 -0
  220. package/types/data-view/components/column-format/number.component.d.ts +4 -0
  221. package/types/data-view/composition/pagination/use-pagination.d.ts +1 -0
  222. package/types/data-view/composition/types.d.ts +36 -7
  223. package/types/data-view/composition/use-edit.d.ts +2 -1
  224. package/types/data-view/composition/visualization/use-virtual-scroll.d.ts +0 -15
  225. package/types/designer-canvas/src/composition/dg-control.d.ts +5 -0
  226. package/types/designer-canvas/src/composition/function/use-dragula.d.ts +2 -2
  227. package/types/designer-canvas/src/composition/types.d.ts +1 -1
  228. package/types/designer-canvas/src/types.d.ts +2 -2
  229. package/types/dynamic-form/index.d.ts +2 -1
  230. package/types/dynamic-form/src/composition/response-form-component-creator.service.d.ts +31 -0
  231. package/types/dynamic-form/src/composition/use-response-form-layout-setting.d.ts +2 -0
  232. package/types/dynamic-form/src/designer/response-form-layout-setting.component.d.ts +8 -0
  233. package/types/dynamic-form/src/designer/response-form-layout-setting.props.d.ts +4 -0
  234. package/types/dynamic-form/src/designer/use-designer-rules.d.ts +2 -2
  235. package/types/dynamic-form/src/property-config/form.property-config.d.ts +9 -0
  236. package/types/dynamic-form/src/schema/schema-mapper.d.ts +1 -0
  237. package/types/dynamic-form/src/schema/schema-resolver.d.ts +3 -1
  238. package/types/dynamic-form/src/types.d.ts +12 -1
  239. package/types/dynamic-resolver/index.d.ts +1 -0
  240. package/types/dynamic-resolver/src/event-handler-resolver.d.ts +4 -0
  241. package/types/dynamic-resolver/src/schema-resolver.d.ts +2 -1
  242. package/types/dynamic-resolver/src/types.d.ts +12 -2
  243. package/types/dynamic-view/index.d.ts +1 -0
  244. package/types/dynamic-view/src/event-dispatcher.d.ts +1 -1
  245. package/types/index.d.ts +2 -0
  246. package/types/lookup/src/components/favorite/lookup-favorite.component.d.ts +29 -0
  247. package/types/lookup/src/components/favorite/lookup-favorite.props.d.ts +15 -0
  248. package/types/lookup/src/components/modal-container.component.d.ts +25 -0
  249. package/types/lookup/src/components/modal-container.props.d.ts +29 -0
  250. package/types/lookup/src/composition/types.d.ts +8 -0
  251. package/types/lookup/src/composition/use-check-props.d.ts +9 -2
  252. package/types/lookup/src/composition/use-dialog.d.ts +5 -1
  253. package/types/lookup/src/composition/use-favorite.d.ts +12 -0
  254. package/types/lookup/src/composition/use-http.d.ts +9 -5
  255. package/types/lookup/src/composition/use-input-change.d.ts +3 -0
  256. package/types/lookup/src/composition/use-user-data.d.ts +24 -0
  257. package/types/lookup/src/property-config/lookup.property-config.d.ts +6 -4
  258. package/types/mapping-editor/src/mapping-editor.component.d.ts +3 -0
  259. package/types/mapping-editor/src/mapping-editor.props.d.ts +0 -1
  260. package/types/modal/src/composition/use-draggable.d.ts +2 -1
  261. package/types/modal/src/composition/use-shortcut.d.ts +6 -0
  262. package/types/modal/src/modal.component.d.ts +3 -0
  263. package/types/modal/src/modal.props.d.ts +4 -0
  264. package/types/page-header/src/page-header.props.d.ts +1 -0
  265. package/types/property-panel/src/composition/entity/base-property.d.ts +8 -0
  266. package/types/property-panel/src/composition/entity/input-base-property.d.ts +20 -1
  267. package/types/response-layout-editor/src/composition/converter/use-response-layout-editor-setting.d.ts +2 -0
  268. package/types/response-layout-editor/src/type.d.ts +21 -0
  269. package/types/response-toolbar/src/response-toolbar.props.d.ts +2 -2
  270. package/types/response-toolbar/src/schema/schema-mapper.d.ts +4 -0
  271. package/types/section/src/property-config/section.property-config.d.ts +93 -0
  272. package/types/section/src/schema/schema-resolver.d.ts +2 -1
  273. package/types/tabs/src/composition/types.d.ts +2 -2
  274. package/types/tabs/src/designer/tab-header-item.design.component.d.ts +3 -1
  275. package/types/tabs/src/property-config/tab-page.property-config.d.ts +60 -0
  276. package/types/tabs/src/schema/schema-resolver.d.ts +2 -1
  277. package/types/tabs/src/tabs.props.d.ts +1 -0
  278. package/types/tags/index.d.ts +36 -5
  279. package/types/tree-grid/index.d.ts +8 -2
  280. package/types/tree-grid/src/tree-grid.component.d.ts +3 -1
  281. package/types/modal/src/composition/use-esc.d.ts +0 -1
  282. package/types/response-layout-editor/src/composition/converter/response-layout-editor.converter.d.ts +0 -3
  283. package/types/response-layout-editor/src/composition/converter/use-convert-property-value.d.ts +0 -20
@@ -0,0 +1 @@
1
+ (function(b,a){typeof exports=="object"&&typeof module<"u"?a(exports,require("vue"),require("lodash-es"),require("../list-view/index.umd.js"),require("../button-edit/index.umd.js"),require("../dynamic-resolver/index.umd.js"),require("../designer-canvas/index.umd.js"),require("../response-layout-editor/index.umd.js/src/composition/converter/use-response-layout-editor-setting")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es","../list-view/index.umd.js","../button-edit/index.umd.js","../dynamic-resolver/index.umd.js","../designer-canvas/index.umd.js","../response-layout-editor/index.umd.js/src/composition/converter/use-response-layout-editor-setting"],a):(b=typeof globalThis<"u"?globalThis:b||self,a(b["combo-list"]={},b.Vue,b.LodashES,b.FListView,b.FButtonEdit,b.dynamicResolver,b.designerCanvas,b.useResponseLayoutEditorSetting))})(this,function(b,a,F,q,U,P,E,H){"use strict";var Ve=Object.defineProperty;var Pe=(b,a,F)=>a in b?Ve(b,a,{enumerable:!0,configurable:!0,writable:!0,value:F}):b[a]=F;var k=(b,a,F)=>Pe(b,typeof a!="symbol"?a+"":a,F);const G={},W={};function j(e){const{properties:t,title:n,ignore:o}=e,i=o&&Array.isArray(o),r=Object.keys(t).reduce((d,p)=>((!i||!o.find(u=>u==p))&&(d[p]=t[p].type==="object"&&t[p].properties?j(t[p]):F.cloneDeep(t[p].default)),d),{});return(!i||!o.find(d=>d=="id"))&&(r.id=`${n}-${Date.now()}`),r}function z(e,t){const n=j(t);return Object.keys(e).reduce((o,i)=>(o[i]&&F.isPlainObject(o[i])&&F.isPlainObject(e[i])?Object.assign(o[i],e[i]):o[i]=e[i],o),n),n}function J(e,t){return Object.keys(e).filter(o=>e[o]!=null).reduce((o,i)=>{if(t.has(i)){const r=t.get(i);if(typeof r=="string")o[r]=e[i];else{const d=r(i,e[i],e);Object.assign(o,d)}}else o[i]=e[i];return o},{})}function X(e,t,n=new Map){const o=z(e,t);return J(o,n)}function _(e={}){function t(s,f,l,c){if(typeof l=="number")return c[s].length===l;if(typeof l=="object"){const y=Object.keys(l)[0],g=l[y];if(y==="not")return Number(c[s].length)!==Number(g);if(y==="moreThan")return Number(c[s].length)>=Number(g);if(y==="lessThan")return Number(c[s].length)<=Number(g)}return!1}function n(s,f,l,c){return c[s]&&c[s].propertyValue&&String(c[s].propertyValue.value)===String(l)}const o=new Map([["length",t],["getProperty",n]]);Object.keys(e).reduce((s,f)=>(s.set(f,e[f]),s),o);function i(s,f){const l=s;return typeof f=="number"?[{target:l,operator:"length",param:null,value:Number(f)}]:typeof f=="boolean"?[{target:l,operator:"getProperty",param:s,value:!!f}]:typeof f=="object"?Object.keys(f).map(c=>{if(c==="length")return{target:l,operator:"length",param:null,value:f[c]};const y=c,g=f[c];return{target:l,operator:"getProperty",param:y,value:g}}):[]}function r(s){return Object.keys(s).reduce((l,c)=>{const y=i(c,s[c]);return l.push(...y),l},[])}function d(s,f){if(o.has(s.operator)){const l=o.get(s.operator);return l&&l(s.target,s.param,s.value,f)||!1}return!1}function p(s,f){return r(s).reduce((y,g)=>y&&d(g,f),!0)}function u(s,f){const l=Object.keys(s),c=l.includes("allOf"),y=l.includes("anyOf"),g=c||y,C=(g?s[g?c?"allOf":"anyOf":"allOf"]:[s]).map(x=>p(x,f));return c?!C.includes(!1):C.includes(!0)}return{parseValueSchema:u}}const m={button:{type:"button",name:"按钮",icon:"Button"},"response-toolbar":{type:"response-toolbar",name:"工具栏",icon:"ButtonGroup"},"response-toolbar-item":{type:"response-toolbar-item",name:"按钮",icon:"Button"},"content-container":{type:"content-container",name:"容器",icon:"ContentContainer"},"input-group":{type:"input-group",name:"文本",icon:"TextBox"},textarea:{type:"textarea",name:"多行文本",icon:"MultiTextBox"},lookup:{type:"lookup",name:"帮助",icon:"LookupEdit"},"number-spinner":{type:"number-spinner",name:"数值",icon:"NumericBox"},"date-picker":{type:"date-picker",name:"日期",icon:"DateBox"},switch:{type:"switch",name:"开关",icon:"SwitchField"},"radio-group":{type:"radio-group",name:"单选组",icon:"RadioGroup"},"check-box":{type:"check-box",name:"复选框",icon:"CheckBox"},"check-group":{type:"check-group",name:"复选框组",icon:"CheckGroup"},"combo-list":{type:"combo-list",name:"下拉列表",icon:"EnumField"},"response-form":{type:"response-form",name:"卡片面板",icon:"Form"},"response-layout":{type:"response-layout",name:"布局容器",icon:"ResponseLayout3"},"response-layout-item":{type:"response-layout-item",name:"布局",icon:"ResponseLayout1"},"tree-grid":{type:"tree-grid",name:"树表格",icon:"TreeGrid"},"tree-grid-column":{type:"tree-grid-column",name:"树表格列"},"data-grid":{type:"data-grid",name:"表格",icon:"DataGrid"},"data-grid-column":{type:"data-grid-column",name:"表格列"},module:{type:"Module",name:"模块",icon:"Module"},component:{type:"component",name:"组件",icon:"Component"},tabs:{type:"tabs",name:"标签页",icon:"Tab"},"tab-page":{type:"tab-page",name:"标签页项",dependentParentControl:"Tab"},"tab-toolbar-item":{type:"tab-toolbar-item",name:"标签页工具栏按钮",icon:"Button"},"time-picker":{type:"time-picker",name:"时间选择",icon:"TimePicker"},section:{type:"section",name:"分组面板",icon:"Section"},"section-toolbar":{type:"section-toolbar",name:"分组面板工具栏"},"section-toolbar-item":{type:"section-toolbar-item",name:"分组面板按钮"},splitter:{type:"splitter",name:"分栏面板",icon:"Splitter"},"splitter-pane":{type:"splitter-pane",name:"分栏面板项",dependentParentControl:"Splitter"},"component-ref":{type:"component-ref",name:"组件引用节点"},uploader:{type:"uploader",name:"附件上传",icon:"FileUpload"},"page-header":{type:"page-header",name:"页头",icon:"Header"},"page-footer":{type:"page-footer",name:"页脚",icon:"ModalFooter"},"tab-toolbar":{type:"tab-toolbar",name:"标签页工具栏",icon:"TabToolbar"},fieldset:{type:"fieldset",name:"分组",icon:"fieldset"}},Q={},Y={};_();function A(e,t,n=new Map,o=(d,p,u)=>p,i={},r=d=>d){return G[t.title]=t,W[t.title]=o,Q[t.title]=i,Y[t.title]=r,(d={})=>{const p=X(d,t,n),u=Object.keys(e).reduce((s,f)=>(s[f]=e[f].default,s),{});return Object.assign(u,p)}}function Z(e,t){return{customClass:t.class,customStyle:t.style}}const K=new Map([["appearance",Z]]),ee={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/combo-list.schema.json",title:"combo-list",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a combo list",type:"string"},type:{description:"The type string of number combo list component",type:"string",default:"combo-list"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disabled:{description:"",type:"boolean",default:!1},editable:{description:"",type:"boolean",default:!0},enableLinkLabel:{description:"",type:"boolean",default:!1},label:{description:"",type:"string",default:""},lableWidth:{description:"",type:"number"},placeholder:{description:"",type:"string",default:""},valueField:{description:"",type:"string",default:"id"},titleField:{description:"",type:"string",default:"name"},textField:{description:"",type:"string",default:"name"},data:{description:"",type:"array"},readonly:{description:"",type:"boolean",default:!1},required:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},textAlign:{description:"",type:"string",enum:["left","middle","right"],default:"left"},visible:{description:"",type:"boolean",default:!0},onBlur:{description:"",type:"string",default:""},onClickLinkLabel:{description:"",type:"sting",default:""}},required:["id","type"],ignore:["id","appearance","binding"]};function te(e,t,n){return t}var $=(e=>(e.Text="text",e.Tag="tag",e))($||{}),D=(e=>(e.top="top",e.bottom="bottom",e.auto="auto",e))(D||{});const O={id:{type:String},data:{type:Array,default:[]},disabled:{default:!1,type:Boolean},dropDownIcon:{type:String,default:'<span class="f-icon f-icon-arrow-60-down"></span>'},editable:{default:!1,type:Boolean},enableClear:{default:!0,type:Boolean},enableSearch:{type:Boolean,default:!1},enableTitle:{default:!0,type:Boolean},fitEditor:{default:!1,type:Boolean},forcePlaceholder:{default:!1,type:Boolean},hidePanelOnClear:{default:!0,type:Boolean},idField:{default:"id",type:String},mapFields:{type:Object},maxHeight:{default:350,type:Number},maxLength:{type:Number},multiSelect:{type:Boolean,default:!1},modelValue:{},placeholder:{type:String},placement:{type:String,default:"auto"},readonly:{default:!1,type:Boolean},remote:{default:null,type:Object},remoteSearch:{default:!1,type:Boolean},separator:{default:",",type:String},tabIndex:{type:Number,default:-1},textField:{default:"name",type:String},titleField:{default:"name",type:String},valueField:{default:"id",type:String},viewType:{default:"tag",type:String},change:{type:Function,default:()=>{}},focusOnCreated:{type:Boolean,default:!1},selectOnCreated:{type:Boolean,default:!1},autoHeight:{type:Boolean,default:!0},beforeOpen:{type:Function,default:null},searchOption:{type:Object,default:!1},enableHighlightSearch:{type:Boolean,default:!0}},L=A(O,ee,K,te),ne={dataSource:{type:Array,default:[]},enableSearch:{type:Boolean,default:!1},idField:{type:String,default:"id"},multiSelect:{type:Boolean,default:!1},selectedValues:{type:String,default:""},separator:{type:String,default:","},textField:{type:String,default:"name"},titleField:{type:String,default:"name"},width:{type:Number},maxHeight:{type:Number},valueField:{type:String,default:"id"},onSelectionChange:{type:Function,default:()=>{}},searchOption:{type:Object,default:!1},enableHighlightSearch:{type:Boolean,default:!0}},oe=a.defineComponent({name:"FComboListContainer",props:ne,emits:["selectionChange"],setup(e,t){const n=a.ref(),o=a.ref(e.dataSource),i=a.ref([]),r=a.ref(e.separator),d=a.ref(e.width),p=a.ref(e.maxHeight),u=a.ref(String(e.selectedValues).split(r.value)),s=a.computed(()=>e.multiSelect),f=a.computed(()=>({enableSelectRow:!0,multiSelect:e.multiSelect,multiSelectMode:"OnCheckAndClick",showCheckbox:s.value,showSelectAll:!1,showSelection:!0}));a.watch(e.dataSource,()=>{o.value=e.dataSource});const l=a.computed(()=>e.enableSearch?"SearchBar":"ContentHeader"),c=a.computed(()=>{const h={};return d.value!==void 0&&(h.width=`${d.value}px`),p.value!==void 0&&p.value>0&&(h.maxHeight=`${p.value}px`),h});function y(h){i.value=h.map(v=>Object.assign({},v)),u.value=h.map(v=>v[e.idField]),t.emit("selectionChange",i.value)}function g(h){if(e.enableHighlightSearch)return;let v=[];typeof e.searchOption=="function"?v=o.value.filter(C=>e.searchOption(h,C)):v=o.value.filter(C=>C[e.valueField].indexOf(h)>-1||C[e.textField].indexOf(h)>-1),n.value.updateDataSource(v)}return a.watch([()=>e.selectedValues],([h])=>{u.value=h.split(r.value)}),()=>a.createVNode("div",{class:"f-combo-list-container pl-1",style:c.value},[a.createVNode(q,{ref:n,size:"small",itemClass:"f-combo-list-item",header:l.value,headerClass:"f-combo-list-search-box",data:o.value,idField:e.idField,textField:e.textField,titleField:e.titleField,multiSelect:e.multiSelect,selection:f.value,enableHighlightSearch:e.enableHighlightSearch,selectionValues:u.value,onSelectionChange:y,onAfterSearch:g},null)])}});function ie(e){const t=a.ref(""),n=a.ref(e.modelValue),o=a.ref(e.data||[]),i=a.ref(e.editable);function r(l){const c=String(l).split(e.separator),y=c.map(v=>[v,!0]),g=new Map(y);return o.value.filter(v=>g.has(String(v[e.valueField]))).sort((v,C)=>{const w=c.indexOf(v[e.valueField]),x=c.indexOf(C[e.valueField]);return w-x})}function d(l){const c=r(l).map(y=>y[e.textField]).join(e.separator);t.value=i.value?c||l:c}function p(l){const c=l.split(e.separator).map(g=>[g,!0]),y=new Map(c);return o.value.filter(g=>y.has(g[e.textField]))}function u(l){const c={};return c[e.idField]=l,c[e.textField]=l,[c]}function s(l){let c=p(l);const y=c&&c.length>0;return i.value&&!y&&(c=u(l)),c}function f(){const{url:l,method:c="GET",headers:y={},body:g=null}=e.remote,h=c.toLowerCase()=="get"?{method:c,headers:y}:{method:c,headers:y,body:g};let v=!1;fetch(l,h).then(C=>{var x,V;if(C.status===200)return v=!!((V=(x=C.headers)==null?void 0:x.get("content-type"))!=null&&V.includes("application/json")),v?C.text():C.json();throw new Error(C.statusText)}).then(C=>{o.value=v?JSON.parse(C):C}).catch(C=>{console.error(C)})}return e.remote&&f(),a.watch(()=>e.data,()=>{o.value=e.data}),a.watch([o],([l])=>{if(e.modelValue!=null){const c=l.find(y=>y[e.valueField]===e.modelValue);c&&(t.value=c[e.textField])}}),a.watch(()=>e.modelValue,l=>{n.value=l,d(l)}),d(e.modelValue),{dataSource:o,displayText:t,editable:i,modelValue:n,getItemsByDisplayText:p,getItemsByValue:r,getSelectedItemsByDisplayText:s}}const M=a.defineComponent({name:"FComboList",props:O,emits:["clear","update:modelValue","change","input"],setup(e,t){const n=a.ref(),o=a.ref(e.disabled),i=a.ref(e.enableClear),r=a.ref(e.enableSearch),d=a.ref(e.readonly),{dataSource:p,displayText:u,editable:s,modelValue:f,getSelectedItemsByDisplayText:l}=ie(e),c=a.computed(()=>e.multiSelect),y=a.computed(()=>n.value?n.value.elementRef.getBoundingClientRect().width:0);function g(){!c.value&&n.value&&n.value.hidePopup()}function h(S){u.value=S.map(B=>B[e.textField]).join(e.separator),S.length===1?f.value=S[0][e.valueField]:f.value=S.map(B=>B[e.valueField]).join(e.separator),t.emit("update:modelValue",f.value),t.emit("change",S,f.value),g()}function v(){d.value||n.value.togglePopup()}function C(S){f.value="",t.emit("update:modelValue",""),t.emit("clear")}function w(S){const B=l(S);h(B)}function x(){return u.value}function V(S){t.emit("input",S)}return t.expose({getDisplayText:x}),a.watch([()=>e.disabled,()=>e.editable,()=>e.enableClear,()=>e.enableSearch,()=>e.readonly],([S,B,Me,Oe,Te])=>{o.value=S,s.value=B,i.value=Me,r.value=Oe,d.value=Te}),()=>a.createVNode(U,{ref:n,id:e.id,disable:o.value,readonly:d.value,forcePlaceholder:e.forcePlaceholder,editable:s.value,buttonContent:e.dropDownIcon,placeholder:e.placeholder,enableClear:i.value,maxLength:e.maxLength,tabIndex:e.tabIndex,enableTitle:e.enableTitle,multiSelect:e.multiSelect,inputType:e.multiSelect?e.viewType:"text",modelValue:u.value,"onUpdate:modelValue":S=>u.value=S,focusOnCreated:e.focusOnCreated,selectOnCreated:e.selectOnCreated,onClear:C,onClick:v,onChange:w,onInput:V,beforeOpen:e.beforeOpen},{default:()=>[a.createVNode(oe,{idField:e.idField,valueField:e.valueField,textField:e.textField,titleField:e.titleField,dataSource:p.value,selectedValues:f.value,multiSelect:e.multiSelect,enableSearch:r.value,maxHeight:e.maxHeight,enableHighlightSearch:e.enableHighlightSearch,width:e.fitEditor?y.value:void 0,onSelectionChange:h},null)]})}}),ae=new Map([["appearance",P.resolveAppearance]]);function le(e,t,n){return t}const re={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/button-edit.schema.json",title:"button-edit",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a Input Group",type:"string"},type:{description:"The type string of Input Group component",type:"string",default:"button-edit"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disable:{type:"string",default:!1},editable:{description:"",type:"boolean",default:!0},enableLinkLabel:{description:"",type:"boolean",default:!1},label:{description:"",type:"string",default:""},lableWidth:{description:"",type:"number"},placeholder:{description:"",type:"string",default:""},readonly:{description:"",type:"boolean",default:!1},require:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},textAlign:{description:"",type:"string",enum:["left","middle","right"],default:"left"},visible:{description:"",type:"boolean",default:!0},onBlur:{description:"",type:"string",default:""},onClickLinkLabel:{description:"",type:"sting",default:""},autoComplete:{description:"",type:"boolean",default:!1},buttonContent:{description:"",type:"string",default:""},enableClear:{description:"",type:"boolean",default:!0},inputType:{description:"",type:"string",enum:["text","tag"],default:"text"},multiSelect:{description:"",type:"boolean",default:!1},popup:{description:"",type:"object",properties:{footerButtons:{type:"array",default:[]},height:{type:"number",default:600},dataMapping:{type:"object"},contents:{type:"array",default:[]},showMaxButton:{type:"boolean",default:!0},showCloseButton:{type:"boolean",default:!0},showFooter:{type:"boolean",default:!0},title:{type:"string",default:""},width:{type:"number",default:800}}},separator:{type:"string",default:","},showButtonWhenDisabled:{description:"",type:"boolean",default:!1},wrapText:{type:"boolean",default:!1},onClear:{description:"",type:"string",default:""}},required:["id","type"]},se={title:"buttonEdit",description:"A Farris Component",type:"object",categories:{basic:{description:"Basic Infomation",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"waiting for modification",enum:[]}}}},behavior:{description:"Basic Infomation",title:"行为",properties:{editable:{description:"",title:"允许编辑",type:"boolean"},readonly:{description:"",title:"只读",type:"string"},required:{description:"",title:"必填",type:"boolean"},visible:{description:"",title:"可见",type:"boolean"},placeholder:{description:"",title:"提示文本",type:"string"},tabindex:{description:"",title:"tab索引",type:"number"},textAlign:{description:"",title:"对齐方式",type:"enum",editor:{type:"combo-list",textField:"name",valueField:"value",data:[{value:"left",name:"左对齐"},{value:"center",name:"居中对齐"},{value:"right",name:"右对齐"}]}}}}}},R={id:String,buttonContent:{type:String,default:'<i class="f-icon f-icon-lookup"></i>'},buttonBehavior:{type:String,default:"Popup"},autoComplete:{type:Boolean,default:!1},customClass:{type:String,default:""},disable:{type:Boolean,default:!1},editable:{type:Boolean,default:!0},enableClear:{type:Boolean,default:!1},modelValue:{type:String,default:""},readonly:{type:Boolean,default:!1},showButtonWhenDisabled:{type:Boolean,default:!1},enableTitle:{type:Boolean,default:!1},inputType:{type:String,default:"text"},forcePlaceholder:{type:Boolean,default:!1},placeholder:{type:String,default:""},minLength:Number,maxLength:Number,tabIndex:Number,popupHost:{type:Object},popupRightBoundary:{type:Object},popupOffsetX:{type:Object},popupOnInput:{type:Boolean,default:!1},popupOnFocus:{type:Boolean,default:!1},popupMinWidth:{type:Number,default:160},modalOptions:{type:Object,default:{}},wrapText:{type:Boolean,default:!1},multiSelect:{type:Boolean,default:!1},separator:{type:String,default:","},textAlign:{type:String,default:"left"},beforeClickButton:{type:Function,default:null},focusOnCreated:{type:Boolean,default:!1},selectOnCreated:{type:Boolean,default:!1},beforeOpen:{type:Function,default:null},updateOn:{type:String,default:"change"}};A(R,re,ae,le,se);const ce={popupContentPosition:{type:Object,default:{left:0,top:0}},host:{type:Object},backgroundColor:{type:String,default:""}},de=a.defineComponent({name:"FOverlay",props:ce,emits:["click"],setup(e,t){const n=a.ref(e.popupContentPosition),o=a.ref(e.host),i=a.computed(()=>({backgroundColor:e.backgroundColor||"",pointerEvents:"auto"}));function r(p){t.emit("click"),p.preventDefault(),p.stopPropagation()}a.computed(()=>{const p=o.value;if(p){const u=p.getBoundingClientRect(),{left:s,top:f,height:l}=u;return{left:s,top:f+l}}return n.value});const d=a.computed(()=>({}));return()=>a.createVNode(a.Teleport,{to:"body"},{default:()=>{var p,u;return[a.createVNode("div",{class:"overlay-container",onClick:s=>r(s),style:i.value},[a.createVNode("div",{style:d.value},[(u=(p=t.slots).default)==null?void 0:u.call(p)])])]}})}});function ue(e){if(e.content&&e.content.render)return e.content.render;if(e.render&&typeof e.render=="function")return e.render}function pe(e){const t=document.createElement("div");t.style.display="contents";let n;const o=e.onClickCallback||(()=>{}),i=()=>{o(),n&&n.unmount()};return n=a.createApp({setup(){a.onUnmounted(()=>{document.body.removeChild(t)});const r=ue(e);return()=>a.createVNode(de,{"popup-content-position":e.popupPosition,host:e.host,onClick:i,backgroundColor:e.backgroundColor},{default:()=>[r&&r()]})}}),document.body.appendChild(t),n.mount(t),n}class fe{static show(t){return pe(t)}}const me=Symbol("FModalService");function N(e,t){function n(){const o=e.beforeOpen||e.beforeClickButton||null;let i=Promise.resolve(!0);if(o){const r=o(t.value);if(typeof r>"u")return i;typeof r=="boolean"?i=Promise.resolve(r):i=r}return i}return{judgeCanOpen:n}}function ye(e,t,n,o,i){const r=a.ref(e.buttonBehavior),d=a.ref(e.popupOnInput),p=a.computed(()=>({"input-group-append":!0,"append-force-show":e.showButtonWhenDisabled&&(e.readonly||e.disable)})),{judgeCanOpen:u}=N(e,i),s=a.computed(()=>e.showButtonWhenDisabled||(!e.editable||!e.readonly)&&!e.disable),f=a.inject(me,null),l=a.ref();async function c(h){if(await u()&&s.value){const v=!!t.slots.default;if(r.value==="Modal"){const C=e.modalOptions,w=f==null?void 0:f.open({...C,render:()=>t.slots.default&&t.slots.default()});l.value=w==null?void 0:w.modalRef}r.value==="Overlay"&&fe.show({host:document.body,backgroundColor:"rgba(0,0,0,.15)",render:()=>t.slots.default&&t.slots.default()}),v&&r.value==="Popup"&&o.togglePopup(!0),v&&d.value&&o.hidePopup(),t.emit("clickButton",{origin:h,value:e.modelValue})}}function y(h){t.emit("mouseEnterIcon",h)}function g(h){t.emit("mouseLeaveIcon",h)}return{buttonGroupClass:p,onClickButton:c,onMouseEnterButton:y,onMouseLeaveButton:g,modalRef:l}}function ge(e,t,n,o){const i=a.ref(),r=a.ref(!1),{judgeCanOpen:d}=N(e,o);function p(){const l=i.value;l&&l.show(n.value)}async function u(l=!1){if(!!t.slots.default){if(!l&&!r.value&&!await d())return;r.value=!r.value,await a.nextTick(),p()}}async function s(l=!1){if(!!t.slots.default){if(!l&&!await d())return;r.value=!0,await a.nextTick(),p()}}function f(){r.value=!1}return{hidePopup:f,popup:s,shouldPopupContent:r,togglePopup:u,popoverRef:i}}function he(e,t,n){const{buttonGroupClass:o}=n,i=a.ref();return{renderButtonGroup:()=>a.createVNode("div",{id:`${e.id}-button-group`,class:o.value},[t.slots.buttonContent?a.createVNode("span",{class:"input-group-text input-group-append-button"},[t.slots.buttonContent()]):e.buttonContent?a.createVNode("span",{class:"input-group-text input-group-append-button",innerHTML:e.buttonContent,ref:i},null):null]),buttonHandleElement:i}}const be=a.defineComponent({name:"FButtonEdit",props:R,emits:["updateExtendInfo","clear","change","click","clickButton","blur","focus","mouseEnterIcon","mouseLeaveIcon","keyup","keydown","inputClick","input","update:modelValue"],setup(e,t){const n=a.ref(),o=a.inject("design-item-context"),i=E.useDesignerComponent(n,o),r=a.ref(e.customClass),d=a.ref(e.modelValue),p=ge(e,t,n,d),u=ye(e,t,n,p,d),s=a.ref(),f=a.computed(()=>({"f-cmp-inputgroup":!0,"input-group":!0,"f-state-disable":!0,"f-state-editable":!1,"f-state-readonly":!0}));a.onMounted(()=>{n.value.componentInstance=i}),t.expose(i.value);const l=a.computed(()=>{const y={"f-button-edit":!0,"f-cmp-inputgroup":!0,"f-button-edit-nowrap":!e.wrapText};return r.value&&r.value.split(" ").reduce((g,h)=>(g[h]=!0,g),y),y}),{renderButtonGroup:c}=he(e,t,u);return()=>a.createVNode("div",a.mergeProps(t.attrs,{ref:n,class:l.value,id:e.id}),[a.createVNode("div",{class:f.value},[a.createVNode("input",{ref:s,class:"form-control",readonly:!0,placeholder:e.placeholder},null),c()])])}});function Ce(e,t){e.schema;const n=a.ref(!0),o=a.ref(!0);function i(l){return!1}function r(){return!1}function d(){return!1}function p(){return!0}function u(l){}function s(){}function f(l){return null}return{canAccepts:i,checkCanDeleteComponent:r,checkCanMoveComponent:d,hideNestedPaddingInDesginerView:p,onAcceptMovedChildElement:u,resolveComponentContext:s,triggerBelongedComponentToMoveWhenMoved:n,triggerBelongedComponentToDeleteWhenDeleted:o,getPropsConfig:f}}class ve{constructor(t,n){k(this,"componentId");k(this,"viewModelId");k(this,"eventsEditorUtils");k(this,"formSchemaUtils");k(this,"formMetadataConverter");k(this,"designViewModelUtils");k(this,"designViewModelField");k(this,"controlCreatorUtils");k(this,"designerHostService");k(this,"schemaService",null);k(this,"metadataService",null);k(this,"propertyConfig",{type:"object",categories:{}});var o;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}getTableInfo(){var t;return(t=this.schemaService)==null?void 0:t.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(t){const n=t.binding&&t.binding.type==="Form"&&t.binding.field;if(n){if(!this.designViewModelField){const o=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=o.fields.find(i=>i.id===n)}t.updateOn=this.designViewModelField.updateOn}}changeFieldEditorType(t,n){}getBasicPropConfig(t){return{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"combo-list",textField:"name",valueField:"value",data:[{value:t.type,name:m[t.type].name}]}}}}}getAppearanceConfig(t=null){return{title:"样式",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter"},style:{title:"style样式",type:"string",description:"组件的样式",$converter:"/converter/appearance.converter"}}}}updateElementByParentContainer(t,n){const o=n&&n.parent&&n.parent.schema;if(!o)return;const i=o.contents.findIndex(d=>d.id===t),r=F.cloneDeep(o.contents[i]);o.contents.splice(i,1),o.contents.splice(i,0,r)}}const I=class I{static getEditorTypesByMDataType(t){const n=I.fieldControlTypeMapping[t];return n||[{key:"",value:""}]}static getAllInputTypes(){const t=[];for(let n in I.fieldControlTypeMapping)I.fieldControlTypeMapping[n].forEach(o=>{t.find(i=>i.key===o.key&&i.value===o.value)||t.push({key:o.key,value:o.value})});return t}};k(I,"fieldControlTypeMapping",{String:[{key:m["input-group"].type,value:m["input-group"].name},{key:m.lookup.type,value:m.lookup.name},{key:m["date-picker"].type,value:m["date-picker"].name},{key:m["check-box"].type,value:m["check-box"].name},{key:m["radio-group"].type,value:m["radio-group"].name},{key:m["combo-list"].type,value:m["combo-list"].name},{key:m.textarea.type,value:m.textarea.name}],Text:[{key:m.textarea.type,value:m.textarea.name},{key:m.lookup.type,value:m.lookup.name}],Decimal:[{key:m["number-spinner"].type,value:m["number-spinner"].name}],Integer:[{key:m["number-spinner"].type,value:m["number-spinner"].name}],Number:[{key:m["number-spinner"].type,value:m["number-spinner"].name}],BigNumber:[{key:m["number-spinner"].type,value:m["number-spinner"].name}],Date:[{key:m["date-picker"].type,value:m["date-picker"].name}],DateTime:[{key:m["date-picker"].type,value:m["date-picker"].name}],Boolean:[{key:m.switch.type,value:m.switch.name},{key:m["check-box"].type,value:m["check-box"].name}],Enum:[{key:m["combo-list"].type,value:m["combo-list"].name},{key:m["radio-group"].type,value:m["radio-group"].name}],Object:[{key:m.lookup.type,value:m.lookup.name},{key:m["combo-list"].type,value:m["combo-list"].name},{key:m["radio-group"].type,value:m["radio-group"].name}]});let T=I;const Se=a.ref(0);class ke extends ve{constructor(n,o){super(n,o);k(this,"responseLayoutEditorFunction");this.responseLayoutEditorFunction=H.useResponseLayoutEditorSetting(this.formSchemaUtils)}getPropertyConfig(n,o){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}getBasicProperties(n,o){var p;var i=this;this.setDesignViewModelField(n);const r=this.formSchemaUtils.getFormMetadataBasicInfo(),d=this.designViewModelUtils.getAllFields2TreeByVMId(this.viewModelId);return{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"编辑器类型",title:"编辑器类型",type:"string",refreshPanelAfterChanged:!0,$converter:"/converter/change-editor.converter",editor:{type:"combo-list",textField:"value",valueField:"key",editable:!1,data:i.designViewModelField?T.getEditorTypesByMDataType((p=i.designViewModelField.type)==null?void 0:p.name):T.getAllInputTypes()}},label:{title:"标签",type:"string",$converter:"/converter/form-group-label.converter"},binding:{description:"绑定的表单字段",title:"绑定",$converter:"/converter/field-selector.converter",editor:{type:"field-selector",bindingType:{enable:!1},editorParams:{propertyData:n,formBasicInfo:r},columns:[{field:"name",title:"字段名称"},{field:"bindingField",title:"绑定字段"},{field:"fieldType",title:"字段类型"}],textField:"bindingField",data:d}}},setPropertyRelates(u,s){if(u)switch(u&&u.propertyID){case"type":{i.changeControlType(n,u,o);break}case"label":{u.needRefreshControlTree=!0;break}}}}}getAppearanceProperties(n,o){var i=this;return{title:"样式",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter"},style:{title:"style样式",type:"string",description:"组件的样式",$converter:"/converter/appearance.converter"},responseLayout:{description:"响应式列宽",title:"响应式列宽",type:"boolean",visible:!0,refreshPanelAfterChanged:!0,editor:{type:"response-layout-editor-setting",initialState:i.responseLayoutEditorFunction.checkCanOpenLayoutEditor(n,i.componentId)}}},setPropertyRelates(r,d){if(r)switch(r&&r.propertyID){case"responseLayout":i.responseLayoutEditorFunction.changeFormControlsByResponseLayoutConfig(r.propertyValue,i.componentId||n.id),i.updateUnifiedLayoutAfterResponseLayoutChanged(i.componentId),i.updateElementByParentContainer(n.id,o),delete n.responseLayout;break;case"class":i.updateUnifiedLayoutAfterControlChanged(r.propertyValue,n.id,this.componentId),i.updateElementByParentContainer(n.id,o);break}}}}getEditorProperties(n){return this.getComponentConfig(n)}changeControlType(n,o,i){var f,l,c,y;const r=o.propertyValue,d=i&&i.parent&&i.parent.schema;if(!d)return;const p=d.contents.findIndex(g=>g.id===n.id),u=d.contents[p];let s;this.designViewModelField&&(this.designViewModelUtils.getDgViewModel(this.viewModelId).changeField(this.designViewModelField.id,{editor:{$type:r},name:this.designViewModelField.name,require:this.designViewModelField.require,readonly:this.designViewModelField.readonly},!1),s=this.controlCreatorUtils.setFormFieldProperty(this.designViewModelField,r)),s||(s=P.getSchemaByType("form-group")||{},s.editor=P.getSchemaByType(r)||{},delete s.editor.id,delete s.editor.binding,delete s.editor.appearance),Object.assign(s,{id:u.id,appearance:u.appearance,size:u.size,label:u.label,binding:u.binding,visible:u.visible}),Object.assign(s.editor,{isTextArea:s.isTextArea&&u.isTextArea,placeholder:(f=u.editor)==null?void 0:f.placeholder,holdPlace:(l=u.editor)==null?void 0:l.holdPlace,readonly:(c=u.editor)==null?void 0:c.readonly,require:(y=u.editor)==null?void 0:y.require}),d.contents.splice(p,1),d.contents.splice(p,0,s),i.schema=Object.assign(u,s),Array.from(document.getElementsByClassName("dgComponentSelected")).forEach(g=>g.classList.remove("dgComponentSelected")),Se.value++}getComponentConfig(n,o={},i={}){const r=Object.assign({description:"编辑器",title:"编辑器",type:"input-group",$converter:"/converter/property-editor.converter"},o),d=Object.assign({readonly:{description:"",title:"只读",type:"boolean"},disabled:{description:"",title:"禁用",type:"boolean"},placeholder:{description:"空值时,输入控件内的占位文本",title:"提示文本",type:"string"}},i);return{...r,properties:{...d}}}updateUnifiedLayoutAfterControlChanged(n,o,i){const r=n.split(" ");let d=r.find(l=>/^col-([1-9]|10|11|12)$/.test(l)),p=r.find(l=>/^col-md-([1-9]|10|11|12)$/.test(l)),u=r.find(l=>/^col-xl-([1-9]|10|11|12)$/.test(l)),s=r.find(l=>/^col-el-([1-9]|10|11|12)$/.test(l));d=d||"col-12",p=p||"col-md-"+d.replace("col-",""),u=u||"col-xl-"+p.replace("col-md-",""),s=s||"col-el-"+u.replace("col-xl-","");const f={id:o,columnInSM:parseInt(d.replace("col-",""),10),columnInMD:parseInt(p.replace("col-md-",""),10),columnInLG:parseInt(u.replace("col-xl-",""),10),columnInEL:parseInt(s.replace("col-el-",""),10)};this.updateUnifiedLayoutAfterResponseLayoutChanged(i,f)}updateUnifiedLayoutAfterResponseLayoutChanged(n,o){const{formNode:i}=this.responseLayoutEditorFunction.checkCanFindFormNode(n);if(!i||!i.unifiedLayout)return;const r=[];if(this.responseLayoutEditorFunction.getResonseFormLayoutConfig(i,r,1),o){const g=r.find(h=>h.id===o.id);Object.assign(g||{},o)}const d=r.map(g=>g.columnInSM),p=r.map(g=>g.columnInMD),u=r.map(g=>g.columnInLG),s=r.map(g=>g.columnInEL),f=this.checkIsUniqueColumn(d)?d[0]:null,l=this.checkIsUniqueColumn(p)?p[0]:null,c=this.checkIsUniqueColumn(u)?u[0]:null,y=this.checkIsUniqueColumn(s)?s[0]:null;Object.assign(i.unifiedLayout,{uniqueColClassInSM:f,uniqueColClassInMD:l,uniqueColClassInLG:c,uniqueColClassInEL:y})}checkIsUniqueColumn(n){const o=new Set(n);return Array.from(o).length===1}}class Fe extends ke{constructor(t,n){super(t,n)}getEditorProperties(t){return this.getComponentConfig(t,{type:"combo-list"},{editable:{description:"",title:"允许编辑",type:"boolean"},textField:{description:"",title:"数据源显示字段",type:"string"},idField:{description:"",title:"数据源值字段",type:"string"}})}}function we(e,t){const{canAccepts:n,checkCanDeleteComponent:o,checkCanMoveComponent:i,hideNestedPaddingInDesginerView:r,onAcceptMovedChildElement:d,resolveComponentContext:p,triggerBelongedComponentToMoveWhenMoved:u,triggerBelongedComponentToDeleteWhenDeleted:s}=Ce(e),f=e.schema;function l(c,y){return new Fe(c,t).getPropertyConfig(f,y)}return{canAccepts:n,checkCanDeleteComponent:o,checkCanMoveComponent:i,hideNestedPaddingInDesginerView:r,onAcceptMovedChildElement:d,resolveComponentContext:p,triggerBelongedComponentToMoveWhenMoved:u,triggerBelongedComponentToDeleteWhenDeleted:s,getPropsConfig:l}}const xe=a.defineComponent({name:"FComboListDesign",props:O,emits:["clear","update:modelValue","change"],setup(e,t){const n=a.ref(),o=a.inject("designer-host-service"),i=a.inject("design-item-context"),r=we(i,o),d=E.useDesignerComponent(n,i,r);return a.onMounted(()=>{n.value.componentInstance=d}),t.expose(d.value),()=>a.createVNode(be,{ref:n,buttonContent:e.dropDownIcon,readonly:!0,editable:!1,forcePlaceholder:!0,placeholder:e.placeholder,enableClear:!0},null)}}),Be=e=>{const t=e;return t.install=function(n){n.component(t.name,e)},e};M.register=(e,t,n,o)=>{e["combo-list"]=M,t["combo-list"]=L},M.registerDesigner=(e,t,n)=>{e["combo-list"]=xe,t["combo-list"]=L};const Ie=Be(M);b.FComboList=M,b.Placement=D,b.ViewType=$,b.comboListProps=O,b.default=Ie,b.propsResolver=L,Object.defineProperties(b,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
@@ -1,26 +1,26 @@
1
- import { defineComponent as O, ref as m, inject as P, computed as v, onMounted as M, createVNode as S, watch as h } from "vue";
1
+ import { defineComponent as B, ref as y, inject as M, computed as v, onMounted as I, createVNode as S, watch as h } from "vue";
2
2
  import k from "../button-edit/index.esm.js";
3
- import { cloneDeep as I } from "lodash-es";
4
- import N from "../tree-view/index.esm.js";
5
- import { withInstall as D } from "../common/index.esm.js";
6
- const E = {}, H = {};
3
+ import { isPlainObject as O, cloneDeep as N } from "lodash-es";
4
+ import D from "../tree-view/index.esm.js";
5
+ import { withInstall as E } from "../common/index.esm.js";
6
+ const H = {}, R = {};
7
7
  function V(e) {
8
- const { properties: l, title: d } = e, i = Object.keys(l).reduce((u, s) => (u[s] = l[s].type === "object" && l[s].properties ? V(l[s]) : I(l[s].default), u), {});
9
- return i.id = `${d}-${Date.now()}`, i;
8
+ const { properties: l, title: d, ignore: i } = e, u = i && Array.isArray(i), f = Object.keys(l).reduce((s, c) => ((!u || !i.find((p) => p == c)) && (s[c] = l[c].type === "object" && l[c].properties ? V(l[c]) : N(l[c].default)), s), {});
9
+ return (!u || !i.find((s) => s == "id")) && (f.id = `${d}-${Date.now()}`), f;
10
10
  }
11
- function R(e, l) {
11
+ function $(e, l) {
12
12
  const d = V(l);
13
- return Object.keys(e).reduce((i, u) => (i[u] && typeof i[u] == "object" ? Object.assign(i[u], e[u]) : i[u] = e[u], i), d), d;
13
+ return Object.keys(e).reduce((i, u) => (i[u] && O(i[u]) && O(e[u]) ? Object.assign(i[u], e[u]) : i[u] = e[u], i), d), d;
14
14
  }
15
- function $(e, l) {
15
+ function A(e, l) {
16
16
  return Object.keys(e).filter((i) => e[i] != null).reduce((i, u) => {
17
17
  if (l.has(u)) {
18
- const s = l.get(u);
19
- if (typeof s == "string")
20
- i[s] = e[u];
18
+ const f = l.get(u);
19
+ if (typeof f == "string")
20
+ i[f] = e[u];
21
21
  else {
22
- const c = s(u, e[u], e);
23
- Object.assign(i, c);
22
+ const s = f(u, e[u], e);
23
+ Object.assign(i, s);
24
24
  }
25
25
  } else
26
26
  i[u] = e[u];
@@ -28,26 +28,26 @@ function $(e, l) {
28
28
  }, {});
29
29
  }
30
30
  function L(e, l, d = /* @__PURE__ */ new Map()) {
31
- const i = R(e, l);
32
- return $(i, d);
31
+ const i = $(e, l);
32
+ return A(i, d);
33
33
  }
34
- function A(e = {}) {
35
- function l(n, t, a, r) {
34
+ function q(e = {}) {
35
+ function l(n, t, a, o) {
36
36
  if (typeof a == "number")
37
- return r[n].length === a;
37
+ return o[n].length === a;
38
38
  if (typeof a == "object") {
39
- const o = Object.keys(a)[0], f = a[o];
40
- if (o === "not")
41
- return Number(r[n].length) !== Number(f);
42
- if (o === "moreThan")
43
- return Number(r[n].length) >= Number(f);
44
- if (o === "lessThan")
45
- return Number(r[n].length) <= Number(f);
39
+ const r = Object.keys(a)[0], m = a[r];
40
+ if (r === "not")
41
+ return Number(o[n].length) !== Number(m);
42
+ if (r === "moreThan")
43
+ return Number(o[n].length) >= Number(m);
44
+ if (r === "lessThan")
45
+ return Number(o[n].length) <= Number(m);
46
46
  }
47
47
  return !1;
48
48
  }
49
- function d(n, t, a, r) {
50
- return r[n] && r[n].propertyValue && String(r[n].propertyValue.value) === String(a);
49
+ function d(n, t, a, o) {
50
+ return o[n] && o[n].propertyValue && String(o[n].propertyValue.value) === String(a);
51
51
  }
52
52
  const i = /* @__PURE__ */ new Map([
53
53
  ["length", l],
@@ -56,49 +56,49 @@ function A(e = {}) {
56
56
  Object.keys(e).reduce((n, t) => (n.set(t, e[t]), n), i);
57
57
  function u(n, t) {
58
58
  const a = n;
59
- return typeof t == "number" ? [{ target: a, operator: "length", param: null, value: Number(t) }] : typeof t == "boolean" ? [{ target: a, operator: "getProperty", param: n, value: !!t }] : typeof t == "object" ? Object.keys(t).map((r) => {
60
- if (r === "length")
61
- return { target: a, operator: "length", param: null, value: t[r] };
62
- const o = r, f = t[r];
63
- return { target: a, operator: "getProperty", param: o, value: f };
59
+ return typeof t == "number" ? [{ target: a, operator: "length", param: null, value: Number(t) }] : typeof t == "boolean" ? [{ target: a, operator: "getProperty", param: n, value: !!t }] : typeof t == "object" ? Object.keys(t).map((o) => {
60
+ if (o === "length")
61
+ return { target: a, operator: "length", param: null, value: t[o] };
62
+ const r = o, m = t[o];
63
+ return { target: a, operator: "getProperty", param: r, value: m };
64
64
  }) : [];
65
65
  }
66
- function s(n) {
67
- return Object.keys(n).reduce((a, r) => {
68
- const o = u(r, n[r]);
69
- return a.push(...o), a;
66
+ function f(n) {
67
+ return Object.keys(n).reduce((a, o) => {
68
+ const r = u(o, n[o]);
69
+ return a.push(...r), a;
70
70
  }, []);
71
71
  }
72
- function c(n, t) {
72
+ function s(n, t) {
73
73
  if (i.has(n.operator)) {
74
74
  const a = i.get(n.operator);
75
75
  return a && a(n.target, n.param, n.value, t) || !1;
76
76
  }
77
77
  return !1;
78
78
  }
79
- function y(n, t) {
80
- return s(n).reduce((o, f) => o && c(f, t), !0);
79
+ function c(n, t) {
80
+ return f(n).reduce((r, m) => r && s(m, t), !0);
81
81
  }
82
- function g(n, t) {
83
- const a = Object.keys(n), r = a.includes("allOf"), o = a.includes("anyOf"), f = r || o, p = (f ? n[f ? r ? "allOf" : "anyOf" : "allOf"] : [n]).map((F) => y(F, t));
84
- return r ? !p.includes(!1) : p.includes(!0);
82
+ function p(n, t) {
83
+ const a = Object.keys(n), o = a.includes("allOf"), r = a.includes("anyOf"), m = o || r, g = (m ? n[m ? o ? "allOf" : "anyOf" : "allOf"] : [n]).map((F) => c(F, t));
84
+ return o ? !g.includes(!1) : g.includes(!0);
85
85
  }
86
- return { parseValueSchema: g };
86
+ return { parseValueSchema: p };
87
87
  }
88
- const q = {}, U = {};
89
- A();
90
- function W(e, l, d = /* @__PURE__ */ new Map(), i = (c, y, g) => y, u = {}, s = (c) => c) {
91
- return E[l.title] = l, H[l.title] = i, q[l.title] = u, U[l.title] = s, (c = {}) => {
92
- const y = L(c, l, d), g = Object.keys(e).reduce((n, t) => (n[t] = e[t].default, n), {});
93
- return Object.assign(g, y);
88
+ const U = {}, W = {};
89
+ q();
90
+ function z(e, l, d = /* @__PURE__ */ new Map(), i = (s, c, p) => c, u = {}, f = (s) => s) {
91
+ return H[l.title] = l, R[l.title] = i, U[l.title] = u, W[l.title] = f, (s = {}) => {
92
+ const c = L(s, l, d), p = Object.keys(e).reduce((n, t) => (n[t] = e[t].default, n), {});
93
+ return Object.assign(p, c);
94
94
  };
95
95
  }
96
- function z(e, l) {
96
+ function G(e, l) {
97
97
  return { customClass: l.class, customStyle: l.style };
98
98
  }
99
- const G = /* @__PURE__ */ new Map([
100
- ["appearance", z]
101
- ]), J = "https://json-schema.org/draft/2020-12/schema", Q = "https://farris-design.gitee.io/combo-list.schema.json", X = "combo-list", Y = "A Farris Input Component", Z = "object", _ = {
99
+ const J = /* @__PURE__ */ new Map([
100
+ ["appearance", G]
101
+ ]), Q = "https://json-schema.org/draft/2020-12/schema", X = "https://farris-design.gitee.io/combo-list.schema.json", Y = "combo-list", Z = "A Farris Input Component", _ = "object", K = {
102
102
  id: {
103
103
  description: "The unique identifier for a combo list",
104
104
  type: "string"
@@ -209,23 +209,23 @@ const G = /* @__PURE__ */ new Map([
209
209
  type: "sting",
210
210
  default: ""
211
211
  }
212
- }, K = [
212
+ }, ee = [
213
213
  "id",
214
214
  "type"
215
- ], ee = {
216
- $schema: J,
217
- $id: Q,
218
- title: X,
219
- description: Y,
220
- type: Z,
221
- properties: _,
222
- required: K
215
+ ], te = {
216
+ $schema: Q,
217
+ $id: X,
218
+ title: Y,
219
+ description: Z,
220
+ type: _,
221
+ properties: K,
222
+ required: ee
223
223
  };
224
- function te(e, l, d) {
224
+ function ae(e, l, d) {
225
225
  return l;
226
226
  }
227
- var ae = /* @__PURE__ */ ((e) => (e.Text = "text", e.Tag = "tag", e))(ae || {}), ne = /* @__PURE__ */ ((e) => (e.top = "top", e.bottom = "bottom", e.auto = "auto", e))(ne || {});
228
- const B = {
227
+ var ne = /* @__PURE__ */ ((e) => (e.Text = "text", e.Tag = "tag", e))(ne || {}), le = /* @__PURE__ */ ((e) => (e.top = "top", e.bottom = "bottom", e.auto = "auto", e))(le || {});
228
+ const j = {
229
229
  /**
230
230
  * 组件标识
231
231
  */
@@ -306,7 +306,7 @@ const B = {
306
306
  /**
307
307
  * 绑定值
308
308
  */
309
- modelValue: {},
309
+ modelValue: { type: String, default: "" },
310
310
  /**
311
311
  * 占位符
312
312
  */
@@ -377,7 +377,7 @@ const B = {
377
377
  formatter: { type: Function, default: null },
378
378
  editorParams: { type: Object },
379
379
  repositoryToken: { type: Symbol, default: null }
380
- }, le = W(B, ee, G, te), ie = {
380
+ }, ie = z(j, te, J, ae), re = {
381
381
  data: { type: Array, default: [] },
382
382
  enableSearch: { type: Boolean, default: !1 },
383
383
  idField: { type: String, default: "id" },
@@ -393,110 +393,110 @@ const B = {
393
393
  maxHeight: { type: Number, default: 350 },
394
394
  repositoryToken: { type: Symbol, default: null },
395
395
  editorParams: { type: Object }
396
- }, re = /* @__PURE__ */ O({
396
+ }, oe = /* @__PURE__ */ B({
397
397
  name: "FComboTreeContainer",
398
- props: ie,
398
+ props: re,
399
399
  emits: ["selectionChange"],
400
400
  setup(e, l) {
401
- const d = m(e.data), i = m([]), u = m(e.separator), s = m(e.width), c = m(e.height), y = m(e.maxHeight), g = m(String(e.selectedValues).split(u.value));
401
+ const d = y(e.data), i = y([]), u = y(e.separator), f = y(e.width), s = y(e.height), c = y(e.maxHeight), p = y(String(e.selectedValues).split(u.value));
402
402
  let n = null;
403
- e.repositoryToken && (n = P(e.repositoryToken));
403
+ e.repositoryToken && (n = M(e.repositoryToken));
404
404
  const t = v(() => [{
405
405
  field: e.textField,
406
406
  title: "",
407
407
  dataType: "string",
408
408
  formatter: e.formatter
409
409
  }]), a = v(() => {
410
- const o = {};
411
- return s.value !== void 0 && (o.width = `${s.value}px`), c.value !== void 0 && (o.height = `${c.value}px`), y.value !== void 0 && y.value > 0 && (o.maxHeight = `${y.value}px`, o.overflow = "auto"), o;
410
+ const r = {};
411
+ return f.value !== void 0 && (r.width = `${f.value}px`), s.value !== void 0 && (r.height = `${s.value}px`), c.value !== void 0 && c.value > 0 && (r.maxHeight = `${c.value}px`, r.overflow = "auto"), r;
412
412
  });
413
- function r(o) {
414
- i.value = o.map((f) => Object.assign({}, f)), g.value = o.map((f) => f[e.idField]), l.emit("selectionChange", i.value);
413
+ function o(r) {
414
+ i.value = r.map((m) => Object.assign({}, m)), p.value = r.map((m) => m[e.idField]), l.emit("selectionChange", i.value);
415
415
  }
416
- return M(() => {
417
- n && n.getData(e.editorParams).then((o) => {
418
- d.value = o;
416
+ return I(() => {
417
+ n && n.getData(e.editorParams).then((r) => {
418
+ d.value = r;
419
419
  });
420
420
  }), () => S("div", {
421
421
  class: "f-combo-tree-container",
422
422
  style: a.value
423
- }, [S(N, {
423
+ }, [S(D, {
424
424
  data: d.value,
425
425
  idField: e.idField,
426
426
  columns: t.value,
427
- "selection-values": g.value,
428
- onSelectionChange: r
427
+ "selection-values": p.value,
428
+ onSelectionChange: o
429
429
  }, null)]);
430
430
  }
431
431
  });
432
- function oe(e) {
433
- const l = m(""), d = m(e.modelValue), i = m(e.data || []), u = m(e.editable);
434
- function s(t) {
435
- const a = String(t).split(e.separator).map((o) => [o, !0]), r = new Map(a);
436
- return i.value.filter((o) => r.has(String(o[e.valueField])));
432
+ function ue(e) {
433
+ const l = y(""), d = y(e.modelValue), i = y(e.data || []), u = y(e.editable);
434
+ function f(t) {
435
+ const a = String(t).split(e.separator).map((r) => [r, !0]), o = new Map(a);
436
+ return i.value.filter((r) => r.data ? o.has(String(r.data[e.valueField])) : !0).map((r) => r.data);
437
437
  }
438
- function c(t) {
439
- const a = s(t).map((r) => r[e.textField]).join(e.separator);
438
+ function s(t) {
439
+ const a = f(t).map((o) => o[e.textField]).join(e.separator);
440
440
  l.value = u.value ? a || t : a;
441
441
  }
442
- function y(t) {
443
- const a = t.split(e.separator).map((o) => [o, !0]), r = new Map(a);
444
- return i.value.filter((o) => r.has(o[e.textField]));
442
+ function c(t) {
443
+ const a = t.split(e.separator).map((r) => [r, !0]), o = new Map(a);
444
+ return i.value.filter((r) => o.has(r[e.textField]));
445
445
  }
446
- function g(t) {
446
+ function p(t) {
447
447
  const a = {};
448
448
  return a[e.idField] = t, a[e.textField] = t, [a];
449
449
  }
450
450
  function n(t) {
451
- let a = y(t);
452
- const r = a && a.length > 0;
453
- return u.value && !r && (a = g(t)), a;
451
+ let a = c(t);
452
+ const o = a && a.length > 0;
453
+ return u.value && !o && (a = p(t)), a;
454
454
  }
455
455
  return h(() => e.data, () => {
456
456
  i.value = e.data;
457
457
  }), h([i], ([t]) => {
458
458
  if (e.modelValue) {
459
- const a = t.find((r) => r[e.valueField] === e.modelValue);
459
+ const a = t.find((o) => o[e.valueField] === e.modelValue);
460
460
  a && (l.value = a[e.textField]);
461
461
  }
462
462
  }), h(() => e.modelValue, (t) => {
463
- d.value = t, c(t);
464
- }), c(e.modelValue), { dataSource: i, displayText: l, editable: u, modelValue: d, getItemsByDisplayText: y, getItemsByValue: s, getSelectedItemsByDisplayText: n };
463
+ d.value = t, s(t);
464
+ }), s(e.modelValue), { dataSource: i, displayText: l, editable: u, modelValue: d, getItemsByDisplayText: c, getItemsByValue: f, getSelectedItemsByDisplayText: n };
465
465
  }
466
- const C = /* @__PURE__ */ O({
466
+ const C = /* @__PURE__ */ B({
467
467
  name: "FComboTree",
468
- props: B,
468
+ props: j,
469
469
  emits: ["clear", "update:modelValue", "change"],
470
470
  setup(e, l) {
471
471
  return () => {
472
- const d = m(), i = m(e.disabled), u = m(e.enableClear), s = m(e.enableSearch), c = m(e.readonly), {
473
- dataSource: y,
474
- displayText: g,
472
+ const d = y(), i = y(e.disabled), u = y(e.enableClear), f = y(e.enableSearch), s = y(e.readonly), {
473
+ dataSource: c,
474
+ displayText: p,
475
475
  editable: n,
476
476
  modelValue: t,
477
477
  getSelectedItemsByDisplayText: a
478
- } = oe(e), r = v(() => e.multiSelect);
478
+ } = ue(e), o = v(() => e.multiSelect);
479
479
  v(() => d.value ? d.value.elementRef.getBoundingClientRect().width : 0);
480
- function o() {
481
- !r.value && d.value && d.value.hidePopup();
480
+ function r() {
481
+ !o.value && d.value && d.value.hidePopup();
482
482
  }
483
- function f(p) {
484
- g.value = p.map((b) => b[e.textField]).join(e.separator), t.value = p.map((b) => b[e.valueField]).join(e.separator), l.emit("update:modelValue", t.value), l.emit("change", p, t.value), o();
483
+ function m(g) {
484
+ p.value = g.map((b) => b[e.textField]).join(e.separator), t.value = g.map((b) => b[e.valueField]).join(e.separator), l.emit("update:modelValue", t.value), l.emit("change", g, t.value), r();
485
485
  }
486
- function x(p) {
486
+ function x(g) {
487
487
  t.value = "", l.emit("update:modelValue", ""), l.emit("clear");
488
488
  }
489
- function T(p) {
490
- const b = a(p);
491
- f(b);
489
+ function T(g) {
490
+ const b = a(g);
491
+ m(b);
492
492
  }
493
- return h([() => e.disabled, () => e.editable, () => e.enableClear, () => e.enableSearch, () => e.readonly], ([p, b, F, j, w]) => {
494
- i.value = p, n.value = b, u.value = F, s.value = j, c.value = w;
493
+ return h([() => e.disabled, () => e.editable, () => e.enableClear, () => e.enableSearch, () => e.readonly], ([g, b, F, P, w]) => {
494
+ i.value = g, n.value = b, u.value = F, f.value = P, s.value = w;
495
495
  }), S(k, {
496
496
  ref: d,
497
497
  id: e.id,
498
498
  disable: i.value,
499
- readonly: c.value,
499
+ readonly: s.value,
500
500
  forcePlaceholder: e.forcePlaceholder,
501
501
  editable: n.value,
502
502
  buttonContent: e.dropDownIcon,
@@ -507,22 +507,22 @@ const C = /* @__PURE__ */ O({
507
507
  enableTitle: e.enableTitle,
508
508
  multiSelect: e.multiSelect,
509
509
  inputType: e.multiSelect ? "tag" : "text",
510
- modelValue: g.value,
511
- "onUpdate:modelValue": (p) => g.value = p,
510
+ modelValue: p.value,
511
+ "onUpdate:modelValue": (g) => p.value = g,
512
512
  onClear: x,
513
513
  onChange: T,
514
514
  focusOnCreated: e.focusOnCreated,
515
515
  selectOnCreated: e.selectOnCreated
516
516
  }, {
517
- default: () => [S(re, {
517
+ default: () => [S(oe, {
518
518
  maxHeight: e.maxHeight,
519
519
  idField: e.idField,
520
520
  valueField: e.valueField,
521
521
  textField: e.textField,
522
522
  titleField: e.titleField,
523
- data: y.value,
523
+ data: c.value,
524
524
  selectedValues: t.value,
525
- onSelectionChange: f,
525
+ onSelectionChange: m,
526
526
  formatter: e.formatter,
527
527
  editorParams: e.editorParams,
528
528
  repositoryToken: e.repositoryToken
@@ -532,14 +532,14 @@ const C = /* @__PURE__ */ O({
532
532
  }
533
533
  });
534
534
  C.register = (e, l, d, i) => {
535
- e["combo-tree"] = C, l["combo-tree"] = le;
535
+ e["combo-tree"] = C, l["combo-tree"] = ie;
536
536
  };
537
- const me = D(C);
537
+ const ye = E(C);
538
538
  export {
539
539
  C as FComboTree,
540
- ne as Placement,
541
- ae as ViewType,
542
- B as comboTreeProps,
543
- me as default,
544
- le as propsResolver
540
+ le as Placement,
541
+ ne as ViewType,
542
+ j as comboTreeProps,
543
+ ye as default,
544
+ ie as propsResolver
545
545
  };
@@ -0,0 +1 @@
1
+ (function(p,r){typeof exports=="object"&&typeof module<"u"?r(exports,require("vue"),require("../button-edit/index.umd.js"),require("lodash-es"),require("../tree-view/index.umd.js"),require("../common/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","../button-edit/index.umd.js","lodash-es","../tree-view/index.umd.js","../common/index.umd.js"],r):(p=typeof globalThis<"u"?globalThis:p||self,r(p["combo-tree"]={},p.Vue,p.FButtonEdit,p.LodashES,p.FTreeView,p.common))})(this,function(p,r,w,x,P,M){"use strict";const N={},I={};function v(e){const{properties:l,title:s,ignore:i}=e,d=i&&Array.isArray(i),m=Object.keys(l).reduce((c,f)=>((!d||!i.find(g=>g==f))&&(c[f]=l[f].type==="object"&&l[f].properties?v(l[f]):x.cloneDeep(l[f].default)),c),{});return(!d||!i.find(c=>c=="id"))&&(m.id=`${s}-${Date.now()}`),m}function k(e,l){const s=v(l);return Object.keys(e).reduce((i,d)=>(i[d]&&x.isPlainObject(i[d])&&x.isPlainObject(e[d])?Object.assign(i[d],e[d]):i[d]=e[d],i),s),s}function D(e,l){return Object.keys(e).filter(i=>e[i]!=null).reduce((i,d)=>{if(l.has(d)){const m=l.get(d);if(typeof m=="string")i[m]=e[d];else{const c=m(d,e[d],e);Object.assign(i,c)}}else i[d]=e[d];return i},{})}function E(e,l,s=new Map){const i=k(e,l);return D(i,s)}function $(e={}){function l(a,t,n,u){if(typeof n=="number")return u[a].length===n;if(typeof n=="object"){const o=Object.keys(n)[0],y=n[o];if(o==="not")return Number(u[a].length)!==Number(y);if(o==="moreThan")return Number(u[a].length)>=Number(y);if(o==="lessThan")return Number(u[a].length)<=Number(y)}return!1}function s(a,t,n,u){return u[a]&&u[a].propertyValue&&String(u[a].propertyValue.value)===String(n)}const i=new Map([["length",l],["getProperty",s]]);Object.keys(e).reduce((a,t)=>(a.set(t,e[t]),a),i);function d(a,t){const n=a;return typeof t=="number"?[{target:n,operator:"length",param:null,value:Number(t)}]:typeof t=="boolean"?[{target:n,operator:"getProperty",param:a,value:!!t}]:typeof t=="object"?Object.keys(t).map(u=>{if(u==="length")return{target:n,operator:"length",param:null,value:t[u]};const o=u,y=t[u];return{target:n,operator:"getProperty",param:o,value:y}}):[]}function m(a){return Object.keys(a).reduce((n,u)=>{const o=d(u,a[u]);return n.push(...o),n},[])}function c(a,t){if(i.has(a.operator)){const n=i.get(a.operator);return n&&n(a.target,a.param,a.value,t)||!1}return!1}function f(a,t){return m(a).reduce((o,y)=>o&&c(y,t),!0)}function g(a,t){const n=Object.keys(a),u=n.includes("allOf"),o=n.includes("anyOf"),y=u||o,b=(y?a[y?u?"allOf":"anyOf":"allOf"]:[a]).map(T=>f(T,t));return u?!b.includes(!1):b.includes(!0)}return{parseValueSchema:g}}const R={},q={};$();function H(e,l,s=new Map,i=(c,f,g)=>f,d={},m=c=>c){return N[l.title]=l,I[l.title]=i,R[l.title]=d,q[l.title]=m,(c={})=>{const f=E(c,l,s),g=Object.keys(e).reduce((a,t)=>(a[t]=e[t].default,a),{});return Object.assign(g,f)}}function L(e,l){return{customClass:l.class,customStyle:l.style}}const A=new Map([["appearance",L]]),_={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/combo-list.schema.json",title:"combo-list",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a combo list",type:"string"},type:{description:"The type string of number combo list component",type:"string",default:"combo-list"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},editable:{description:"",type:"boolean",default:!0},enableLinkLabel:{description:"",type:"boolean",default:!1},label:{description:"",type:"string",default:""},lableWidth:{description:"",type:"number"},placeholder:{description:"",type:"string",default:""},valueField:{description:"",type:"string",default:"id"},titleField:{description:"",type:"string",default:"name"},textField:{description:"",type:"string",default:"name"},data:{description:"",type:"array"},readonly:{description:"",type:"boolean",default:!1},required:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},textAlign:{description:"",type:"string",enum:["left","middle","right"],default:"left"},visible:{description:"",type:"boolean",default:!0},onBlur:{description:"",type:"string",default:""},onClickLinkLabel:{description:"",type:"sting",default:""}},required:["id","type"]};function U(e,l,s){return l}var j=(e=>(e.Text="text",e.Tag="tag",e))(j||{}),O=(e=>(e.top="top",e.bottom="bottom",e.auto="auto",e))(O||{});const C={id:{type:String},data:{type:Array,default:[]},displayText:{type:String,default:""},disabled:{type:Boolean,default:!1},dropDownIcon:{type:String,default:'<span class="f-icon f-icon-arrow-60-down"></span>'},editable:{type:Boolean,default:!1},enableClear:{type:Boolean,default:!0},enableSearch:{type:Boolean,default:!1},enableTitle:{type:Boolean,default:!0},fitEditor:{type:Boolean,default:!1},forcePlaceholder:{type:Boolean,default:!1},hidePanelOnClear:{type:Boolean,default:!0},idField:{type:String,default:"id"},mapFields:{type:Object},maxHeight:{type:Number,default:350},maxLength:{type:Number},multiSelect:{type:Boolean,default:!1},modelValue:{type:String,default:""},placeholder:{type:String},placement:{type:String,default:"auto"},readonly:{type:Boolean,default:!1},remoteSearch:{type:Boolean,default:!1},separator:{type:String,default:","},tabIndex:{type:Number,default:-1},textField:{type:String,default:"name"},titleField:{type:String,default:"name"},valueField:{type:String,default:"id"},viewType:{type:String,default:"text"},focusOnCreated:{type:Boolean,default:!1},selectOnCreated:{type:Boolean,default:!1},formatter:{type:Function,default:null},editorParams:{type:Object},repositoryToken:{type:Symbol,default:null}},V=H(C,_,A,U),W={data:{type:Array,default:[]},enableSearch:{type:Boolean,default:!1},idField:{type:String,default:"id"},multiSelect:{default:!1,type:Boolean},selectedValues:{type:String,default:""},separator:{type:String,default:","},textField:{type:String,default:"name"},titleField:{type:String,default:"name"},width:{type:Number},height:{type:Number},valueField:{type:String,default:"id"},formatter:{type:Function},maxHeight:{type:Number,default:350},repositoryToken:{type:Symbol,default:null},editorParams:{type:Object}},z=r.defineComponent({name:"FComboTreeContainer",props:W,emits:["selectionChange"],setup(e,l){const s=r.ref(e.data),i=r.ref([]),d=r.ref(e.separator),m=r.ref(e.width),c=r.ref(e.height),f=r.ref(e.maxHeight),g=r.ref(String(e.selectedValues).split(d.value));let a=null;e.repositoryToken&&(a=r.inject(e.repositoryToken));const t=r.computed(()=>[{field:e.textField,title:"",dataType:"string",formatter:e.formatter}]),n=r.computed(()=>{const o={};return m.value!==void 0&&(o.width=`${m.value}px`),c.value!==void 0&&(o.height=`${c.value}px`),f.value!==void 0&&f.value>0&&(o.maxHeight=`${f.value}px`,o.overflow="auto"),o});function u(o){i.value=o.map(y=>Object.assign({},y)),g.value=o.map(y=>y[e.idField]),l.emit("selectionChange",i.value)}return r.onMounted(()=>{a&&a.getData(e.editorParams).then(o=>{s.value=o})}),()=>r.createVNode("div",{class:"f-combo-tree-container",style:n.value},[r.createVNode(P,{data:s.value,idField:e.idField,columns:t.value,"selection-values":g.value,onSelectionChange:u},null)])}});function G(e){const l=r.ref(""),s=r.ref(e.modelValue),i=r.ref(e.data||[]),d=r.ref(e.editable);function m(t){const n=String(t).split(e.separator).map(o=>[o,!0]),u=new Map(n);return i.value.filter(o=>o.data?u.has(String(o.data[e.valueField])):!0).map(o=>o.data)}function c(t){const n=m(t).map(u=>u[e.textField]).join(e.separator);l.value=d.value?n||t:n}function f(t){const n=t.split(e.separator).map(o=>[o,!0]),u=new Map(n);return i.value.filter(o=>u.has(o[e.textField]))}function g(t){const n={};return n[e.idField]=t,n[e.textField]=t,[n]}function a(t){let n=f(t);const u=n&&n.length>0;return d.value&&!u&&(n=g(t)),n}return r.watch(()=>e.data,()=>{i.value=e.data}),r.watch([i],([t])=>{if(e.modelValue){const n=t.find(u=>u[e.valueField]===e.modelValue);n&&(l.value=n[e.textField])}}),r.watch(()=>e.modelValue,t=>{s.value=t,c(t)}),c(e.modelValue),{dataSource:i,displayText:l,editable:d,modelValue:s,getItemsByDisplayText:f,getItemsByValue:m,getSelectedItemsByDisplayText:a}}const S=r.defineComponent({name:"FComboTree",props:C,emits:["clear","update:modelValue","change"],setup(e,l){return()=>{const s=r.ref(),i=r.ref(e.disabled),d=r.ref(e.enableClear),m=r.ref(e.enableSearch),c=r.ref(e.readonly),{dataSource:f,displayText:g,editable:a,modelValue:t,getSelectedItemsByDisplayText:n}=G(e),u=r.computed(()=>e.multiSelect);r.computed(()=>s.value?s.value.elementRef.getBoundingClientRect().width:0);function o(){!u.value&&s.value&&s.value.hidePopup()}function y(b){g.value=b.map(h=>h[e.textField]).join(e.separator),t.value=b.map(h=>h[e.valueField]).join(e.separator),l.emit("update:modelValue",t.value),l.emit("change",b,t.value),o()}function F(b){t.value="",l.emit("update:modelValue",""),l.emit("clear")}function B(b){const h=n(b);y(h)}return r.watch([()=>e.disabled,()=>e.editable,()=>e.enableClear,()=>e.enableSearch,()=>e.readonly],([b,h,T,Q,X])=>{i.value=b,a.value=h,d.value=T,m.value=Q,c.value=X}),r.createVNode(w,{ref:s,id:e.id,disable:i.value,readonly:c.value,forcePlaceholder:e.forcePlaceholder,editable:a.value,buttonContent:e.dropDownIcon,placeholder:e.placeholder,enableClear:d.value,maxLength:e.maxLength,tabIndex:e.tabIndex,enableTitle:e.enableTitle,multiSelect:e.multiSelect,inputType:e.multiSelect?"tag":"text",modelValue:g.value,"onUpdate:modelValue":b=>g.value=b,onClear:F,onChange:B,focusOnCreated:e.focusOnCreated,selectOnCreated:e.selectOnCreated},{default:()=>[r.createVNode(z,{maxHeight:e.maxHeight,idField:e.idField,valueField:e.valueField,textField:e.textField,titleField:e.titleField,data:f.value,selectedValues:t.value,onSelectionChange:y,formatter:e.formatter,editorParams:e.editorParams,repositoryToken:e.repositoryToken},null)]})}}});S.register=(e,l,s,i)=>{e["combo-tree"]=S,l["combo-tree"]=V};const J=M.withInstall(S);p.FComboTree=S,p.Placement=O,p.ViewType=j,p.comboTreeProps=C,p.default=J,p.propsResolver=V,Object.defineProperties(p,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});