@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
@@ -15,4 +15,4 @@
15
15
  `,u.children[0].style.cssText="overflow: hidden;flex: 1 1 auto;width: 100%;",u.children[0].children[0].style.cssText=`
16
16
  margin: 10px 0px 10px 14px;
17
17
  overflow: hidden;text-overflow: ellipsis;white-space: nowrap;
18
- `,u.children[1].style.cssText="width: 30px;padding: 0 14px 0 0",u.children[2].style.cssText="padding: 0 14px 0 0;",document.body.appendChild(u),u}function s(w,T,x){if(w.stopPropagation(),g(),T){if(h=b(w.target),w.dataTransfer){const u=new Image;u.src="",w.dataTransfer.setDragImage(u,0,0)}k=w.pageX,f=w.pageY,setTimeout(()=>{r.value=x,m.value=!0,T.moving=!0})}}function d(w,T){if(w.preventDefault(),r.value!==T){const x=o.value[r.value],u=o.value;u.splice(r.value,1),u.splice(T,0,x),r.value=T,a(w.pageX,w.pageY)}}function F(w){w.preventDefault(),w.dataTransfer&&(w.dataTransfer.dropEffect="move"),a(w.pageX,w.pageY)}function I(w,T){T&&(T.moving=!1,h&&(document.body.removeChild(h),h=null)),o.value.forEach((x,u)=>{x.__fv_index__=u}),m.value=!1,y(),V.value=T.raw.__fv_index__,S.value=T.raw.__fv_index__,C.value=T.raw[c.value],n.emit("change",o.value),n.emit("activeChange",[T.raw])}return{dragstart:s,dragenter:d,dragover:F,dragend:I,isDragging:m}}function Me(e,n,l,i,c,o){const r=t.ref(e.idField),m=t.ref(e.disableField),S=t.ref(e.draggable);t.ref(e.itemClass);const C=t.ref(e.selection.multiSelect??!1),V=t.ref(e.selection.multiSelectMode),{isDragging:y}=i,{activeIndex:g,focusedItemId:h,hoverIndex:k}=c,{clearSelection:f,getSelectedItems:a,toggleSelectItem:b,currentSelectedDataId:s}=o,d=t.ref(a()),F=N=>d.value.length===0?!1:d.value.some(p=>{let v="";return p.data?v=p.data[r.value]:v=p[r.value],v===N});function I(){d.value=a()}function w(N,p){return N.raw[r.value]!=null?N.raw[r.value]:""}function T(N,p){const v={"f-list-view-group-item":!0,"f-list-view-draggable-item":S.value,"f-un-click":!N.checked,"f-un-select":!!N.raw[m.value],"f-listview-active":C.value&&F(w(N))||!C.value&&N.raw[r.value]===s.value,"f-listview-hover":!y.value&&p===k.value,moving:!!N.moving};if(typeof e.itemClass=="string")return A.getCustomClass(v,e.itemClass);if(typeof e.itemClass=="function"){const P=e.itemClass(N);return A.getCustomClass(v,P)}return v}function x(N,p){const v={};if(typeof e.itemStyle=="string")return A.getCustomStyle(v,e.itemStyle);if(typeof e.itemStyle=="function"){const P=e.itemStyle(N);return A.getCustomStyle(v,P)}return v}const u=t.computed(()=>!C.value);function M(N,p,v){N.checked=v,!N.raw[m.value]&&(u.value&&(h.value=N.raw[r.value]),b(N))}const R=t.computed(()=>C.value&&V.value==="OnCheckClearByClick"),j=t.computed(()=>!C.value||C.value&&(V.value==="OnCheckAndClick"||V.value==="OnClick"));function q(N,p,v){if(N.raw[m.value]){v==null||v.preventDefault(),v==null||v.stopPropagation();return}s.value=N.raw[r.value],h.value=N.raw[r.value],g.value=p,R.value&&f(),j.value&&(b(N),I()),n.emit("clickItem",{data:d.value,index:p,dataItem:N.raw}),n.emit("activeChange",d.value)}return{getKey:w,selectedItems:d,listViewItemClass:T,listViewItemStyle:x,updateSelectedItems:I,onCheckItem:M,onClickItem:q}}const ie=t.defineComponent({name:"FListView",props:Se,emits:["afterSearch","checkValuesChange","clickItem","selectItem","unSelectItem","selectionChange","removeItem","change","activeChange","pageIndexChanged","pageSizeChanged","changed","selectionUpdate"],setup(e,n){const l=t.ref(),i=t.ref(!0),c=t.ref(!1),o=t.ref([]),r=0,m=t.ref(e.columns),S=L.useFilter(e,n),C=L.useIdentify(e),V=L.useHierarchy(e),y=L.useGroupData(e,C),g=L.useDataView(e,new Map,S,V,C),h=L.useSelection(e,g,C,o,n),k=we(e,l),f=L.usePagination(e,g),a=t.computed(()=>g.dataView.value.length),b=L.useRow(e,n,h,C),s=L.useEdit(e,n,C,b,o),d=L.useVisualDataBound(e),F=L.useVisualDataCell(e,{},d),I=L.useVisualDataRow(e,g,s,V,C,d,F),w=L.useVisualGroupRow(e,C,F,I),T=L.useVisualSummaryRow(e,C,F,I),x=L.useVisualData(e,m,g,a,r,I,w,T),{getVisualData:u}=x;o.value=u(0,a.value+r-1);const M=t.computed(()=>{const B={"f-list-view":!0,"f-list-view-multiple":e.multiSelect};return e.size!=="default"&&(B[`${e.size}-item`]=!0),A.getCustomClass(B,e.customClass)}),R=t.computed(()=>!!n.slots.footer||i.value);function j(){return e.header==="SearchBar"?ne:e.header==="ContentHeader"?Te:ne}const q=j(),{renderHeader:N}=q(e,n,k),p=Ne(),v=Oe(e,n,g,p),P=Me(e,n,o,v,p,h),{renderListArea:O}=ke(e,n,o,g,y,p,h,x,P,v);function G(B){k.search(B)}function Ke(B){B&&(g.load(B),o.value=u(0,a.value+r-1))}function Xe(){h.clearSelection(),p.clearActiveItem()}function Ye(){return P.selectedItems.value}function Je(){return P.selectedItems.value.map(B=>B[C.idField.value])}function ue(B){h.selectedValues.value=B,P.updateSelectedItems()}function Qe(){return h.currentSelectedDataId.value}function Ze(B){b.activeRowById(B)}function et(B){const H=C.idField.value,_=o.value.find(Z=>Z.raw[H]===B),X=o.value.findIndex(Z=>Z.raw[H]===B);_&&X>-1&&P.onClickItem(_,X)}function tt(B){const H=C.idField.value,_=o.value.find(X=>X.raw[H]===B);_&&b.changeRow(_)}function nt(B){f.updatePagination(B)}function it(B){return o.value.filter(H=>B.includes(H.raw[e.idField]))}n.expose({search:G,updateDataSource:Ke,clearSelection:Xe,getSelections:Ye,updateSelectionByIds:ue,getSelectionIds:Je,activeRowById:Ze,getCurrentRowId:Qe,clickRowItemById:et,updatePagination:nt,getVisibleDataByIds:it,selectRowById:tt});function lt(B){e.multiSelect&&(B.preventDefault(),B.stopPropagation())}t.watch(()=>e.selectionValues,(B,H)=>{B!==H&&ue(B)});const at=L.useSidebar(e,h),{sidebarWidth:ot,showSidebarCheckBox:At}=at,rt=L.useColumn(e,n),{applyColumnSorter:Ht,columnContext:st,updateColumnRenderContext:Et}=rt,dt=L.useVirtualScroll(e,g,o,st,x,a,r,ot,s),{shouldRenderPagination:qt}=f,{renderDataGridPagination:Gt}=L.getPagination(e,n,g,dt,f,h);return()=>t.createVNode("div",{class:M.value,onClick:lt},[N(),t.createVNode("div",{ref:l,class:"f-list-view-content",onMouseover:()=>{c.value=!0},onMouseleave:()=>{c.value=!1}},[O()]),R.value&&t.createVNode("div",{class:"f-list-view-footer"},[e.footerTemplate?e.footerTemplate():n.slots.footer&&n.slots.footer()])])}}),Be={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/component.schema.json",title:"button",description:"A Farris Visual Button",type:"object",properties:{id:{description:"The unique identifier for a component",type:"string"},type:{description:"The type string of component",type:"string",default:"button"},text:{description:"The text string of component",type:"string"},disabled:{description:"",type:"boolean",default:!1},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},visible:{description:"",type:"boolean",default:!0},size:{description:"大小",type:"string",default:"middle"},icon:{description:"图标",type:"string",default:""},onClick:{description:"点击事件",type:"string",default:""}},required:["id","type","text"],events:{onClick:"点击事件"}},Pe=new Map([["appearance",E.resolveAppearance]]);function Re(e,n,l){return Object.assign(n,{text:"按钮"}),n}const le={id:String,type:{type:String,default:"primary"},disabled:{type:Boolean,default:!1},size:{type:String,default:"middle"},icon:{type:String,default:""},text:{type:String,default:""},customClass:{type:String,default:""},customStyle:{type:String,default:""}};E.createPropsResolver(le,Be,Pe,Re);function $e(e,n){function l(i){i.stopPropagation(),e.disabled||n.emit("click",i)}return{onClickButton:l}}function je(e){const n=t.computed(()=>{const i={"f-icon":!0};if(e.icon){const c=e.icon.trim().split(" ");c&&c.length&&c.reduce((o,r)=>(o[r]=!0,o),i)}return i}),l=t.computed(()=>!!(e.icon&&e.icon.trim()));return{iconClass:n,shouldShowIcon:l}}const ae=t.defineComponent({name:"FButton",props:le,emits:["click"],setup(e,n){const{onClickButton:l}=$e(e,n),{iconClass:i,shouldShowIcon:c}=je(e),o=t.computed(()=>{const r={btn:!0,"btn-lg":e.size==="large","btn-md":e.size!=="large"&&e.size!=="small","btn-sm":e.size==="small","btn-icontext":c.value};return r[`btn-${e.type}`]=!0,e.customClass&&(typeof e.customClass=="string"?A.getCustomClass(r,e.customClass):Object.keys(e.customClass).reduce((m,S)=>(m[S]=e.customClass[S],m),r)),r});return()=>t.createVNode("button",{class:o.value,disabled:e.disabled,style:e.customStyle,onClick:r=>l(r)},[c.value&&t.createVNode("i",{class:i.value},null),e.text?e.text:"",n.slots.default&&n.slots.default()])}}),oe=new Map([["appearance",E.resolveAppearance]]),re={$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 se(e,n,l){return n}function Le(){function e(n,l,i){const c={};return c.beforeOpen=o=>l.call("beforeOpen",n,[o,n],i),c}return{resolve:e}}const z={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}},Ae=Object.assign({},z,{readonly:{}});E.createPropsResolver(z,re,oe,se);const de=E.getPropsResolverGenerator(z,re,oe,se),He=Le(),Ee={dataSource:{type:Array,default:[]},enableSearch:{type:Boolean,default:!1},idField:{type:String,default:"id"},multiSelect:{type:Boolean,default:!1},selectedValues:{type:String,default:""},separator:{type:String,default:","},textField:{type:String,default:"name"},titleField:{type:String,default:"name"},width:{type:Number},maxHeight:{type:Number},valueField:{type:String,default:"id"},onSelectionChange:{type:Function,default:()=>{}},searchOption:{type:[Boolean,Function],default:!1},enableHighlightSearch:{type:Boolean,default:!0}},qe=t.defineComponent({name:"FComboListContainer",props:Ee,emits:["selectionChange"],setup(e,n){const l=t.ref(),i=t.ref(e.dataSource),c=t.ref([]),o=t.ref(e.separator),r=t.ref(e.width),m=t.ref(e.maxHeight),S=t.computed(()=>e.multiSelect),C=t.ref(e.multiSelect?String(e.selectedValues).split(o.value):[e.selectedValues]),V=t.computed(()=>({enableSelectRow:!0,multiSelect:e.multiSelect,multiSelectMode:"OnCheckAndClick",showCheckbox:S.value,showSelectAll:!1,showSelection:!0}));t.watch(e.dataSource,()=>{i.value=e.dataSource}),t.computed(()=>e.enableSearch?"SearchBar":"ContentHeader");const y=t.computed(()=>{const a={};return r.value!==void 0&&(a.width=`${r.value}px`),m.value!==void 0&&m.value>0&&(a.maxHeight=`${m.value}px`),a});function g(a){l.value.search(a)}function h(a){c.value=a.map(b=>Object.assign({},b)),C.value=a.map(b=>b[e.idField]),n.emit("selectionChange",c.value)}function k(a){if(e.enableHighlightSearch)return;let b=[];const{searchOption:s}=e;typeof s=="function"?b=i.value.filter(d=>s(a,d)):b=i.value.filter(d=>d[e.valueField].indexOf(a)>-1||d[e.textField].indexOf(a)>-1),l.value.updateDataSource(b)}t.watch([()=>e.selectedValues],([a])=>{e.multiSelect?C.value=a.split(o.value):C.value=[a]});function f(a){l.value.activeRowById(a)}return t.onMounted(()=>{var a,b;if(!e.multiSelect){const s=(a=C.value)==null?void 0:a[0];let d=s;const F=i.value.map(I=>I[e.valueField||e.idField]);if(!ge.isUndefined(s)&&F.includes(s)){const I=typeof s,w=typeof((b=i.value[0])==null?void 0:b[e.valueField||e.idField]);w==="number"&&I!==w&&(d=Number(s)),w==="boolean"&&I!==w&&(d=s==="true"?!0:s==="false"?!1:s),f(d)}}}),n.expose({search:g,activeRowById:f}),()=>t.createVNode("div",{class:"f-combo-list-container",style:y.value},[t.createVNode(me,{ref:l,size:"small",itemClass:"f-combo-list-item",itemContentClass:"text-truncate",header:"ContentHeader",headerClass:"f-combo-list-search-box",data:i.value,idField:e.idField,textField:e.textField,titleField:e.titleField,multiSelect:e.multiSelect,selection:V.value,enableHighlightSearch:e.enableHighlightSearch,selectionValues:C.value,onSelectionUpdate:h,onAfterSearch:k},null)])}});function Ge(e){const n=t.ref(""),l=t.ref(e.modelValue),i=t.ref(e.data||[]),c=t.ref(e.editable);function o(f){const a=e.multiSelect?String(f).split(e.separator):[String(f)],b=a.map(F=>[F,!0]),s=new Map(b);return i.value.filter(F=>s.has(String(F[e.valueField]))).sort((F,I)=>{const w=a.indexOf(F[e.valueField]),T=a.indexOf(I[e.valueField]);return w-T})}function r(f){const a=o(f).map(b=>b[e.textField]).join(e.separator);n.value=c.value?a||f:a}function m(f){if(e.multiSelect){const a=f.split(e.separator).map(s=>[s,!0]),b=new Map(a);return i.value.filter(s=>b.has(s[e.textField]))}return i.value.filter(a=>""+a[e.textField]===f)}function S(f){const a={};return a[e.idField]=f,a[e.textField]=f,[a]}function C(f){let a=m(f);const b=a&&a.length>0;return c.value&&!b&&(a=S(f)),a}function V(){const{url:f,method:a="GET",headers:b={"Content-Type":"application/json;charset=utf-8;"},body:s=null}=e.remote;if(!f)return;const d=a.toLowerCase()==="get"?{method:a,headers:b}:{method:a,headers:b,body:s};let F=!1;fetch(new Request(f,d)).then(I=>{var T,x;if(I.status===200)return F=!!((x=(T=I.headers)==null?void 0:T.get("content-type"))!=null&&x.includes("application/json")),F?I.text():I.json();throw I.status===405?new Error(Y.LocaleService.getLocaleValue("comboList.remoteError")):new Error(I.statusText)}).then(I=>{I.length&&(i.value=F?JSON.parse(I):I)}).catch(I=>{console.warn(I)})}e.remote&&(e.load?e.load().then(f=>{i.value=f}).catch(f=>{console.log(f)}):V()),t.watch(()=>e.data,()=>{i.value=e.data}),t.watch([i],([f])=>{if(e.modelValue!=null){const a=f.find(b=>b[e.valueField]===e.modelValue);a&&(n.value=a[e.textField])}}),t.watch(()=>e.modelValue,f=>{l.value=f,r(f)});function y(f){i.value=f}function g(){return i.value}function h(){return n.value}function k(){const f=typeof e.beforeOpen=="function";return!e.beforeOpen||!f?Promise.resolve(!0):Promise.resolve().then(()=>e.beforeOpen({instance:{updateDataSource:y,getData:g,getDisplayText:h}})).then(a=>typeof(a==null?void 0:a.canOpen)=="boolean"?a==null?void 0:a.canOpen:!0)}return r(e.modelValue),{dataSource:i,displayText:n,editable:c,modelValue:l,beforeOpenList:k,getItemsByDisplayText:m,getItemsByValue:o,getSelectedItemsByDisplayText:C}}const U=t.defineComponent({name:"FComboList",props:z,emits:["clear","update:modelValue","change","input"],setup(e,n){const l=t.ref(),i=t.ref(),c=t.ref(e.disabled||e.readonly),o=t.ref(e.enableClear),r=t.ref(e.enableSearch),m=t.ref(e.readonly),{dataSource:S,displayText:C,editable:V,modelValue:y,getItemsByDisplayText:g,getItemsByValue:h,beforeOpenList:k}=Ge(e),f=t.ref(e.dropDownIcon);f.value==='<span class="f-icon f-icon-arrow-chevron-down"></span>'&&(f.value='<span id="'+e.id+'-icon-dropdown" class="f-icon f-icon-arrow-chevron-down"></span>');const a=t.computed(()=>e.multiSelect),b=t.computed(()=>i.value?i.value.elementRef.getBoundingClientRect().width:0);function s(){!a.value&&i.value&&i.value.hidePopup()}function d(p){C.value=p.map(P=>P[e.textField]).join(e.separator)||y.value;let v="";p.length===1?v=p[0][e.valueField]:v=p.map(P=>P[e.valueField]).join(e.separator),y.value!==v&&(y.value=v,n.emit("update:modelValue",y.value),n.emit("change",p,y.value))}function F(){const p=h(y.value);d(p)}function I(){m.value||C.value}function w(p){var v;y.value="",(v=l.value)==null||v.activeRowById(""),n.emit("clear")}function T(p){var v,P;e.enableSearch&&e.enableHighlightSearch&&((v=l.value)==null||v.search(p)),(P=l.value)==null||P.activeRowById(p),n.emit("change",[y.value],y.value)}function x(p){if(e.multiSelect){const v=g(p);e.viewType;const O=v.map(G=>G[e.idField||e.valueField]).join(e.separator);y.value!==O&&(y.value=O,n.emit("update:modelValue",y.value),n.emit("change",v,y.value))}else p!==y.value&&(y.value=p,n.emit("update:modelValue",y.value),n.emit("change",[],p))}function u(){return C.value}function M(p){const{value:v}=p.target;T(v),n.emit("input",v)}function R(){i.value.hidePopup()}function j(p){S.value=p}function q(){return S.value}const N={getDisplayText:u,hidePopup:R,updateDataSource:j,getData:q};return n.expose(N),t.watch([()=>e.disabled,()=>e.editable,()=>e.enableClear,()=>e.enableSearch,()=>e.readonly],([p,v,P,O,G])=>{c.value=p,V.value=v,o.value=P,r.value=O,m.value=G}),()=>t.createVNode(fe,{ref:i,id:e.id,disable:c.value,readonly:m.value,forcePlaceholder:e.forcePlaceholder,editable:V.value,buttonContent:f.value,placeholder:e.placeholder==="请选择"?Y.LocaleService.getLocaleValue("comboList.placeholder"):e.placeholder,enableClear:o.value,maxLength:e.maxLength,tabIndex:e.tabIndex,enableTitle:e.enableTitle,multiSelect:e.multiSelect,inputType:e.multiSelect?e.viewType:"text",modelValue:C.value,"onUpdate:modelValue":p=>C.value=p,focusOnCreated:e.focusOnCreated,selectOnCreated:e.selectOnCreated,onClear:w,onClick:I,onChange:x,onBlur:F,onInput:M,beforeOpen:k,placement:e.placement,popupMinWidth:e.minPanelWidth,popupClass:"f-combo-list-wrapper",popupOnClick:e.popupOnClick,limitContentBySpace:!0},{default:()=>[t.createVNode(qe,{ref:l,idField:e.idField,valueField:e.valueField,textField:e.textField,titleField:e.titleField,dataSource:S.value,selectedValues:y.value,separator:e.separator,multiSelect:e.multiSelect,enableSearch:r.value,maxHeight:e.maxHeight,enableHighlightSearch:e.enableHighlightSearch,width:e.fitEditor?b.value:void 0,onSelectionChange:p=>{d(p),s()}},null)]})}}),ce={convertFrom:(e,n)=>(e.editor.remote||{})[n],convertTo:(e,n,l)=>{e.editor.remote=e.editor.remote||{},e.editor.remote[n]=l}};class _e extends he.InputBaseProperty{constructor(n,l){super(n,l)}getCommonEditorProperties(n){var l,i,c;return{viewType:{visible:!!((l=n.editor)!=null&&l.multiSelect),description:"数据展示类型,有标签和文本两种方式",title:"数据展示类型",type:"enum",editor:{data:[{id:"tag",name:"标签"},{id:"text",name:"文本"}]},refreshPanelAfterChanged:!0},separator:{visible:!!((i=n.editor)!=null&&i.multiSelect)&&((c=n.editor)==null?void 0:c.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(n){var o,r;const l=this;let i="";if(((o=n==null?void 0:n.binding)==null?void 0:o.type)==="Form"){const m=this.schemaService.getFieldByIDAndVMID(n.binding.field,this.viewModelId);(r=m==null?void 0:m.schemaField)!=null&&r.type&&(i=m.schemaField.type.$type)}return l.getComponentConfig(n,{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:!n.editor.dataSourceType||n.editor.dataSourceType==="static",...l.getItemCollectionEditor(n,n.editor.valueField,n.editor.textField),refreshPanelAfterChanged:!0},url:{visible:n.editor.dataSourceType==="dynamic",$converter:ce,description:"",title:"服务端API",type:"string"},body:{visible:!1,$converter:ce,description:"",title:"服务端API参数",type:"string"},textField:{description:"",title:"数据源显示字段",type:"string",readonly:n.editor.dataSourceType!=="dynamic"},valueField:{description:"",title:"数据源值字段",type:"string",readonly:n.editor.dataSourceType!=="dynamic"},multiSelect:{description:"",title:"启用多选",visible:!i||i==="StringType",type:"boolean",refreshPanelAfterChanged:!0},maxLength:{description:"",title:"最大输入长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,needValid:!0}},...this.getCommonEditorProperties(n)},(m,S)=>{if(!m||!S.editor)return;const C=this;switch(m.propertyID){case"dataSourceType":{m.propertyValue==="static"?(S.editor.valueField="value",S.editor.textField="name",S.editor.remote=null):m.propertyValue==="dynamic"&&(S.editor.remote={method:"GET"},S.editor.valueField="value",S.editor.textField="name");break}case"data":{!C.checkEnumDataReadonly(S)&&S.formatter&&(S.formatter.data=[...m.propertyValue]);break}case"viewType":m.propertyValue==="tag"&&(S.editor.editable=!1)}})}getGridFieldEdtiorProperties(n,l){var r,m,S,C,V,y;const i=this;let c="";if(((r=n==null?void 0:n.binding)==null?void 0:r.type)==="Form"){const g=this.schemaService.getFieldByIDAndVMID(n.binding.field,this.viewModelId);(m=g==null?void 0:g.schemaField)!=null&&m.type&&(c=g.schemaField.type.$type)}return i.getComponentConfig(n,{type:"combo-list"},{enableClear:{description:"",title:"启用清空",type:"boolean"},data:{description:"",title:"数据",type:"array",visible:!((S=n.editor)!=null&&S.dataSourceType)||((C=n.editor)==null?void 0:C.dataSourceType)==="static",...i.getItemCollectionEditor(n,(V=n.editor)==null?void 0:V.valueField,(y=n.editor)==null?void 0:y.textField),refreshPanelAfterChanged:!0},textField:{description:"",title:"数据源显示字段",type:"string",readonly:!0},valueField:{description:"",title:"数据源值字段",type:"string",readonly:!0},multiSelect:{description:"",title:"启用多选",visible:c==="StringType",type:"boolean",refreshPanelAfterChanged:!0},maxLength:{description:"",title:"最大输入长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,needValid:!0}},...this.getCommonEditorProperties(n)},(g,h)=>{if(!g||!h.editor)return;const k=this;switch(g.propertyID){case"dataSourceType":{g.propertyValue==="static"?(h.editor.valueField="value",h.editor.textField="name",h.editor.remote=null):g.propertyValue==="dynamic"&&(h.editor.remote={method:"GET"},h.editor.valueField="value",h.editor.textField="name");break}case"data":{!k.checkEnumDataReadonly(h)&&h.formatter&&(h.formatter.data=[...g.propertyValue]);break}}})}setEditorPropertyRelates(n,l,i){if(!n||!l.editor)return;const c=this;switch(n.propertyID){case"dataSourceType":{n.propertyValue==="static"&&(l.editor.valueField="value",l.editor.textField="name",l.editor.remote={});break}case"data":{!c.checkEnumDataReadonly(l)&&l.formatter&&(l.formatter.data=[...n.propertyValue]);break}}}changeBindingField(n,l,i){var o;super.changeBindingField(n,l);const c=i;n.editor&&((o=c==null?void 0:c.type)==null?void 0:o.$type)===A.FormSchemaEntityFieldType$Type.EnumType&&(n.editor.data=c.type.enumValues||[])}getEventPropertyConfig(n,l="card",i,c){const o=this;let r=[{label:"onChange",name:"值变化事件"},{label:"beforeOpen",name:"下拉面板前事件"}];i&&(r=r.concat(i)),this.appendFieldValueChangeEvents(n,r);const m=o.eventsEditorUtils.formProperties(n,o.viewModelId,r);return{title:"事件",hideTitle:!0,properties:o.createBaseEventProperty(m),tabId:"commands",tabName:"交互",setPropertyRelates(V,y){const g=V.propertyValue;delete n[o.viewModelId],g&&(g.setPropertyRelates=this.setPropertyRelates,o.eventsEditorUtils.saveRelatedParameters(n,o.viewModelId,g.events,g)),c&&c(V,y,g);const h=o.designViewModelUtils.getDgViewModel(o.viewModelId);h&&o.designViewModelField&&h.changeField(o.designViewModelField.id,{valueChanging:n.fieldValueChanging,valueChanged:n.fieldValueChanged}),n.editor.beforeOpen!==n.beforeOpen&&(n.editor.beforeOpen=n.beforeOpen),n.editor.onChange!==n.onChange&&(n.editor.onChange=n.onChange),n.editor.onClear!==n.onClear&&(n.editor.onClear=n.onClear)}}}}function De(e,n){const l=e.schema;function i(c,o){return new _e(c,n).getPropertyConfig(l,o)}return{getPropsConfig:i}}const ze=t.defineComponent({name:"FComboListDesign",props:Ae,emits:["clear","update:modelValue","change"],setup(e,n){const l=t.ref(),i=t.inject("designer-host-service"),c=t.inject("design-item-context"),o=De(c,i),r=ee.useDesignerComponent(l,c,o);return t.onMounted(()=>{l.value.componentInstance=r}),n.expose(r.value),()=>t.createVNode(pe,{ref:l,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)}});U.register=(e,n,l,i,c)=>{e["combo-list"]=U,n["combo-list"]=de(c),i["combo-list"]={callbackResolver:He}},U.registerDesigner=(e,n,l,i)=>{e["combo-list"]=ze,n["combo-list"]=de(i)};const W=A.withInstall(U),K=t.defineComponent({name:"FOrder",props:D,emits:["change"],setup(e,n){const l=t.ref(),i=t.ref(e.items);function c(){var d;const s=Array.isArray(e.items)?e.items:[];i.value=[...s],(d=l.value)==null||d.updateDataSource(i.value)}t.watch(()=>e.items,c);const o=t.ref("排序列"),r=t.ref("排序方式"),m=t.ref("添加排序列"),S=[{id:"asc",name:"升序"},{id:"desc",name:"降序"}],C=t.ref(new Map);function V(){const s=i.value.map(d=>[d.id,!0]);C.value=new Map(s)}V();const y=t.computed(()=>e.dataSource.map(s=>(s.disabled=C.value.has(s.id),s))),g=t.computed(()=>({"f-order":!0}));function h(s){i.value=i.value.filter(d=>d.id!==s.id),V(),n.emit("change",i.value)}function k(){i.value=[...i.value,{id:Date.now().toString(),name:"",order:"asc"}],V(),n.emit("change",i.value)}function f(s){if(s&&s.length===1){const d=s[0],F=i.value.find(I=>I.id===d.id);F&&(F.name=d.name)}V(),n.emit("change",i.value)}function a(s){if(s&&s.length){const d=new Map;s.reduce((F,I)=>(F.set(I.id,I),F),d),i.value=s.map(F=>d.get(F.id)),n.emit("change",i.value)}}function b(){return t.createVNode(ie,{ref:l,style:"flex:1",data:i.value,draggable:!0,view:"DraggableView","keep-order":!0,itemClass:"f-order-item",onRemoveItem:h,onChange:a},{header:()=>t.createVNode("div",{class:"f-order-header"},[t.createVNode("span",{class:"f-order-header-order-field"},[o.value]),t.createVNode("span",{class:"f-order-header-order-type"},[r.value])]),itemContent:s=>t.createVNode("div",{class:"f-order-item-content"},[t.createVNode(W,{class:"f-order-item-content-order-field",data:y.value,valueField:"id",textField:"name",idField:"id",modelValue:s.raw.id,"onUpdate:modelValue":d=>s.raw.id=d,onChange:f,onClear:f},null),t.createVNode(W,{class:"f-order-item-content-order-type",data:S,valueField:"id",textField:"name",idField:"id",modelValue:s.raw.order,"onUpdate:modelValue":d=>s.raw.order=d,onChange:f},null)]),footer:()=>t.createVNode("div",{class:"f-order-footer"},[t.createVNode(ae,{type:"link",class:"f-order-add-button",onClick:k},{default:()=>t.createVNode(t.Fragment,null,[t.createVNode("span",{class:"f-order-add-icon"},[t.createVNode("i",{class:"f-icon f-icon-add"},null)]),m.value])})])})}return()=>t.createVNode("div",{class:g.value},[b()])}}),Ue=t.defineComponent({name:"FOrderDesign",props:D,emits:["change"],setup(e,n){const l=t.ref(e.items),i=t.ref("排序列"),c=t.ref("排序方式"),o=t.ref("添加排序列"),r=[{id:"asc",name:"升序"},{id:"desc",name:"降序"}],m=t.ref(new Map),S=t.ref(),C=t.inject("design-item-context"),V=ee.useDesignerComponent(S,C);t.onMounted(()=>{S.value.componentInstance=V}),n.expose(V.value);function y(){const d=l.value.map(F=>[F.id,!0]);m.value=new Map(d)}y();const g=t.computed(()=>e.dataSource.map(d=>(d.disabled=m.value.has(d.id),d))),h=t.computed(()=>({"f-order":!0}));function k(d){l.value=l.value.filter(F=>F.id!==d.id),y(),n.emit("change",l.value)}function f(){l.value=[...l.value,{id:Date.now().toString(),name:"",order:"asc"}],y(),n.emit("change",l.value)}function a(d){y(),n.emit("change",l.value)}function b(d){if(d&&d.length){const F=new Map;d.reduce((I,w)=>(I.set(w.id,w),I),F),l.value=d.map(I=>F.get(I.id)),n.emit("change",l.value)}}function s(){return t.createVNode(ie,{style:"flex:1",data:l.value,draggable:!0,view:"DraggableView","keep-order":!0,itemClass:"f-order-item",onRemoveItem:k,onChange:b},{header:()=>t.createVNode("div",{class:"f-order-header"},[t.createVNode("span",{class:"f-order-header-order-field"},[i.value]),t.createVNode("span",{class:"f-order-header-order-type"},[c.value])]),itemContent:d=>t.createVNode("div",{class:"f-order-item-content"},[t.createVNode(W,{class:"f-order-item-content-order-field",data:g.value,valueField:"id",textField:"name",idField:"id",modelValue:d.id,"onUpdate:modelValue":F=>d.id=F,onChange:a,onClear:a},null),t.createVNode(W,{class:"f-order-item-content-order-type",data:r,valueField:"id",textField:"name",idField:"id",modelValue:d.order,"onUpdate:modelValue":F=>d.order=F,onChange:a},null)]),footer:()=>t.createVNode("div",{class:"f-order-footer"},[t.createVNode(ae,{type:"link",class:"f-order-add-button",onClick:f},{default:()=>t.createVNode(t.Fragment,null,[t.createVNode("span",{class:"f-order-add-icon"},[t.createVNode("i",{class:"f-icon f-icon-add"},null)]),o.value])})])})}return()=>t.createVNode("div",{ref:S,class:h.value},[s()])}}),We={install(e){e.component(K.name,K)},register(e,n,l,i){e.order=K,n.order=Q},registerDesigner(e,n,l){e.order=Ue,n.order=Q}};$.FOrder=K,$.default=We,$.orderProps=D,$.propsResolver=Q,Object.defineProperties($,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
18
+ `,u.children[1].style.cssText="width: 30px;padding: 0 14px 0 0",u.children[2].style.cssText="padding: 0 14px 0 0;",document.body.appendChild(u),u}function s(w,T,x){if(w.stopPropagation(),g(),T){if(h=b(w.target),w.dataTransfer){const u=new Image;u.src="",w.dataTransfer.setDragImage(u,0,0)}k=w.pageX,f=w.pageY,setTimeout(()=>{r.value=x,m.value=!0,T.moving=!0})}}function d(w,T){if(w.preventDefault(),r.value!==T){const x=o.value[r.value],u=o.value;u.splice(r.value,1),u.splice(T,0,x),r.value=T,a(w.pageX,w.pageY)}}function F(w){w.preventDefault(),w.dataTransfer&&(w.dataTransfer.dropEffect="move"),a(w.pageX,w.pageY)}function I(w,T){T&&(T.moving=!1,h&&(document.body.removeChild(h),h=null)),o.value.forEach((x,u)=>{x.__fv_index__=u}),m.value=!1,y(),V.value=T.raw.__fv_index__,S.value=T.raw.__fv_index__,C.value=T.raw[c.value],n.emit("change",o.value),n.emit("activeChange",[T.raw])}return{dragstart:s,dragenter:d,dragover:F,dragend:I,isDragging:m}}function Me(e,n,l,i,c,o){const r=t.ref(e.idField),m=t.ref(e.disableField),S=t.ref(e.draggable);t.ref(e.itemClass);const C=t.ref(e.selection.multiSelect??!1),V=t.ref(e.selection.multiSelectMode),{isDragging:y}=i,{activeIndex:g,focusedItemId:h,hoverIndex:k}=c,{clearSelection:f,getSelectedItems:a,toggleSelectItem:b,currentSelectedDataId:s}=o,d=t.ref(a()),F=N=>d.value.length===0?!1:d.value.some(p=>{let v="";return p.data?v=p.data[r.value]:v=p[r.value],v===N});function I(){d.value=a()}function w(N,p){return N.raw[r.value]!=null?N.raw[r.value]:""}function T(N,p){const v={"f-list-view-group-item":!0,"f-list-view-draggable-item":S.value,"f-un-click":!N.checked,"f-un-select":!!N.raw[m.value],"f-listview-active":C.value&&F(w(N))||!C.value&&N.raw[r.value]===s.value,"f-listview-hover":!y.value&&p===k.value,moving:!!N.moving};if(typeof e.itemClass=="string")return A.getCustomClass(v,e.itemClass);if(typeof e.itemClass=="function"){const P=e.itemClass(N);return A.getCustomClass(v,P)}return v}function x(N,p){const v={};if(typeof e.itemStyle=="string")return A.getCustomStyle(v,e.itemStyle);if(typeof e.itemStyle=="function"){const P=e.itemStyle(N);return A.getCustomStyle(v,P)}return v}const u=t.computed(()=>!C.value);function M(N,p,v){N.checked=v,!N.raw[m.value]&&(u.value&&(h.value=N.raw[r.value]),b(N))}const R=t.computed(()=>C.value&&V.value==="OnCheckClearByClick"),j=t.computed(()=>!C.value||C.value&&(V.value==="OnCheckAndClick"||V.value==="OnClick"));function q(N,p,v){if(N.raw[m.value]){v==null||v.preventDefault(),v==null||v.stopPropagation();return}s.value=N.raw[r.value],h.value=N.raw[r.value],g.value=p,R.value&&f(),j.value&&(b(N),I()),n.emit("clickItem",{data:d.value,index:p,dataItem:N.raw}),n.emit("activeChange",d.value)}return{getKey:w,selectedItems:d,listViewItemClass:T,listViewItemStyle:x,updateSelectedItems:I,onCheckItem:M,onClickItem:q}}const ie=t.defineComponent({name:"FListView",props:Se,emits:["afterSearch","checkValuesChange","clickItem","selectItem","unSelectItem","selectionChange","removeItem","change","activeChange","pageIndexChanged","pageSizeChanged","changed","selectionUpdate"],setup(e,n){const l=t.ref(),i=t.ref(!0),c=t.ref(!1),o=t.ref([]),r=0,m=t.ref(e.columns),S=L.useFilter(e,n),C=L.useIdentify(e),V=L.useHierarchy(e),y=L.useGroupData(e,C),g=L.useDataView(e,new Map,S,V,C),h=L.useSelection(e,g,C,o,n),k=we(e,l),f=L.usePagination(e,g),a=t.computed(()=>g.dataView.value.length),b=L.useRow(e,n,h,C),s=L.useEdit(e,n,C,b,o),d=L.useVisualDataBound(e),F=L.useVisualDataCell(e,{},d),I=L.useVisualDataRow(e,g,s,V,C,d,F),w=L.useVisualGroupRow(e,C,F,I),T=L.useVisualSummaryRow(e,C,F,I),x=L.useVisualData(e,m,g,a,r,I,w,T),{getVisualData:u}=x;o.value=u(0,a.value+r-1);const M=t.computed(()=>{const B={"f-list-view":!0,"f-list-view-multiple":e.multiSelect};return e.size!=="default"&&(B[`${e.size}-item`]=!0),A.getCustomClass(B,e.customClass)}),R=t.computed(()=>!!n.slots.footer||i.value);function j(){return e.header==="SearchBar"?ne:e.header==="ContentHeader"?Te:ne}const q=j(),{renderHeader:N}=q(e,n,k),p=Ne(),v=Oe(e,n,g,p),P=Me(e,n,o,v,p,h),{renderListArea:O}=ke(e,n,o,g,y,p,h,x,P,v);function G(B){k.search(B)}function Ke(B){B&&(g.load(B),o.value=u(0,a.value+r-1))}function Xe(){h.clearSelection(),p.clearActiveItem()}function Ye(){return P.selectedItems.value}function Je(){return P.selectedItems.value.map(B=>B[C.idField.value])}function ue(B){h.selectedValues.value=B,P.updateSelectedItems()}function Qe(){return h.currentSelectedDataId.value}function Ze(B){b.activeRowById(B)}function et(B){const H=C.idField.value,_=o.value.find(Z=>Z.raw[H]===B),X=o.value.findIndex(Z=>Z.raw[H]===B);_&&X>-1&&P.onClickItem(_,X)}function tt(B){const H=C.idField.value,_=o.value.find(X=>X.raw[H]===B);_&&b.changeRow(_)}function nt(B){f.updatePagination(B)}function it(B){return o.value.filter(H=>B.includes(H.raw[e.idField]))}n.expose({search:G,updateDataSource:Ke,clearSelection:Xe,getSelections:Ye,updateSelectionByIds:ue,getSelectionIds:Je,activeRowById:Ze,getCurrentRowId:Qe,clickRowItemById:et,updatePagination:nt,getVisibleDataByIds:it,selectRowById:tt});function lt(B){e.multiSelect&&(B.preventDefault(),B.stopPropagation())}t.watch(()=>e.selectionValues,(B,H)=>{B!==H&&ue(B)});const at=L.useSidebar(e,h),{sidebarWidth:ot,showSidebarCheckBox:At}=at,rt=L.useColumn(e,n),{applyColumnSorter:Ht,columnContext:st,updateColumnRenderContext:Et}=rt,dt=L.useVirtualScroll(e,g,o,st,x,a,r,ot,s),{shouldRenderPagination:qt}=f,{renderDataGridPagination:Gt}=L.getPagination(e,n,g,dt,f,h);return()=>t.createVNode("div",{class:M.value,onClick:lt},[N(),t.createVNode("div",{ref:l,class:"f-list-view-content",onMouseover:()=>{c.value=!0},onMouseleave:()=>{c.value=!1}},[O()]),R.value&&t.createVNode("div",{class:"f-list-view-footer"},[e.footerTemplate?e.footerTemplate():n.slots.footer&&n.slots.footer()])])}}),Be={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/component.schema.json",title:"button",description:"A Farris Visual Button",type:"object",properties:{id:{description:"The unique identifier for a component",type:"string"},type:{description:"The type string of component",type:"string",default:"button"},text:{description:"The text string of component",type:"string"},disabled:{description:"",type:"boolean",default:!1},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},visible:{description:"",type:"boolean",default:!0},size:{description:"大小",type:"string",default:"middle"},icon:{description:"图标",type:"string",default:""},onClick:{description:"点击事件",type:"string",default:""}},required:["id","type","text"],events:{onClick:"点击事件"}},Pe=new Map([["appearance",E.resolveAppearance]]);function Re(e,n,l){return Object.assign(n,{text:"按钮"}),n}const le={id:String,type:{type:String,default:"primary"},disabled:{type:Boolean,default:!1},size:{type:String,default:"middle"},icon:{type:String,default:""},text:{type:String,default:""},customClass:{type:String,default:""},customStyle:{type:String,default:""},visible:{type:Boolean,default:!0}};E.createPropsResolver(le,Be,Pe,Re);function $e(e,n){function l(i){i.stopPropagation(),e.disabled||n.emit("click",i)}return{onClickButton:l}}function je(e){const n=t.computed(()=>{const i={"f-icon":!0};if(e.icon){const c=e.icon.trim().split(" ");c&&c.length&&c.reduce((o,r)=>(o[r]=!0,o),i)}return i}),l=t.computed(()=>!!(e.icon&&e.icon.trim()));return{iconClass:n,shouldShowIcon:l}}const ae=t.defineComponent({name:"FButton",props:le,emits:["click"],setup(e,n){const{onClickButton:l}=$e(e,n),{iconClass:i,shouldShowIcon:c}=je(e),o=t.computed(()=>{const r={btn:!0,"btn-lg":e.size==="large","btn-md":e.size!=="large"&&e.size!=="small","btn-sm":e.size==="small","btn-icontext":c.value};return r[`btn-${e.type}`]=!0,e.customClass&&(typeof e.customClass=="string"?A.getCustomClass(r,e.customClass):Object.keys(e.customClass).reduce((m,S)=>(m[S]=e.customClass[S],m),r)),r});return()=>e.visible?t.createVNode("button",{class:o.value,disabled:e.disabled,style:e.customStyle,onClick:r=>l(r)},[c.value&&t.createVNode("i",{class:i.value},null),e.text?e.text:"",n.slots.default&&n.slots.default()]):null}}),oe=new Map([["appearance",E.resolveAppearance]]),re={$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 se(e,n,l){return n}function Le(){function e(n,l,i){const c={};return c.beforeOpen=o=>l.call("beforeOpen",n,[o,n],i),c}return{resolve:e}}const z={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}},Ae=Object.assign({},z,{readonly:{}});E.createPropsResolver(z,re,oe,se);const de=E.getPropsResolverGenerator(z,re,oe,se),He=Le(),Ee={dataSource:{type:Array,default:[]},enableSearch:{type:Boolean,default:!1},idField:{type:String,default:"id"},multiSelect:{type:Boolean,default:!1},selectedValues:{type:String,default:""},separator:{type:String,default:","},textField:{type:String,default:"name"},titleField:{type:String,default:"name"},width:{type:Number},maxHeight:{type:Number},valueField:{type:String,default:"id"},onSelectionChange:{type:Function,default:()=>{}},searchOption:{type:[Boolean,Function],default:!1},enableHighlightSearch:{type:Boolean,default:!0}},qe=t.defineComponent({name:"FComboListContainer",props:Ee,emits:["selectionChange"],setup(e,n){const l=t.ref(),i=t.ref(e.dataSource),c=t.ref([]),o=t.ref(e.separator),r=t.ref(e.width),m=t.ref(e.maxHeight),S=t.computed(()=>e.multiSelect),C=t.ref(e.multiSelect?String(e.selectedValues).split(o.value):[e.selectedValues]),V=t.computed(()=>({enableSelectRow:!0,multiSelect:e.multiSelect,multiSelectMode:"OnCheckAndClick",showCheckbox:S.value,showSelectAll:!1,showSelection:!0}));t.watch(e.dataSource,()=>{i.value=e.dataSource}),t.computed(()=>e.enableSearch?"SearchBar":"ContentHeader");const y=t.computed(()=>{const a={};return r.value!==void 0&&(a.width=`${r.value}px`),m.value!==void 0&&m.value>0&&(a.maxHeight=`${m.value}px`),a});function g(a){l.value.search(a)}function h(a){c.value=a.map(b=>Object.assign({},b)),C.value=a.map(b=>b[e.idField]),n.emit("selectionChange",c.value)}function k(a){if(e.enableHighlightSearch)return;let b=[];const{searchOption:s}=e;typeof s=="function"?b=i.value.filter(d=>s(a,d)):b=i.value.filter(d=>d[e.valueField].indexOf(a)>-1||d[e.textField].indexOf(a)>-1),l.value.updateDataSource(b)}t.watch([()=>e.selectedValues],([a])=>{e.multiSelect?C.value=a.split(o.value):C.value=[a]});function f(a){l.value.activeRowById(a)}return t.onMounted(()=>{var a,b;if(!e.multiSelect){const s=(a=C.value)==null?void 0:a[0];let d=s;const F=i.value.map(I=>I[e.valueField||e.idField]);if(!ge.isUndefined(s)&&F.includes(s)){const I=typeof s,w=typeof((b=i.value[0])==null?void 0:b[e.valueField||e.idField]);w==="number"&&I!==w&&(d=Number(s)),w==="boolean"&&I!==w&&(d=s==="true"?!0:s==="false"?!1:s),f(d)}}}),n.expose({search:g,activeRowById:f}),()=>t.createVNode("div",{class:"f-combo-list-container",style:y.value},[t.createVNode(me,{ref:l,size:"small",itemClass:"f-combo-list-item",itemContentClass:"text-truncate",header:"ContentHeader",headerClass:"f-combo-list-search-box",data:i.value,idField:e.idField,textField:e.textField,titleField:e.titleField,multiSelect:e.multiSelect,selection:V.value,enableHighlightSearch:e.enableHighlightSearch,selectionValues:C.value,onSelectionUpdate:h,onAfterSearch:k},null)])}});function Ge(e){const n=t.ref(""),l=t.ref(e.modelValue),i=t.ref(e.data||[]),c=t.ref(e.editable);function o(f){const a=e.multiSelect?String(f).split(e.separator):[String(f)],b=a.map(F=>[F,!0]),s=new Map(b);return i.value.filter(F=>s.has(String(F[e.valueField]))).sort((F,I)=>{const w=a.indexOf(F[e.valueField]),T=a.indexOf(I[e.valueField]);return w-T})}function r(f){const a=o(f).map(b=>b[e.textField]).join(e.separator);n.value=c.value?a||f:a}function m(f){if(e.multiSelect){const a=f.split(e.separator).map(s=>[s,!0]),b=new Map(a);return i.value.filter(s=>b.has(s[e.textField]))}return i.value.filter(a=>""+a[e.textField]===f)}function S(f){const a={};return a[e.idField]=f,a[e.textField]=f,[a]}function C(f){let a=m(f);const b=a&&a.length>0;return c.value&&!b&&(a=S(f)),a}function V(){const{url:f,method:a="GET",headers:b={"Content-Type":"application/json;charset=utf-8;"},body:s=null}=e.remote;if(!f)return;const d=a.toLowerCase()==="get"?{method:a,headers:b}:{method:a,headers:b,body:s};let F=!1;fetch(new Request(f,d)).then(I=>{var T,x;if(I.status===200)return F=!!((x=(T=I.headers)==null?void 0:T.get("content-type"))!=null&&x.includes("application/json")),F?I.text():I.json();throw I.status===405?new Error(Y.LocaleService.getLocaleValue("comboList.remoteError")):new Error(I.statusText)}).then(I=>{I.length&&(i.value=F?JSON.parse(I):I)}).catch(I=>{console.warn(I)})}e.remote&&(e.load?e.load().then(f=>{i.value=f}).catch(f=>{console.log(f)}):V()),t.watch(()=>e.data,()=>{i.value=e.data}),t.watch([i],([f])=>{if(e.modelValue!=null){const a=f.find(b=>b[e.valueField]===e.modelValue);a&&(n.value=a[e.textField])}}),t.watch(()=>e.modelValue,f=>{l.value=f,r(f)});function y(f){i.value=f}function g(){return i.value}function h(){return n.value}function k(){const f=typeof e.beforeOpen=="function";return!e.beforeOpen||!f?Promise.resolve(!0):Promise.resolve().then(()=>e.beforeOpen({instance:{updateDataSource:y,getData:g,getDisplayText:h}})).then(a=>typeof(a==null?void 0:a.canOpen)=="boolean"?a==null?void 0:a.canOpen:!0)}return r(e.modelValue),{dataSource:i,displayText:n,editable:c,modelValue:l,beforeOpenList:k,getItemsByDisplayText:m,getItemsByValue:o,getSelectedItemsByDisplayText:C}}const U=t.defineComponent({name:"FComboList",props:z,emits:["clear","update:modelValue","change","input"],setup(e,n){const l=t.ref(),i=t.ref(),c=t.ref(e.disabled||e.readonly),o=t.ref(e.enableClear),r=t.ref(e.enableSearch),m=t.ref(e.readonly),{dataSource:S,displayText:C,editable:V,modelValue:y,getItemsByDisplayText:g,getItemsByValue:h,beforeOpenList:k}=Ge(e),f=t.ref(e.dropDownIcon);f.value==='<span class="f-icon f-icon-arrow-chevron-down"></span>'&&(f.value='<span id="'+e.id+'-icon-dropdown" class="f-icon f-icon-arrow-chevron-down"></span>');const a=t.computed(()=>e.multiSelect),b=t.computed(()=>i.value?i.value.elementRef.getBoundingClientRect().width:0);function s(){!a.value&&i.value&&i.value.hidePopup()}function d(p){C.value=p.map(P=>P[e.textField]).join(e.separator)||y.value;let v="";p.length===1?v=p[0][e.valueField]:v=p.map(P=>P[e.valueField]).join(e.separator),y.value!==v&&(y.value=v,n.emit("update:modelValue",y.value),n.emit("change",p,y.value))}function F(){const p=h(y.value);d(p)}function I(){m.value||C.value}function w(p){var v;y.value="",(v=l.value)==null||v.activeRowById(""),n.emit("clear")}function T(p){var v,P;e.enableSearch&&e.enableHighlightSearch&&((v=l.value)==null||v.search(p)),(P=l.value)==null||P.activeRowById(p),n.emit("change",[y.value],y.value)}function x(p){if(e.multiSelect){const v=g(p);e.viewType;const O=v.map(G=>G[e.idField||e.valueField]).join(e.separator);y.value!==O&&(y.value=O,n.emit("update:modelValue",y.value),n.emit("change",v,y.value))}else p!==y.value&&(y.value=p,n.emit("update:modelValue",y.value),n.emit("change",[],p))}function u(){return C.value}function M(p){const{value:v}=p.target;T(v),n.emit("input",v)}function R(){i.value.hidePopup()}function j(p){S.value=p}function q(){return S.value}const N={getDisplayText:u,hidePopup:R,updateDataSource:j,getData:q};return n.expose(N),t.watch([()=>e.disabled,()=>e.editable,()=>e.enableClear,()=>e.enableSearch,()=>e.readonly],([p,v,P,O,G])=>{c.value=p,V.value=v,o.value=P,r.value=O,m.value=G}),()=>t.createVNode(fe,{ref:i,id:e.id,disable:c.value,readonly:m.value,forcePlaceholder:e.forcePlaceholder,editable:V.value,buttonContent:f.value,placeholder:e.placeholder==="请选择"?Y.LocaleService.getLocaleValue("comboList.placeholder"):e.placeholder,enableClear:o.value,maxLength:e.maxLength,tabIndex:e.tabIndex,enableTitle:e.enableTitle,multiSelect:e.multiSelect,inputType:e.multiSelect?e.viewType:"text",modelValue:C.value,"onUpdate:modelValue":p=>C.value=p,focusOnCreated:e.focusOnCreated,selectOnCreated:e.selectOnCreated,onClear:w,onClick:I,onChange:x,onBlur:F,onInput:M,beforeOpen:k,placement:e.placement,popupMinWidth:e.minPanelWidth,popupClass:"f-combo-list-wrapper",popupOnClick:e.popupOnClick,limitContentBySpace:!0},{default:()=>[t.createVNode(qe,{ref:l,idField:e.idField,valueField:e.valueField,textField:e.textField,titleField:e.titleField,dataSource:S.value,selectedValues:y.value,separator:e.separator,multiSelect:e.multiSelect,enableSearch:r.value,maxHeight:e.maxHeight,enableHighlightSearch:e.enableHighlightSearch,width:e.fitEditor?b.value:void 0,onSelectionChange:p=>{d(p),s()}},null)]})}}),ce={convertFrom:(e,n)=>(e.editor.remote||{})[n],convertTo:(e,n,l)=>{e.editor.remote=e.editor.remote||{},e.editor.remote[n]=l}};class _e extends he.InputBaseProperty{constructor(n,l){super(n,l)}getCommonEditorProperties(n){var l,i,c;return{viewType:{visible:!!((l=n.editor)!=null&&l.multiSelect),description:"数据展示类型,有标签和文本两种方式",title:"数据展示类型",type:"enum",editor:{data:[{id:"tag",name:"标签"},{id:"text",name:"文本"}]},refreshPanelAfterChanged:!0},separator:{visible:!!((i=n.editor)!=null&&i.multiSelect)&&((c=n.editor)==null?void 0:c.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(n){var o,r;const l=this;let i="";if(((o=n==null?void 0:n.binding)==null?void 0:o.type)==="Form"){const m=this.schemaService.getFieldByIDAndVMID(n.binding.field,this.viewModelId);(r=m==null?void 0:m.schemaField)!=null&&r.type&&(i=m.schemaField.type.$type)}return l.getComponentConfig(n,{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:!n.editor.dataSourceType||n.editor.dataSourceType==="static",...l.getItemCollectionEditor(n,n.editor.valueField,n.editor.textField),refreshPanelAfterChanged:!0},url:{visible:n.editor.dataSourceType==="dynamic",$converter:ce,description:"",title:"服务端API",type:"string"},body:{visible:!1,$converter:ce,description:"",title:"服务端API参数",type:"string"},textField:{description:"",title:"数据源显示字段",type:"string",readonly:n.editor.dataSourceType!=="dynamic"},valueField:{description:"",title:"数据源值字段",type:"string",readonly:n.editor.dataSourceType!=="dynamic"},multiSelect:{description:"",title:"启用多选",visible:!i||i==="StringType",type:"boolean",refreshPanelAfterChanged:!0},maxLength:{description:"",title:"最大输入长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,needValid:!0}},...this.getCommonEditorProperties(n)},(m,S)=>{if(!m||!S.editor)return;const C=this;switch(m.propertyID){case"dataSourceType":{m.propertyValue==="static"?(S.editor.valueField="value",S.editor.textField="name",S.editor.remote=null):m.propertyValue==="dynamic"&&(S.editor.remote={method:"GET"},S.editor.valueField="value",S.editor.textField="name");break}case"data":{!C.checkEnumDataReadonly(S)&&S.formatter&&(S.formatter.data=[...m.propertyValue]);break}case"viewType":m.propertyValue==="tag"&&(S.editor.editable=!1)}})}getGridFieldEdtiorProperties(n,l){var r,m,S,C,V,y;const i=this;let c="";if(((r=n==null?void 0:n.binding)==null?void 0:r.type)==="Form"){const g=this.schemaService.getFieldByIDAndVMID(n.binding.field,this.viewModelId);(m=g==null?void 0:g.schemaField)!=null&&m.type&&(c=g.schemaField.type.$type)}return i.getComponentConfig(n,{type:"combo-list"},{enableClear:{description:"",title:"启用清空",type:"boolean"},data:{description:"",title:"数据",type:"array",visible:!((S=n.editor)!=null&&S.dataSourceType)||((C=n.editor)==null?void 0:C.dataSourceType)==="static",...i.getItemCollectionEditor(n,(V=n.editor)==null?void 0:V.valueField,(y=n.editor)==null?void 0:y.textField),refreshPanelAfterChanged:!0},textField:{description:"",title:"数据源显示字段",type:"string",readonly:!0},valueField:{description:"",title:"数据源值字段",type:"string",readonly:!0},multiSelect:{description:"",title:"启用多选",visible:c==="StringType",type:"boolean",refreshPanelAfterChanged:!0},maxLength:{description:"",title:"最大输入长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,needValid:!0}},...this.getCommonEditorProperties(n)},(g,h)=>{if(!g||!h.editor)return;const k=this;switch(g.propertyID){case"dataSourceType":{g.propertyValue==="static"?(h.editor.valueField="value",h.editor.textField="name",h.editor.remote=null):g.propertyValue==="dynamic"&&(h.editor.remote={method:"GET"},h.editor.valueField="value",h.editor.textField="name");break}case"data":{!k.checkEnumDataReadonly(h)&&h.formatter&&(h.formatter.data=[...g.propertyValue]);break}}})}setEditorPropertyRelates(n,l,i){if(!n||!l.editor)return;const c=this;switch(n.propertyID){case"dataSourceType":{n.propertyValue==="static"&&(l.editor.valueField="value",l.editor.textField="name",l.editor.remote={});break}case"data":{!c.checkEnumDataReadonly(l)&&l.formatter&&(l.formatter.data=[...n.propertyValue]);break}}}changeBindingField(n,l,i){var o;super.changeBindingField(n,l);const c=i;n.editor&&((o=c==null?void 0:c.type)==null?void 0:o.$type)===A.FormSchemaEntityFieldType$Type.EnumType&&(n.editor.data=c.type.enumValues||[])}getEventPropertyConfig(n,l="card",i,c){const o=this;let r=[{label:"onChange",name:"值变化事件"},{label:"beforeOpen",name:"下拉面板前事件"}];i&&(r=r.concat(i)),this.appendFieldValueChangeEvents(n,r);const m=o.eventsEditorUtils.formProperties(n,o.viewModelId,r);return{title:"事件",hideTitle:!0,properties:o.createBaseEventProperty(m),tabId:"commands",tabName:"交互",setPropertyRelates(V,y){const g=V.propertyValue;delete n[o.viewModelId],g&&(g.setPropertyRelates=this.setPropertyRelates,o.eventsEditorUtils.saveRelatedParameters(n,o.viewModelId,g.events,g),o.updateLinkedLabel(g,y)),c&&c(V,y,g);const h=o.designViewModelUtils.getDgViewModel(o.viewModelId);h&&o.designViewModelField&&h.changeField(o.designViewModelField.id,{valueChanging:n.fieldValueChanging,valueChanged:n.fieldValueChanged}),n.editor.beforeOpen!==n.beforeOpen&&(n.editor.beforeOpen=n.beforeOpen),n.editor.onChange!==n.onChange&&(n.editor.onChange=n.onChange),n.editor.onClear!==n.onClear&&(n.editor.onClear=n.onClear)}}}}function De(e,n){const l=e.schema;function i(c,o){return new _e(c,n).getPropertyConfig(l,o)}return{getPropsConfig:i}}const ze=t.defineComponent({name:"FComboListDesign",props:Ae,emits:["clear","update:modelValue","change"],setup(e,n){const l=t.ref(),i=t.inject("designer-host-service"),c=t.inject("design-item-context"),o=De(c,i),r=ee.useDesignerComponent(l,c,o);return t.onMounted(()=>{l.value.componentInstance=r}),n.expose(r.value),()=>t.createVNode(pe,{ref:l,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)}});U.register=(e,n,l,i,c)=>{e["combo-list"]=U,n["combo-list"]=de(c),i["combo-list"]={callbackResolver:He}},U.registerDesigner=(e,n,l,i)=>{e["combo-list"]=ze,n["combo-list"]=de(i)};const W=A.withInstall(U),K=t.defineComponent({name:"FOrder",props:D,emits:["change"],setup(e,n){const l=t.ref(),i=t.ref(e.items);function c(){var d;const s=Array.isArray(e.items)?e.items:[];i.value=[...s],(d=l.value)==null||d.updateDataSource(i.value)}t.watch(()=>e.items,c);const o=t.ref("排序列"),r=t.ref("排序方式"),m=t.ref("添加排序列"),S=[{id:"asc",name:"升序"},{id:"desc",name:"降序"}],C=t.ref(new Map);function V(){const s=i.value.map(d=>[d.id,!0]);C.value=new Map(s)}V();const y=t.computed(()=>e.dataSource.map(s=>(s.disabled=C.value.has(s.id),s))),g=t.computed(()=>({"f-order":!0}));function h(s){i.value=i.value.filter(d=>d.id!==s.id),V(),n.emit("change",i.value)}function k(){i.value=[...i.value,{id:Date.now().toString(),name:"",order:"asc"}],V(),n.emit("change",i.value)}function f(s){if(s&&s.length===1){const d=s[0],F=i.value.find(I=>I.id===d.id);F&&(F.name=d.name)}V(),n.emit("change",i.value)}function a(s){if(s&&s.length){const d=new Map;s.reduce((F,I)=>(F.set(I.id,I),F),d),i.value=s.map(F=>d.get(F.id)),n.emit("change",i.value)}}function b(){return t.createVNode(ie,{ref:l,style:"flex:1",data:i.value,draggable:!0,view:"DraggableView","keep-order":!0,itemClass:"f-order-item",onRemoveItem:h,onChange:a},{header:()=>t.createVNode("div",{class:"f-order-header"},[t.createVNode("span",{class:"f-order-header-order-field"},[o.value]),t.createVNode("span",{class:"f-order-header-order-type"},[r.value])]),itemContent:s=>t.createVNode("div",{class:"f-order-item-content"},[t.createVNode(W,{class:"f-order-item-content-order-field",data:y.value,valueField:"id",textField:"name",idField:"id",modelValue:s.raw.id,"onUpdate:modelValue":d=>s.raw.id=d,onChange:f,onClear:f},null),t.createVNode(W,{class:"f-order-item-content-order-type",data:S,valueField:"id",textField:"name",idField:"id",modelValue:s.raw.order,"onUpdate:modelValue":d=>s.raw.order=d,onChange:f},null)]),footer:()=>t.createVNode("div",{class:"f-order-footer"},[t.createVNode(ae,{type:"link",class:"f-order-add-button",onClick:k},{default:()=>t.createVNode(t.Fragment,null,[t.createVNode("span",{class:"f-order-add-icon"},[t.createVNode("i",{class:"f-icon f-icon-add"},null)]),m.value])})])})}return()=>t.createVNode("div",{class:g.value},[b()])}}),Ue=t.defineComponent({name:"FOrderDesign",props:D,emits:["change"],setup(e,n){const l=t.ref(e.items),i=t.ref("排序列"),c=t.ref("排序方式"),o=t.ref("添加排序列"),r=[{id:"asc",name:"升序"},{id:"desc",name:"降序"}],m=t.ref(new Map),S=t.ref(),C=t.inject("design-item-context"),V=ee.useDesignerComponent(S,C);t.onMounted(()=>{S.value.componentInstance=V}),n.expose(V.value);function y(){const d=l.value.map(F=>[F.id,!0]);m.value=new Map(d)}y();const g=t.computed(()=>e.dataSource.map(d=>(d.disabled=m.value.has(d.id),d))),h=t.computed(()=>({"f-order":!0}));function k(d){l.value=l.value.filter(F=>F.id!==d.id),y(),n.emit("change",l.value)}function f(){l.value=[...l.value,{id:Date.now().toString(),name:"",order:"asc"}],y(),n.emit("change",l.value)}function a(d){y(),n.emit("change",l.value)}function b(d){if(d&&d.length){const F=new Map;d.reduce((I,w)=>(I.set(w.id,w),I),F),l.value=d.map(I=>F.get(I.id)),n.emit("change",l.value)}}function s(){return t.createVNode(ie,{style:"flex:1",data:l.value,draggable:!0,view:"DraggableView","keep-order":!0,itemClass:"f-order-item",onRemoveItem:k,onChange:b},{header:()=>t.createVNode("div",{class:"f-order-header"},[t.createVNode("span",{class:"f-order-header-order-field"},[i.value]),t.createVNode("span",{class:"f-order-header-order-type"},[c.value])]),itemContent:d=>t.createVNode("div",{class:"f-order-item-content"},[t.createVNode(W,{class:"f-order-item-content-order-field",data:g.value,valueField:"id",textField:"name",idField:"id",modelValue:d.id,"onUpdate:modelValue":F=>d.id=F,onChange:a,onClear:a},null),t.createVNode(W,{class:"f-order-item-content-order-type",data:r,valueField:"id",textField:"name",idField:"id",modelValue:d.order,"onUpdate:modelValue":F=>d.order=F,onChange:a},null)]),footer:()=>t.createVNode("div",{class:"f-order-footer"},[t.createVNode(ae,{type:"link",class:"f-order-add-button",onClick:f},{default:()=>t.createVNode(t.Fragment,null,[t.createVNode("span",{class:"f-order-add-icon"},[t.createVNode("i",{class:"f-icon f-icon-add"},null)]),o.value])})])})}return()=>t.createVNode("div",{ref:S,class:h.value},[s()])}}),We={install(e){e.component(K.name,K)},register(e,n,l,i){e.order=K,n.order=Q},registerDesigner(e,n,l){e.order=Ue,n.order=Q}};$.FOrder=K,$.default=We,$.orderProps=D,$.propsResolver=Q,Object.defineProperties($,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});