@farris/ui-vue 1.2.7 → 1.2.9

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 (246) hide show
  1. package/components/accordion/index.esm.js +136 -136
  2. package/components/accordion/index.umd.cjs +1 -1
  3. package/components/avatar/index.esm.js +418 -456
  4. package/components/avatar/index.umd.cjs +1 -1
  5. package/components/border-editor/index.esm.js +4 -4
  6. package/components/border-editor/index.umd.cjs +1 -1
  7. package/components/button/index.esm.js +1 -1
  8. package/components/button/index.umd.cjs +1 -1
  9. package/components/button-edit/index.esm.js +363 -436
  10. package/components/button-edit/index.umd.cjs +1 -1
  11. package/components/button-group/index.esm.js +5 -5
  12. package/components/button-group/index.umd.cjs +1 -1
  13. package/components/calendar/index.esm.js +417 -417
  14. package/components/calendar/index.umd.cjs +1 -1
  15. package/components/capsule/index.esm.js +176 -176
  16. package/components/capsule/index.umd.cjs +1 -1
  17. package/components/checkbox/index.esm.js +557 -594
  18. package/components/checkbox/index.umd.cjs +1 -1
  19. package/components/color-picker/index.esm.js +119 -119
  20. package/components/color-picker/index.umd.cjs +2 -2
  21. package/components/combo-list/index.esm.js +502 -535
  22. package/components/combo-list/index.umd.cjs +1 -1
  23. package/components/combo-tree/index.esm.js +69 -69
  24. package/components/combo-tree/index.umd.cjs +1 -1
  25. package/components/component/index.esm.js +387 -275
  26. package/components/component/index.umd.cjs +1 -1
  27. package/components/condition/index.esm.js +1219 -983
  28. package/components/condition/index.umd.cjs +1 -1
  29. package/components/content-container/index.esm.js +292 -219
  30. package/components/content-container/index.umd.cjs +1 -1
  31. package/components/data-grid/index.css +1 -1
  32. package/components/data-grid/index.esm.js +5718 -5546
  33. package/components/data-grid/index.umd.cjs +1 -1
  34. package/components/data-view/index.esm.js +3291 -2930
  35. package/components/data-view/index.umd.cjs +1 -1
  36. package/components/date-picker/index.esm.js +2650 -2682
  37. package/components/date-picker/index.umd.cjs +1 -1
  38. package/components/dependent-base/style.js +1 -0
  39. package/components/dependent-fluid/style.js +1 -0
  40. package/components/dependent-icon/style.js +1 -0
  41. package/components/dependent-input/style.js +1 -0
  42. package/components/dependent-table/style.js +1 -0
  43. package/components/designer-canvas/index.css +1 -1
  44. package/components/designer-canvas/index.esm.js +945 -932
  45. package/components/designer-canvas/index.umd.cjs +1 -1
  46. package/components/designer-outline/index.css +1 -1
  47. package/components/designer-outline/index.esm.js +175 -133
  48. package/components/designer-outline/index.umd.cjs +1 -1
  49. package/components/designer-toolbox/index.esm.js +36 -12
  50. package/components/designer-toolbox/index.umd.cjs +1 -1
  51. package/components/discussion-editor/index.esm.js +1 -1
  52. package/components/discussion-editor/index.umd.cjs +1 -1
  53. package/components/dropdown/index.esm.js +246 -246
  54. package/components/dropdown/index.umd.cjs +2 -2
  55. package/components/dynamic-form/index.esm.js +1319 -1172
  56. package/components/dynamic-form/index.umd.cjs +1 -1
  57. package/components/dynamic-resolver/index.esm.js +119 -82
  58. package/components/dynamic-resolver/index.umd.cjs +1 -1
  59. package/components/dynamic-view/index.esm.js +258 -249
  60. package/components/dynamic-view/index.umd.cjs +1 -1
  61. package/components/enum-editor/index.esm.js +3 -3
  62. package/components/enum-editor/index.umd.cjs +1 -1
  63. package/components/events-editor/index.esm.js +569 -514
  64. package/components/events-editor/index.umd.cjs +1 -1
  65. package/components/expression-editor/index.esm.js +104 -104
  66. package/components/expression-editor/index.umd.cjs +1 -1
  67. package/components/external-container/index.css +1 -1
  68. package/components/external-container/index.esm.js +3122 -2686
  69. package/components/external-container/index.umd.cjs +1 -1
  70. package/components/field-selector/index.css +1 -1
  71. package/components/field-selector/index.esm.js +6780 -6608
  72. package/components/field-selector/index.umd.cjs +1 -1
  73. package/components/filter-bar/index.css +1 -1
  74. package/components/filter-bar/index.esm.js +1466 -1523
  75. package/components/filter-bar/index.umd.cjs +1 -1
  76. package/components/flow-canvas/index.css +1 -1
  77. package/components/flow-canvas/index.esm.js +1048 -1035
  78. package/components/flow-canvas/index.umd.cjs +1 -1
  79. package/components/image-cropper/index.esm.js +422 -422
  80. package/components/image-cropper/index.umd.cjs +1 -1
  81. package/components/input-group/index.esm.js +674 -716
  82. package/components/input-group/index.umd.cjs +1 -1
  83. package/components/layout/index.esm.js +291 -291
  84. package/components/layout/index.umd.cjs +1 -1
  85. package/components/list-nav/index.esm.js +303 -230
  86. package/components/list-nav/index.umd.cjs +1 -1
  87. package/components/list-view/index.css +1 -1
  88. package/components/list-view/index.esm.js +2486 -2130
  89. package/components/list-view/index.umd.cjs +1 -1
  90. package/components/lookup/index.css +1 -1
  91. package/components/lookup/index.esm.js +7474 -7272
  92. package/components/lookup/index.umd.cjs +1 -1
  93. package/components/mapping-editor/index.css +1 -1
  94. package/components/mapping-editor/index.esm.js +6139 -5949
  95. package/components/mapping-editor/index.umd.cjs +1 -1
  96. package/components/message-box/index.esm.js +1 -1
  97. package/components/message-box/index.umd.cjs +1 -1
  98. package/components/modal/index.esm.js +1 -1
  99. package/components/modal/index.umd.cjs +1 -1
  100. package/components/nav/index.esm.js +432 -371
  101. package/components/nav/index.umd.cjs +3 -3
  102. package/components/number-range/index.esm.js +1124 -0
  103. package/components/number-range/index.umd.cjs +1 -0
  104. package/components/number-range/package.json +8 -0
  105. package/components/number-range/style.js +6 -0
  106. package/components/number-spinner/index.esm.js +1155 -0
  107. package/components/number-spinner/index.umd.cjs +1 -0
  108. package/components/number-spinner/package.json +8 -0
  109. package/components/number-spinner/style.js +4 -0
  110. package/components/order/index.css +1 -1
  111. package/components/order/index.esm.js +1215 -1178
  112. package/components/order/index.umd.cjs +1 -1
  113. package/components/page-footer/index.esm.js +147 -147
  114. package/components/page-footer/index.umd.cjs +1 -1
  115. package/components/page-header/index.esm.js +1240 -1346
  116. package/components/page-header/index.umd.cjs +1 -1
  117. package/components/pagination/index.esm.js +489 -428
  118. package/components/pagination/index.umd.cjs +1 -1
  119. package/components/progress/index.esm.js +220 -220
  120. package/components/progress/index.umd.cjs +3 -3
  121. package/components/property-editor/index.esm.js +1512 -1540
  122. package/components/property-editor/index.umd.cjs +3 -3
  123. package/components/property-panel/index.css +1 -1
  124. package/components/property-panel/index.esm.js +749 -815
  125. package/components/property-panel/index.umd.cjs +1 -1
  126. package/components/query-solution/index.css +1 -0
  127. package/components/query-solution/index.esm.js +7074 -0
  128. package/components/query-solution/index.umd.cjs +1 -0
  129. package/components/query-solution/package.json +8 -0
  130. package/components/query-solution/style.js +2 -0
  131. package/components/radio-button/index.esm.js +86 -86
  132. package/components/radio-button/index.umd.cjs +1 -1
  133. package/components/radio-group/index.esm.js +442 -479
  134. package/components/radio-group/index.umd.cjs +1 -1
  135. package/components/rate/index.esm.js +213 -208
  136. package/components/rate/index.umd.cjs +1 -1
  137. package/components/response-layout/index.esm.js +116 -116
  138. package/components/response-layout/index.umd.cjs +1 -1
  139. package/components/response-layout-editor/index.esm.js +943 -918
  140. package/components/response-layout-editor/index.umd.cjs +1 -1
  141. package/components/response-toolbar/index.esm.js +1174 -1295
  142. package/components/response-toolbar/index.umd.cjs +1 -1
  143. package/components/schema-selector/index.css +1 -1
  144. package/components/schema-selector/index.esm.js +5383 -5171
  145. package/components/schema-selector/index.umd.cjs +2 -2
  146. package/components/search-box/index.esm.js +201 -201
  147. package/components/search-box/index.umd.cjs +1 -1
  148. package/components/section/index.esm.js +684 -542
  149. package/components/section/index.umd.cjs +1 -1
  150. package/components/smoke-detector/index.esm.js +121 -121
  151. package/components/smoke-detector/index.umd.cjs +1 -1
  152. package/components/spacing-editor/index.esm.js +2 -2
  153. package/components/spacing-editor/index.umd.cjs +1 -1
  154. package/components/splitter/index.esm.js +1158 -382
  155. package/components/splitter/index.umd.cjs +1 -1
  156. package/components/step/index.esm.js +232 -232
  157. package/components/step/index.umd.cjs +1 -1
  158. package/components/switch/index.esm.js +451 -487
  159. package/components/switch/index.umd.cjs +1 -1
  160. package/components/tabs/index.esm.js +2078 -2168
  161. package/components/tabs/index.umd.cjs +1 -1
  162. package/components/tags/index.esm.js +318 -320
  163. package/components/tags/index.umd.cjs +1 -1
  164. package/components/text/index.esm.js +192 -192
  165. package/components/text/index.umd.cjs +1 -1
  166. package/components/textarea/index.esm.js +471 -497
  167. package/components/textarea/index.umd.cjs +1 -1
  168. package/components/time-picker/index.esm.js +1421 -1441
  169. package/components/time-picker/index.umd.cjs +1 -1
  170. package/components/transfer/index.css +1 -1
  171. package/components/transfer/index.esm.js +430 -421
  172. package/components/transfer/index.umd.cjs +1 -1
  173. package/components/tree-grid/index.css +1 -1
  174. package/components/tree-grid/index.esm.js +6806 -6624
  175. package/components/tree-grid/index.umd.cjs +1 -1
  176. package/components/tree-view/index.esm.js +2793 -2433
  177. package/components/tree-view/index.umd.cjs +1 -1
  178. package/components/uploader/index.esm.js +165 -165
  179. package/components/uploader/index.umd.cjs +2 -2
  180. package/components/verify-detail/index.esm.js +255 -255
  181. package/components/verify-detail/index.umd.cjs +1 -1
  182. package/components/video/index.esm.js +413 -334
  183. package/components/video/index.umd.cjs +1 -1
  184. package/components/weather/index.esm.js +902 -902
  185. package/components/weather/index.umd.cjs +4 -4
  186. package/farris.all.esm.js +54155 -52847
  187. package/farris.all.umd.cjs +9 -9
  188. package/index.css +1 -1
  189. package/package.json +1 -1
  190. package/types/button-edit/src/designer/button-group.design.component.d.ts +7 -0
  191. package/types/checkbox/index.d.ts +1 -0
  192. package/types/combo-list/src/components/list-container.component.d.ts +3 -0
  193. package/types/combo-list/src/components/list-container.props.d.ts +5 -1
  194. package/types/common/entity/entity-schema.d.ts +258 -0
  195. package/types/component/src/component-ref.props.d.ts +4 -0
  196. package/types/component/src/composition/inner-component-build-info.d.ts +27 -0
  197. package/types/component/src/designer/use-designer-rules.d.ts +2 -2
  198. package/types/data-grid/index.d.ts +5 -2
  199. package/types/data-grid/src/composition/data-grid-component-creator.service.d.ts +33 -0
  200. package/types/data-grid/src/data-grid.component.d.ts +2 -1
  201. package/types/data-grid/src/data-grid.props.d.ts +2 -2
  202. package/types/data-grid/src/designer/column-header.design.component.d.ts +1 -1
  203. package/types/data-grid/src/designer/data-grid-column.props.d.ts +1 -0
  204. package/types/data-grid/src/designer/use-group-column.d.ts +20 -0
  205. package/types/data-grid/src/property-config/data-grid.property-config.d.ts +4 -0
  206. package/types/data-grid/src/schema/schema-resolver.d.ts +2 -1
  207. package/types/data-view/components/column-format/boolean.component.d.ts +4 -0
  208. package/types/data-view/components/column-format/column-format.component.d.ts +4 -0
  209. package/types/data-view/components/column-format/date.component.d.ts +4 -0
  210. package/types/data-view/components/column-format/enum.component.d.ts +4 -0
  211. package/types/data-view/components/column-format/number.component.d.ts +4 -0
  212. package/types/data-view/composition/pagination/use-pagination.d.ts +1 -0
  213. package/types/data-view/composition/types.d.ts +19 -7
  214. package/types/data-view/composition/use-edit.d.ts +2 -1
  215. package/types/designer-canvas/src/composition/dg-control.d.ts +16 -350
  216. package/types/designer-canvas/src/composition/function/use-dragula.d.ts +2 -2
  217. package/types/designer-canvas/src/types.d.ts +3 -3
  218. package/types/dynamic-form/index.d.ts +3 -1
  219. package/types/dynamic-form/src/composition/response-form-component-creator.service.d.ts +31 -0
  220. package/types/dynamic-form/src/schema/schema-resolver.d.ts +2 -1
  221. package/types/dynamic-form/src/types.d.ts +1 -1
  222. package/types/dynamic-resolver/index.d.ts +1 -0
  223. package/types/dynamic-resolver/src/binding-resolver.d.ts +1 -0
  224. package/types/dynamic-resolver/src/schema-resolver.d.ts +2 -1
  225. package/types/dynamic-resolver/src/types.d.ts +3 -2
  226. package/types/dynamic-view/src/dynamic-view.component.d.ts +1 -1
  227. package/types/lookup/src/property-config/lookup.property-config.d.ts +2 -1
  228. package/types/modal/src/modal.props.d.ts +1 -4
  229. package/types/property-panel/src/composition/entity/base-property.d.ts +0 -12
  230. package/types/property-panel/src/composition/entity/input-base-property.d.ts +11 -26
  231. package/types/property-panel/src/composition/entity/schema-dom-mapping.d.ts +10 -8
  232. package/types/response-toolbar/src/response-toolbar.props.d.ts +2 -2
  233. package/types/response-toolbar/src/schema/schema-mapper.d.ts +4 -0
  234. package/types/section/src/property-config/section.property-config.d.ts +93 -0
  235. package/types/section/src/schema/schema-resolver.d.ts +2 -1
  236. package/types/tabs/src/composition/types.d.ts +2 -2
  237. package/types/tabs/src/designer/tab-header-item.design.component.d.ts +3 -1
  238. package/types/tabs/src/designer/tab-toolbar-item.props.d.ts +19 -0
  239. package/types/tabs/src/property-config/tab-page.property-config.d.ts +60 -0
  240. package/types/tabs/src/property-config/tabs.property-config.d.ts +6 -6
  241. package/types/tabs/src/schema/schema-resolver.d.ts +2 -1
  242. package/types/tags/index.d.ts +36 -5
  243. package/types/tree-grid/src/designer/use-designer-rules.d.ts +3 -0
  244. package/types/tree-grid/src/property-config/tree-grid.property-config.d.ts +11 -0
  245. package/types/tree-grid/src/schema/column-resolver.d.ts +1 -1
  246. package/types/tree-grid/src/tree-grid.props.d.ts +8 -0
