@farris/ui-vue 1.8.0-alpha.0 → 1.8.0-beta.1

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 (193) hide show
  1. package/components/avatar/index.esm.js +138 -1526
  2. package/components/avatar/index.umd.cjs +1 -6
  3. package/components/button/index.css +1 -1
  4. package/components/button/index.esm.js +15951 -15410
  5. package/components/button/index.umd.cjs +27 -27
  6. package/components/calendar/index.esm.js +269 -255
  7. package/components/calendar/index.umd.cjs +3 -3
  8. package/components/collection-property-editor/index.esm.js +243 -229
  9. package/components/collection-property-editor/index.umd.cjs +2 -2
  10. package/components/combo-list/index.esm.js +32 -32
  11. package/components/combo-list/index.umd.cjs +1 -1
  12. package/components/comment/index.esm.js +473 -456
  13. package/components/comment/index.umd.cjs +6 -6
  14. package/components/component/index.css +1 -1
  15. package/components/component/index.esm.js +2503 -2239
  16. package/components/component/index.umd.cjs +2 -2
  17. package/components/condition/index.esm.js +1064 -954
  18. package/components/condition/index.umd.cjs +2 -2
  19. package/components/data-grid/index.esm.js +1 -1
  20. package/components/data-grid/index.umd.cjs +1 -1
  21. package/components/designer-canvas/index.css +1 -1
  22. package/components/designer-canvas/index.esm.js +3894 -3058
  23. package/components/designer-canvas/index.umd.cjs +1 -1
  24. package/components/drawer/index.esm.js +91 -77
  25. package/components/drawer/index.umd.cjs +2 -2
  26. package/components/dynamic-form/index.esm.js +220 -215
  27. package/components/dynamic-form/index.umd.cjs +1 -1
  28. package/components/dynamic-resolver/index.esm.js +145 -131
  29. package/components/dynamic-resolver/index.umd.cjs +2 -2
  30. package/components/dynamic-view/index.esm.js +336 -329
  31. package/components/dynamic-view/index.umd.cjs +1 -1
  32. package/components/events-editor/index.esm.js +1611 -1536
  33. package/components/events-editor/index.umd.cjs +3 -3
  34. package/components/expression-editor/index.esm.js +219 -219
  35. package/components/expression-editor/index.umd.cjs +2 -2
  36. package/components/external-container/index.esm.js +179 -178
  37. package/components/external-container/index.umd.cjs +1 -1
  38. package/components/fieldset/index.esm.js +285 -221
  39. package/components/fieldset/index.umd.cjs +1 -1
  40. package/components/filter-bar/index.css +1 -0
  41. package/components/filter-bar/index.esm.js +1512 -1290
  42. package/components/filter-bar/index.umd.cjs +7 -7
  43. package/components/filter-condition-editor/index.esm.js +851 -831
  44. package/components/filter-condition-editor/index.umd.cjs +3 -3
  45. package/components/flow-canvas/index.esm.js +520 -501
  46. package/components/flow-canvas/index.umd.cjs +8 -8
  47. package/components/image/index.esm.js +101 -79
  48. package/components/image/index.umd.cjs +3 -3
  49. package/components/language-textbox/index.esm.js +330 -251
  50. package/components/language-textbox/index.umd.cjs +2 -2
  51. package/components/list-nav/index.esm.js +399 -313
  52. package/components/list-nav/index.umd.cjs +1 -1
  53. package/components/locale/index.esm.js +3 -0
  54. package/components/locale/index.umd.cjs +1 -1
  55. package/components/lookup/index.esm.js +997 -976
  56. package/components/lookup/index.umd.cjs +2 -2
  57. package/components/mapping-editor/index.esm.js +725 -705
  58. package/components/mapping-editor/index.umd.cjs +1 -1
  59. package/components/message-box/index.esm.js +542 -522
  60. package/components/message-box/index.umd.cjs +1 -1
  61. package/components/nav/index.esm.js +95 -308
  62. package/components/nav/index.umd.cjs +1 -1
  63. package/components/number-range/index.esm.js +115 -107
  64. package/components/number-range/index.umd.cjs +2 -2
  65. package/components/order/index.esm.js +56 -54
  66. package/components/order/index.umd.cjs +1 -1
  67. package/components/page-footer/index.esm.js +135 -123
  68. package/components/page-footer/index.umd.cjs +1 -1
  69. package/components/page-header/index.esm.js +266 -222
  70. package/components/page-header/index.umd.cjs +1 -1
  71. package/components/property-panel/index.esm.js +402 -375
  72. package/components/property-panel/index.umd.cjs +4 -4
  73. package/components/query-solution/index.esm.js +3171 -3061
  74. package/components/query-solution/index.umd.cjs +7 -7
  75. package/components/response-toolbar/index.esm.js +1 -1
  76. package/components/response-toolbar/index.umd.cjs +1 -1
  77. package/components/schema-selector/index.esm.js +1620 -1608
  78. package/components/schema-selector/index.umd.cjs +5 -5
  79. package/components/scroll-navbar/index.esm.js +150 -136
  80. package/components/scroll-navbar/index.umd.cjs +2 -2
  81. package/components/section/index.esm.js +323 -311
  82. package/components/section/index.umd.cjs +2 -2
  83. package/components/sort-condition-editor/index.esm.js +850 -830
  84. package/components/sort-condition-editor/index.umd.cjs +3 -3
  85. package/components/step/index.esm.js +991 -224
  86. package/components/step/index.umd.cjs +1 -1
  87. package/components/tabs/index.esm.js +356 -334
  88. package/components/tabs/index.umd.cjs +1 -1
  89. package/components/wizard/index.esm.js +159 -162
  90. package/components/wizard/index.umd.cjs +1 -1
  91. package/designer/avatar/index.esm.js +1721 -0
  92. package/designer/avatar/index.umd.cjs +6 -0
  93. package/designer/button-edit/index.esm.js +2 -1
  94. package/designer/button-edit/index.umd.cjs +1 -1
  95. package/designer/data-grid/index.esm.js +693 -659
  96. package/designer/data-grid/index.umd.cjs +6 -6
  97. package/designer/data-view/index.esm.js +90 -78
  98. package/designer/data-view/index.umd.cjs +2 -2
  99. package/designer/date-picker/index.esm.js +203 -203
  100. package/designer/date-picker/index.umd.cjs +1 -1
  101. package/designer/drawer/index.esm.js +181 -167
  102. package/designer/drawer/index.umd.cjs +2 -2
  103. package/designer/dynamic-form/index.esm.js +228 -206
  104. package/designer/dynamic-form/index.umd.cjs +2 -2
  105. package/designer/farris-designer.all.esm.js +10014 -9692
  106. package/designer/farris-designer.all.umd.cjs +18 -18
  107. package/designer/index.css +1 -1
  108. package/designer/input-group/index.esm.js +15 -15
  109. package/designer/input-group/index.umd.cjs +1 -1
  110. package/designer/nav/index.esm.js +1719 -0
  111. package/designer/nav/index.umd.cjs +6 -0
  112. package/designer/number-spinner/index.esm.js +8 -7
  113. package/designer/number-spinner/index.umd.cjs +1 -1
  114. package/designer/radio-group/index.esm.js +133 -125
  115. package/designer/radio-group/index.umd.cjs +2 -2
  116. package/designer/response-toolbar/index.esm.js +864 -863
  117. package/designer/response-toolbar/index.umd.cjs +1 -1
  118. package/designer/section/index.esm.js +245 -183
  119. package/designer/section/index.umd.cjs +1 -1
  120. package/designer/tabs/index.css +1 -1
  121. package/designer/tabs/index.esm.js +3667 -2810
  122. package/designer/tabs/index.umd.cjs +2 -2
  123. package/designer/time-picker/index.esm.js +26 -17
  124. package/designer/time-picker/index.umd.cjs +2 -2
  125. package/designer/tree-grid/index.esm.js +69 -37
  126. package/designer/tree-grid/index.umd.cjs +1 -1
  127. package/designer/wizard/index.esm.js +110 -110
  128. package/designer/wizard/index.umd.cjs +3 -3
  129. package/farris.all.esm.js +39993 -39089
  130. package/farris.all.umd.cjs +36 -36
  131. package/index.css +1 -1
  132. package/locales/filter-bar/ui/en.json +1 -0
  133. package/locales/filter-bar/ui/zh-CHS.json +1 -0
  134. package/locales/filter-bar/ui/zh-CHT.json +1 -0
  135. package/locales/ui/en.json +1 -0
  136. package/locales/ui/zh-CHS.json +1 -0
  137. package/locales/ui/zh-CHT.json +1 -0
  138. package/package.json +1 -1
  139. package/types/avatar/designer.d.ts +28 -0
  140. package/types/avatar/index.d.ts +0 -15
  141. package/types/avatar/src/composition/types.d.ts +3 -0
  142. package/types/avatar/src/composition/use-file.d.ts +19 -0
  143. package/types/avatar/src/composition/use-image.d.ts +1 -1
  144. package/types/avatar/src/designer/avatar.design.props.d.ts +24 -0
  145. package/types/avatar/src/property-config/avatar.property-config.d.ts +11 -13
  146. package/types/avatar/src/schema/schema-mapper.d.ts +2 -0
  147. package/types/components.d.ts +3 -0
  148. package/types/condition/index.d.ts +18 -6
  149. package/types/condition/src/condition-fields.component.d.ts +9 -3
  150. package/types/condition/src/condition-fields.design.component.d.ts +9 -3
  151. package/types/condition/src/condition-list.component.d.ts +9 -3
  152. package/types/condition/src/condition.props.d.ts +11 -0
  153. package/types/data-view/designer/property-config/use-appearance.d.ts +17 -10
  154. package/types/data-view/designer/property-config/use-pagination.d.ts +0 -6
  155. package/types/designer-canvas/src/composition/dg-control.d.ts +13 -0
  156. package/types/dynamic-form/src/component/dynamic-form-label/dynamic-form-label.component.d.ts +3 -0
  157. package/types/dynamic-form/src/component/dynamic-form-label/dynamic-form-label.props.d.ts +4 -0
  158. package/types/dynamic-resolver/src/converter/tree-auto-check.converter.d.ts +3 -0
  159. package/types/dynamic-view/src/components/maps.d.ts +130 -4
  160. package/types/filter-bar/src/composition/types.d.ts +2 -0
  161. package/types/filter-bar/src/filter-bar.props.d.ts +0 -1
  162. package/types/filter-bar/src/locale/locale.d.ts +2 -1
  163. package/types/filter-bar/src/property-config/filter-bar.property-config.d.ts +0 -1
  164. package/types/language-textbox/index.d.ts +65 -2
  165. package/types/language-textbox/src/designer/language-textbox.design.component.d.ts +36 -0
  166. package/types/language-textbox/src/language-textbox.component.d.ts +38 -1
  167. package/types/language-textbox/src/language-textbox.props.d.ts +20 -0
  168. package/types/lookup/src/components/popup-container.component.d.ts +3 -3
  169. package/types/lookup/src/composition/use-compat.d.ts +28 -0
  170. package/types/lookup/src/composition/use-state.d.ts +1 -0
  171. package/types/message-box/src/message-box.service.d.ts +2 -1
  172. package/types/nav/designer.d.ts +28 -0
  173. package/types/nav/index.d.ts +24 -20
  174. package/types/nav/src/designer/nav.design.props.d.ts +29 -0
  175. package/types/nav/src/designer/use-design-rules.d.ts +3 -0
  176. package/types/nav/src/property-config/nav.property-config.d.ts +9 -0
  177. package/types/nav/src/schema/schema-mapper.d.ts +4 -0
  178. package/types/page-footer/src/designer/use-designer-rules.d.ts +2 -2
  179. package/types/page-header/src/designer/use-designer-rules.d.ts +2 -2
  180. package/types/property-panel/src/composition/entity/input-base-property.d.ts +1 -0
  181. package/types/query-solution/src/designer/query-solution-config/composition/use-util.d.ts +1 -1
  182. package/types/query-solution/src/designer/query-solution-config/query-solution-config.props.d.ts +1 -1
  183. package/types/section/src/designer/section.design.props.d.ts +4 -0
  184. package/types/section/src/property-config/section.property-config.d.ts +39 -0
  185. package/types/section/src/schema/toolbar-resolver.d.ts +0 -1
  186. package/types/step/src/designer/use-designer-rules.d.ts +3 -0
  187. package/types/step/src/designer/use-step-creator.d.ts +6 -0
  188. package/types/step/src/property-config/step.property-config.d.ts +15 -0
  189. package/types/step/src/schema/schema-resolver.d.ts +2 -1
  190. package/types/tabs/src/composition/types.d.ts +4 -0
  191. package/types/tabs/src/tabs.props.d.ts +6 -0
  192. package/types/tooltip/index.d.ts +3 -3
  193. package/types/tooltip/src/tooltip.component.d.ts +2 -2