@@ -1 +1 @@
1
- (function(h,r){typeof exports=="object"&&typeof module<"u"?r(exports,require("vue"),require("lodash-es"),require("@farris/ui-vue/components/list-view"),require("@farris/ui-vue/components/button-edit"),require("@farris/ui-vue/components/designer-canvas/src/composition/function/use-designer-component")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es","@farris/ui-vue/components/list-view","@farris/ui-vue/components/button-edit","@farris/ui-vue/components/designer-canvas/src/composition/function/use-designer-component"],r):(h=typeof globalThis<"u"?globalThis:h||self,r(h["combo-list"]={},h.Vue,h.LodashES,h.FListView,h.FButtonEdit,h.useDesignerComponent))})(this,function(h,r,T,E,I,R){"use strict";var ue=Object.defineProperty;var pe=(h,r,T)=>r in h?ue(h,r,{enumerable:!0,configurable:!0,writable:!0,value:T}):h[r]=T;var S=(h,r,T)=>pe(h,typeof r!="symbol"?r+"":r,T);const H={},N={};function D(e){const{properties:t,title:n}=e,o=Object.keys(t).reduce((c,p)=>(c[p]=t[p].type==="object"&&t[p].properties?D(t[p]):T.cloneDeep(t[p].default),c),{});return o.id=`${n}-${Date.now()}`,o}function j(e,t){const n=D(t);return Object.keys(e).reduce((o,c)=>(o[c]=e[c],o),n),n}function U(e,t){return Object.keys(e).filter(o=>e[o]!=null).reduce((o,c)=>{if(t.has(c)){const p=t.get(c);if(typeof p=="string")o[p]=e[c];else{const y=p(c,e[c],e);Object.assign(o,y)}}else o[c]=e[c];return o},{})}function z(e,t,n=new Map){const o=j(e,t);return U(o,n)}function $(e={}){function t(s,u,i,a){if(typeof i=="number")return a[s].length===i;if(typeof i=="object"){const d=Object.keys(i)[0],m=i[d];if(d==="not")return Number(a[s].length)!==Number(m);if(d==="moreThan")return Number(a[s].length)>=Number(m);if(d==="lessThan")return Number(a[s].length)<=Number(m)}return!1}function n(s,u,i,a){return a[s]&&a[s].propertyValue&&String(a[s].propertyValue.value)===String(i)}const o=new Map([["length",t],["getProperty",n]]);Object.keys(e).reduce((s,u)=>(s.set(u,e[u]),s),o);function c(s,u){const i=s;return typeof u=="number"?[{target:i,operator:"length",param:null,value:Number(u)}]:typeof u=="boolean"?[{target:i,operator:"getProperty",param:s,value:!!u}]:typeof u=="object"?Object.keys(u).map(a=>{if(a==="length")return{target:i,operator:"length",param:null,value:u[a]};const d=a,m=u[a];return{target:i,operator:"getProperty",param:d,value:m}}):[]}function p(s){return Object.keys(s).reduce((i,a)=>{const d=c(a,s[a]);return i.push(...d),i},[])}function y(s,u){if(o.has(s.operator)){const i=o.get(s.operator);return i&&i(s.target,s.param,s.value,u)||!1}return!1}function g(s,u){return p(s).reduce((d,m)=>d&&y(m,u),!0)}function f(s,u){const i=Object.keys(s),a=i.includes("allOf"),d=i.includes("anyOf"),m=a||d,b=(m?s[m?a?"allOf":"anyOf":"allOf"]:[s]).map(w=>g(w,u));return a?!b.includes(!1):b.includes(!0)}return{parseValueSchema:f}}const l={Button:{type:"Button",name:"按钮",icon:"Button"},ButtonGroup:{type:"ButtonGroup",name:"按钮组",icon:"ButtonGroup"},"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"},DisplayField:{type:"DisplayField",name:"标签",icon:"DisplayField"},"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"},FlexLayout:{type:"FlexLayout",name:"弹性布局"},FlowLayout:{type:"FlowLayout",name:"流布局"},ResponseLayout:{type:"ResponseLayout",name:"布局容器",icon:"ResponseLayout3"},ResponseLayoutItem:{type:"ResponseLayoutItem",name:"布局",icon:"ResponseLayout1"},"tree-grid":{type:"tree-grid",name:"树表格",icon:"TreeGrid"},TreeGridField:{type:"TreeGridField",name:"树表格列"},FieldSet:{type:"FieldSet",name:"分组",icon:"FieldSet"},Form:{type:"Form",name:"卡片面板",icon:"Form"},QueryForm:{type:"QueryForm",name:"查询面板",icon:"Form"},"data-grid":{type:"data-grid",name:"表格",icon:"DataGrid"},"data-grid-column":{type:"data-grid-column",name:"表格列"},Panel:{type:"Panel",name:"面板",icon:"ContentContainer"},Module:{type:"Module",name:"模块",icon:"Module"},component:{type:"component",name:"组件",icon:"Component"},ExternalContainer:{type:"ExternalContainer",name:"外部容器",icon:"ContentContainer"},Image:{type:"Image",name:"图像",icon:"Image"},ImageUpload:{type:"ImageUpload",name:"图片上传",icon:"imageupload"},HiddenContainer:{type:"HiddenContainer",name:"隐藏区域",icon:"ContentContainer"},ModalContainer:{type:"ModalContainer",name:"弹窗容器",icon:"ContentContainer"},RouteContainer:{type:"RouteContainer",name:"路由区域",icon:"ContentContainer"},tabs:{type:"tabs",name:"标签页",icon:"Tab"},"tab-page":{type:"tab-page",name:"标签页项",dependentParentControl:"Tab"},"tab-toolbar-item":{type:"tab-toolbar-item",name:"标签页工具栏按钮",icon:"Button"},Tag:{type:"Tag",name:"Tag",icon:"Tag"},Sidebar:{type:"Sidebar",name:"侧边栏",icon:"Sidebar"},HtmlTemplate:{type:"HtmlTemplate",name:"模版容器",icon:"HtmlTemplate"},ListView:{type:"ListView",name:"列表",icon:"ListView"},RichTextBox:{type:"RichTextBox",name:"富文本",icon:"RichTextBox"},TimeSpinner:{type:"TimeSpinner",name:"时间调节器",icon:"TimePicker"},TimePicker:{type:"TimePicker",name:"时间选择",icon:"TimePicker"},section:{type:"section",name:"分组面板",icon:"Section"},SectionToolbar:{type:"SectionToolbar",name:"分组面板工具栏"},SectionToolbarItem:{type:"SectionToolbarItem",name:"分组面板按钮"},QueryScheme:{type:"QueryScheme",name:"筛选方案",icon:"QueryScheme"},FormHeader:{type:"FormHeader",name:"翻页"},Splitter:{type:"Splitter",name:"分栏面板",icon:"Splitter"},SplitterPane:{type:"SplitterPane",name:"分栏面板项",dependentParentControl:"Splitter"},WizardDetail:{type:"WizardDetail",name:"向导详情页"},WizardDetailContainer:{type:"WizardDetailContainer",name:"向导详情容器"},Wizard:{type:"Wizard",name:"向导",icon:"Wizard"},MultiSelect:{type:"MultiSelect",name:"数据分配",icon:"MultiSelect"},Steps:{type:"Steps",name:"步骤条",icon:"Steps"},avatar:{type:"avatar",name:"头像",icon:"Avatar"},ListFilter:{type:"ListFilter",name:"筛选条",icon:"ListFilter"},ListNav:{type:"ListNav",name:"列表导航",icon:"ListNav"},NumberRange:{type:"NumberRange",name:"数字区间选择",icon:"NumericBox"},Scrollspy:{type:"Scrollspy",name:"滚动监听",icon:"Scrollspy"},LanguageTextBox:{type:"LanguageTextBox",name:"多语言输入框",icon:"LanguageTextBox"},ComponentRef:{type:"ComponentRef",name:"组件引用节点"},FileUpload:{type:"FileUpload",name:"附件上传",icon:"FileUpload"},FilePreview:{type:"FilePreview",name:"附件预览",icon:"FilePreview"},ViewChange:{type:"ViewChange",name:"多视图切换",icon:"Button"},MultiViewContainer:{type:"MultiViewContainer",name:"多视图",icon:"MultiViewContainer"},MultiViewItem:{type:"MultiViewItem",name:"多视图项",dependentParentControl:"MultiViewContainer"},Footer:{type:"Footer",name:"页脚"},DiscussionEditor:{type:"DiscussionEditor",name:"评论编辑区",icon:"DiscussionEditor"},DiscussionList:{type:"DiscussionList",name:"评论列表",icon:"DiscussionList"},NavTab:{type:"NavTab",name:"标签类导航",icon:"NavTab"},Tags:{type:"Tags",name:"标记组",icon:"Tags"},Portlet:{type:"Portlet",name:"小部件",icon:"dingzhi"},"page-header":{type:"page-header",name:"页头",icon:"Header"},ModalFooter:{type:"ModalFooter",name:"弹窗页脚",icon:"ModalFooter"},ScrollCollapsibleArea:{type:"ScrollCollapsibleArea",name:"滚动收折区域",icon:"ScrollCollapsibleArea"},PersonnelSelector:{type:"PersonnelSelector",name:"人员选择",icon:"PersonnelSelector"},Table:{type:"Table",name:"表格",icon:"DataGrid"},LoopContainer:{type:"LoopContainer",name:"循环容器",icon:"ContentContainer"},FileUploadPreview:{type:"FileUploadPreview",name:"附件上传预览",icon:"FileUpload"},DynamicArea:{type:"DynamicArea",name:"动态区域",icon:"ContentContainer"},DynamicAreaItem:{type:"DynamicAreaItem",name:"动态区域项",icon:"ContentContainer"},TabToolbar:{type:"TabToolbar",name:"标签页工具栏",icon:"TabToolbar"},HeaderToolBar:{type:"HeaderToolBar",name:"头部组件工具栏",icon:"HeaderToolBar"},ModalFooterToolBar:{type:"ModalFooterToolBar",name:"底部组件工具栏",icon:"ModalFooterToolBar"},HeaderToolBarItem:{type:"HeaderToolBarItem",name:"头部组件工具栏按钮",icon:"HeaderToolBarItem"},ModalFooterToolBarItem:{type:"ModalFooterToolBarItem",name:"底部组件工具栏按钮",icon:"ModalFooterToolBarItem"},OrganizationSelector:{type:"OrganizationSelector",name:"组织选择",icon:"OrganizationSelector"},AdminOrganizationSelector:{type:"AdminOrganizationSelector",name:"组织选择",icon:"OrganizationSelector"},EmployeeSelector:{type:"EmployeeSelector",name:"人员选择",icon:"PersonnelSelector"},OaRelation:{type:"OaRelation",name:"关联行政审批",icon:"TextBox"},CitySelector:{type:"CitySelector",name:"城市选择",icon:"CitySelector"},ExtIntergration:{type:"ExtIntergration",name:"外部服务集成",icon:"ViewModel"},AppointmentCalendar:{type:"AppointmentCalendar",name:"预约日历",icon:"DateBox"},Charts:{type:"Charts",name:"图表",icon:"Charts"},QdpFramework:{type:"QdpFramework",name:"查询结果工具栏",icon:"QdpFramework"},SpreadSheet:{type:"SpreadSheet",name:"查询表格控件",icon:"Charts"},QdpConditionDialog:{type:"QdpConditionDialog",name:"查询筛选对话框",icon:"ContentContainer"},QdpConditionDialogTab:{type:"QdpConditionDialogTab",name:"查询筛选标签页",icon:"Tab"},ApprovalLogs:{type:"ApprovalLogs",name:"审批记录",icon:"ApprovalLogs"},ApprovalComments:{type:"ApprovalComments",name:"审批意见",icon:"shenpiyijian"}},q={},G={};$();function W(e,t,n=new Map,o=(y,g,f)=>g,c={},p=y=>y){return H[t.title]=t,N[t.title]=o,q[t.title]=c,G[t.title]=p,(y={})=>{const g=z(y,t,n),f=Object.keys(e).reduce((s,u)=>(s[u]=e[u].default,s),{});return Object.assign(f,g)}}function Q(e,t){return{customClass:t.class,customStyle:t.style}}const _=new Map([["appearance",Q]]),X={$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:"value"},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 Y(e,t,n){return t}var O=(e=>(e.Text="text",e.Tag="tag",e))(O||{}),L=(e=>(e.top="top",e.bottom="bottom",e.auto="auto",e))(L||{});const B={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:{default:!1,type:Boolean},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}},k=W(B,X,_,Y),Z={dataSource:{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},maxHeight:{type:Number},valueField:{type:String,default:"id"},onSelectionChange:{type:Function,default:()=>{}},searchOption:{type:Object,default:!1},enableHighlightSearch:{type:Boolean,default:!0}},J=r.defineComponent({name:"FComboListContainer",props:Z,emits:["selectionChange"],setup(e,t){const n=r.ref(),o=r.ref(e.dataSource),c=r.ref([]),p=r.ref(e.separator),y=r.ref(e.width),g=r.ref(e.maxHeight),f=r.ref(String(e.selectedValues).split(p.value));r.watch(e.dataSource,()=>{o.value=e.dataSource});const s=r.computed(()=>e.enableSearch?"SearchBar":"ContentHeader"),u=r.computed(()=>{const d={};return y.value!==void 0&&(d.width=`${y.value}px`),g.value!==void 0&&g.value>0&&(d.maxHeight=`${g.value}px`),d});function i(d){c.value=d.map(m=>Object.assign({},m)),f.value=d.map(m=>m[e.idField]),t.emit("selectionChange",c.value)}function a(d){if(e.enableHighlightSearch)return;let m=[];typeof e.searchOption=="function"?m=o.value.filter(v=>e.searchOption(d,v)):m=o.value.filter(v=>v[e.valueField].indexOf(d)>-1||v[e.textField].indexOf(d)>-1),n.value.updateDataSource(m)}return r.watch([()=>e.selectedValues],([d])=>{f.value=d.split(p.value)}),()=>r.createVNode("div",{class:"f-combo-list-container pl-3",style:u.value},[r.createVNode(E,{ref:n,size:"small",itemClass:"f-combo-list-item",header:s.value,headerClass:"f-combo-list-search-box",data:o.value,idField:e.idField,textField:e.textField,titleField:e.titleField,multiSelect:e.multiSelect,selection:{enableSelectRow:!0,multiSelect:!0,multiSelectMode:"OnCheckAndClick",showCheckbox:!0,showSelectAll:!1,showSelection:!0},enableHighlightSearch:e.enableHighlightSearch,selectionValues:f.value,onSelectionChange:i,onAfterSearch:a},null)])}});function K(e){const t=r.ref(""),n=r.ref(e.modelValue),o=r.ref(e.data||[]),c=r.ref(e.editable);function p(i){const a=String(i).split(e.separator).map(m=>[m,!0]),d=new Map(a);return o.value.filter(m=>d.has(String(m[e.valueField])))}function y(i){const a=p(i).map(d=>d[e.textField]).join(e.separator);t.value=c.value?a||i:a}function g(i){const a=i.split(e.separator).map(m=>[m,!0]),d=new Map(a);return o.value.filter(m=>d.has(m[e.textField]))}function f(i){const a={};return a[e.idField]=i,a[e.textField]=i,[a]}function s(i){let a=g(i);const d=a&&a.length>0;return c.value&&!d&&(a=f(i)),a}function u(){const{url:i,method:a="GET",headers:d={},body:m=null}=e.remote,v=a.toLowerCase()=="get"?{method:a,headers:d}:{method:a,headers:d,body:m};let x=!1;fetch(i,v).then(b=>{var w,V;if(b.status===200)return x=!!((V=(w=b.headers)==null?void 0:w.get("content-type"))!=null&&V.includes("application/json")),x?b.text():b.json();throw new Error(b.statusText)}).then(b=>{o.value=x?JSON.parse(b):b}).catch(b=>{console.error(b)})}return e.remote&&u(),r.watch(()=>e.data,()=>{o.value=e.data}),r.watch([o],([i])=>{if(e.modelValue){const a=i.find(d=>d[e.valueField]===e.modelValue);a&&(t.value=a[e.textField])}}),r.watch(()=>e.modelValue,i=>{n.value=i,y(i)}),y(e.modelValue),{dataSource:o,displayText:t,editable:c,modelValue:n,getItemsByDisplayText:g,getItemsByValue:p,getSelectedItemsByDisplayText:s}}const M=r.defineComponent({name:"FComboList",props:B,emits:["clear","update:modelValue","change","input"],setup(e,t){const n=r.ref(),o=r.ref(e.disabled),c=r.ref(e.enableClear),p=r.ref(e.enableSearch),y=r.ref(e.readonly),{dataSource:g,displayText:f,editable:s,modelValue:u,getSelectedItemsByDisplayText:i}=K(e),a=r.computed(()=>e.multiSelect),d=r.computed(()=>n.value?n.value.elementRef.getBoundingClientRect().width:0);function m(){!a.value&&n.value&&n.value.hidePopup()}function v(C){f.value=C.map(F=>F[e.textField]).join(e.separator),C.length===1?u.value=C[0][e.valueField]:u.value=C.map(F=>F[e.valueField]).join(e.separator),t.emit("update:modelValue",u.value),t.emit("change",C,u.value),m()}function x(){y.value||n.value.togglePopup()}function b(C){u.value="",t.emit("update:modelValue",""),t.emit("clear")}function P(C){const F=i(C);v(F)}function w(){return f.value}function V(C){t.emit("input",C)}return t.expose({getDisplayText:w}),r.watch([()=>e.disabled,()=>e.editable,()=>e.enableClear,()=>e.enableSearch,()=>e.readonly],([C,F,ce,se,de])=>{o.value=C,s.value=F,c.value=ce,p.value=se,y.value=de}),()=>r.createVNode(I,{ref:n,id:e.id,disable:o.value,readonly:y.value,forcePlaceholder:e.forcePlaceholder,editable:s.value,buttonContent:e.dropDownIcon,placeholder:e.placeholder,enableClear:c.value,maxLength:e.maxLength,tabIndex:e.tabIndex,enableTitle:e.enableTitle,multiSelect:e.multiSelect,inputType:e.multiSelect?e.viewType:"text",modelValue:f.value,"onUpdate:modelValue":C=>f.value=C,focusOnCreated:e.focusOnCreated,selectOnCreated:e.selectOnCreated,onClear:b,onClick:x,onChange:P,onInput:V,beforeOpen:e.beforeOpen},{default:()=>[r.createVNode(J,{idField:e.idField,valueField:e.valueField,textField:e.textField,titleField:e.titleField,dataSource:g.value,selectedValues:u.value,multiSelect:e.multiSelect,enableSearch:p.value,maxHeight:e.maxHeight,enableHighlightSearch:e.enableHighlightSearch,width:e.fitEditor?d.value:void 0,onSelectionChange:v},null)]})}});function ee(e,t){e.schema;const n=r.ref(!0),o=r.ref(!0);function c(i){return!1}function p(){return!1}function y(){return!1}function g(){return!0}function f(i){}function s(){}function u(i){return null}return{canAccepts:c,checkCanDeleteComponent:p,checkCanMoveComponent:y,hideNestedPaddingInDesginerView:g,onAcceptMovedChildElement:f,resolveComponentContext:s,triggerBelongedComponentToMoveWhenMoved:n,triggerBelongedComponentToDeleteWhenDeleted:o,getPropsConfig:u}}class A{static getEditorTypesByMDataType(t){const n=this.fieldControlTypeMapping[t];return n||[{key:"",value:""}]}}S(A,"fieldControlTypeMapping",{String:[{key:l["input-group"].type,value:l["input-group"].name},{key:l.lookup.type,value:l.lookup.name},{key:l.Image.type,value:l.Image.name},{key:l["date-picker"].type,value:l["date-picker"].name},{key:l["check-box"].type,value:l["check-box"].name},{key:l["radio-group"].type,value:l["radio-group"].name},{key:l["combo-list"].type,value:l["combo-list"].name},{key:l.textarea.type,value:l.textarea.name}],Text:[{key:l.textarea.type,value:l.textarea.name},{key:l.avatar.type,value:l.avatar.name},{key:l.lookup.type,value:l.lookup.name}],Decimal:[{key:l["number-spinner"].type,value:l["number-spinner"].name}],Integer:[{key:l["number-spinner"].type,value:l["number-spinner"].name}],Number:[{key:l["number-spinner"].type,value:l["number-spinner"].name}],BigNumber:[{key:l["number-spinner"].type,value:l["number-spinner"].name}],Date:[{key:l["date-picker"].type,value:l["date-picker"].name}],DateTime:[{key:l["date-picker"].type,value:l["date-picker"].name}],Boolean:[{key:l.switch.type,value:l.switch.name},{key:l["check-box"].type,value:l["check-box"].name}],Enum:[{key:l["combo-list"].type,value:l["combo-list"].name},{key:l["radio-group"].type,value:l["radio-group"].name}],Object:[{key:l.lookup.type,value:l.lookup.name},{key:l["combo-list"].type,value:l["combo-list"].name},{key:l["radio-group"].type,value:l["radio-group"].name}],EmployeeSelector:[{key:l.EmployeeSelector.type,value:l.EmployeeSelector.name}],AdminOrganizationSelector:[{key:l.AdminOrganizationSelector.type,value:l.AdminOrganizationSelector.name}]});class te{constructor(t,n){S(this,"componentId");S(this,"viewModelId");S(this,"eventsEditorUtils");S(this,"formSchemaUtils");S(this,"formMetadataConverter");S(this,"designViewModelUtils");S(this,"designViewModelField");S(this,"controlCreatorUtils");S(this,"designerHostService");S(this,"schemaService",null);S(this,"metadataService",null);S(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(c=>c.id===n)}t.updateOn=this.designViewModelField.updateOn}}changeFieldEditorType(t,n){}getBasicPropConfig(t){var o,c;var n=this;return this.setDesignViewModelField(t),{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",data:A.getEditorTypesByMDataType(((c=(o=n.designViewModelField)==null?void 0:o.type)==null?void 0:c.name)||""),editable:!1}},label:{title:"标签",type:"string",$converter:"/converter/form-group-label.converter"}},setPropertyRelates(p,y){if(p)switch(p&&p.propertyID){case"type":{n.changeControlType(t,p);break}}}}}changeControlType(t,n){var s,u,i,a,d;const o=n.propertyValue,c=this.formSchemaUtils.getComponentById(this.componentId);let p=this.getControlParentContainer(t.id,c);if(!p)return;const y=p.contents.findIndex(m=>m.id===t.id),g=p.contents[y];let f;this.designViewModelField&&(this.designViewModelUtils.getDgViewModel(this.viewModelId).changeField(this.designViewModelField.id,{editor:{$type:o},name:this.designViewModelField.name,require:this.designViewModelField.require,readonly:this.designViewModelField.readonly},!1),f=this.controlCreatorUtils.setFormFieldProperty("Form",this.designViewModelField,null,o)),Object.assign(f,{id:g.id,appearance:g.appearance,size:g.size,label:g.label}),Object.assign(f.editor,{isTextArea:f.isTextArea&&g.isTextArea,type:o||"",placeHolder:(s=g.editor)==null?void 0:s.placeHolder,holdPlace:(u=g.editor)==null?void 0:u.holdPlace,readonly:(i=g.editor)==null?void 0:i.readonly,require:(a=g.editor)==null?void 0:a.require,visible:(d=g.editor)==null?void 0:d.visible}),p.contents.splice(y,1,f)}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"},responseLayout:{description:"响应式列宽",title:"响应式列宽",type:"boolean",visible:!1,editor:{type:"response-layout-editor-setting"},$converter:"/converter/response-form-layout.converter"}}}}getControlParentContainer(t,n){let o;if(!n||!n.contents||n.contents.length===0)return null;for(const c of n.contents){if(c.id===t)return o=n,n;if(o=this.getControlParentContainer(t,c),o)return o}}}class ne extends te{constructor(t,n){super(t,n)}getBasicProperties(t){let n=this.getBasicPropConfig(t);return n.properties.binding=this.getFieldSelectorOptions(t),n}getAppearanceProperties(t){return this.getAppearanceConfig(t)}getEditorProperties(t){return this.getComponentConfig(t)}getPropertyConfig(t){return this.propertyConfig.categories.basic=this.getBasicProperties(t),this.propertyConfig.categories.appearance=this.getAppearanceProperties(t),this.propertyConfig.categories.editor=this.getEditorProperties(t),this.propertyConfig}getFieldSelectorOptions(t){const n=this.formSchemaUtils.getFormMetadataBasicInfo(),o=this.designViewModelUtils.getAllFields2TreeByVMId(this.viewModelId);return{description:"绑定的表单字段",title:"绑定",$converter:"/converter/field-selector.converter",editor:{type:"field-selector",bindingType:{enable:!1},editorParams:{propertyData:t,formBasicInfo:n},columns:[{field:"name",title:"字段名称"},{field:"bindingField",title:"绑定字段"},{field:"fieldType",title:"字段类型"}],textField:"bindingField",data:o}}}getBindingOtions(t){return this.getFieldSelectorOptions(t)}getComponentConfig(t,n={},o={}){const c=Object.assign({description:"组件信息",title:"组件信息",type:"input-group",$converter:"/converter/property-editor.converter"},n),p=Object.assign({readonly:{description:"",title:"只读",type:"boolean"},disabled:{description:"",title:"禁用",type:"boolean"},placeholder:{description:"空值时,输入控件内的占位文本",title:"提示文本",type:"string"}},o);return{...c,properties:{...p}}}}class oe extends ne{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 ie(e,t){const{canAccepts:n,checkCanDeleteComponent:o,checkCanMoveComponent:c,hideNestedPaddingInDesginerView:p,onAcceptMovedChildElement:y,resolveComponentContext:g,triggerBelongedComponentToMoveWhenMoved:f,triggerBelongedComponentToDeleteWhenDeleted:s}=ee(e),u=e.schema;function i(a){return new oe(a,t).getPropertyConfig(u)}return{canAccepts:n,checkCanDeleteComponent:o,checkCanMoveComponent:c,hideNestedPaddingInDesginerView:p,onAcceptMovedChildElement:y,resolveComponentContext:g,triggerBelongedComponentToMoveWhenMoved:f,triggerBelongedComponentToDeleteWhenDeleted:s,getPropsConfig:i}}const ae=r.defineComponent({name:"FComboListDesign",props:B,emits:["clear","update:modelValue","change"],setup(e,t){const n=r.ref(),o=r.inject("designer-host-service"),c=r.inject("design-item-context"),p=ie(c,o),y=R.useDesignerComponent(n,c,p);return r.onMounted(()=>{n.value.componentInstance=y}),t.expose(y.value),()=>r.createVNode(I,{ref:n,id:e.id,disable:e.disabled,readonly:e.readonly,forcePlaceholder:e.forcePlaceholder,editable:!1,buttonContent:e.dropDownIcon,placeholder:e.placeholder,enableClear:!1,maxLength:e.maxLength,tabIndex:e.tabIndex,enableTitle:e.enableTitle,multiSelect:e.multiSelect,inputType:e.multiSelect?"tag":"text"},null)}}),re=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"]=k},M.registerDesigner=(e,t,n)=>{e["combo-list"]=ae,t["combo-list"]=k};const le=re(M);h.FComboList=M,h.Placement=L,h.ViewType=O,h.comboListProps=B,h.default=le,h.propsResolver=k,Object.defineProperties(h,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
1
+ (function(g,o){typeof exports=="object"&&typeof module<"u"?o(exports,require("vue"),require("lodash-es"),require("../list-view/index.umd.js"),require("../button-edit/index.umd.js"),require("../button-edit/index.umd.js/src/designer/button-edit.design.component"),require("../dynamic-resolver/index.umd.js"),require("../designer-canvas/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es","../list-view/index.umd.js","../button-edit/index.umd.js","../button-edit/index.umd.js/src/designer/button-edit.design.component","../dynamic-resolver/index.umd.js","../designer-canvas/index.umd.js"],o):(g=typeof globalThis<"u"?globalThis:g||self,o(g["combo-list"]={},g.Vue,g.LodashES,g.FListView,g.FButtonEdit,g.FButtonEditDesign,g.dynamicResolver,g.designerCanvas))})(this,function(g,o,k,L,R,N,j,$){"use strict";var ye=Object.defineProperty;var ge=(g,o,k)=>o in g?ye(g,o,{enumerable:!0,configurable:!0,writable:!0,value:k}):g[o]=k;var x=(g,o,k)=>ge(g,typeof o!="symbol"?o+"":o,k);const U={},H={};function D(e){const{properties:t,title:i,ignore:n}=e,l=n&&Array.isArray(n),f=Object.keys(t).reduce((p,c)=>((!l||!n.find(y=>y==c))&&(p[c]=t[c].type==="object"&&t[c].properties?D(t[c]):k.cloneDeep(t[c].default)),p),{});return(!l||!n.find(p=>p=="id"))&&(f.id=`${i}-${Date.now()}`),f}function q(e,t){const i=D(t);return Object.keys(e).reduce((n,l)=>(n[l]&&typeof n[l]=="object"?Object.assign(n[l],e[l]):n[l]=e[l],n),i),i}function G(e,t){return Object.keys(e).filter(n=>e[n]!=null).reduce((n,l)=>{if(t.has(l)){const f=t.get(l);if(typeof f=="string")n[f]=e[l];else{const p=f(l,e[l],e);Object.assign(n,p)}}else n[l]=e[l];return n},{})}function W(e,t,i=new Map){const n=q(e,t);return G(n,i)}function z(e={}){function t(s,u,r,a){if(typeof r=="number")return a[s].length===r;if(typeof r=="object"){const m=Object.keys(r)[0],h=r[m];if(m==="not")return Number(a[s].length)!==Number(h);if(m==="moreThan")return Number(a[s].length)>=Number(h);if(m==="lessThan")return Number(a[s].length)<=Number(h)}return!1}function i(s,u,r,a){return a[s]&&a[s].propertyValue&&String(a[s].propertyValue.value)===String(r)}const n=new Map([["length",t],["getProperty",i]]);Object.keys(e).reduce((s,u)=>(s.set(u,e[u]),s),n);function l(s,u){const r=s;return typeof u=="number"?[{target:r,operator:"length",param:null,value:Number(u)}]:typeof u=="boolean"?[{target:r,operator:"getProperty",param:s,value:!!u}]:typeof u=="object"?Object.keys(u).map(a=>{if(a==="length")return{target:r,operator:"length",param:null,value:u[a]};const m=a,h=u[a];return{target:r,operator:"getProperty",param:m,value:h}}):[]}function f(s){return Object.keys(s).reduce((r,a)=>{const m=l(a,s[a]);return r.push(...m),r},[])}function p(s,u){if(n.has(s.operator)){const r=n.get(s.operator);return r&&r(s.target,s.param,s.value,u)||!1}return!1}function c(s,u){return f(s).reduce((m,h)=>m&&p(h,u),!0)}function y(s,u){const r=Object.keys(s),a=r.includes("allOf"),m=r.includes("anyOf"),h=a||m,b=(h?s[h?a?"allOf":"anyOf":"allOf"]:[s]).map(F=>c(F,u));return a?!b.includes(!1):b.includes(!0)}return{parseValueSchema:y}}const d={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"}},J={},Q={};z();function X(e,t,i=new Map,n=(p,c,y)=>c,l={},f=p=>p){return U[t.title]=t,H[t.title]=n,J[t.title]=l,Q[t.title]=f,(p={})=>{const c=W(p,t,i),y=Object.keys(e).reduce((s,u)=>(s[u]=e[u].default,s),{});return Object.assign(y,c)}}function Y(e,t){return{customClass:t.class,customStyle:t.style}}const Z=new Map([["appearance",Y]]),_={$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 K(e,t,i){return t}var E=(e=>(e.Text="text",e.Tag="tag",e))(E||{}),A=(e=>(e.top="top",e.bottom="bottom",e.auto="auto",e))(A||{});const B={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}},O=X(B,_,Z,K),ee={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},showCheckbox:{type:Boolean,default:!1}},te=o.defineComponent({name:"FComboListContainer",props:ee,emits:["selectionChange"],setup(e,t){const i=o.ref(),n=o.ref(e.dataSource),l=o.ref([]),f=o.ref(e.separator),p=o.ref(e.width),c=o.ref(e.maxHeight),y=o.ref(String(e.selectedValues).split(f.value)),s=o.computed(()=>e.multiSelect),u=o.computed(()=>({enableSelectRow:!0,multiSelect:e.multiSelect,multiSelectMode:"OnCheckAndClick",showCheckbox:s.value,showSelectAll:!1,showSelection:!0}));o.watch(e.dataSource,()=>{n.value=e.dataSource});const r=o.computed(()=>e.enableSearch?"SearchBar":"ContentHeader"),a=o.computed(()=>{const v={};return p.value!==void 0&&(v.width=`${p.value}px`),c.value!==void 0&&c.value>0&&(v.maxHeight=`${c.value}px`),v});function m(v){l.value=v.map(C=>Object.assign({},C)),y.value=v.map(C=>C[e.idField]),t.emit("selectionChange",l.value)}function h(v){if(e.enableHighlightSearch)return;let C=[];typeof e.searchOption=="function"?C=n.value.filter(b=>e.searchOption(v,b)):C=n.value.filter(b=>b[e.valueField].indexOf(v)>-1||b[e.textField].indexOf(v)>-1),i.value.updateDataSource(C)}return o.watch([()=>e.selectedValues],([v])=>{y.value=v.split(f.value)}),()=>o.createVNode("div",{class:"f-combo-list-container pl-1",style:a.value},[o.createVNode(L,{ref:i,size:"small",itemClass:"f-combo-list-item",header:r.value,headerClass:"f-combo-list-search-box",data:n.value,idField:e.idField,textField:e.textField,titleField:e.titleField,multiSelect:e.multiSelect,selection:u.value,enableHighlightSearch:e.enableHighlightSearch,selectionValues:y.value,onSelectionChange:m,onAfterSearch:h},null)])}});function ne(e){const t=o.ref(""),i=o.ref(e.modelValue),n=o.ref(e.data||[]),l=o.ref(e.editable);function f(r){const a=String(r).split(e.separator),m=a.map(C=>[C,!0]),h=new Map(m);return n.value.filter(C=>h.has(String(C[e.valueField]))).sort((C,b)=>{const V=a.indexOf(C[e.valueField]),F=a.indexOf(b[e.valueField]);return V-F})}function p(r){const a=f(r).map(m=>m[e.textField]).join(e.separator);t.value=l.value?a||r:a}function c(r){const a=r.split(e.separator).map(h=>[h,!0]),m=new Map(a);return n.value.filter(h=>m.has(h[e.textField]))}function y(r){const a={};return a[e.idField]=r,a[e.textField]=r,[a]}function s(r){let a=c(r);const m=a&&a.length>0;return l.value&&!m&&(a=y(r)),a}function u(){const{url:r,method:a="GET",headers:m={},body:h=null}=e.remote,v=a.toLowerCase()=="get"?{method:a,headers:m}:{method:a,headers:m,body:h};let C=!1;fetch(r,v).then(b=>{var F,P;if(b.status===200)return C=!!((P=(F=b.headers)==null?void 0:F.get("content-type"))!=null&&P.includes("application/json")),C?b.text():b.json();throw new Error(b.statusText)}).then(b=>{n.value=C?JSON.parse(b):b}).catch(b=>{console.error(b)})}return e.remote&&u(),o.watch(()=>e.data,()=>{n.value=e.data}),o.watch([n],([r])=>{if(e.modelValue){const a=r.find(m=>m[e.valueField]===e.modelValue);a&&(t.value=a[e.textField])}}),o.watch(()=>e.modelValue,r=>{i.value=r,p(r)}),p(e.modelValue),{dataSource:n,displayText:t,editable:l,modelValue:i,getItemsByDisplayText:c,getItemsByValue:f,getSelectedItemsByDisplayText:s}}const T=o.defineComponent({name:"FComboList",props:B,emits:["clear","update:modelValue","change","input"],setup(e,t){const i=o.ref(),n=o.ref(e.disabled),l=o.ref(e.enableClear),f=o.ref(e.enableSearch),p=o.ref(e.readonly),{dataSource:c,displayText:y,editable:s,modelValue:u,getSelectedItemsByDisplayText:r}=ne(e),a=o.computed(()=>e.multiSelect),m=o.computed(()=>i.value?i.value.elementRef.getBoundingClientRect().width:0);function h(){!a.value&&i.value&&i.value.hidePopup()}function v(S){y.value=S.map(w=>w[e.textField]).join(e.separator),S.length===1?u.value=S[0][e.valueField]:u.value=S.map(w=>w[e.valueField]).join(e.separator),t.emit("update:modelValue",u.value),t.emit("change",S,u.value),h()}function C(){p.value||i.value.togglePopup()}function b(S){u.value="",t.emit("update:modelValue",""),t.emit("clear")}function V(S){const w=r(S);v(w)}function F(){return y.value}function P(S){t.emit("input",S)}return t.expose({getDisplayText:F}),o.watch([()=>e.disabled,()=>e.editable,()=>e.enableClear,()=>e.enableSearch,()=>e.readonly],([S,w,pe,me,fe])=>{n.value=S,s.value=w,l.value=pe,f.value=me,p.value=fe}),()=>o.createVNode(R,{ref:i,id:e.id,disable:n.value,readonly:p.value,forcePlaceholder:e.forcePlaceholder,editable:s.value,buttonContent:e.dropDownIcon,placeholder:e.placeholder,enableClear:l.value,maxLength:e.maxLength,tabIndex:e.tabIndex,enableTitle:e.enableTitle,multiSelect:e.multiSelect,inputType:e.multiSelect?e.viewType:"text",modelValue:y.value,"onUpdate:modelValue":S=>y.value=S,focusOnCreated:e.focusOnCreated,selectOnCreated:e.selectOnCreated,onClear:b,onClick:C,onChange:V,onInput:P,beforeOpen:e.beforeOpen},{default:()=>[o.createVNode(te,{idField:e.idField,valueField:e.valueField,textField:e.textField,titleField:e.titleField,dataSource:c.value,selectedValues:u.value,multiSelect:e.multiSelect,enableSearch:f.value,maxHeight:e.maxHeight,enableHighlightSearch:e.enableHighlightSearch,width:e.fitEditor?m.value:void 0,onSelectionChange:v},null)]})}});function ie(e,t){e.schema;const i=o.ref(!0),n=o.ref(!0);function l(r){return!1}function f(){return!1}function p(){return!1}function c(){return!0}function y(r){}function s(){}function u(r){return null}return{canAccepts:l,checkCanDeleteComponent:f,checkCanMoveComponent:p,hideNestedPaddingInDesginerView:c,onAcceptMovedChildElement:y,resolveComponentContext:s,triggerBelongedComponentToMoveWhenMoved:i,triggerBelongedComponentToDeleteWhenDeleted:n,getPropsConfig:u}}class oe{constructor(t,i){x(this,"componentId");x(this,"viewModelId");x(this,"eventsEditorUtils");x(this,"formSchemaUtils");x(this,"formMetadataConverter");x(this,"designViewModelUtils");x(this,"designViewModelField");x(this,"controlCreatorUtils");x(this,"designerHostService");x(this,"schemaService",null);x(this,"metadataService",null);x(this,"propertyConfig",{type:"object",categories:{}});var n;this.componentId=t,this.designerHostService=i,this.eventsEditorUtils=i.eventsEditorUtils,this.formSchemaUtils=i.formSchemaUtils,this.formMetadataConverter=i.formMetadataConverter,this.viewModelId=((n=this.formSchemaUtils)==null?void 0:n.getViewModelIdByComponentId(t))||"",this.designViewModelUtils=i.designViewModelUtils,this.controlCreatorUtils=i.controlCreatorUtils,this.metadataService=i.metadataService,this.schemaService=i.schemaService}getTableInfo(){var t;return(t=this.schemaService)==null?void 0:t.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(t){const i=t.binding&&t.binding.type==="Form"&&t.binding.field;if(i){if(!this.designViewModelField){const n=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=n.fields.find(l=>l.id===i)}t.updateOn=this.designViewModelField.updateOn}}changeFieldEditorType(t,i){}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:d[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"}}}}}const M=class M{static getEditorTypesByMDataType(t){const i=M.fieldControlTypeMapping[t];return i||[{key:"",value:""}]}static getAllInputTypes(){const t=[];for(let i in M.fieldControlTypeMapping)M.fieldControlTypeMapping[i].forEach(n=>{t.find(l=>l.key===n.key&&l.value===n.value)||t.push({key:n.key,value:n.value})});return t}};x(M,"fieldControlTypeMapping",{String:[{key:d["input-group"].type,value:d["input-group"].name},{key:d.lookup.type,value:d.lookup.name},{key:d["date-picker"].type,value:d["date-picker"].name},{key:d["check-box"].type,value:d["check-box"].name},{key:d["radio-group"].type,value:d["radio-group"].name},{key:d["combo-list"].type,value:d["combo-list"].name},{key:d.textarea.type,value:d.textarea.name}],Text:[{key:d.textarea.type,value:d.textarea.name},{key:d.lookup.type,value:d.lookup.name}],Decimal:[{key:d["number-spinner"].type,value:d["number-spinner"].name}],Integer:[{key:d["number-spinner"].type,value:d["number-spinner"].name}],Number:[{key:d["number-spinner"].type,value:d["number-spinner"].name}],BigNumber:[{key:d["number-spinner"].type,value:d["number-spinner"].name}],Date:[{key:d["date-picker"].type,value:d["date-picker"].name}],DateTime:[{key:d["date-picker"].type,value:d["date-picker"].name}],Boolean:[{key:d.switch.type,value:d.switch.name},{key:d["check-box"].type,value:d["check-box"].name}],Enum:[{key:d["combo-list"].type,value:d["combo-list"].name},{key:d["radio-group"].type,value:d["radio-group"].name}],Object:[{key:d.lookup.type,value:d.lookup.name},{key:d["combo-list"].type,value:d["combo-list"].name},{key:d["radio-group"].type,value:d["radio-group"].name}]});let I=M;const ae=o.ref(0);class re extends oe{constructor(t,i){super(t,i)}getPropertyConfig(t,i){return this.propertyConfig.categories.basic=this.getBasicProperties(t,i),this.propertyConfig.categories.appearance=this.getAppearanceProperties(t),this.propertyConfig.categories.editor=this.getEditorProperties(t),this.propertyConfig}getBasicProperties(t,i){var p;var n=this;this.setDesignViewModelField(t);const l=this.formSchemaUtils.getFormMetadataBasicInfo(),f=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:n.designViewModelField?I.getEditorTypesByMDataType((p=n.designViewModelField.type)==null?void 0:p.name):I.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:t,formBasicInfo:l},columns:[{field:"name",title:"字段名称"},{field:"bindingField",title:"绑定字段"},{field:"fieldType",title:"字段类型"}],textField:"bindingField",data:f}}},setPropertyRelates(c,y){if(c)switch(c&&c.propertyID){case"type":{n.changeControlType(t,c,i);break}case"label":{c.needRefreshControlTree=!0;break}}}}}getAppearanceProperties(t){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:!1,editor:{type:"response-layout-editor-setting"},$converter:"/converter/response-form-layout.converter"}}}}getEditorProperties(t){return this.getComponentConfig(t)}changeControlType(t,i,n){var s,u,r,a;const l=i.propertyValue,f=n&&n.parent&&n.parent.schema;if(!f)return;const p=f.contents.findIndex(m=>m.id===t.id),c=f.contents[p];let y;this.designViewModelField&&(this.designViewModelUtils.getDgViewModel(this.viewModelId).changeField(this.designViewModelField.id,{editor:{$type:l},name:this.designViewModelField.name,require:this.designViewModelField.require,readonly:this.designViewModelField.readonly},!1),y=this.controlCreatorUtils.setFormFieldProperty(this.designViewModelField,l)),y||(y=j.getSchemaByType("form-group")||{},y.editor=j.getSchemaByType(l)||{},delete y.editor.id,delete y.editor.binding,delete y.editor.appearance),Object.assign(y,{id:c.id,appearance:c.appearance,size:c.size,label:c.label,binding:c.binding,visible:c.visible}),Object.assign(y.editor,{isTextArea:y.isTextArea&&c.isTextArea,placeholder:(s=c.editor)==null?void 0:s.placeholder,holdPlace:(u=c.editor)==null?void 0:u.holdPlace,readonly:(r=c.editor)==null?void 0:r.readonly,require:(a=c.editor)==null?void 0:a.require}),f.contents.splice(p,1),f.contents.splice(p,0,y),n.schema=Object.assign(c,y),Array.from(document.getElementsByClassName("dgComponentSelected")).forEach(m=>m.classList.remove("dgComponentSelected")),ae.value++}getComponentConfig(t,i={},n={}){const l=Object.assign({description:"编辑器",title:"编辑器",type:"input-group",$converter:"/converter/property-editor.converter"},i),f=Object.assign({readonly:{description:"",title:"只读",type:"boolean"},disabled:{description:"",title:"禁用",type:"boolean"},placeholder:{description:"空值时,输入控件内的占位文本",title:"提示文本",type:"string"}},n);return{...l,properties:{...f}}}}class le extends re{constructor(t,i){super(t,i)}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 se(e,t){const{canAccepts:i,checkCanDeleteComponent:n,checkCanMoveComponent:l,hideNestedPaddingInDesginerView:f,onAcceptMovedChildElement:p,resolveComponentContext:c,triggerBelongedComponentToMoveWhenMoved:y,triggerBelongedComponentToDeleteWhenDeleted:s}=ie(e),u=e.schema;function r(a,m){return new le(a,t).getPropertyConfig(u,m)}return{canAccepts:i,checkCanDeleteComponent:n,checkCanMoveComponent:l,hideNestedPaddingInDesginerView:f,onAcceptMovedChildElement:p,resolveComponentContext:c,triggerBelongedComponentToMoveWhenMoved:y,triggerBelongedComponentToDeleteWhenDeleted:s,getPropsConfig:r}}const de=o.defineComponent({name:"FComboListDesign",props:B,emits:["clear","update:modelValue","change"],setup(e,t){const i=o.ref(),n=o.inject("designer-host-service"),l=o.inject("design-item-context"),f=se(l,n),p=$.useDesignerComponent(i,l,f);return o.onMounted(()=>{i.value.componentInstance=p}),t.expose(p.value),()=>o.createVNode(N,{ref:i,buttonContent:e.dropDownIcon,readonly:!0,editable:!1,forcePlaceholder:!0,placeholder:e.placeholder,enableClear:!0},null)}}),ce=e=>{const t=e;return t.install=function(i){i.component(t.name,e)},e};T.register=(e,t,i,n)=>{e["combo-list"]=T,t["combo-list"]=O},T.registerDesigner=(e,t,i)=>{e["combo-list"]=de,t["combo-list"]=O};const ue=ce(T);g.FComboList=T,g.Placement=A,g.ViewType=E,g.comboListProps=B,g.default=ue,g.propsResolver=O,Object.defineProperties(g,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
@@ -1,48 +1,48 @@
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";
2
- import k from "@farris/ui-vue/components/button-edit";
3
- import { cloneDeep as I } from "lodash-es";
4
- import N from "@farris/ui-vue/components/tree-view";
5
- import { withInstall as D } from "@farris/ui-vue/components/common";
1
+ import { defineComponent as O, ref as y, inject as P, computed as v, onMounted as M, createVNode as S, watch as h } from "vue";
2
+ import I from "../button-edit/index.esm.js";
3
+ import { cloneDeep as k } from "lodash-es";
4
+ import N from "../tree-view/index.esm.js";
5
+ import { withInstall as D } from "../common/index.esm.js";
6
6
  const E = {}, H = {};
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]) : k(l[c].default)), s), {});
9
+ return (!u || !i.find((s) => s == "id")) && (f.id = `${d}-${Date.now()}`), f;
10
10
  }
11
11
  function R(e, l) {
12
12
  const d = V(l);
13
- return Object.keys(e).reduce((i, u) => (i[u] = e[u], i), d), d;
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;
14
14
  }
15
15
  function $(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];
27
27
  return i;
28
28
  }, {});
29
29
  }
30
- function L(e, l, d = /* @__PURE__ */ new Map()) {
30
+ function A(e, l, d = /* @__PURE__ */ new Map()) {
31
31
  const i = R(e, l);
32
32
  return $(i, d);
33
33
  }
34
- function A(e = {}) {
34
+ function L(e = {}) {
35
35
  function l(n, t, a, r) {
36
36
  if (typeof a == "number")
37
37
  return r[n].length === a;
38
38
  if (typeof a == "object") {
39
- const o = Object.keys(a)[0], f = a[o];
39
+ const o = Object.keys(a)[0], m = a[o];
40
40
  if (o === "not")
41
- return Number(r[n].length) !== Number(f);
41
+ return Number(r[n].length) !== Number(m);
42
42
  if (o === "moreThan")
43
- return Number(r[n].length) >= Number(f);
43
+ return Number(r[n].length) >= Number(m);
44
44
  if (o === "lessThan")
45
- return Number(r[n].length) <= Number(f);
45
+ return Number(r[n].length) <= Number(m);
46
46
  }
47
47
  return !1;
48
48
  }
@@ -59,38 +59,38 @@ function A(e = {}) {
59
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
60
  if (r === "length")
61
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 };
62
+ const o = r, m = t[r];
63
+ return { target: a, operator: "getProperty", param: o, value: m };
64
64
  }) : [];
65
65
  }