@@ -1,8 +1,8 @@
1
- (function(l,B){typeof exports=="object"&&typeof module<"u"?module.exports=B(require("vue"),require("../button-edit/index.umd.js"),require("lodash-es"),require("../property-panel/index.umd.js"),require("../tree-view/index.umd.js"),require("../message-box/index.umd.js")):typeof define=="function"&&define.amd?define(["vue","../button-edit/index.umd.js","lodash-es","../property-panel/index.umd.js","../tree-view/index.umd.js","../message-box/index.umd.js"],B):(l=typeof globalThis<"u"?globalThis:l||self,l["collection-property-editor"]=B(l.Vue,l.buttonEdit,l.LodashES,l.propertyPanel,l.treeView,l.messageBox))})(this,function(l,B,E,ee,te,ne){"use strict";function A(e,t){let n;function a(o){const{properties:c,title:u,ignore:r}=o,i=r&&Array.isArray(r),s=Object.keys(c).reduce((g,C)=>((!i||!r.find(w=>w===C))&&(g[C]=c[C].type==="object"&&c[C].properties?a(c[C]):E.cloneDeep(c[C].default)),g),{});if(u&&(!i||!r.find(g=>g==="id"))){const g=u.toLowerCase().replace(/-/g,"_");s.id=`${g}_${Math.random().toString().slice(2,6)}`}return s}function b(o){const{properties:c,title:u,required:r}=o;if(r&&Array.isArray(r)){const i=r.reduce((s,g)=>(s[g]=c[g].type==="object"&&c[g].properties?a(c[g]):E.cloneDeep(c[g].default),s),{});if(u&&r.find(s=>s==="id")){const s=u.toLowerCase().replace(/-/g,"_");i.id=`${s}_${Math.random().toString().slice(2,6)}`}return i}return{type:u}}function y(o,c={},u){const r=e[o];if(r){let i=b(r);const s=t[o];return i=s?s({getSchemaByType:y},i,c,u):i,n!=null&&n.appendIdentifyForNewControl&&n.appendIdentifyForNewControl(i),i}return null}function S(o,c){const u=a(c);return Object.keys(u).reduce((r,i)=>(Object.prototype.hasOwnProperty.call(o,i)&&(r[i]&&E.isPlainObject(r[i])&&E.isPlainObject(o[i]||!o[i])?Object.assign(r[i],o[i]||{}):r[i]=o[i]),r),u),u}function h(o,c){return Object.keys(o).filter(r=>o[r]!=null).reduce((r,i)=>{if(c.has(i)){const s=c.get(i);if(typeof s=="string")r[s]=o[i];else{const g=s(i,o[i],o);Object.assign(r,g)}}else r[i]=o[i];return r},{})}function m(o,c,u=new Map){const r=S(o,c);return h(r,u)}function f(o){var u;const c=o.type;if(c){const r=e[c];if(!r)return o;const i=S(o,r),s=((u=o.editor)==null?void 0:u.type)||"";if(s){const g=e[s],C=S(o.editor,g);i.editor=C}return i}return o}function v(o){n=o}return{getSchemaByType:y,resolveSchemaWithDefaultValue:f,resolveSchemaToProps:m,mappingSchemaToProps:h,setDesignerContext:v}}const H={},I={},{resolveSchemaWithDefaultValue:re,resolveSchemaToProps:oe,mappingSchemaToProps:ie}=A(H,I);function ae(e={}){function t(f,v,o,c){if(typeof o=="number")return c[f].length===o;if(typeof o=="object"){const u=Object.keys(o)[0],r=o[u];if(u==="not")return Number(c[f].length)!==Number(r);if(u==="moreThan")return Number(c[f].length)>=Number(r);if(u==="lessThan")return Number(c[f].length)<=Number(r)}return!1}function n(f,v,o,c){return c[f]&&c[f].propertyValue&&String(c[f].propertyValue.value)===String(o)}const a=new Map([["length",t],["getProperty",n]]);Object.keys(e).reduce((f,v)=>(f.set(v,e[v]),f),a);function b(f,v){const o=f;return typeof v=="number"?[{target:o,operator:"length",param:null,value:Number(v)}]:typeof v=="boolean"?[{target:o,operator:"getProperty",param:f,value:!!v}]:typeof v=="object"?Object.keys(v).map(c=>{if(c==="length")return{target:o,operator:"length",param:null,value:v[c]};const u=c,r=v[c];return{target:o,operator:"getProperty",param:u,value:r}}):[]}function y(f){return Object.keys(f).reduce((o,c)=>{const u=b(c,f[c]);return o.push(...u),o},[])}function S(f,v){if(a.has(f.operator)){const o=a.get(f.operator);return o&&o(f.target,f.param,f.value,v)||!1}return!1}function h(f,v){return y(f).reduce((u,r)=>u&&S(r,v),!0)}function m(f,v){const o=Object.keys(f),c=o.includes("allOf"),u=o.includes("anyOf"),r=c||u,g=(r?f[r?c?"allOf":"anyOf":"allOf"]:[f]).map(w=>h(w,v));return c?!g.includes(!1):g.includes(!0)}return{parseValueSchema:m}}const le={convertTo:(e,t,n,a)=>{e.appearance||(e.appearance={}),e.appearance[t]=n},convertFrom:(e,t,n)=>e.appearance?e.appearance[t]:e[t]},ce={convertFrom:(e,t,n)=>e.buttons&&e.buttons.length?`共 ${e.buttons.length} 项`:"无"},ue={convertTo:(e,t,n,a)=>{e.editor&&(e.editor[t]=n)},convertFrom:(e,t,n)=>e.editor&&Object.prototype.hasOwnProperty.call(e.editor,t)?e.editor[t]:e[t]},se={button:{type:"button",name:"按钮"},"response-toolbar":{type:"response-toolbar",name:"工具栏"},"response-toolbar-item":{type:"response-toolbar-item",name:"按钮"},"content-container":{type:"content-container",name:"容器"},"input-group":{type:"input-group",name:"文本"},textarea:{type:"textarea",name:"多行文本"},lookup:{type:"lookup",name:"帮助"},"number-spinner":{type:"number-spinner",name:"数值"},"date-picker":{type:"date-picker",name:"日期"},switch:{type:"switch",name:"开关"},"radio-group":{type:"radio-group",name:"单选组"},"check-box":{type:"check-box",name:"复选框"},"check-group":{type:"check-group",name:"复选框组"},"combo-list":{type:"combo-list",name:"下拉列表"},"response-form":{type:"response-form",name:"卡片面板"},"response-layout":{type:"response-layout",name:"布局容器",icon:"response-layout-3"},"response-layout-item":{type:"response-layout-item",name:"布局",icon:"response-layout-1"},"tree-grid":{type:"tree-grid",name:"树表格"},"tree-grid-column":{type:"tree-grid-column",name:"树表格列"},"data-grid":{type:"data-grid",name:"表格"},"data-grid-column":{type:"data-grid-column",name:"表格列"},module:{type:"Module",name:"模块"},component:{type:"component",name:"组件"},tabs:{type:"tabs",name:"标签页"},"tab-page":{type:"tab-page",name:"标签页项",dependentParentControl:"Tab"},"tab-toolbar-item":{type:"tab-toolbar-item",name:"标签页工具栏按钮"},"drawer-toolbar-item":{type:"drawer-toolbar-item",name:"抽屉工具栏按钮"},"html-template":{type:"html-template",name:"模板容器"},"time-picker":{type:"time-picker",name:"时间选择"},section:{type:"section",name:"分组面板"},"section-toolbar":{type:"section-toolbar",name:"分组面板工具栏"},"section-toolbar-item":{type:"section-toolbar-item",name:"分组面板按钮"},splitter:{type:"splitter",name:"分栏面板"},"splitter-pane":{type:"splitter-pane",name:"分栏面板项",dependentParentControl:"Splitter"},"component-ref":{type:"component-ref",name:"组件引用节点"},uploader:{type:"uploader",name:"附件上传"},"page-header":{type:"page-header",name:"页头"},"page-footer":{type:"page-footer",name:"页脚"},"tab-toolbar":{type:"tab-toolbar",name:"标签页工具栏"},"drawer-toolbar":{type:"drawer-toolbar",name:"抽屉工具栏"},fieldset:{type:"fieldset",name:"分组"},"query-solution":{type:"query-solution",name:"筛选方案"},drawer:{type:"drawer",name:"抽屉"},"external-container":{type:"external-container",name:"外部容器",icon:"content-container"},"list-nav":{type:"list-nav",name:"列表导航"},"list-view":{type:"list-view",name:"列表"},"filter-bar":{type:"filter-bar",name:"筛选条"},"language-textbox":{type:"language-textbox",name:"多语输入框"},image:{type:"image",name:"图像"},"discussion-editor":{type:"discussion-editor",name:"评论编辑区"},"discussion-list":{type:"discussion-list",name:"评论列表"},comment:{type:"comment",name:"评论区"},"rich-text-editor":{type:"rich-text-editor",name:"富文本",icon:"rich-text-box"},calendar:{type:"calendar",name:"日历",icon:"date-picker"},wizard:{type:"wizard",name:"向导",icon:"wizard"},"wizard-page":{type:"wizard-page",name:"向导页",icon:"wizard"},"wizard-page-detail":{type:"wizard-page-detail",name:"向导详情",icon:"wizard"}},de={convertFrom:(e,t,n)=>{var b;const a=e.editor&&e.editor[t]?e.editor[t]:e[t];return((b=se[a])==null?void 0:b.name)||a}},fe={convertTo:(e,t,n,a)=>{e[t]=e[t]},convertFrom:(e,t,n)=>e.editor?n.getRealEditorType(e.editor.type):""},me={convertTo:(e,t,n,a)=>{(e.type==="data-grid-column"||e.type==="tree-grid-column")&&(e.formatter?e.formatter[t]=n:e.formatter={[t]:n})},convertFrom:(e,t,n)=>{if(e.formatter){if(t==="trueText")return e.formatter.trueText;if(t==="falseText")return e.formatter.falseText;if(t==="prefix")return e.formatter.prefix;if(t==="suffix")return e.formatter.suffix;if(t==="precision")return e.formatter.precision;if(t==="decimal")return e.formatter.decimal;if(t==="thousand")return e.formatter.thousand;if(t==="dateFormat")return e.formatter.dateFormat||"yyyy-MM-dd";if(t==="customFormat")return e.formatter.customFormat;if(t==="type")return e.formatter.type||"none";if(t==="customFormat")return e.formmater.customFormat}return"none"}},pe={convertTo:(e,t,n,a)=>{e.command?e.command[t]=n:e.command={[t]:n},t==="enableType"&&n==="default"&&(e.command.enable=!0,e.command.commands=[{text:"编辑",type:"primary",command:"edit"},{text:"删除",type:"danger",command:"remove"}]),t==="enableType"&&n==="custom"&&(e.command.enable=!0,e.command.commands=[{value:"add",text:{en:"add","zh-CHS":"增加","zh-CHT":"增加"},type:"link"},{value:"edit",text:{en:"edit","zh-CHS":"编辑","zh-CHT":"編輯"},type:"danger"},{value:"remove",text:{en:"remove","zh-CHS":"删除","zh-CHT":"刪除"},type:"remove"}]),t==="enableType"&&n==="unable"&&(e.command.enable=!1)},convertFrom:(e,t,n)=>{var a,b;if(e.command){if(t==="enableType"){const y=(b=(a=e.command)==null?void 0:a.commands)==null?void 0:b.find(S=>S.command==="edit"&&S.type==="primary");return e.command.enable?y?"default":"custom":"unable"}if(t==="commands")return e.command.enableType==="custom"?e.command.commands:[];if(t==="formatter")return e.command.formatter;if(t==="count")return e.command.count}return""}},ve={convertTo:(e,t,n,a)=>{e.column?e.column[t]=n:e.column={[t]:n},t==="fitColumns"&&n&&(e.column.fitMode||(e.column.fitMode="average"))},convertFrom:(e,t,n)=>{if(e.column){if(t==="fitColumns")return e.column.fitColumns;if(t==="fitMode")return e.column.fitMode}return""}},ge={convertTo:(e,t,n,a)=>{e.summary?e.summary[t]=n:e.summary={[t]:n},t==="enable"&&n&&(e.summary?e.summary.groupFields||(e.summary.groupFields=[]):e.summary={enable:n,groupFields:[]})},convertFrom:(e,t,n)=>{var a;return t==="customSummaryStyle"?e.summary.customSummaryStyle:t==="position"?((a=e.summary)==null?void 0:a[t])||"bottom":e.summary&&t==="enable"?e.summary.enable:e.type==="data-grid-column"?e.enableSummary===void 0?!1:e.enableSummary:""}},be={convertTo:(e,t,n,a)=>{e.group?e.group[t]=n:e.group={[t]:n},t==="enable"&&n&&(e.group?e.group.groupFields||(e.group.groupFields=[]):e.group={enable:n,groupFields:[],showSummary:!1})},convertFrom:(e,t,n)=>{if(e.group){if(t==="enable")return e.group.enable;if(t==="showSummary")return e.group.showSummary}}},ye={convertFrom:(e,t)=>e.binding?e.binding.path:"",convertTo:(e,t,n)=>{if(n&&n.length>0){const a=n[0];e.binding||(e.binding={}),e.binding.type="Form",e.binding.path=a.bindingField,e.binding.field=a.id,e.binding.fullPath=a.path,e.path=a.bindingPath}}},Ce={convertTo:(e,t,n,a)=>{e.pagination||(e.pagination={}),t==="sizeLimits"?e.pagination.sizeLimits=n.split(","):e.pagination[t]=n},convertFrom:(e,t,n)=>e.pagination?t==="sizeLimits"?e.pagination.sizeLimits.join(","):e.pagination[t]:e[t]},Te={convertTo:(e,t,n,a)=>{e.rowNumber||(e.rowNumber={}),e.rowNumber[t]=n},convertFrom:(e,t,n)=>e.rowNumber?e.rowNumber[t]:e[t]},Se={convertTo:(e,t,n,a)=>{e.selection||(e.selection={}),e.selection[t]=n},convertFrom:(e,t,n)=>{var a,b;return t==="showCheckbox"?(a=e.selection)!=null&&a.multiSelect?!0:(b=e.selection)==null?void 0:b.showCheckbox:e.selection?e.selection[t]:e[t]}},Fe={convertFrom:(e,t,n)=>e[t]&&e[t].length?`共 ${e[t].length} 项`:""},xe={convertFrom:(e,t)=>e[t]||"",convertTo:(e,t,n)=>{e[t]=n}},we={convertTo:(e,t,n,a)=>{e.size||(e.size={}),e.size[t]=n},convertFrom:(e,t,n)=>e.size?e.size[t]:e[t]},he={convertFrom:(e,t,n)=>{var a,b;return(a=e.formatter)!=null&&a.data&&t==="formatterEnumData"&&!e.formatterEnumData?(b=e.formatter)==null?void 0:b.data:e.formatterEnumData}},Ne={convertTo:(e,t,n,a)=>{e.sort||(e.sort={}),e.sort[t]=n},convertFrom:(e,t,n)=>{var a,b;if(t==="mode")return((a=e.sort)==null?void 0:a.mode)||"client";if(t==="multiSort")return!!((b=e.sort)!=null&&b.multiSort)}},Oe={convertTo:(e,t,n,a)=>{e.filter||(e.filter={}),e.filter[t]=n},convertFrom:(e,t,n)=>{var a;if(t==="mode")return((a=e.filter)==null?void 0:a.mode)||"client"}},Pe={convertTo:(e,t,n,a)=>{e.rowOption?e.rowOption[t]=n:e.rowOption={[t]:n}},convertFrom:(e,t,n)=>{if(e.rowOption){if(t==="customRowStyle")return e.rowOption.customRowStyle;if(t==="customCellStyle")return e.rowOption.customCellStyle;if(t==="height")return e.rowOption.height}return""}},je={convertTo:(e,t,n,a)=>{(e.type==="data-grid-column"||e.type==="tree-grid-column")&&(e[t]=n,t==="columnTemplateType"&&n==="hyperlink"&&(e.onClickLinkCommand?e.columnTemplate=`
1
+ (function(l,B){typeof exports=="object"&&typeof module<"u"?module.exports=B(require("vue"),require("../button-edit/index.umd.js"),require("lodash-es"),require("../property-panel/index.umd.js"),require("../tree-view/index.umd.js"),require("../message-box/index.umd.js")):typeof define=="function"&&define.amd?define(["vue","../button-edit/index.umd.js","lodash-es","../property-panel/index.umd.js","../tree-view/index.umd.js","../message-box/index.umd.js"],B):(l=typeof globalThis<"u"?globalThis:l||self,l["collection-property-editor"]=B(l.Vue,l.buttonEdit,l.LodashES,l.propertyPanel,l.treeView,l.messageBox))})(this,function(l,B,E,ee,te,ne){"use strict";function A(e,t){let n;function a(o){const{properties:c,title:u,ignore:r}=o,i=r&&Array.isArray(r),s=Object.keys(c).reduce((b,C)=>((!i||!r.find(h=>h===C))&&(b[C]=c[C].type==="object"&&c[C].properties?a(c[C]):E.cloneDeep(c[C].default)),b),{});if(u&&(!i||!r.find(b=>b==="id"))){const b=u.toLowerCase().replace(/-/g,"_");s.id=`${b}_${Math.random().toString().slice(2,6)}`}return s}function v(o){const{properties:c,title:u,required:r}=o;if(r&&Array.isArray(r)){const i=r.reduce((s,b)=>(s[b]=c[b].type==="object"&&c[b].properties?a(c[b]):E.cloneDeep(c[b].default),s),{});if(u&&r.find(s=>s==="id")){const s=u.toLowerCase().replace(/-/g,"_");i.id=`${s}_${Math.random().toString().slice(2,6)}`}return i}return{type:u}}function y(o,c={},u){const r=e[o];if(r){let i=v(r);const s=t[o];return i=s?s({getSchemaByType:y},i,c,u):i,n!=null&&n.appendIdentifyForNewControl&&n.appendIdentifyForNewControl(i),i}return null}function T(o,c){const u=a(c);return Object.keys(u).reduce((r,i)=>(Object.prototype.hasOwnProperty.call(o,i)&&(r[i]&&E.isPlainObject(r[i])&&E.isPlainObject(o[i]||!o[i])?Object.assign(r[i],o[i]||{}):r[i]=o[i]),r),u),u}function w(o,c){return Object.keys(o).filter(r=>o[r]!=null).reduce((r,i)=>{if(c.has(i)){const s=c.get(i);if(typeof s=="string")r[s]=o[i];else{const b=s(i,o[i],o);Object.assign(r,b)}}else r[i]=o[i];return r},{})}function m(o,c,u=new Map){const r=T(o,c);return w(r,u)}function f(o){var u;const c=o.type;if(c){const r=e[c];if(!r)return o;const i=T(o,r),s=((u=o.editor)==null?void 0:u.type)||"";if(s){const b=e[s],C=T(o.editor,b);i.editor=C}return i}return o}function g(o){n=o}return{getSchemaByType:y,resolveSchemaWithDefaultValue:f,resolveSchemaToProps:m,mappingSchemaToProps:w,setDesignerContext:g}}const H={},I={},{resolveSchemaWithDefaultValue:re,resolveSchemaToProps:oe,mappingSchemaToProps:ie}=A(H,I);function ae(e={}){function t(f,g,o,c){if(typeof o=="number")return c[f].length===o;if(typeof o=="object"){const u=Object.keys(o)[0],r=o[u];if(u==="not")return Number(c[f].length)!==Number(r);if(u==="moreThan")return Number(c[f].length)>=Number(r);if(u==="lessThan")return Number(c[f].length)<=Number(r)}return!1}function n(f,g,o,c){return c[f]&&c[f].propertyValue&&String(c[f].propertyValue.value)===String(o)}const a=new Map([["length",t],["getProperty",n]]);Object.keys(e).reduce((f,g)=>(f.set(g,e[g]),f),a);function v(f,g){const o=f;return typeof g=="number"?[{target:o,operator:"length",param:null,value:Number(g)}]:typeof g=="boolean"?[{target:o,operator:"getProperty",param:f,value:!!g}]:typeof g=="object"?Object.keys(g).map(c=>{if(c==="length")return{target:o,operator:"length",param:null,value:g[c]};const u=c,r=g[c];return{target:o,operator:"getProperty",param:u,value:r}}):[]}function y(f){return Object.keys(f).reduce((o,c)=>{const u=v(c,f[c]);return o.push(...u),o},[])}function T(f,g){if(a.has(f.operator)){const o=a.get(f.operator);return o&&o(f.target,f.param,f.value,g)||!1}return!1}function w(f,g){return y(f).reduce((u,r)=>u&&T(r,g),!0)}function m(f,g){const o=Object.keys(f),c=o.includes("allOf"),u=o.includes("anyOf"),r=c||u,b=(r?f[r?c?"allOf":"anyOf":"allOf"]:[f]).map(h=>w(h,g));return c?!b.includes(!1):b.includes(!0)}return{parseValueSchema:m}}const le={convertTo:(e,t,n,a)=>{e.appearance||(e.appearance={}),e.appearance[t]=n},convertFrom:(e,t,n)=>e.appearance?e.appearance[t]:e[t]},ce={convertFrom:(e,t,n)=>e.buttons&&e.buttons.length?`共 ${e.buttons.length} 项`:"无"},ue={convertTo:(e,t,n,a)=>{e.editor&&(e.editor[t]=n)},convertFrom:(e,t,n)=>e.editor&&Object.prototype.hasOwnProperty.call(e.editor,t)?e.editor[t]:e[t]},se={button:{type:"button",name:"按钮"},"response-toolbar":{type:"response-toolbar",name:"工具栏"},"response-toolbar-item":{type:"response-toolbar-item",name:"按钮"},"content-container":{type:"content-container",name:"容器"},"input-group":{type:"input-group",name:"文本"},textarea:{type:"textarea",name:"多行文本"},lookup:{type:"lookup",name:"帮助"},"number-spinner":{type:"number-spinner",name:"数值"},"date-picker":{type:"date-picker",name:"日期"},switch:{type:"switch",name:"开关"},"radio-group":{type:"radio-group",name:"单选组"},"check-box":{type:"check-box",name:"复选框"},"check-group":{type:"check-group",name:"复选框组"},"combo-list":{type:"combo-list",name:"下拉列表"},"response-form":{type:"response-form",name:"卡片面板"},"response-layout":{type:"response-layout",name:"布局容器",icon:"response-layout-3"},"response-layout-item":{type:"response-layout-item",name:"布局",icon:"response-layout-1"},"tree-grid":{type:"tree-grid",name:"树表格"},"tree-grid-column":{type:"tree-grid-column",name:"树表格列"},"data-grid":{type:"data-grid",name:"表格"},"data-grid-column":{type:"data-grid-column",name:"表格列"},module:{type:"Module",name:"模块"},component:{type:"component",name:"组件"},tabs:{type:"tabs",name:"标签页"},"tab-page":{type:"tab-page",name:"标签页项",dependentParentControl:"Tab"},"tab-toolbar-item":{type:"tab-toolbar-item",name:"标签页工具栏按钮"},"drawer-toolbar-item":{type:"drawer-toolbar-item",name:"抽屉工具栏按钮"},"html-template":{type:"html-template",name:"模板容器"},"time-picker":{type:"time-picker",name:"时间选择"},section:{type:"section",name:"分组面板"},"section-toolbar":{type:"section-toolbar",name:"分组面板工具栏"},"section-toolbar-item":{type:"section-toolbar-item",name:"分组面板按钮"},splitter:{type:"splitter",name:"分栏面板"},"splitter-pane":{type:"splitter-pane",name:"分栏面板项",dependentParentControl:"Splitter"},"component-ref":{type:"component-ref",name:"组件引用节点"},uploader:{type:"uploader",name:"附件上传"},"page-header":{type:"page-header",name:"页头"},"page-footer":{type:"page-footer",name:"页脚"},"tab-toolbar":{type:"tab-toolbar",name:"标签页工具栏"},"drawer-toolbar":{type:"drawer-toolbar",name:"抽屉工具栏"},fieldset:{type:"fieldset",name:"分组"},"query-solution":{type:"query-solution",name:"筛选方案"},drawer:{type:"drawer",name:"抽屉"},"external-container":{type:"external-container",name:"外部容器",icon:"content-container"},"list-nav":{type:"list-nav",name:"列表导航"},nav:{type:"nav",name:"标签类导航"},"list-view":{type:"list-view",name:"列表"},"filter-bar":{type:"filter-bar",name:"筛选条"},"language-textbox":{type:"language-textbox",name:"多语输入框"},image:{type:"image",name:"图像"},avatar:{type:"avatar",name:"头像"},"discussion-editor":{type:"discussion-editor",name:"评论编辑区"},"discussion-list":{type:"discussion-list",name:"评论列表"},comment:{type:"comment",name:"评论区"},"rich-text-editor":{type:"rich-text-editor",name:"富文本",icon:"rich-text-box"},calendar:{type:"calendar",name:"日历",icon:"date-picker"},wizard:{type:"wizard",name:"向导",icon:"wizard"},"wizard-page":{type:"wizard-page",name:"向导页",icon:"wizard"},"wizard-page-detail":{type:"wizard-page-detail",name:"向导详情",icon:"wizard"},step:{type:"step",name:"步骤条",icon:"step"}},de={convertFrom:(e,t,n)=>{var v;const a=e.editor&&e.editor[t]?e.editor[t]:e[t];return((v=se[a])==null?void 0:v.name)||a}},fe={convertTo:(e,t,n,a)=>{e[t]=e[t]},convertFrom:(e,t,n)=>e.editor?n.getRealEditorType(e.editor.type):""},me={convertTo:(e,t,n,a)=>{(e.type==="data-grid-column"||e.type==="tree-grid-column")&&(e.formatter?e.formatter[t]=n:e.formatter={[t]:n})},convertFrom:(e,t,n)=>{if(e.formatter){if(t==="trueText")return e.formatter.trueText;if(t==="falseText")return e.formatter.falseText;if(t==="prefix")return e.formatter.prefix;if(t==="suffix")return e.formatter.suffix;if(t==="precision")return e.formatter.precision;if(t==="decimal")return e.formatter.decimal;if(t==="thousand")return e.formatter.thousand;if(t==="dateFormat")return e.formatter.dateFormat||"yyyy-MM-dd";if(t==="customFormat")return e.formatter.customFormat;if(t==="type")return e.formatter.type||"none";if(t==="customFormat")return e.formmater.customFormat}return"none"}},pe={convertTo:(e,t,n,a)=>{e.command?e.command[t]=n:e.command={[t]:n},t==="enableType"&&n==="default"&&(e.command.enable=!0,e.command.commands=[{text:"编辑",type:"primary",command:"edit"},{text:"删除",type:"danger",command:"remove"}]),t==="enableType"&&n==="custom"&&(e.command.enable=!0,e.command.commands=[{value:"add",text:{en:"add","zh-CHS":"增加","zh-CHT":"增加"},type:"link"},{value:"edit",text:{en:"edit","zh-CHS":"编辑","zh-CHT":"編輯"},type:"danger"},{value:"remove",text:{en:"remove","zh-CHS":"删除","zh-CHT":"刪除"},type:"remove"}]),t==="enableType"&&n==="unable"&&(e.command.enable=!1)},convertFrom:(e,t,n)=>{var a,v;if(e.command){if(t==="enableType"){const y=(v=(a=e.command)==null?void 0:a.commands)==null?void 0:v.find(T=>T.command==="edit"&&T.type==="primary");return e.command.enable?y?"default":"custom":"unable"}if(t==="commands")return e.command.enableType==="custom"?e.command.commands:[];if(t==="formatter")return e.command.formatter;if(t==="count")return e.command.count}return""}},ve={convertTo:(e,t,n,a)=>{e.column?e.column[t]=n:e.column={[t]:n},t==="fitColumns"&&n&&(e.column.fitMode||(e.column.fitMode="average"))},convertFrom:(e,t,n)=>{if(e.column){if(t==="fitColumns")return e.column.fitColumns;if(t==="fitMode")return e.column.fitMode}return""}},ge={convertTo:(e,t,n,a)=>{e.summary?e.summary[t]=n:e.summary={[t]:n},t==="enable"&&n&&(e.summary?e.summary.groupFields||(e.summary.groupFields=[]):e.summary={enable:n,groupFields:[]})},convertFrom:(e,t,n)=>{var a;return t==="customSummaryStyle"?e.summary.customSummaryStyle:t==="position"?((a=e.summary)==null?void 0:a[t])||"bottom":e.summary&&t==="enable"?e.summary.enable:e.type==="data-grid-column"?e.enableSummary===void 0?!1:e.enableSummary:""}},be={convertTo:(e,t,n,a)=>{e.group?e.group[t]=n:e.group={[t]:n},t==="enable"&&n&&(e.group?e.group.groupFields||(e.group.groupFields=[]):e.group={enable:n,groupFields:[],showSummary:!1})},convertFrom:(e,t,n)=>{if(e.group){if(t==="enable")return e.group.enable;if(t==="showSummary")return e.group.showSummary}}},ye={convertFrom:(e,t)=>e.binding?e.binding.path:"",convertTo:(e,t,n)=>{if(n&&n.length>0){const a=n[0];e.binding||(e.binding={}),e.binding.type="Form",e.binding.path=a.bindingField,e.binding.field=a.id,e.binding.fullPath=a.path,e.path=a.bindingPath}}},Ce={convertTo:(e,t,n,a)=>{e.pagination||(e.pagination={}),t==="sizeLimits"?e.pagination.sizeLimits=n.split(","):e.pagination[t]=n},convertFrom:(e,t,n)=>e.pagination?t==="sizeLimits"?e.pagination.sizeLimits.join(","):e.pagination[t]:e[t]},Se={convertTo:(e,t,n,a)=>{e.rowNumber||(e.rowNumber={}),e.rowNumber[t]=n},convertFrom:(e,t,n)=>e.rowNumber?e.rowNumber[t]:e[t]},Te={convertTo:(e,t,n,a)=>{e.selection||(e.selection={}),e.selection[t]=n},convertFrom:(e,t,n)=>{var a,v;return t==="showCheckbox"?(a=e.selection)!=null&&a.multiSelect?!0:(v=e.selection)==null?void 0:v.showCheckbox:e.selection?e.selection[t]:e[t]}},Fe={convertFrom:(e,t,n)=>e[t]&&e[t].length?`共 ${e[t].length} 项`:""},xe={convertFrom:(e,t)=>e[t]||"",convertTo:(e,t,n)=>{e[t]=n}},he={convertTo:(e,t,n,a)=>{e.size||(e.size={}),e.size[t]=n},convertFrom:(e,t,n)=>e.size?e.size[t]:e[t]},we={convertFrom:(e,t,n)=>{var a,v;return(a=e.formatter)!=null&&a.data&&t==="formatterEnumData"&&!e.formatterEnumData?(v=e.formatter)==null?void 0:v.data:e.formatterEnumData}},Oe={convertTo:(e,t,n,a)=>{e.sort||(e.sort={}),e.sort[t]=n},convertFrom:(e,t,n)=>{var a,v;if(t==="mode")return((a=e.sort)==null?void 0:a.mode)||"client";if(t==="multiSort")return!!((v=e.sort)!=null&&v.multiSort)}},Ne={convertTo:(e,t,n,a)=>{e.filter||(e.filter={}),e.filter[t]=n},convertFrom:(e,t,n)=>{var a;if(t==="mode")return((a=e.filter)==null?void 0:a.mode)||"client"}},Pe={convertTo:(e,t,n,a)=>{e.rowOption?e.rowOption[t]=n:e.rowOption={[t]:n}},convertFrom:(e,t,n)=>{if(e.rowOption){if(t==="customRowStyle")return e.rowOption.customRowStyle;if(t==="customCellStyle")return e.rowOption.customCellStyle;if(t==="height")return e.rowOption.height}return""}},je={convertTo:(e,t,n,a)=>{(e.type==="data-grid-column"||e.type==="tree-grid-column")&&(e[t]=n,t==="columnTemplateType"&&n==="hyperlink"&&(e.onClickLinkCommand?e.columnTemplate=`
2
2
  <span class="f-pretend-link f-cursor-pointer"
3
3
  @click="(ctx)=>viewModel.current.${e.onClickLinkCommand||""}({id: rowData.id,context: ctx})">
4
4
  {{rowData.${e.field}}}
5
5
  </span>`:e.columnTemplate=`
6
6
  <span class="f-pretend-link f-cursor-pointer">
7
7
  {{rowData.${e.field}}}
8
- </span>`),t==="columnTemplateType"&&n==="default"&&(e.columnTemplate=""),t==="columnTemplateType"&&n==="custom"&&(e.columnTemplate=""))},convertFrom:(e,t,n)=>t==="columnTemplate"?e.columnTemplate:t==="columnTemplateType"?e.columnTemplateType?e.columnTemplateType||"default":e.columnTemplate&&!e.onClickLinkCommand?"custom":e.columnTemplate&&e.onClickLinkCommand?"hyperlink":"default":""};function _(e,t,n){const a=new Map([["/converter/appearance.converter",le],["/converter/buttons.converter",ce],["/converter/property-editor.converter",ue],["/converter/items-count.converter",Fe],["/converter/type.converter",de],["/converter/change-editor.converter",fe],["/converter/change-formatter.converter",me],["/converter/column-command.converter",pe],["/converter/column-option.converter",ve],["/converter/summary.converter",ge],["/converter/group.converter",be],["/converter/form-group-label.converter",xe],["/converter/field-selector.converter",ye],["/converter/pagination.converter",Ce],["/converter/row-number.converter",Te],["/converter/grid-selection.converter",Se],["/converter/size.converter",we],["/converter/change-formatter-enum.converter",he],["/converter/grid-sort.converter",Ne],["/converter/grid-filter.converter",Oe],["/converter/row-option.converter",Pe],["/converter/change-formatter-type.converter",je]]),b=new Map([["string",{type:"input-group",enableClear:!1}],["boolean",{type:"combo-list",textField:"name",valueField:"value",idField:"value",enableClear:!1,editable:!1,data:[{value:!0,name:"是"},{value:!1,name:"否"}]}],["enum",{type:"combo-list",maxHeight:128,enableClear:!1,editable:!1}],["array",{type:"button-edit"}],["number",{type:"number-spinner",placeholder:""}],["events-editor",{type:"events-editor",hide:!0}]]),y=ae();function S(r,i){return()=>y.parseValueSchema(r,i)}function h(r,i,s){return r.includes("visible")&&i.visible!==void 0?typeof i.visible=="boolean"?()=>!!i.visible:i.visible===void 0?!0:S(i.visible,s):()=>!0}function m(r,i,s){return r.includes("readonly")&&i.readonly!==void 0?typeof i.readonly=="boolean"?()=>!!i.readonly:S(i.readonly,s):()=>!1}function f(r,i){const s=r.$converter||i;return typeof s=="string"&&s&&a.has(s)?a.get(s)||null:s||null}function v(r,i,s,g,C,w="",O=""){return Object.keys(r).map(F=>{const j=l.ref(1),P=F,T=r[F],p=Object.keys(T),z=T.title,M=T.type,d=b.get(M)||{type:"input-group",enableClear:!1},x=T.editor?Object.assign({},d,T.editor):Object.assign({},d),R=h(p,T,i),$=m(p,T,i);x.readonly=x.readonly===void 0?$():x.readonly;const q=T.type==="cascade"?v(T.properties,i,s,g,C,w,O):[],L=!0;let D=f(T,O);const Be=l.computed({get(){if(j.value){if(["class","style"].find(Le=>Le===P)&&!D&&(D=a.get("/converter/appearance.converter")||null),D&&D.convertFrom)return D.convertFrom(s,F,C,w);const k=s[F];return Object.prototype.hasOwnProperty.call(T,"defaultValue")&&(k===void 0||typeof k=="string"&&k==="")?T.type==="boolean"?T.defaultValue:T.defaultValue||"":k}return null},set(k){j.value+=1,D&&D.convertTo?(D.convertTo(g,F,k,C,w),D.convertTo(s,F,k,C,w)):(g[F]=k,s[F]=k)}}),{refreshPanelAfterChanged:$e,description:Ve,isExpand:Re,parentPropertyID:qe}=T,K={propertyID:P,propertyName:z,propertyType:M,propertyValue:Be,editor:x,visible:R,readonly:$,cascadeConfig:q,hideCascadeTitle:L,refreshPanelAfterChanged:$e,description:Ve,isExpand:Re,parentPropertyID:qe};return i[P]=K,K})}function o(r,i,s={}){const g={},C=e[r];return C&&C.categories?Object.keys(C.categories).map(O=>{const N=C.categories[O],F=N==null?void 0:N.title,j=v(N.properties||{},g,{},s,i);return{categoryId:O,categoryName:F,properties:j}}):[]}function c(r,i,s,g,C=""){const w=i.$ref.schema,O=i.$ref.converter,N=s[w],F=N.type,j=n(N),P={},T=e[F];if(T&&T.categories){const p=T.categories[r],z=p==null?void 0:p.title;O&&Object.keys(p.properties).forEach(x=>{p.properties[x].$converter=O});const M=(p==null?void 0:p.properties)||{},d=v(M,P,j,N,g,C);return{categoryId:r,categoryName:z,properties:d}}return{categoryId:r,categoryName:"",properties:[]}}function u(r,i,s,g,C){const w=r.type,O=n(r),N={};let F=C||e[w];if(!(F&&Object.keys(F).length>0)&&s&&s.getPropConfig&&(F=s.getPropConfig(g)),F&&F.categories){const P=[];return Object.keys(F.categories).map(T=>{const p=F.categories[T];if(p.$ref){P.push(c(T,p,r,i,g));return}const z=p==null?void 0:p.title,M=p==null?void 0:p.tabId,d=p==null?void 0:p.tabName,x=p==null?void 0:p.hide,R=p==null?void 0:p.hideTitle,$=v(p.properties||{},N,O,r,i,g,p.$converter),{setPropertyRelates:q}=p,L=p==null?void 0:p.parentPropertyID;P.push({categoryId:T,categoryName:z,tabId:M,tabName:d,hide:x,properties:$,hideTitle:R,setPropertyRelates:q,parentPropertyID:L})}),P}return[]}return{getPropertyConfigBySchema:u,getPropertyConfigByType:o,propertyConverterMap:a}}const U={},W={};_(U,W,re);const G={},J={},{resolveSchemaWithDefaultValue:De}=A(G,J),Q={},X={};_(Q,X,De);function ke(e,t,n=new Map,a=(S,h,m,f)=>h,b={},y=S=>S){return H[t.title]=t,I[t.title]=a,U[t.title]=b,W[t.title]=y,G[t.title]=t,J[t.title]=a,Q[t.title]=b,X[t.title]=y,(S={},h=!0)=>{if(!h)return ie(S,n);const m=oe(S,t,n),f=Object.keys(e).reduce((v,o)=>(v[o]=e[o].default,v),{});return Object.assign(f,m)}}const Ee={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/collection-property-editor.schema.json",title:"collection-property-editor",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for collection-property-editor",type:"string"},type:{description:"The type string of collection-property-editor",type:"string",default:"collection-property-editor"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},modelValue:{type:"array",default:[]},idField:{type:"string",default:"id"},textField:{type:"string",default:""},defaultComponentSchema:{type:"object",default:{}},modalTitle:{type:"string",default:"编辑器"},visibleCondition:{type:"object",default:null},allowCollapse:{type:"boolean",default:!0},enableClear:{type:"boolean",default:!1}},required:["type"],ignore:["id"]},Y={modelValue:{type:Array,default:[]},idField:{type:String,default:"id"},textField:{type:String,default:""},defaultComponentSchema:{type:Object,default:{}},isToolbarHidden:{type:Boolean,default:!1},useFormCommand:{type:Object,default:{}},useFormSchema:{type:Object,default:{}},visibleCondition:{type:Function,default:null},allowCollapse:{type:Boolean,default:!0},enableClear:{type:Boolean,default:!1}},Z={...Y,modalTitle:{type:String,default:"编辑器"}},Me=ke(Z,Ee),ze=l.defineComponent({name:"CollectionPropertyContainer",props:Y,emits:["valueChange","selectionChange"],setup(e,t){const n=l.ref(),a=l.ref(),{idField:b,textField:y,defaultComponentSchema:S,isToolbarHidden:h}=e,m=l.ref(e.modelValue),f=l.ref(),v=l.ref("collection-property-editor");l.provide("useFormCommand",e.useFormCommand),l.provide("useFormSchema",e.useFormSchema);const o=l.ref(),c=l.computed(()=>!m.value||m.value.length===0),u=[{field:y,title:"名称",width:340,resizable:!0,dataType:"string"}],r=l.computed(()=>m.value.filter(d=>e.visibleCondition?e.visibleCondition(d):!0));function i(){const d=E.cloneDeep(S),x=Math.random().toString().slice(2,6);return d[b]=d[b]+"_"+x,d[y]=d[y]+"_"+x,d}function s(d){o.value=d,t.emit("selectionChange",{selectedData:o,propertyConfig:f}),a.value.updatePropertyConfig(f.value,o.value,!0)}function g(d){if(d>=m.value.length&&(d=m.value.length-1),m.value.length>0){const x=m.value[d];n.value.selectItemById(x[b]),s(x)}}function C(){const d=i();m.value.push(d),n.value.updateDataSource(r.value),n.value.selectItemById(d[b]),s(d)}function w(){const d=m.value&&m.value.length>0?m.value[0]:null;d&&(n.value.selectItemById(d[b]),s(d))}function O(){const d=m.value.indexOf(o.value);m.value.splice(d,1),n.value.updateDataSource(r.value),g(d)}function N(){if(!o.value)return;const d=m.value.indexOf(o.value);d!==m.value.length-1&&(m.value[d]=m.value[d+1],m.value[d+1]=o.value,n.value.updateDataSource(r.value))}function F(){ne.FMessageBoxService.question("确定关闭当前编辑器并跳转到代码视图吗?","",()=>{m.value=[],n.value.updateDataSource([]),t.emit("clear")})}function j(){if(!o.value)return;const d=m.value.indexOf(o.value);d!==0&&(m.value[d]=m.value[d-1],m.value[d-1]=o.value,n.value.updateDataSource(r.value))}function P(d){s(d[0])}function T(){n.value.updateDataSource(r.value)}l.onMounted(()=>{w()});const p=l.computed(()=>!o.value||c.value),z=l.computed(()=>p.value||m.value.length<=1?!1:m.value.findIndex(x=>x.id===o.value.id)>0),M=l.computed(()=>p.value||m.value.length<=1?!1:m.value.findIndex(x=>x.id===o.value.id)<m.value.length-1);return()=>l.createVNode("div",{class:"f-utils-fill-flex-column h-100 pt-2 pl-2 border-bottom"},[l.createVNode("div",{hidden:h,class:"border-bottom pb-2"},[l.createVNode("button",{class:"btn btn-primary mr-2",onClick:C},[l.createTextVNode("新增")]),l.createVNode("button",{class:"btn btn-secondary mr-2",onClick:O,disabled:p.value},[l.createTextVNode("删除")]),l.createVNode("button",{class:"btn btn-secondary mr-2",onClick:j,disabled:!z.value},[l.createTextVNode("上移")]),l.createVNode("button",{class:"btn btn-secondary mr-2",onClick:N,disabled:!M.value},[l.createTextVNode("下移")]),e.enableClear&&l.createVNode("button",{class:"btn btn-secondary mr-2 d-flex align-items-center",style:"float:right",onClick:F,disabled:c.value},[l.createVNode("i",{class:"f-icon f-icon-close mr-1"},null),l.createTextVNode("清空")])]),l.createVNode("div",{class:"f-utils-fill-flex-row"},[l.createVNode("div",{class:"f-utils-fill f-utils-overflow-auto"},[l.createVNode(te.FTreeView,{ref:n,columns:u,data:r.value,rowOption:{disabledField:"undefined"},fit:"true",idField:b,columnOption:{fitColumns:!0},onSelectionChange:P},null)]),l.createVNode("div",{hidden:c.value,style:"display: flex;"},[l.createVNode(ee.FPropertyPanel,{propertyConfig:f.value,ref:a,propertyName:v.value,enableSearch:!1,allowCollapse:e.allowCollapse,onPropertyChanged:T},null)])])])}}),V=l.defineComponent({name:"FCollectionPropertyEditor",props:Z,emits:["valueChange","selectionChange"],setup(e,t){const n=l.ref(),a=l.inject("useFormCommand"),b=l.inject("useFormSchema"),y=l.ref(E.cloneDeep(e.modelValue)||[]);l.watch(()=>e.modelValue,u=>{y.value=E.cloneDeep(u)||[]});const S=l.computed(()=>{let u=0;return y.value&&(e.visibleCondition?u=y.value.filter(e.visibleCondition).length:u=y.value.length),`共 ${u||0} 项`});function h(u){u&&u.forEach(r=>{Object.keys(r).forEach(i=>{i.indexOf("__fv")>-1&&delete r[i]})})}function m(){return h(y.value),t.emit("valueChange",y.value),!0}function f(){return!0}function v({selectedData:u,propertyConfig:r}){t.emit("selectionChange",{selectedData:u,propertyConfig:r})}function o(){y.value=[]}const c={title:e.modalTitle||"编辑器",width:650,height:700,minWidth:380,minHeight:400,fitContent:!1,showMaxButton:!0,resizeable:!0,draggable:!0,enableEsc:!0,buttons:[{name:"cancel",text:"取消",class:"btn btn-secondary",handle:f},{name:"accept",text:"确定",class:"btn btn-primary",handle:m}],closedCallback:(u,r)=>{if(u.target.name==="cancel"||r==="icon"||r==="esc")return y.value=E.cloneDeep(e.modelValue),t.emit("valueChange",y.value),!0}};return()=>l.createVNode(B.FButtonEdit,{modelValue:S.value,"onUpdate:modelValue":u=>S.value=u,editable:!1,enableTitle:!0,inputType:"text",buttonBehavior:"Modal",modalOptions:c},{default:()=>[l.createVNode("div",{class:"h-100 d-flex flex-column"},[l.createVNode(ze,{ref:n,modelValue:y.value,"onUpdate:modelValue":u=>y.value=u,idField:e.idField,textField:e.textField,defaultComponentSchema:e.defaultComponentSchema,onSelectionChange:v,useFormCommand:a,useFormSchema:b,allowCollapse:e.allowCollapse,visibleCondition:e.visibleCondition,enableClear:e.enableClear,onClear:o},null)])]})}});return{install(e){e.component(V.name,V)},register(e,t,n,a){e["collection-property-editor"]=V,t["collection-property-editor"]=Me}}});
8
+ </span>`),t==="columnTemplateType"&&n==="default"&&(e.columnTemplate=""),t==="columnTemplateType"&&n==="custom"&&(e.columnTemplate=""))},convertFrom:(e,t,n)=>t==="columnTemplate"?e.columnTemplate:t==="columnTemplateType"?e.columnTemplateType?e.columnTemplateType||"default":e.columnTemplate&&!e.onClickLinkCommand?"custom":e.columnTemplate&&e.onClickLinkCommand?"hyperlink":"default":""},ke={convertTo:(e,t,n,a)=>{e.hierarchy||(e.hierarchy={cascadeOption:{}}),e.hierarchy.cascadeOption||(e.hierarchy.cascadeOption={}),e.hierarchy.cascadeOption[t]=n},convertFrom:(e,t,n)=>{var a,v;return!!((v=(a=e.hierarchy)==null?void 0:a.cascadeOption)!=null&&v[t])}};function _(e,t,n){const a=new Map([["/converter/appearance.converter",le],["/converter/buttons.converter",ce],["/converter/property-editor.converter",ue],["/converter/items-count.converter",Fe],["/converter/type.converter",de],["/converter/change-editor.converter",fe],["/converter/change-formatter.converter",me],["/converter/column-command.converter",pe],["/converter/column-option.converter",ve],["/converter/summary.converter",ge],["/converter/group.converter",be],["/converter/form-group-label.converter",xe],["/converter/field-selector.converter",ye],["/converter/pagination.converter",Ce],["/converter/row-number.converter",Se],["/converter/grid-selection.converter",Te],["/converter/size.converter",he],["/converter/change-formatter-enum.converter",we],["/converter/grid-sort.converter",Oe],["/converter/grid-filter.converter",Ne],["/converter/row-option.converter",Pe],["/converter/change-formatter-type.converter",je],["/converter/tree-auto-check.converter",ke]]),v=new Map([["string",{type:"input-group",enableClear:!1}],["boolean",{type:"combo-list",textField:"name",valueField:"value",idField:"value",enableClear:!1,editable:!1,data:[{value:!0,name:"是"},{value:!1,name:"否"}]}],["enum",{type:"combo-list",maxHeight:128,enableClear:!1,editable:!1}],["array",{type:"button-edit"}],["number",{type:"number-spinner",placeholder:""}],["events-editor",{type:"events-editor",hide:!0}]]),y=ae();function T(r,i){return()=>y.parseValueSchema(r,i)}function w(r,i,s){return r.includes("visible")&&i.visible!==void 0?typeof i.visible=="boolean"?()=>!!i.visible:i.visible===void 0?!0:T(i.visible,s):()=>!0}function m(r,i,s){return r.includes("readonly")&&i.readonly!==void 0?typeof i.readonly=="boolean"?()=>!!i.readonly:T(i.readonly,s):()=>!1}function f(r,i){const s=r.$converter||i;return typeof s=="string"&&s&&a.has(s)?a.get(s)||null:s||null}function g(r,i,s,b,C,h="",N=""){return Object.keys(r).map(F=>{const j=l.ref(1),P=F,S=r[F],p=Object.keys(S),z=S.title,M=S.type,d=v.get(M)||{type:"input-group",enableClear:!1},x=S.editor?Object.assign({},d,S.editor):Object.assign({},d),R=w(p,S,i),$=m(p,S,i);x.readonly=x.readonly===void 0?$():x.readonly;const q=S.type==="cascade"?g(S.properties,i,s,b,C,h,N):[],L=!0;let k=f(S,N);const $e=l.computed({get(){if(j.value){if(["class","style"].find(Ae=>Ae===P)&&!k&&(k=a.get("/converter/appearance.converter")||null),k&&k.convertFrom)return k.convertFrom(s,F,C,h);const D=s[F];return Object.prototype.hasOwnProperty.call(S,"defaultValue")&&(D===void 0||typeof D=="string"&&D==="")?S.type==="boolean"?S.defaultValue:S.defaultValue||"":D}return null},set(D){j.value+=1,k&&k.convertTo?(k.convertTo(b,F,D,C,h),k.convertTo(s,F,D,C,h)):(b[F]=D,s[F]=D)}}),{refreshPanelAfterChanged:Ve,description:Re,isExpand:qe,parentPropertyID:Le}=S,K={propertyID:P,propertyName:z,propertyType:M,propertyValue:$e,editor:x,visible:R,readonly:$,cascadeConfig:q,hideCascadeTitle:L,refreshPanelAfterChanged:Ve,description:Re,isExpand:qe,parentPropertyID:Le};return i[P]=K,K})}function o(r,i,s={}){const b={},C=e[r];return C&&C.categories?Object.keys(C.categories).map(N=>{const O=C.categories[N],F=O==null?void 0:O.title,j=g(O.properties||{},b,{},s,i);return{categoryId:N,categoryName:F,properties:j}}):[]}function c(r,i,s,b,C=""){const h=i.$ref.schema,N=i.$ref.converter,O=s[h],F=O.type,j=n(O),P={},S=e[F];if(S&&S.categories){const p=S.categories[r],z=p==null?void 0:p.title;N&&Object.keys(p.properties).forEach(x=>{p.properties[x].$converter=N});const M=(p==null?void 0:p.properties)||{},d=g(M,P,j,O,b,C);return{categoryId:r,categoryName:z,properties:d}}return{categoryId:r,categoryName:"",properties:[]}}function u(r,i,s,b,C){const h=r.type,N=n(r),O={};let F=C||e[h];if(!(F&&Object.keys(F).length>0)&&s&&s.getPropConfig&&(F=s.getPropConfig(b)),F&&F.categories){const P=[];return Object.keys(F.categories).map(S=>{const p=F.categories[S];if(p.$ref){P.push(c(S,p,r,i,b));return}const z=p==null?void 0:p.title,M=p==null?void 0:p.tabId,d=p==null?void 0:p.tabName,x=p==null?void 0:p.hide,R=p==null?void 0:p.hideTitle,$=g(p.properties||{},O,N,r,i,b,p.$converter),{setPropertyRelates:q}=p,L=p==null?void 0:p.parentPropertyID;P.push({categoryId:S,categoryName:z,tabId:M,tabName:d,hide:x,properties:$,hideTitle:R,setPropertyRelates:q,parentPropertyID:L})}),P}return[]}return{getPropertyConfigBySchema:u,getPropertyConfigByType:o,propertyConverterMap:a}}const U={},W={};_(U,W,re);const G={},J={},{resolveSchemaWithDefaultValue:De}=A(G,J),Q={},X={};_(Q,X,De);function Ee(e,t,n=new Map,a=(T,w,m,f)=>w,v={},y=T=>T){return H[t.title]=t,I[t.title]=a,U[t.title]=v,W[t.title]=y,G[t.title]=t,J[t.title]=a,Q[t.title]=v,X[t.title]=y,(T={},w=!0)=>{if(!w)return ie(T,n);const m=oe(T,t,n),f=Object.keys(e).reduce((g,o)=>(g[o]=e[o].default,g),{});return Object.assign(f,m)}}const Me={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/collection-property-editor.schema.json",title:"collection-property-editor",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for collection-property-editor",type:"string"},type:{description:"The type string of collection-property-editor",type:"string",default:"collection-property-editor"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},modelValue:{type:"array",default:[]},idField:{type:"string",default:"id"},textField:{type:"string",default:""},defaultComponentSchema:{type:"object",default:{}},modalTitle:{type:"string",default:"编辑器"},visibleCondition:{type:"object",default:null},allowCollapse:{type:"boolean",default:!0},enableClear:{type:"boolean",default:!1}},required:["type"],ignore:["id"]},Y={modelValue:{type:Array,default:[]},idField:{type:String,default:"id"},textField:{type:String,default:""},defaultComponentSchema:{type:Object,default:{}},isToolbarHidden:{type:Boolean,default:!1},useFormCommand:{type:Object,default:{}},useFormSchema:{type:Object,default:{}},visibleCondition:{type:Function,default:null},allowCollapse:{type:Boolean,default:!0},enableClear:{type:Boolean,default:!1}},Z={...Y,modalTitle:{type:String,default:"编辑器"}},ze=Ee(Z,Me),Be=l.defineComponent({name:"CollectionPropertyContainer",props:Y,emits:["valueChange","selectionChange"],setup(e,t){const n=l.ref(),a=l.ref(),{idField:v,textField:y,defaultComponentSchema:T,isToolbarHidden:w}=e,m=l.ref(e.modelValue),f=l.ref(),g=l.ref("collection-property-editor");l.provide("useFormCommand",e.useFormCommand),l.provide("useFormSchema",e.useFormSchema);const o=l.ref(),c=l.computed(()=>!m.value||m.value.length===0),u=[{field:y,title:"名称",width:340,resizable:!0,dataType:"string"}],r=l.computed(()=>m.value.filter(d=>e.visibleCondition?e.visibleCondition(d):!0));function i(){const d=E.cloneDeep(T),x=Math.random().toString().slice(2,6);return d[v]=d[v]+"_"+x,d[y]=d[y]+"_"+x,d}function s(d){o.value=d,t.emit("selectionChange",{selectedData:o,propertyConfig:f}),a.value.updatePropertyConfig(f.value,o.value,!0)}function b(d){if(d>=m.value.length&&(d=m.value.length-1),m.value.length>0){const x=m.value[d];n.value.selectItemById(x[v]),s(x)}}function C(){const d=i();m.value.push(d),n.value.updateDataSource(r.value),n.value.selectItemById(d[v]),s(d)}function h(){const d=m.value&&m.value.length>0?m.value[0]:null;d&&(n.value.selectItemById(d[v]),s(d))}function N(){const d=m.value.indexOf(o.value);m.value.splice(d,1),n.value.updateDataSource(r.value),b(d)}function O(){if(!o.value)return;const d=m.value.indexOf(o.value);d!==m.value.length-1&&(m.value[d]=m.value[d+1],m.value[d+1]=o.value,n.value.updateDataSource(r.value))}function F(){ne.FMessageBoxService.question("确定关闭当前编辑器并跳转到代码视图吗?","",()=>{m.value=[],n.value.updateDataSource([]),t.emit("clear")})}function j(){if(!o.value)return;const d=m.value.indexOf(o.value);d!==0&&(m.value[d]=m.value[d-1],m.value[d-1]=o.value,n.value.updateDataSource(r.value))}function P(d){s(d[0])}function S(){n.value.updateDataSource(r.value)}l.onMounted(()=>{h()});const p=l.computed(()=>!o.value||c.value),z=l.computed(()=>p.value||m.value.length<=1?!1:m.value.findIndex(x=>x.id===o.value.id)>0),M=l.computed(()=>p.value||m.value.length<=1?!1:m.value.findIndex(x=>x.id===o.value.id)<m.value.length-1);return()=>l.createVNode("div",{class:"f-utils-fill-flex-column h-100 pt-2 pl-2 border-bottom"},[l.createVNode("div",{hidden:w,class:"border-bottom pb-2"},[l.createVNode("button",{class:"btn btn-primary mr-2",onClick:C},[l.createTextVNode("新增")]),l.createVNode("button",{class:"btn btn-secondary mr-2",onClick:N,disabled:p.value},[l.createTextVNode("删除")]),l.createVNode("button",{class:"btn btn-secondary mr-2",onClick:j,disabled:!z.value},[l.createTextVNode("上移")]),l.createVNode("button",{class:"btn btn-secondary mr-2",onClick:O,disabled:!M.value},[l.createTextVNode("下移")]),e.enableClear&&l.createVNode("button",{class:"btn btn-secondary mr-2 d-flex align-items-center",style:"float:right",onClick:F,disabled:c.value},[l.createVNode("i",{class:"f-icon f-icon-close mr-1"},null),l.createTextVNode("清空")])]),l.createVNode("div",{class:"f-utils-fill-flex-row"},[l.createVNode("div",{class:"f-utils-fill f-utils-overflow-auto"},[l.createVNode(te.FTreeView,{ref:n,columns:u,data:r.value,rowOption:{disabledField:"undefined"},fit:"true",idField:v,columnOption:{fitColumns:!0},onSelectionChange:P},null)]),l.createVNode("div",{hidden:c.value,style:"display: flex;"},[l.createVNode(ee.FPropertyPanel,{propertyConfig:f.value,ref:a,propertyName:g.value,enableSearch:!1,allowCollapse:e.allowCollapse,onPropertyChanged:S},null)])])])}}),V=l.defineComponent({name:"FCollectionPropertyEditor",props:Z,emits:["valueChange","selectionChange"],setup(e,t){const n=l.ref(),a=l.inject("useFormCommand"),v=l.inject("useFormSchema"),y=l.ref(E.cloneDeep(e.modelValue)||[]);l.watch(()=>e.modelValue,u=>{y.value=E.cloneDeep(u)||[]});const T=l.computed(()=>{let u=0;return y.value&&(e.visibleCondition?u=y.value.filter(e.visibleCondition).length:u=y.value.length),`共 ${u||0} 项`});function w(u){u&&u.forEach(r=>{Object.keys(r).forEach(i=>{i.indexOf("__fv")>-1&&delete r[i]})})}function m(){return w(y.value),t.emit("valueChange",y.value),!0}function f(){return!0}function g({selectedData:u,propertyConfig:r}){t.emit("selectionChange",{selectedData:u,propertyConfig:r})}function o(){y.value=[]}const c={title:e.modalTitle||"编辑器",width:650,height:700,minWidth:380,minHeight:400,fitContent:!1,showMaxButton:!0,resizeable:!0,draggable:!0,enableEsc:!0,buttons:[{name:"cancel",text:"取消",class:"btn btn-secondary",handle:f},{name:"accept",text:"确定",class:"btn btn-primary",handle:m}],closedCallback:(u,r)=>{if(u.target.name==="cancel"||r==="icon"||r==="esc")return y.value=E.cloneDeep(e.modelValue),t.emit("valueChange",y.value),!0}};return()=>l.createVNode(B.FButtonEdit,{modelValue:T.value,"onUpdate:modelValue":u=>T.value=u,editable:!1,enableTitle:!0,inputType:"text",buttonBehavior:"Modal",modalOptions:c},{default:()=>[l.createVNode("div",{class:"h-100 d-flex flex-column"},[l.createVNode(Be,{ref:n,modelValue:y.value,"onUpdate:modelValue":u=>y.value=u,idField:e.idField,textField:e.textField,defaultComponentSchema:e.defaultComponentSchema,onSelectionChange:g,useFormCommand:a,useFormSchema:v,allowCollapse:e.allowCollapse,visibleCondition:e.visibleCondition,enableClear:e.enableClear,onClear:o},null)])]})}});return{install(e){e.component(V.name,V)},register(e,t,n,a){e["collection-property-editor"]=V,t["collection-property-editor"]=ze}}});
@@ -465,7 +465,7 @@ const M = {
465
465
  B(e.dataSource, () => {
466
466
  l.value = e.dataSource;
467
467
  }), I(() => e.enableSearch ? "SearchBar" : "ContentHeader");
468
- const c = I(() => {
468
+ const r = I(() => {
469
469
  const i = {};
470
470
  return f.value !== void 0 && (i.width = `${f.value}px`), u.value !== void 0 && u.value > 0 && (i.maxHeight = `${u.value}px`), i;
471
471
  });
@@ -506,7 +506,7 @@ const M = {
506
506
  activeRowById: a
507
507
  }), () => L("div", {
508
508
  class: "f-combo-list-container",
509
- style: c.value
509
+ style: r.value
510
510
  }, [L(te, {
511
511
  ref: n,
512
512
  size: "small",
@@ -587,7 +587,7 @@ function xe(e) {
587
587
  }), B(() => e.modelValue, (a) => {
588
588
  n.value = a, f(a);
589
589
  });
590
- function c(a) {
590
+ function r(a) {
591
591
  l.value = a;
592
592
  }
593
593
  function h() {
@@ -598,7 +598,7 @@ function xe(e) {
598
598
  }
599
599
  function T() {
600
600
  const a = typeof e.beforeOpen == "function";
601
- return !e.beforeOpen || !a ? Promise.resolve(!0) : Promise.resolve().then(() => e.beforeOpen({ instance: { updateDataSource: c, getData: h, getDisplayText: y } })).then((i) => typeof (i == null ? void 0 : i.canOpen) == "boolean" ? i == null ? void 0 : i.canOpen : !0);
601
+ return !e.beforeOpen || !a ? Promise.resolve(!0) : Promise.resolve().then(() => e.beforeOpen({ instance: { updateDataSource: r, getData: h, getDisplayText: y } })).then((i) => typeof (i == null ? void 0 : i.canOpen) == "boolean" ? i == null ? void 0 : i.canOpen : !0);
602
602
  }
603
603
  return f(e.modelValue), {
604
604
  dataSource: l,
@@ -620,7 +620,7 @@ const E = /* @__PURE__ */ H({
620
620
  dataSource: m,
621
621
  displayText: b,
622
622
  editable: x,
623
- modelValue: c,
623
+ modelValue: r,
624
624
  getItemsByDisplayText: h,
625
625
  getItemsByValue: y,
626
626
  beforeOpenList: T
@@ -630,48 +630,48 @@ const E = /* @__PURE__ */ H({
630
630
  function v() {
631
631
  !i.value && l.value && l.value.hidePopup();
632
632
  }
633
- function S(r) {
634
- b.value = r.map((V) => V[e.textField]).join(e.separator) || c.value;
633
+ function S(c) {
634
+ b.value = c.map((V) => V[e.textField]).join(e.separator) || r.value;
635
635
  let C = "";
636
- r.length === 1 ? C = r[0][e.valueField] : C = r.map((V) => V[e.valueField]).join(e.separator), c.value !== C && (c.value = C, t.emit("update:modelValue", c.value), t.emit("change", r, c.value));
636
+ c.length === 1 ? C = c[0][e.valueField] : C = c.map((V) => V[e.valueField]).join(e.separator), r.value !== C && (r.value = C, t.emit("update:modelValue", r.value), t.emit("change", c, r.value));
637
637
  }
638
638
  function F() {
639
- const r = y(c.value);
640
- S(r);
639
+ const c = y(r.value);
640
+ S(c);
641
641
  }
642
642
  function g() {
643
643
  u.value || b.value;
644
644
  }
645
- function w(r) {
645
+ function w(c) {
646
646
  var C;
647
- c.value = "", (C = n.value) == null || C.activeRowById(""), t.emit("clear");
647
+ r.value = "", (C = n.value) == null || C.activeRowById(""), t.emit("clear");
648
648
  }
649
- function P(r) {
649
+ function P(c) {
650
650
  var C, V;
651
- e.enableSearch && e.enableHighlightSearch && ((C = n.value) == null || C.search(r)), (V = n.value) == null || V.activeRowById(r), t.emit("change", [c.value], c.value);
651
+ e.enableSearch && e.enableHighlightSearch && ((C = n.value) == null || C.search(c)), (V = n.value) == null || V.activeRowById(c), t.emit("change", [r.value], r.value);
652
652
  }
653
- function O(r) {
653
+ function O(c) {
654
654
  if (e.multiSelect) {
655
- const C = h(r);
655
+ const C = h(c);
656
656
  e.viewType;
657
657
  const R = C.map((k) => k[e.idField || e.valueField]).join(e.separator);
658
- c.value !== R && (c.value = R, t.emit("update:modelValue", c.value), t.emit("change", C, c.value));
659
- } else r !== c.value && (c.value = r, t.emit("update:modelValue", c.value), t.emit("change", [], r));
658
+ r.value !== R && (r.value = R, t.emit("update:modelValue", r.value), t.emit("change", C, r.value));
659
+ } else c !== r.value && (r.value = c, t.emit("update:modelValue", r.value), t.emit("change", [], c));
660
660
  }
661
661
  function J() {
662
662
  return b.value;
663
663
  }
664
- function z(r) {
664
+ function z(c) {
665
665
  const {
666
666
  value: C
667
- } = r.target;
667
+ } = c.target;
668
668
  P(C), t.emit("input", C);
669
669
  }
670
670
  function K() {
671
671
  l.value.hidePopup();
672
672
  }
673
- function Q(r) {
674
- m.value = r;
673
+ function Q(c) {
674
+ m.value = c;
675
675
  }
676
676
  function X() {
677
677
  return m.value;
@@ -682,8 +682,8 @@ const E = /* @__PURE__ */ H({
682
682
  updateDataSource: Q,
683
683
  getData: X
684
684
  };
685
- return t.expose(Y), B([() => e.disabled, () => e.editable, () => e.enableClear, () => e.enableSearch, () => e.readonly], ([r, C, V, R, k]) => {
686
- o.value = r, x.value = C, d.value = V, f.value = R, u.value = k;
685
+ return t.expose(Y), B([() => e.disabled, () => e.editable, () => e.enableClear, () => e.enableSearch, () => e.readonly], ([c, C, V, R, k]) => {
686
+ o.value = c, x.value = C, d.value = V, f.value = R, u.value = k;
687
687
  }), () => L(Z, {
688
688
  ref: l,
689
689
  id: e.id,
@@ -700,7 +700,7 @@ const E = /* @__PURE__ */ H({
700
700
  multiSelect: e.multiSelect,
701
701
  inputType: e.multiSelect ? e.viewType : "text",
702
702
  modelValue: b.value,
703
- "onUpdate:modelValue": (r) => b.value = r,
703
+ "onUpdate:modelValue": (c) => b.value = c,
704
704
  focusOnCreated: e.focusOnCreated,
705
705
  selectOnCreated: e.selectOnCreated,
706
706
  onClear: w,
@@ -722,15 +722,15 @@ const E = /* @__PURE__ */ H({
722
722
  textField: e.textField,
723
723
  titleField: e.titleField,
724
724
  dataSource: m.value,
725
- selectedValues: c.value,
725
+ selectedValues: r.value,
726
726
  separator: e.separator,
727
727
  multiSelect: e.multiSelect,
728
728
  enableSearch: f.value,
729
729
  maxHeight: e.maxHeight,
730
730
  enableHighlightSearch: e.enableHighlightSearch,
731
731
  width: e.fitEditor ? s.value : void 0,
732
- onSelectionChange: (r) => {
733
- S(r), v();
732
+ onSelectionChange: (c) => {
733
+ S(c), v();
734
734
  }
735
735
  }, null)]
736
736
  });
@@ -911,7 +911,7 @@ class we extends oe {
911
911
  });
912
912
  }
913
913
  getGridFieldEdtiorProperties(t, n) {
914
- var f, u, m, b, x, c;
914
+ var f, u, m, b, x, r;
915
915
  const l = this;
916
916
  let o = "";
917
917
  if (((f = t == null ? void 0 : t.binding) == null ? void 0 : f.type) === "Form") {
@@ -948,7 +948,7 @@ class we extends oe {
948
948
  title: "数据",
949
949
  type: "array",
950
950
  visible: !((m = t.editor) != null && m.dataSourceType) || ((b = t.editor) == null ? void 0 : b.dataSourceType) === "static",
951
- ...l.getItemCollectionEditor(t, (x = t.editor) == null ? void 0 : x.valueField, (c = t.editor) == null ? void 0 : c.textField),
951
+ ...l.getItemCollectionEditor(t, (x = t.editor) == null ? void 0 : x.valueField, (r = t.editor) == null ? void 0 : r.textField),
952
952
  // 这个属性,标记当属性变更得时候触发重新更新属性
953
953
  refreshPanelAfterChanged: !0
954
954
  },
@@ -1054,9 +1054,9 @@ class we extends oe {
1054
1054
  properties: d.createBaseEventProperty(u),
1055
1055
  tabId: "commands",
1056
1056
  tabName: "交互",
1057
- setPropertyRelates(x, c) {
1057
+ setPropertyRelates(x, r) {
1058
1058
  const h = x.propertyValue;
1059
- delete t[d.viewModelId], h && (h.setPropertyRelates = this.setPropertyRelates, d.eventsEditorUtils.saveRelatedParameters(t, d.viewModelId, h.events, h)), o && o(x, c, h);
1059
+ delete t[d.viewModelId], h && (h.setPropertyRelates = this.setPropertyRelates, d.eventsEditorUtils.saveRelatedParameters(t, d.viewModelId, h.events, h), d.updateLinkedLabel(h, r)), o && o(x, r, h);
1060
1060
  const y = d.designViewModelUtils.getDgViewModel(d.viewModelId);
1061
1061
  y && d.designViewModelField && y.changeField(d.designViewModelField.id, { valueChanging: t.fieldValueChanging, valueChanged: t.fieldValueChanged }), t.editor.beforeOpen !== t.beforeOpen && (t.editor.beforeOpen = t.beforeOpen), t.editor.onChange !== t.onChange && (t.editor.onChange = t.onChange), t.editor.onClear !== t.onClear && (t.editor.onClear = t.onClear);
1062
1062
  }
@@ -1 +1 @@
1
- (function(f,l){typeof exports=="object"&&typeof module<"u"?l(exports,require("vue"),require("../button-edit/index.umd.js"),require("../locale/index.umd.js"),require("../dynamic-resolver/index.umd.js"),require("../list-view/index.umd.js"),require("lodash-es"),require("../../designer/button-edit/index.umd.js"),require("../common/index.umd.js"),require("../property-panel/index.umd.js"),require("../designer-canvas/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","../button-edit/index.umd.js","../locale/index.umd.js","../dynamic-resolver/index.umd.js","../list-view/index.umd.js","lodash-es","../../designer/button-edit/index.umd.js","../common/index.umd.js","../property-panel/index.umd.js","../designer-canvas/index.umd.js"],l):(f=typeof globalThis<"u"?globalThis:f||self,l(f["combo-list"]={},f.Vue,f.FButtonEdit,f.locale,f.dynamicResolver,f.FListView,f.LodashES,f.FButtonEditDesign,f.common,f.propertyPanel,f.designerCanvas))})(this,function(f,l,z,j,E,K,Q,X,H,Y,Z){"use strict";const A=new Map([["appearance",E.resolveAppearance]]),q={$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},enableClear:{description:"",type:"boolean",default:!1},editable:{description:"",type:"boolean",default:!1},enableLinkLabel:{description:"",type:"boolean",default:!1},label:{description:"",type:"string",default:""},lableWidth:{description:"",type:"number"},placeholder:{description:"",type:"string",default:"请选择"},idField:{description:"",type:"string",default:"id"},valueField:{description:"",type:"string",default:"id"},titleField:{description:"",type:"string",default:"name"},textField:{description:"",type:"string",default:"name"},dataSourceType:{description:"",type:"string",default:"static"},data:{description:"",type:"array"},remote:{description:"",type:"string"},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"},multiSelect:{description:"",type:"boolean",default:!1},maxLength:{description:"",type:"number",default:null},visible:{description:"",type:"boolean",default:!0},onBlur:{description:"",type:"string",default:""},onClickLinkLabel:{description:"",type:"string",default:""},maxHeight:{description:"",type:"number",default:350},minPanelWidth:{description:"",type:"number",default:160},popupOnClick:{description:"",type:"boolean",default:!0},separator:{description:"",type:"string",default:","},viewType:{description:"",type:"string",default:"tag"},enableSearch:{description:"启用搜索",type:"boolean",default:!0},enableHighlightSearch:{description:"启用高亮搜索",type:"boolean",default:!1},beforeOpen:{description:"打卡面板前回调",type:"string"},onChange:{description:"值变化事件",type:"string",default:""},onInput:{description:"输入事件",type:"string",default:""},onClear:{description:"清空事件",type:"string",default:""}},required:["type"],ignore:["id","appearance","binding","visible"],events:{onClear:"清空事件",onChange:"值变化事件",beforeOpen:"打开下拉面板前事件"}};function $(e,t,a){return t}function D(){function e(t,a,n){const d={};return d.beforeOpen=r=>a.call("beforeOpen",t,[r,t],n),d}return{resolve:e}}var N=(e=>(e.top="top",e.bottom="bottom",e.auto="auto",e))(N||{});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-chevron-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,default:"请选择"},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},load:{type:Function},searchOption:{type:[Boolean,Function],default:!1},enableHighlightSearch:{type:Boolean,default:!0},minPanelWidth:{type:Number,default:160},popupOnClick:{type:Boolean,default:!0},expandable:{type:Boolean,default:!1},expandMode:{type:String,default:"text"},expandContent:{type:String,default:""},expandDisabled:{type:Boolean,default:!1}},G=Object.assign({},B,{readonly:{}}),ee=E.createPropsResolver(B,q,A,$),M=E.getPropsResolverGenerator(B,q,A,$),U=D(),te={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:[Boolean,Function],default:!1},enableHighlightSearch:{type:Boolean,default:!0}},W=l.defineComponent({name:"FComboListContainer",props:te,emits:["selectionChange"],setup(e,t){const a=l.ref(),n=l.ref(e.dataSource),d=l.ref([]),r=l.ref(e.separator),h=l.ref(e.width),u=l.ref(e.maxHeight),g=l.computed(()=>e.multiSelect),p=l.ref(e.multiSelect?String(e.selectedValues).split(r.value):[e.selectedValues]),w=l.computed(()=>({enableSelectRow:!0,multiSelect:e.multiSelect,multiSelectMode:"OnCheckAndClick",showCheckbox:g.value,showSelectAll:!1,showSelection:!0}));l.watch(e.dataSource,()=>{n.value=e.dataSource}),l.computed(()=>e.enableSearch?"SearchBar":"ContentHeader");const c=l.computed(()=>{const i={};return h.value!==void 0&&(i.width=`${h.value}px`),u.value!==void 0&&u.value>0&&(i.maxHeight=`${u.value}px`),i});function y(i){a.value.search(i)}function S(i){d.value=i.map(m=>Object.assign({},m)),p.value=i.map(m=>m[e.idField]),t.emit("selectionChange",d.value)}function T(i){if(e.enableHighlightSearch)return;let m=[];const{searchOption:b}=e;typeof b=="function"?m=n.value.filter(F=>b(i,F)):m=n.value.filter(F=>F[e.valueField].indexOf(i)>-1||F[e.textField].indexOf(i)>-1),a.value.updateDataSource(m)}l.watch([()=>e.selectedValues],([i])=>{e.multiSelect?p.value=i.split(r.value):p.value=[i]});function o(i){a.value.activeRowById(i)}return l.onMounted(()=>{var i,m;if(!e.multiSelect){const b=(i=p.value)==null?void 0:i[0];let F=b;const x=n.value.map(v=>v[e.valueField||e.idField]);if(!Q.isUndefined(b)&&x.includes(b)){const v=typeof b,V=typeof((m=n.value[0])==null?void 0:m[e.valueField||e.idField]);V==="number"&&v!==V&&(F=Number(b)),V==="boolean"&&v!==V&&(F=b==="true"?!0:b==="false"?!1:b),o(F)}}}),t.expose({search:y,activeRowById:o}),()=>l.createVNode("div",{class:"f-combo-list-container",style:c.value},[l.createVNode(K,{ref:a,size:"small",itemClass:"f-combo-list-item",itemContentClass:"text-truncate",header:"ContentHeader",headerClass:"f-combo-list-search-box",data:n.value,idField:e.idField,textField:e.textField,titleField:e.titleField,multiSelect:e.multiSelect,selection:w.value,enableHighlightSearch:e.enableHighlightSearch,selectionValues:p.value,onSelectionUpdate:S,onAfterSearch:T},null)])}});function J(e){const t=l.ref(""),a=l.ref(e.modelValue),n=l.ref(e.data||[]),d=l.ref(e.editable);function r(o){const i=e.multiSelect?String(o).split(e.separator):[String(o)],m=i.map(x=>[x,!0]),b=new Map(m);return n.value.filter(x=>b.has(String(x[e.valueField]))).sort((x,v)=>{const V=i.indexOf(x[e.valueField]),I=i.indexOf(v[e.valueField]);return V-I})}function h(o){const i=r(o).map(m=>m[e.textField]).join(e.separator);t.value=d.value?i||o:i}function u(o){if(e.multiSelect){const i=o.split(e.separator).map(b=>[b,!0]),m=new Map(i);return n.value.filter(b=>m.has(b[e.textField]))}return n.value.filter(i=>""+i[e.textField]===o)}function g(o){const i={};return i[e.idField]=o,i[e.textField]=o,[i]}function p(o){let i=u(o);const m=i&&i.length>0;return d.value&&!m&&(i=g(o)),i}function w(){const{url:o,method:i="GET",headers:m={"Content-Type":"application/json;charset=utf-8;"},body:b=null}=e.remote;if(!o)return;const F=i.toLowerCase()==="get"?{method:i,headers:m}:{method:i,headers:m,body:b};let x=!1;fetch(new Request(o,F)).then(v=>{var I,O;if(v.status===200)return x=!!((O=(I=v.headers)==null?void 0:I.get("content-type"))!=null&&O.includes("application/json")),x?v.text():v.json();throw v.status===405?new Error(j.LocaleService.getLocaleValue("comboList.remoteError")):new Error(v.statusText)}).then(v=>{v.length&&(n.value=x?JSON.parse(v):v)}).catch(v=>{console.warn(v)})}e.remote&&(e.load?e.load().then(o=>{n.value=o}).catch(o=>{console.log(o)}):w()),l.watch(()=>e.data,()=>{n.value=e.data}),l.watch([n],([o])=>{if(e.modelValue!=null){const i=o.find(m=>m[e.valueField]===e.modelValue);i&&(t.value=i[e.textField])}}),l.watch(()=>e.modelValue,o=>{a.value=o,h(o)});function c(o){n.value=o}function y(){return n.value}function S(){return t.value}function T(){const o=typeof e.beforeOpen=="function";return!e.beforeOpen||!o?Promise.resolve(!0):Promise.resolve().then(()=>e.beforeOpen({instance:{updateDataSource:c,getData:y,getDisplayText:S}})).then(i=>typeof(i==null?void 0:i.canOpen)=="boolean"?i==null?void 0:i.canOpen:!0)}return h(e.modelValue),{dataSource:n,displayText:t,editable:d,modelValue:a,beforeOpenList:T,getItemsByDisplayText:u,getItemsByValue:r,getSelectedItemsByDisplayText:p}}const L=l.defineComponent({name:"FComboList",props:B,emits:["clear","update:modelValue","change","input"],setup(e,t){const a=l.ref(),n=l.ref(),d=l.ref(e.disabled||e.readonly),r=l.ref(e.enableClear),h=l.ref(e.enableSearch),u=l.ref(e.readonly),{dataSource:g,displayText:p,editable:w,modelValue:c,getItemsByDisplayText:y,getItemsByValue:S,beforeOpenList:T}=J(e),o=l.ref(e.dropDownIcon);o.value==='<span class="f-icon f-icon-arrow-chevron-down"></span>'&&(o.value='<span id="'+e.id+'-icon-dropdown" class="f-icon f-icon-arrow-chevron-down"></span>');const i=l.computed(()=>e.multiSelect),m=l.computed(()=>n.value?n.value.elementRef.getBoundingClientRect().width:0);function b(){!i.value&&n.value&&n.value.hidePopup()}function F(s){p.value=s.map(P=>P[e.textField]).join(e.separator)||c.value;let C="";s.length===1?C=s[0][e.valueField]:C=s.map(P=>P[e.valueField]).join(e.separator),c.value!==C&&(c.value=C,t.emit("update:modelValue",c.value),t.emit("change",s,c.value))}function x(){const s=S(c.value);F(s)}function v(){u.value||p.value}function V(s){var C;c.value="",(C=a.value)==null||C.activeRowById(""),t.emit("clear")}function I(s){var C,P;e.enableSearch&&e.enableHighlightSearch&&((C=a.value)==null||C.search(s)),(P=a.value)==null||P.activeRowById(s),t.emit("change",[c.value],c.value)}function O(s){if(e.multiSelect){const C=y(s);e.viewType;const R=C.map(k=>k[e.idField||e.valueField]).join(e.separator);c.value!==R&&(c.value=R,t.emit("update:modelValue",c.value),t.emit("change",C,c.value))}else s!==c.value&&(c.value=s,t.emit("update:modelValue",c.value),t.emit("change",[],s))}function oe(){return p.value}function de(s){const{value:C}=s.target;I(C),t.emit("input",C)}function re(){n.value.hidePopup()}function ue(s){g.value=s}function se(){return g.value}const ce={getDisplayText:oe,hidePopup:re,updateDataSource:ue,getData:se};return t.expose(ce),l.watch([()=>e.disabled,()=>e.editable,()=>e.enableClear,()=>e.enableSearch,()=>e.readonly],([s,C,P,R,k])=>{d.value=s,w.value=C,r.value=P,h.value=R,u.value=k}),()=>l.createVNode(z,{ref:n,id:e.id,disable:d.value,readonly:u.value,forcePlaceholder:e.forcePlaceholder,editable:w.value,buttonContent:o.value,placeholder:e.placeholder==="请选择"?j.LocaleService.getLocaleValue("comboList.placeholder"):e.placeholder,enableClear:r.value,maxLength:e.maxLength,tabIndex:e.tabIndex,enableTitle:e.enableTitle,multiSelect:e.multiSelect,inputType:e.multiSelect?e.viewType:"text",modelValue:p.value,"onUpdate:modelValue":s=>p.value=s,focusOnCreated:e.focusOnCreated,selectOnCreated:e.selectOnCreated,onClear:V,onClick:v,onChange:O,onBlur:x,onInput:de,beforeOpen:T,placement:e.placement,popupMinWidth:e.minPanelWidth,popupClass:"f-combo-list-wrapper",popupOnClick:e.popupOnClick,limitContentBySpace:!0},{default:()=>[l.createVNode(W,{ref:a,idField:e.idField,valueField:e.valueField,textField:e.textField,titleField:e.titleField,dataSource:g.value,selectedValues:c.value,separator:e.separator,multiSelect:e.multiSelect,enableSearch:h.value,maxHeight:e.maxHeight,enableHighlightSearch:e.enableHighlightSearch,width:e.fitEditor?m.value:void 0,onSelectionChange:s=>{F(s),b()}},null)]})}}),_={convertFrom:(e,t)=>(e.editor.remote||{})[t],convertTo:(e,t,a)=>{e.editor.remote=e.editor.remote||{},e.editor.remote[t]=a}};class ie extends Y.InputBaseProperty{constructor(t,a){super(t,a)}getCommonEditorProperties(t){var a,n,d;return{viewType:{visible:!!((a=t.editor)!=null&&a.multiSelect),description:"数据展示类型,有标签和文本两种方式",title:"数据展示类型",type:"enum",editor:{data:[{id:"tag",name:"标签"},{id:"text",name:"文本"}]},refreshPanelAfterChanged:!0},separator:{visible:!!((n=t.editor)!=null&&n.multiSelect)&&((d=t.editor)==null?void 0:d.viewType)==="text",description:"下拉列表启用多选且数据展示类型为文本时的分隔符",title:"分隔符",type:"enum",editor:{data:[{id:",",name:"逗号(,)"},{id:"#",name:"井号(#)"},{id:".",name:"句号(.)"},{id:"|",name:"竖线(|)"}]}},editable:{description:"",title:"允许编辑",type:"boolean",refreshPanelAfterChanged:!0,readonly:!0}}}getEditorProperties(t){var r,h;const a=this;let n="";if(((r=t==null?void 0:t.binding)==null?void 0:r.type)==="Form"){const u=this.schemaService.getFieldByIDAndVMID(t.binding.field,this.viewModelId);(h=u==null?void 0:u.schemaField)!=null&&h.type&&(n=u.schemaField.type.$type)}return a.getComponentConfig(t,{type:"combo-list"},{enableClear:{description:"",title:"启用清空",type:"boolean"},dataSourceType:{description:"",title:"数据源类型",type:"enum",editor:{default:"static",data:[{id:"static",name:"静态"},{id:"dynamic",name:"动态"}]},refreshPanelAfterChanged:!0},data:{description:"",title:"数据",type:"array",visible:!t.editor.dataSourceType||t.editor.dataSourceType==="static",...a.getItemCollectionEditor(t,t.editor.valueField,t.editor.textField),refreshPanelAfterChanged:!0},url:{visible:t.editor.dataSourceType==="dynamic",$converter:_,description:"",title:"服务端API",type:"string"},body:{visible:!1,$converter:_,description:"",title:"服务端API参数",type:"string"},textField:{description:"",title:"数据源显示字段",type:"string",readonly:t.editor.dataSourceType!=="dynamic"},valueField:{description:"",title:"数据源值字段",type:"string",readonly:t.editor.dataSourceType!=="dynamic"},multiSelect:{description:"",title:"启用多选",visible:!n||n==="StringType",type:"boolean",refreshPanelAfterChanged:!0},maxLength:{description:"",title:"最大输入长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,needValid:!0}},...this.getCommonEditorProperties(t)},(u,g)=>{if(!u||!g.editor)return;const p=this;switch(u.propertyID){case"dataSourceType":{u.propertyValue==="static"?(g.editor.valueField="value",g.editor.textField="name",g.editor.remote=null):u.propertyValue==="dynamic"&&(g.editor.remote={method:"GET"},g.editor.valueField="value",g.editor.textField="name");break}case"data":{!p.checkEnumDataReadonly(g)&&g.formatter&&(g.formatter.data=[...u.propertyValue]);break}case"viewType":u.propertyValue==="tag"&&(g.editor.editable=!1)}})}getGridFieldEdtiorProperties(t,a){var h,u,g,p,w,c;const n=this;let d="";if(((h=t==null?void 0:t.binding)==null?void 0:h.type)==="Form"){const y=this.schemaService.getFieldByIDAndVMID(t.binding.field,this.viewModelId);(u=y==null?void 0:y.schemaField)!=null&&u.type&&(d=y.schemaField.type.$type)}return n.getComponentConfig(t,{type:"combo-list"},{enableClear:{description:"",title:"启用清空",type:"boolean"},data:{description:"",title:"数据",type:"array",visible:!((g=t.editor)!=null&&g.dataSourceType)||((p=t.editor)==null?void 0:p.dataSourceType)==="static",...n.getItemCollectionEditor(t,(w=t.editor)==null?void 0:w.valueField,(c=t.editor)==null?void 0:c.textField),refreshPanelAfterChanged:!0},textField:{description:"",title:"数据源显示字段",type:"string",readonly:!0},valueField:{description:"",title:"数据源值字段",type:"string",readonly:!0},multiSelect:{description:"",title:"启用多选",visible:d==="StringType",type:"boolean",refreshPanelAfterChanged:!0},maxLength:{description:"",title:"最大输入长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,needValid:!0}},...this.getCommonEditorProperties(t)},(y,S)=>{if(!y||!S.editor)return;const T=this;switch(y.propertyID){case"dataSourceType":{y.propertyValue==="static"?(S.editor.valueField="value",S.editor.textField="name",S.editor.remote=null):y.propertyValue==="dynamic"&&(S.editor.remote={method:"GET"},S.editor.valueField="value",S.editor.textField="name");break}case"data":{!T.checkEnumDataReadonly(S)&&S.formatter&&(S.formatter.data=[...y.propertyValue]);break}}})}setEditorPropertyRelates(t,a,n){if(!t||!a.editor)return;const d=this;switch(t.propertyID){case"dataSourceType":{t.propertyValue==="static"&&(a.editor.valueField="value",a.editor.textField="name",a.editor.remote={});break}case"data":{!d.checkEnumDataReadonly(a)&&a.formatter&&(a.formatter.data=[...t.propertyValue]);break}}}changeBindingField(t,a,n){var r;super.changeBindingField(t,a);const d=n;t.editor&&((r=d==null?void 0:d.type)==null?void 0:r.$type)===H.FormSchemaEntityFieldType$Type.EnumType&&(t.editor.data=d.type.enumValues||[])}getEventPropertyConfig(t,a="card",n,d){const r=this;let h=[{label:"onChange",name:"值变化事件"},{label:"beforeOpen",name:"下拉面板前事件"}];n&&(h=h.concat(n)),this.appendFieldValueChangeEvents(t,h);const u=r.eventsEditorUtils.formProperties(t,r.viewModelId,h);return{title:"事件",hideTitle:!0,properties:r.createBaseEventProperty(u),tabId:"commands",tabName:"交互",setPropertyRelates(w,c){const y=w.propertyValue;delete t[r.viewModelId],y&&(y.setPropertyRelates=this.setPropertyRelates,r.eventsEditorUtils.saveRelatedParameters(t,r.viewModelId,y.events,y)),d&&d(w,c,y);const S=r.designViewModelUtils.getDgViewModel(r.viewModelId);S&&r.designViewModelField&&S.changeField(r.designViewModelField.id,{valueChanging:t.fieldValueChanging,valueChanged:t.fieldValueChanged}),t.editor.beforeOpen!==t.beforeOpen&&(t.editor.beforeOpen=t.beforeOpen),t.editor.onChange!==t.onChange&&(t.editor.onChange=t.onChange),t.editor.onClear!==t.onClear&&(t.editor.onClear=t.onClear)}}}}function ne(e,t){const a=e.schema;function n(d,r){return new ie(d,t).getPropertyConfig(a,r)}return{getPropsConfig:n}}const le=l.defineComponent({name:"FComboListDesign",props:G,emits:["clear","update:modelValue","change"],setup(e,t){const a=l.ref(),n=l.inject("designer-host-service"),d=l.inject("design-item-context"),r=ne(d,n),h=Z.useDesignerComponent(a,d,r);return l.onMounted(()=>{a.value.componentInstance=h}),t.expose(h.value),()=>l.createVNode(X,{ref:a,buttonContent:e.dropDownIcon,readonly:!0,editable:!1,forcePlaceholder:!0,placeholder:e.placeholder,expandable:e.expandable,expandMode:e.expandMode,expandContent:e.expandContent,expandDisabled:e.expandDisabled},null)}});L.register=(e,t,a,n,d)=>{e["combo-list"]=L,t["combo-list"]=M(d),n["combo-list"]={callbackResolver:U}},L.registerDesigner=(e,t,a,n)=>{e["combo-list"]=le,t["combo-list"]=M(n)};const ae=H.withInstall(L);f.FComboList=L,f.FComboListContainer=W,f.Placement=N,f.callbackResolver=U,f.comboListDesignProps=G,f.comboListProps=B,f.default=ae,f.propsResolver=ee,f.propsResolverGenerator=M,f.useDataSource=J,Object.defineProperties(f,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
1
+ (function(f,l){typeof exports=="object"&&typeof module<"u"?l(exports,require("vue"),require("../button-edit/index.umd.js"),require("../locale/index.umd.js"),require("../dynamic-resolver/index.umd.js"),require("../list-view/index.umd.js"),require("lodash-es"),require("../../designer/button-edit/index.umd.js"),require("../common/index.umd.js"),require("../property-panel/index.umd.js"),require("../designer-canvas/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","../button-edit/index.umd.js","../locale/index.umd.js","../dynamic-resolver/index.umd.js","../list-view/index.umd.js","lodash-es","../../designer/button-edit/index.umd.js","../common/index.umd.js","../property-panel/index.umd.js","../designer-canvas/index.umd.js"],l):(f=typeof globalThis<"u"?globalThis:f||self,l(f["combo-list"]={},f.Vue,f.FButtonEdit,f.locale,f.dynamicResolver,f.FListView,f.LodashES,f.FButtonEditDesign,f.common,f.propertyPanel,f.designerCanvas))})(this,function(f,l,z,j,E,K,Q,X,H,Y,Z){"use strict";const A=new Map([["appearance",E.resolveAppearance]]),q={$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},enableClear:{description:"",type:"boolean",default:!1},editable:{description:"",type:"boolean",default:!1},enableLinkLabel:{description:"",type:"boolean",default:!1},label:{description:"",type:"string",default:""},lableWidth:{description:"",type:"number"},placeholder:{description:"",type:"string",default:"请选择"},idField:{description:"",type:"string",default:"id"},valueField:{description:"",type:"string",default:"id"},titleField:{description:"",type:"string",default:"name"},textField:{description:"",type:"string",default:"name"},dataSourceType:{description:"",type:"string",default:"static"},data:{description:"",type:"array"},remote:{description:"",type:"string"},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"},multiSelect:{description:"",type:"boolean",default:!1},maxLength:{description:"",type:"number",default:null},visible:{description:"",type:"boolean",default:!0},onBlur:{description:"",type:"string",default:""},onClickLinkLabel:{description:"",type:"string",default:""},maxHeight:{description:"",type:"number",default:350},minPanelWidth:{description:"",type:"number",default:160},popupOnClick:{description:"",type:"boolean",default:!0},separator:{description:"",type:"string",default:","},viewType:{description:"",type:"string",default:"tag"},enableSearch:{description:"启用搜索",type:"boolean",default:!0},enableHighlightSearch:{description:"启用高亮搜索",type:"boolean",default:!1},beforeOpen:{description:"打卡面板前回调",type:"string"},onChange:{description:"值变化事件",type:"string",default:""},onInput:{description:"输入事件",type:"string",default:""},onClear:{description:"清空事件",type:"string",default:""}},required:["type"],ignore:["id","appearance","binding","visible"],events:{onClear:"清空事件",onChange:"值变化事件",beforeOpen:"打开下拉面板前事件"}};function $(e,t,a){return t}function D(){function e(t,a,n){const d={};return d.beforeOpen=r=>a.call("beforeOpen",t,[r,t],n),d}return{resolve:e}}var N=(e=>(e.top="top",e.bottom="bottom",e.auto="auto",e))(N||{});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-chevron-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,default:"请选择"},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},load:{type:Function},searchOption:{type:[Boolean,Function],default:!1},enableHighlightSearch:{type:Boolean,default:!0},minPanelWidth:{type:Number,default:160},popupOnClick:{type:Boolean,default:!0},expandable:{type:Boolean,default:!1},expandMode:{type:String,default:"text"},expandContent:{type:String,default:""},expandDisabled:{type:Boolean,default:!1}},G=Object.assign({},B,{readonly:{}}),ee=E.createPropsResolver(B,q,A,$),M=E.getPropsResolverGenerator(B,q,A,$),U=D(),te={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:[Boolean,Function],default:!1},enableHighlightSearch:{type:Boolean,default:!0}},W=l.defineComponent({name:"FComboListContainer",props:te,emits:["selectionChange"],setup(e,t){const a=l.ref(),n=l.ref(e.dataSource),d=l.ref([]),r=l.ref(e.separator),h=l.ref(e.width),u=l.ref(e.maxHeight),g=l.computed(()=>e.multiSelect),p=l.ref(e.multiSelect?String(e.selectedValues).split(r.value):[e.selectedValues]),w=l.computed(()=>({enableSelectRow:!0,multiSelect:e.multiSelect,multiSelectMode:"OnCheckAndClick",showCheckbox:g.value,showSelectAll:!1,showSelection:!0}));l.watch(e.dataSource,()=>{n.value=e.dataSource}),l.computed(()=>e.enableSearch?"SearchBar":"ContentHeader");const s=l.computed(()=>{const i={};return h.value!==void 0&&(i.width=`${h.value}px`),u.value!==void 0&&u.value>0&&(i.maxHeight=`${u.value}px`),i});function b(i){a.value.search(i)}function S(i){d.value=i.map(m=>Object.assign({},m)),p.value=i.map(m=>m[e.idField]),t.emit("selectionChange",d.value)}function T(i){if(e.enableHighlightSearch)return;let m=[];const{searchOption:y}=e;typeof y=="function"?m=n.value.filter(F=>y(i,F)):m=n.value.filter(F=>F[e.valueField].indexOf(i)>-1||F[e.textField].indexOf(i)>-1),a.value.updateDataSource(m)}l.watch([()=>e.selectedValues],([i])=>{e.multiSelect?p.value=i.split(r.value):p.value=[i]});function o(i){a.value.activeRowById(i)}return l.onMounted(()=>{var i,m;if(!e.multiSelect){const y=(i=p.value)==null?void 0:i[0];let F=y;const x=n.value.map(v=>v[e.valueField||e.idField]);if(!Q.isUndefined(y)&&x.includes(y)){const v=typeof y,V=typeof((m=n.value[0])==null?void 0:m[e.valueField||e.idField]);V==="number"&&v!==V&&(F=Number(y)),V==="boolean"&&v!==V&&(F=y==="true"?!0:y==="false"?!1:y),o(F)}}}),t.expose({search:b,activeRowById:o}),()=>l.createVNode("div",{class:"f-combo-list-container",style:s.value},[l.createVNode(K,{ref:a,size:"small",itemClass:"f-combo-list-item",itemContentClass:"text-truncate",header:"ContentHeader",headerClass:"f-combo-list-search-box",data:n.value,idField:e.idField,textField:e.textField,titleField:e.titleField,multiSelect:e.multiSelect,selection:w.value,enableHighlightSearch:e.enableHighlightSearch,selectionValues:p.value,onSelectionUpdate:S,onAfterSearch:T},null)])}});function J(e){const t=l.ref(""),a=l.ref(e.modelValue),n=l.ref(e.data||[]),d=l.ref(e.editable);function r(o){const i=e.multiSelect?String(o).split(e.separator):[String(o)],m=i.map(x=>[x,!0]),y=new Map(m);return n.value.filter(x=>y.has(String(x[e.valueField]))).sort((x,v)=>{const V=i.indexOf(x[e.valueField]),I=i.indexOf(v[e.valueField]);return V-I})}function h(o){const i=r(o).map(m=>m[e.textField]).join(e.separator);t.value=d.value?i||o:i}function u(o){if(e.multiSelect){const i=o.split(e.separator).map(y=>[y,!0]),m=new Map(i);return n.value.filter(y=>m.has(y[e.textField]))}return n.value.filter(i=>""+i[e.textField]===o)}function g(o){const i={};return i[e.idField]=o,i[e.textField]=o,[i]}function p(o){let i=u(o);const m=i&&i.length>0;return d.value&&!m&&(i=g(o)),i}function w(){const{url:o,method:i="GET",headers:m={"Content-Type":"application/json;charset=utf-8;"},body:y=null}=e.remote;if(!o)return;const F=i.toLowerCase()==="get"?{method:i,headers:m}:{method:i,headers:m,body:y};let x=!1;fetch(new Request(o,F)).then(v=>{var I,O;if(v.status===200)return x=!!((O=(I=v.headers)==null?void 0:I.get("content-type"))!=null&&O.includes("application/json")),x?v.text():v.json();throw v.status===405?new Error(j.LocaleService.getLocaleValue("comboList.remoteError")):new Error(v.statusText)}).then(v=>{v.length&&(n.value=x?JSON.parse(v):v)}).catch(v=>{console.warn(v)})}e.remote&&(e.load?e.load().then(o=>{n.value=o}).catch(o=>{console.log(o)}):w()),l.watch(()=>e.data,()=>{n.value=e.data}),l.watch([n],([o])=>{if(e.modelValue!=null){const i=o.find(m=>m[e.valueField]===e.modelValue);i&&(t.value=i[e.textField])}}),l.watch(()=>e.modelValue,o=>{a.value=o,h(o)});function s(o){n.value=o}function b(){return n.value}function S(){return t.value}function T(){const o=typeof e.beforeOpen=="function";return!e.beforeOpen||!o?Promise.resolve(!0):Promise.resolve().then(()=>e.beforeOpen({instance:{updateDataSource:s,getData:b,getDisplayText:S}})).then(i=>typeof(i==null?void 0:i.canOpen)=="boolean"?i==null?void 0:i.canOpen:!0)}return h(e.modelValue),{dataSource:n,displayText:t,editable:d,modelValue:a,beforeOpenList:T,getItemsByDisplayText:u,getItemsByValue:r,getSelectedItemsByDisplayText:p}}const L=l.defineComponent({name:"FComboList",props:B,emits:["clear","update:modelValue","change","input"],setup(e,t){const a=l.ref(),n=l.ref(),d=l.ref(e.disabled||e.readonly),r=l.ref(e.enableClear),h=l.ref(e.enableSearch),u=l.ref(e.readonly),{dataSource:g,displayText:p,editable:w,modelValue:s,getItemsByDisplayText:b,getItemsByValue:S,beforeOpenList:T}=J(e),o=l.ref(e.dropDownIcon);o.value==='<span class="f-icon f-icon-arrow-chevron-down"></span>'&&(o.value='<span id="'+e.id+'-icon-dropdown" class="f-icon f-icon-arrow-chevron-down"></span>');const i=l.computed(()=>e.multiSelect),m=l.computed(()=>n.value?n.value.elementRef.getBoundingClientRect().width:0);function y(){!i.value&&n.value&&n.value.hidePopup()}function F(c){p.value=c.map(P=>P[e.textField]).join(e.separator)||s.value;let C="";c.length===1?C=c[0][e.valueField]:C=c.map(P=>P[e.valueField]).join(e.separator),s.value!==C&&(s.value=C,t.emit("update:modelValue",s.value),t.emit("change",c,s.value))}function x(){const c=S(s.value);F(c)}function v(){u.value||p.value}function V(c){var C;s.value="",(C=a.value)==null||C.activeRowById(""),t.emit("clear")}function I(c){var C,P;e.enableSearch&&e.enableHighlightSearch&&((C=a.value)==null||C.search(c)),(P=a.value)==null||P.activeRowById(c),t.emit("change",[s.value],s.value)}function O(c){if(e.multiSelect){const C=b(c);e.viewType;const R=C.map(k=>k[e.idField||e.valueField]).join(e.separator);s.value!==R&&(s.value=R,t.emit("update:modelValue",s.value),t.emit("change",C,s.value))}else c!==s.value&&(s.value=c,t.emit("update:modelValue",s.value),t.emit("change",[],c))}function oe(){return p.value}function de(c){const{value:C}=c.target;I(C),t.emit("input",C)}function re(){n.value.hidePopup()}function ue(c){g.value=c}function se(){return g.value}const ce={getDisplayText:oe,hidePopup:re,updateDataSource:ue,getData:se};return t.expose(ce),l.watch([()=>e.disabled,()=>e.editable,()=>e.enableClear,()=>e.enableSearch,()=>e.readonly],([c,C,P,R,k])=>{d.value=c,w.value=C,r.value=P,h.value=R,u.value=k}),()=>l.createVNode(z,{ref:n,id:e.id,disable:d.value,readonly:u.value,forcePlaceholder:e.forcePlaceholder,editable:w.value,buttonContent:o.value,placeholder:e.placeholder==="请选择"?j.LocaleService.getLocaleValue("comboList.placeholder"):e.placeholder,enableClear:r.value,maxLength:e.maxLength,tabIndex:e.tabIndex,enableTitle:e.enableTitle,multiSelect:e.multiSelect,inputType:e.multiSelect?e.viewType:"text",modelValue:p.value,"onUpdate:modelValue":c=>p.value=c,focusOnCreated:e.focusOnCreated,selectOnCreated:e.selectOnCreated,onClear:V,onClick:v,onChange:O,onBlur:x,onInput:de,beforeOpen:T,placement:e.placement,popupMinWidth:e.minPanelWidth,popupClass:"f-combo-list-wrapper",popupOnClick:e.popupOnClick,limitContentBySpace:!0},{default:()=>[l.createVNode(W,{ref:a,idField:e.idField,valueField:e.valueField,textField:e.textField,titleField:e.titleField,dataSource:g.value,selectedValues:s.value,separator:e.separator,multiSelect:e.multiSelect,enableSearch:h.value,maxHeight:e.maxHeight,enableHighlightSearch:e.enableHighlightSearch,width:e.fitEditor?m.value:void 0,onSelectionChange:c=>{F(c),y()}},null)]})}}),_={convertFrom:(e,t)=>(e.editor.remote||{})[t],convertTo:(e,t,a)=>{e.editor.remote=e.editor.remote||{},e.editor.remote[t]=a}};class ie extends Y.InputBaseProperty{constructor(t,a){super(t,a)}getCommonEditorProperties(t){var a,n,d;return{viewType:{visible:!!((a=t.editor)!=null&&a.multiSelect),description:"数据展示类型,有标签和文本两种方式",title:"数据展示类型",type:"enum",editor:{data:[{id:"tag",name:"标签"},{id:"text",name:"文本"}]},refreshPanelAfterChanged:!0},separator:{visible:!!((n=t.editor)!=null&&n.multiSelect)&&((d=t.editor)==null?void 0:d.viewType)==="text",description:"下拉列表启用多选且数据展示类型为文本时的分隔符",title:"分隔符",type:"enum",editor:{data:[{id:",",name:"逗号(,)"},{id:"#",name:"井号(#)"},{id:".",name:"句号(.)"},{id:"|",name:"竖线(|)"}]}},editable:{description:"",title:"允许编辑",type:"boolean",refreshPanelAfterChanged:!0,readonly:!0}}}getEditorProperties(t){var r,h;const a=this;let n="";if(((r=t==null?void 0:t.binding)==null?void 0:r.type)==="Form"){const u=this.schemaService.getFieldByIDAndVMID(t.binding.field,this.viewModelId);(h=u==null?void 0:u.schemaField)!=null&&h.type&&(n=u.schemaField.type.$type)}return a.getComponentConfig(t,{type:"combo-list"},{enableClear:{description:"",title:"启用清空",type:"boolean"},dataSourceType:{description:"",title:"数据源类型",type:"enum",editor:{default:"static",data:[{id:"static",name:"静态"},{id:"dynamic",name:"动态"}]},refreshPanelAfterChanged:!0},data:{description:"",title:"数据",type:"array",visible:!t.editor.dataSourceType||t.editor.dataSourceType==="static",...a.getItemCollectionEditor(t,t.editor.valueField,t.editor.textField),refreshPanelAfterChanged:!0},url:{visible:t.editor.dataSourceType==="dynamic",$converter:_,description:"",title:"服务端API",type:"string"},body:{visible:!1,$converter:_,description:"",title:"服务端API参数",type:"string"},textField:{description:"",title:"数据源显示字段",type:"string",readonly:t.editor.dataSourceType!=="dynamic"},valueField:{description:"",title:"数据源值字段",type:"string",readonly:t.editor.dataSourceType!=="dynamic"},multiSelect:{description:"",title:"启用多选",visible:!n||n==="StringType",type:"boolean",refreshPanelAfterChanged:!0},maxLength:{description:"",title:"最大输入长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,needValid:!0}},...this.getCommonEditorProperties(t)},(u,g)=>{if(!u||!g.editor)return;const p=this;switch(u.propertyID){case"dataSourceType":{u.propertyValue==="static"?(g.editor.valueField="value",g.editor.textField="name",g.editor.remote=null):u.propertyValue==="dynamic"&&(g.editor.remote={method:"GET"},g.editor.valueField="value",g.editor.textField="name");break}case"data":{!p.checkEnumDataReadonly(g)&&g.formatter&&(g.formatter.data=[...u.propertyValue]);break}case"viewType":u.propertyValue==="tag"&&(g.editor.editable=!1)}})}getGridFieldEdtiorProperties(t,a){var h,u,g,p,w,s;const n=this;let d="";if(((h=t==null?void 0:t.binding)==null?void 0:h.type)==="Form"){const b=this.schemaService.getFieldByIDAndVMID(t.binding.field,this.viewModelId);(u=b==null?void 0:b.schemaField)!=null&&u.type&&(d=b.schemaField.type.$type)}return n.getComponentConfig(t,{type:"combo-list"},{enableClear:{description:"",title:"启用清空",type:"boolean"},data:{description:"",title:"数据",type:"array",visible:!((g=t.editor)!=null&&g.dataSourceType)||((p=t.editor)==null?void 0:p.dataSourceType)==="static",...n.getItemCollectionEditor(t,(w=t.editor)==null?void 0:w.valueField,(s=t.editor)==null?void 0:s.textField),refreshPanelAfterChanged:!0},textField:{description:"",title:"数据源显示字段",type:"string",readonly:!0},valueField:{description:"",title:"数据源值字段",type:"string",readonly:!0},multiSelect:{description:"",title:"启用多选",visible:d==="StringType",type:"boolean",refreshPanelAfterChanged:!0},maxLength:{description:"",title:"最大输入长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,needValid:!0}},...this.getCommonEditorProperties(t)},(b,S)=>{if(!b||!S.editor)return;const T=this;switch(b.propertyID){case"dataSourceType":{b.propertyValue==="static"?(S.editor.valueField="value",S.editor.textField="name",S.editor.remote=null):b.propertyValue==="dynamic"&&(S.editor.remote={method:"GET"},S.editor.valueField="value",S.editor.textField="name");break}case"data":{!T.checkEnumDataReadonly(S)&&S.formatter&&(S.formatter.data=[...b.propertyValue]);break}}})}setEditorPropertyRelates(t,a,n){if(!t||!a.editor)return;const d=this;switch(t.propertyID){case"dataSourceType":{t.propertyValue==="static"&&(a.editor.valueField="value",a.editor.textField="name",a.editor.remote={});break}case"data":{!d.checkEnumDataReadonly(a)&&a.formatter&&(a.formatter.data=[...t.propertyValue]);break}}}changeBindingField(t,a,n){var r;super.changeBindingField(t,a);const d=n;t.editor&&((r=d==null?void 0:d.type)==null?void 0:r.$type)===H.FormSchemaEntityFieldType$Type.EnumType&&(t.editor.data=d.type.enumValues||[])}getEventPropertyConfig(t,a="card",n,d){const r=this;let h=[{label:"onChange",name:"值变化事件"},{label:"beforeOpen",name:"下拉面板前事件"}];n&&(h=h.concat(n)),this.appendFieldValueChangeEvents(t,h);const u=r.eventsEditorUtils.formProperties(t,r.viewModelId,h);return{title:"事件",hideTitle:!0,properties:r.createBaseEventProperty(u),tabId:"commands",tabName:"交互",setPropertyRelates(w,s){const b=w.propertyValue;delete t[r.viewModelId],b&&(b.setPropertyRelates=this.setPropertyRelates,r.eventsEditorUtils.saveRelatedParameters(t,r.viewModelId,b.events,b),r.updateLinkedLabel(b,s)),d&&d(w,s,b);const S=r.designViewModelUtils.getDgViewModel(r.viewModelId);S&&r.designViewModelField&&S.changeField(r.designViewModelField.id,{valueChanging:t.fieldValueChanging,valueChanged:t.fieldValueChanged}),t.editor.beforeOpen!==t.beforeOpen&&(t.editor.beforeOpen=t.beforeOpen),t.editor.onChange!==t.onChange&&(t.editor.onChange=t.onChange),t.editor.onClear!==t.onClear&&(t.editor.onClear=t.onClear)}}}}function ne(e,t){const a=e.schema;function n(d,r){return new ie(d,t).getPropertyConfig(a,r)}return{getPropsConfig:n}}const le=l.defineComponent({name:"FComboListDesign",props:G,emits:["clear","update:modelValue","change"],setup(e,t){const a=l.ref(),n=l.inject("designer-host-service"),d=l.inject("design-item-context"),r=ne(d,n),h=Z.useDesignerComponent(a,d,r);return l.onMounted(()=>{a.value.componentInstance=h}),t.expose(h.value),()=>l.createVNode(X,{ref:a,buttonContent:e.dropDownIcon,readonly:!0,editable:!1,forcePlaceholder:!0,placeholder:e.placeholder,expandable:e.expandable,expandMode:e.expandMode,expandContent:e.expandContent,expandDisabled:e.expandDisabled},null)}});L.register=(e,t,a,n,d)=>{e["combo-list"]=L,t["combo-list"]=M(d),n["combo-list"]={callbackResolver:U}},L.registerDesigner=(e,t,a,n)=>{e["combo-list"]=le,t["combo-list"]=M(n)};const ae=H.withInstall(L);f.FComboList=L,f.FComboListContainer=W,f.Placement=N,f.callbackResolver=U,f.comboListDesignProps=G,f.comboListProps=B,f.default=ae,f.propsResolver=ee,f.propsResolverGenerator=M,f.useDataSource=J,Object.defineProperties(f,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});