66
- function s(n) {
66
+ function f(n) {
67
67
  return Object.keys(n).reduce((a, r) => {
68
68
  const o = u(r, n[r]);
69
69
  return a.push(...o), 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((o, m) => o && 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), r = a.includes("allOf"), o = a.includes("anyOf"), m = r || o, g = (m ? n[m ? r ? "allOf" : "anyOf" : "allOf"] : [n]).map((F) => c(F, t));
84
+ return r ? !g.includes(!1) : g.includes(!0);
85
85
  }
86
- return { parseValueSchema: g };
86
+ return { parseValueSchema: p };
87
87
  }
88
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);
89
+ L();
90
+ function W(e, l, d = /* @__PURE__ */ new Map(), i = (s, c, p) => c, u = {}, f = (s) => s) {
91
+ return E[l.title] = l, H[l.title] = i, q[l.title] = u, U[l.title] = f, (s = {}) => {
92
+ const c = A(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
96
  function z(e, l) {
@@ -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), re = {
380
+ }, le = W(B, ee, G, te), ie = {
381
381
  data: { type: Array, default: [] },
382
382
  enableSearch: { type: Boolean, default: !1 },
383
383
  idField: { type: String, default: "id" },
@@ -393,12 +393,12 @@ const B = {
393
393
  maxHeight: { type: Number, default: 350 },
394
394
  repositoryToken: { type: Symbol, default: null },
395
395
  editorParams: { type: Object }
396
- }, ie = /* @__PURE__ */ O({
396
+ }, re = /* @__PURE__ */ O({
397
397
  name: "FComboTreeContainer",
398
- props: re,
398
+ props: ie,
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
403
  e.repositoryToken && (n = P(e.repositoryToken));
404
404
  const t = v(() => [{
@@ -408,10 +408,10 @@ const B = {
408
408
  formatter: e.formatter
409
409
  }]), a = v(() => {
410
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;
411
+ return f.value !== void 0 && (o.width = `${f.value}px`), s.value !== void 0 && (o.height = `${s.value}px`), c.value !== void 0 && c.value > 0 && (o.maxHeight = `${c.value}px`, o.overflow = "auto"), o;
412
412
  });
413
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);
414
+ i.value = o.map((m) => Object.assign({}, m)), p.value = o.map((m) => m[e.idField]), l.emit("selectionChange", i.value);
415
415
  }
416
416
  return M(() => {
417
417
  n && n.getData(e.editorParams).then((o) => {
@@ -424,33 +424,33 @@ const B = {
424
424
  data: d.value,
425
425
  idField: e.idField,
426
426
  columns: t.value,
427
- "selection-values": g.value,
427
+ "selection-values": p.value,
428
428
  onSelectionChange: r
429
429
  }, null)]);
430
430
  }
431
431
  });
432
432
  function oe(e) {
433
- const l = m(""), d = m(e.modelValue), i = m(e.data || []), u = m(e.editable);
434
- function s(t) {
433
+ const l = y(""), d = y(e.modelValue), i = y(e.data || []), u = y(e.editable);
434
+ function f(t) {
435
435
  const a = String(t).split(e.separator).map((o) => [o, !0]), r = new Map(a);
436
436
  return i.value.filter((o) => r.has(String(o[e.valueField])));
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((r) => r[e.textField]).join(e.separator);
440
440
  l.value = u.value ? a || t : a;
441
441
  }
442
- function y(t) {
442
+ function c(t) {
443
443
  const a = t.split(e.separator).map((o) => [o, !0]), r = new Map(a);
444
444
  return i.value.filter((o) => r.has(o[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);
451
+ let a = c(t);
452
452
  const r = a && a.length > 0;
453
- return u.value && !r && (a = g(t)), a;
453
+ return u.value && !r && (a = p(t)), a;
454
454
  }
455
455
  return h(() => e.data, () => {
456
456
  i.value = e.data;
@@ -460,8 +460,8 @@ function oe(e) {
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
466
  const C = /* @__PURE__ */ O({
467
467
  name: "FComboTree",
@@ -469,9 +469,9 @@ const C = /* @__PURE__ */ O({
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
@@ -480,23 +480,23 @@ const C = /* @__PURE__ */ O({
480
480
  function o() {
481
481
  !r.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), o();
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;
495
- }), S(k, {
493
+ return h([() => e.disabled, () => e.editable, () => e.enableClear, () => e.enableSearch, () => e.readonly], ([g, b, F, j, w]) => {
494
+ i.value = g, n.value = b, u.value = F, f.value = j, s.value = w;
495
+ }), S(I, {
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(ie, {
517
+ default: () => [S(re, {
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
@@ -1 +1 @@
1
- (function(y,r){typeof exports=="object"&&typeof module<"u"?r(exports,require("vue"),require("@farris/ui-vue/components/button-edit"),require("lodash-es"),require("@farris/ui-vue/components/tree-view"),require("@farris/ui-vue/components/common")):typeof define=="function"&&define.amd?define(["exports","vue","@farris/ui-vue/components/button-edit","lodash-es","@farris/ui-vue/components/tree-view","@farris/ui-vue/components/common"],r):(y=typeof globalThis<"u"?globalThis:y||self,r(y["combo-tree"]={},y.Vue,y.FButtonEdit,y.LodashES,y.FTreeView,y.common))})(this,function(y,r,w,j,P,M){"use strict";const N={},k={};function T(e){const{properties:l,title:s}=e,o=Object.keys(l).reduce((d,c)=>(d[c]=l[c].type==="object"&&l[c].properties?T(l[c]):j.cloneDeep(l[c].default),d),{});return o.id=`${s}-${Date.now()}`,o}function E(e,l){const s=T(l);return Object.keys(e).reduce((o,d)=>(o[d]=e[d],o),s),s}function I(e,l){return Object.keys(e).filter(o=>e[o]!=null).reduce((o,d)=>{if(l.has(d)){const c=l.get(d);if(typeof c=="string")o[c]=e[d];else{const f=c(d,e[d],e);Object.assign(o,f)}}else o[d]=e[d];return o},{})}function D(e,l,s=new Map){const o=E(e,l);return I(o,s)}function $(e={}){function l(a,t,n,i){if(typeof n=="number")return i[a].length===n;if(typeof n=="object"){const u=Object.keys(n)[0],m=n[u];if(u==="not")return Number(i[a].length)!==Number(m);if(u==="moreThan")return Number(i[a].length)>=Number(m);if(u==="lessThan")return Number(i[a].length)<=Number(m)}return!1}function s(a,t,n,i){return i[a]&&i[a].propertyValue&&String(i[a].propertyValue.value)===String(n)}const o=new Map([["length",l],["getProperty",s]]);Object.keys(e).reduce((a,t)=>(a.set(t,e[t]),a),o);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(i=>{if(i==="length")return{target:n,operator:"length",param:null,value:t[i]};const u=i,m=t[i];return{target:n,operator:"getProperty",param:u,value:m}}):[]}function c(a){return Object.keys(a).reduce((n,i)=>{const u=d(i,a[i]);return n.push(...u),n},[])}function f(a,t){if(o.has(a.operator)){const n=o.get(a.operator);return n&&n(a.target,a.param,a.value,t)||!1}return!1}function p(a,t){return c(a).reduce((u,m)=>u&&f(m,t),!0)}function b(a,t){const n=Object.keys(a),i=n.includes("allOf"),u=n.includes("anyOf"),m=i||u,g=(m?a[m?i?"allOf":"anyOf":"allOf"]:[a]).map(F=>p(F,t));return i?!g.includes(!1):g.includes(!0)}return{parseValueSchema:b}}const R={},q={};$();function H(e,l,s=new Map,o=(f,p,b)=>p,d={},c=f=>f){return N[l.title]=l,k[l.title]=o,R[l.title]=d,q[l.title]=c,(f={})=>{const p=D(f,l,s),b=Object.keys(e).reduce((a,t)=>(a[t]=e[t].default,a),{});return Object.assign(b,p)}}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 x=(e=>(e.Text="text",e.Tag="tag",e))(x||{}),V=(e=>(e.top="top",e.bottom="bottom",e.auto="auto",e))(V||{});const v={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:{},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}},O=H(v,_,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),o=r.ref([]),d=r.ref(e.separator),c=r.ref(e.width),f=r.ref(e.height),p=r.ref(e.maxHeight),b=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 u={};return c.value!==void 0&&(u.width=`${c.value}px`),f.value!==void 0&&(u.height=`${f.value}px`),p.value!==void 0&&p.value>0&&(u.maxHeight=`${p.value}px`,u.overflow="auto"),u});function i(u){o.value=u.map(m=>Object.assign({},m)),b.value=u.map(m=>m[e.idField]),l.emit("selectionChange",o.value)}return r.onMounted(()=>{a&&a.getData(e.editorParams).then(u=>{s.value=u})}),()=>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":b.value,onSelectionChange:i},null)])}});function G(e){const l=r.ref(""),s=r.ref(e.modelValue),o=r.ref(e.data||[]),d=r.ref(e.editable);function c(t){const n=String(t).split(e.separator).map(u=>[u,!0]),i=new Map(n);return o.value.filter(u=>i.has(String(u[e.valueField])))}function f(t){const n=c(t).map(i=>i[e.textField]).join(e.separator);l.value=d.value?n||t:n}function p(t){const n=t.split(e.separator).map(u=>[u,!0]),i=new Map(n);return o.value.filter(u=>i.has(u[e.textField]))}function b(t){const n={};return n[e.idField]=t,n[e.textField]=t,[n]}function a(t){let n=p(t);const i=n&&n.length>0;return d.value&&!i&&(n=b(t)),n}return r.watch(()=>e.data,()=>{o.value=e.data}),r.watch([o],([t])=>{if(e.modelValue){const n=t.find(i=>i[e.valueField]===e.modelValue);n&&(l.value=n[e.textField])}}),r.watch(()=>e.modelValue,t=>{s.value=t,f(t)}),f(e.modelValue),{dataSource:o,displayText:l,editable:d,modelValue:s,getItemsByDisplayText:p,getItemsByValue:c,getSelectedItemsByDisplayText:a}}const S=r.defineComponent({name:"FComboTree",props:v,emits:["clear","update:modelValue","change"],setup(e,l){return()=>{const s=r.ref(),o=r.ref(e.disabled),d=r.ref(e.enableClear),c=r.ref(e.enableSearch),f=r.ref(e.readonly),{dataSource:p,displayText:b,editable:a,modelValue:t,getSelectedItemsByDisplayText:n}=G(e),i=r.computed(()=>e.multiSelect);r.computed(()=>s.value?s.value.elementRef.getBoundingClientRect().width:0);function u(){!i.value&&s.value&&s.value.hidePopup()}function m(g){b.value=g.map(h=>h[e.textField]).join(e.separator),t.value=g.map(h=>h[e.valueField]).join(e.separator),l.emit("update:modelValue",t.value),l.emit("change",g,t.value),u()}function C(g){t.value="",l.emit("update:modelValue",""),l.emit("clear")}function B(g){const h=n(g);m(h)}return r.watch([()=>e.disabled,()=>e.editable,()=>e.enableClear,()=>e.enableSearch,()=>e.readonly],([g,h,F,Q,X])=>{o.value=g,a.value=h,d.value=F,c.value=Q,f.value=X}),r.createVNode(w,{ref:s,id:e.id,disable:o.value,readonly:f.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:b.value,"onUpdate:modelValue":g=>b.value=g,onClear:C,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:p.value,selectedValues:t.value,onSelectionChange:m,formatter:e.formatter,editorParams:e.editorParams,repositoryToken:e.repositoryToken},null)]})}}});S.register=(e,l,s,o)=>{e["combo-tree"]=S,l["combo-tree"]=O};const J=M.withInstall(S);y.FComboTree=S,y.Placement=V,y.ViewType=x,y.comboTreeProps=v,y.default=J,y.propsResolver=O,Object.defineProperties(y,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
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,B,w,P,M){"use strict";const N={},I={};function T(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?T(l[f]):w.cloneDeep(l[f].default)),c),{});return(!d||!i.find(c=>c=="id"))&&(m.id=`${s}-${Date.now()}`),m}function k(e,l){const s=T(l);return Object.keys(e).reduce((i,d)=>(i[d]&&typeof i[d]=="object"?Object.assign(i[d],e[d]):i[d]=e[d],i),s),s}function E(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 D(e,l,s=new Map){const i=k(e,l);return E(i,s)}function $(e={}){function l(a,t,n,o){if(typeof n=="number")return o[a].length===n;if(typeof n=="object"){const u=Object.keys(n)[0],y=n[u];if(u==="not")return Number(o[a].length)!==Number(y);if(u==="moreThan")return Number(o[a].length)>=Number(y);if(u==="lessThan")return Number(o[a].length)<=Number(y)}return!1}function s(a,t,n,o){return o[a]&&o[a].propertyValue&&String(o[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(o=>{if(o==="length")return{target:n,operator:"length",param:null,value:t[o]};const u=o,y=t[o];return{target:n,operator:"getProperty",param:u,value:y}}):[]}function m(a){return Object.keys(a).reduce((n,o)=>{const u=d(o,a[o]);return n.push(...u),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((u,y)=>u&&c(y,t),!0)}function g(a,t){const n=Object.keys(a),o=n.includes("allOf"),u=n.includes("anyOf"),y=o||u,b=(y?a[y?o?"allOf":"anyOf":"allOf"]:[a]).map(F=>f(F,t));return o?!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=D(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 v=(e=>(e.Text="text",e.Tag="tag",e))(v||{}),V=(e=>(e.top="top",e.bottom="bottom",e.auto="auto",e))(V||{});const x={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:{},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}},j=H(x,_,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 u={};return m.value!==void 0&&(u.width=`${m.value}px`),c.value!==void 0&&(u.height=`${c.value}px`),f.value!==void 0&&f.value>0&&(u.maxHeight=`${f.value}px`,u.overflow="auto"),u});function o(u){i.value=u.map(y=>Object.assign({},y)),g.value=u.map(y=>y[e.idField]),l.emit("selectionChange",i.value)}return r.onMounted(()=>{a&&a.getData(e.editorParams).then(u=>{s.value=u})}),()=>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:o},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(u=>[u,!0]),o=new Map(n);return i.value.filter(u=>o.has(String(u[e.valueField])))}function c(t){const n=m(t).map(o=>o[e.textField]).join(e.separator);l.value=d.value?n||t:n}function f(t){const n=t.split(e.separator).map(u=>[u,!0]),o=new Map(n);return i.value.filter(u=>o.has(u[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 o=n&&n.length>0;return d.value&&!o&&(n=g(t)),n}return r.watch(()=>e.data,()=>{i.value=e.data}),r.watch([i],([t])=>{if(e.modelValue){const n=t.find(o=>o[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:x,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),o=r.computed(()=>e.multiSelect);r.computed(()=>s.value?s.value.elementRef.getBoundingClientRect().width:0);function u(){!o.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),u()}function C(b){t.value="",l.emit("update:modelValue",""),l.emit("clear")}function O(b){const h=n(b);y(h)}return r.watch([()=>e.disabled,()=>e.editable,()=>e.enableClear,()=>e.enableSearch,()=>e.readonly],([b,h,F,Q,X])=>{i.value=b,a.value=h,d.value=F,m.value=Q,c.value=X}),r.createVNode(B,{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:C,onChange:O,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"]=j};const J=M.withInstall(S);p.FComboTree=S,p.Placement=V,p.ViewType=v,p.comboTreeProps=x,p.default=J,p.propsResolver=j,Object.defineProperties(p,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});