@farris/ui-vue 1.8.5-beta.3 → 1.8.5-beta.4
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.
- package/components/batch-editor/index.esm.js +6850 -6840
- package/components/batch-editor/index.umd.cjs +20 -20
- package/components/button/index.esm.js +6852 -6842
- package/components/button/index.umd.cjs +20 -20
- package/components/button-edit/index.esm.js +140 -140
- package/components/button-edit/index.umd.cjs +1 -1
- package/components/button-group/index.esm.js +46 -45
- package/components/button-group/index.umd.cjs +1 -1
- package/components/common/index.esm.js +16 -12
- package/components/common/index.umd.cjs +1 -1
- package/components/component/index.esm.js +411 -411
- package/components/component/index.umd.cjs +2 -2
- package/components/data-view/index.esm.js +6500 -6487
- package/components/data-view/index.umd.cjs +21 -21
- package/components/designer-canvas/index.esm.js +269 -269
- package/components/designer-canvas/index.umd.cjs +1 -1
- package/components/expression-editor/index.esm.js +458 -458
- package/components/expression-editor/index.umd.cjs +2 -2
- package/components/filter-condition-editor/index.esm.js +386 -386
- package/components/filter-condition-editor/index.umd.cjs +1 -1
- package/components/flow-canvas/index.esm.js +1100 -1100
- package/components/flow-canvas/index.umd.cjs +7 -7
- package/components/mapping-editor/index.esm.js +243 -243
- package/components/mapping-editor/index.umd.cjs +2 -2
- package/components/message-box/index.esm.js +82 -82
- package/components/message-box/index.umd.cjs +1 -1
- package/components/modal/index.esm.js +76 -76
- package/components/modal/index.umd.cjs +1 -1
- package/components/order/index.esm.js +139 -138
- package/components/order/index.umd.cjs +1 -1
- package/components/query-solution/index.esm.js +891 -891
- package/components/query-solution/index.umd.cjs +1 -1
- package/components/response-toolbar/index.esm.js +151 -149
- package/components/response-toolbar/index.umd.cjs +1 -1
- package/components/schema-selector/index.esm.js +947 -941
- package/components/schema-selector/index.umd.cjs +6 -6
- package/components/section/index.esm.js +121 -121
- package/components/section/index.umd.cjs +2 -2
- package/components/sort-condition-editor/index.esm.js +539 -539
- package/components/sort-condition-editor/index.umd.cjs +1 -1
- package/components/tabs/index.esm.js +448 -442
- package/components/tabs/index.umd.cjs +1 -1
- package/designer/button-edit/index.esm.js +97 -97
- package/designer/button-edit/index.umd.cjs +1 -1
- package/designer/data-grid/index.esm.js +6483 -6470
- package/designer/data-grid/index.umd.cjs +21 -21
- package/designer/farris-designer.all.esm.js +1891 -1885
- package/designer/farris-designer.all.umd.cjs +14 -14
- package/designer/radio-group/index.esm.js +183 -183
- package/designer/radio-group/index.umd.cjs +2 -2
- package/designer/response-toolbar/index.esm.js +558 -556
- package/designer/response-toolbar/index.umd.cjs +1 -1
- package/designer/tabs/index.esm.js +416 -416
- package/designer/tabs/index.umd.cjs +2 -2
- package/farris.all.esm.js +9133 -9119
- package/farris.all.umd.cjs +35 -35
- package/package.json +1 -1
- package/types/common/index.d.ts +1 -0
- package/types/common/utils/attrs.d.ts +26 -0
- package/types/modal/src/composition/type.d.ts +2 -0
- package/types/tabs/src/composition/types.d.ts +2 -0
|
@@ -15,4 +15,4 @@
|
|
|
15
15
|
`,h.children[0].style.cssText="padding: 0 0 0 14px",h.children[0].children[0].style.cssText=`
|
|
16
16
|
margin: 10px 0px 10px 14px;
|
|
17
17
|
overflow: hidden;text-overflow: ellipsis;white-space: nowrap;
|
|
18
|
-
`,h.children[1].style.cssText="flex:1 1 auto; width:100%",h.children[2].style.cssText="padding: 0 14px 0 0",h.children[2].children[0].style.cssText="display: initial",document.body.appendChild(h),h}function B(p,S,w){if(p.stopPropagation(),F(),S){if(C=M(p.target),p.dataTransfer){const h=new Image;h.src="",p.dataTransfer.setDragImage(h,0,0)}N=p.pageX,k=p.pageY,setTimeout(()=>{y.value=w,b.value=!0,S.moving=!0})}}function q(p,S){if(p.preventDefault(),y.value!==S&&y.value!==-1){const w=a.value[y.value],h=u.value[y.value];w&&h&&(a.value.splice(y.value,1),a.value.splice(S,0,w),u.value.splice(y.value,1),u.value.splice(S,0,h),u.value.forEach((P,L)=>{P.index=L,P.raw.__fv_index__=L}),y.value=S,A(p.pageX,p.pageY))}}function E(p){p.preventDefault(),p.dataTransfer&&(p.dataTransfer.dropEffect="move"),A(p.pageX,p.pageY),x(p)}function j(p,S){var h,P;V(),l=null,S&&(S.moving=!1,C&&(document.body.removeChild(C),C=null)),a.value.forEach((L,_)=>{L.__fv_index__=_}),u.value.forEach((L,_)=>{L.index=_,L.raw&&(L.raw.__fv_index__=_)}),b.value=!1,T();const w=((h=S.raw)==null?void 0:h.__fv_index__)??0;g.value=w,I.value=w,v.value=(P=S.raw)==null?void 0:P[f.value],n.emit("change",a.value),n.emit("activeChange",[S.raw])}return{dragstart:B,dragenter:q,dragover:E,dragend:j,isDragging:b}}function $e(e,n,s,r,u,f){var j,p;const a=t.ref(e.idField),y=t.ref(e.disableField),b=t.ref(e.draggable);t.ref(e.itemClass);const I=t.ref(((j=e.selection)==null?void 0:j.multiSelect)??!1),v=t.ref(((p=e.selection)==null?void 0:p.multiSelectMode)||"DependOnCheck"),{isDragging:g}=r,{activeIndex:T,focusedItemId:F,hoverIndex:C}=u,{clearSelection:N,getSelectedItems:k,toggleSelectItem:l,currentSelectedDataId:i,multiSelectOnlyOnCheck:d}=f,c=t.ref(k()),o=S=>c.value.length===0?!1:c.value.some(w=>{let h="";return w.data?h=w.data[a.value]:h=w[a.value],h===S});function m(){c.value=k()}function V(S,w){return S.raw[a.value]!=null?S.raw[a.value]+"_"+w:""}function x(S,w){const h={"f-list-view-group-item":!0,"f-list-view-draggable-item":b.value,"f-un-click":!S.checked,"f-un-select":!!S.raw[y.value],"f-listview-active":I.value&&o(V(S,w))&&e.showActiveWhenMultiSelect||!I.value&&S.raw[a.value]===i.value||I.value&&!e.showActiveWhenMultiSelect&&S.raw[a.value]===i.value,"f-listview-hover":!g.value&&w===C.value,moving:!!S.moving};if(typeof e.itemClass=="string")return $.getCustomClass(h,e.itemClass);if(typeof e.itemClass=="function"){const P=e.itemClass(S);return $.getCustomClass(h,P)}return h}function A(S,w){const h={};if(typeof e.itemStyle=="string")return $.getCustomStyle(h,e.itemStyle);if(typeof e.itemStyle=="function"){const P=e.itemStyle(S);return $.getCustomStyle(h,P)}return h}const M=t.computed(()=>!I.value);function B(S,w,h){S.checked=h,!S.raw[y.value]&&(M.value&&(F.value=S.raw[a.value]),l(S))}const q=t.computed(()=>!I.value||I.value&&v.value==="OnCheckAndClick");function E(S,w,h){if(S.raw[y.value]){h==null||h.preventDefault(),h==null||h.stopPropagation();return}i.value=S.raw[a.value],F.value=S.raw[a.value],T.value=w,q.value&&(l(S),m()),n.emit("clickItem",{data:c.value,index:w,dataItem:S.raw}),n.emit("activeChange",c.value)}return{getKey:V,selectedItems:c,listViewItemClass:x,listViewItemStyle:A,updateSelectedItems:m,onCheckItem:B,onClickItem:E}}const oe=t.defineComponent({name:"FListView",props:xe,emits:["afterSearch","checkValuesChange","clickItem","selectItem","unSelectItem","selectionChange","removeItem","change","activeChange","pageIndexChanged","pageSizeChanged","changed","selectionUpdate"],setup(e,n){var ye;const s=t.ref(!1),r=t.ref(),u=t.ref(!0),f=t.ref(((ye=e.rowOption)==null?void 0:ye.rowHeight)||28),a=t.ref(!1),y=t.ref([]),b=0,I=t.ref(e.columns),v=R.useFilter(e,n),g=R.useIdentify(e),T=R.useHierarchy(e),F=R.useGroupData(e,g),C=R.useDataView(e,new Map,v,T,g),N=R.useSelection(e,C,g,y,n),k=Te(e,r),l=R.usePagination(e,C),i=t.computed(()=>C.dataView.value.length),d=R.useRow(e,n,N,g),c=R.useEdit(e,n,g,d,y),o=R.useVisualDataBound(e,C,f),m=R.useVisualDataCell(e,c,o),V=R.useVisualDataRow(e,C,c,T,g,o,m,f),x=R.useVisualGroupRow(e,g,m,V),A=R.useVisualSummaryRow(e,g,m,V),M=R.useVisualData(e,I,C,i,b,V,x,A),{getVisualData:B}=M;y.value=B(0,i.value+b-1);const q=t.computed(()=>{const O={"f-list-view":!0,"f-list-view-multiple":e.multiSelect};return e.size!=="default"&&(O[`${e.size}-item`]=!0),$.getCustomClass(O,e.customClass)}),E=t.computed(()=>!!n.slots.footer||u.value);function j(){return e.header==="SearchBar"?ae:e.header==="ContentHeader"?Pe:ae}const p=j(),{renderHeader:S}=p(e,n,k,N,C),w=Oe(),h=He(e,n,C,w,y),P=$e(e,n,y,h,w,N),{renderListArea:L}=Ae(e,n,y,C,F,w,N,M,P,h);function _(O){k.search(O)}function ct(O){O&&(C.load(O),y.value=B(0,i.value+b-1))}function ut(){N.clearSelection(),w.clearActiveItem()}function ft(){return P.selectedItems.value}function mt(){return P.selectedItems.value.map(O=>O[g.idField.value])}function he(O){N.selectedValues.value=O,P.updateSelectedItems()}function gt(){return N.currentSelectedDataId.value}function ht(O){d.activeRowById(O)}function yt(O){const D=g.idField.value,z=y.value.find(ne=>ne.raw[D]===O),Q=y.value.findIndex(ne=>ne.raw[D]===O);z&&Q>-1&&P.onClickItem(z,Q)}function pt(O){const D=g.idField.value,z=y.value.find(Q=>Q.raw[D]===O);z&&d.changeRow(z)}function vt(O){l.updatePagination(O)}function bt(O){return y.value.filter(D=>O.includes(D.raw[e.idField]))}n.expose({search:_,updateDataSource:ct,clearSelection:ut,getSelections:ft,updateSelectionByIds:he,getSelectionIds:mt,activeRowById:ht,getCurrentRowId:gt,clickRowItemById:yt,updatePagination:vt,getVisibleDataByIds:bt,selectRowById:pt}),t.watch(()=>e.selectionValues,(O,D)=>{O!==D&&he(O)});const Ct=R.useSidebar(e,N),{sidebarWidth:St,showSidebarCheckBox:Zt}=Ct,wt=R.useColumn(e,n),{applyColumnSorter:en,columnContext:Vt,updateColumnRenderContext:tn}=wt;return R.useVirtualScroll(e,C,y,Vt,M,i,b,St,f,s,c),()=>t.createVNode("div",{class:q.value},[S(),t.createVNode("div",{ref:r,class:"f-list-view-content",onMouseover:()=>{a.value||(a.value=!0)},onMouseleave:()=>{a.value&&(a.value=!1)}},[L()]),E.value&&t.createVNode("div",{class:"f-list-view-footer"},[e.footerTemplate?e.footerTemplate():n.slots.footer&&n.slots.footer()])])}}),Re={$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:"点击事件"}},Le=new Map([["appearance",G.resolveAppearance]]);function je(e,n,s){return Object.assign(n,{text:"按钮",appearance:{class:"btn btn-secondary"}}),n}const re={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}};G.createPropsResolver(re,Re,Le,je);function Ee(e,n){function s(r){r.stopPropagation(),e.disabled||n.emit("click",r)}return{onClickButton:s}}function qe(e){const n=t.computed(()=>{const r={"f-icon":!0};if(e.icon){const u=e.icon.trim().split(" ");u&&u.length&&u.reduce((f,a)=>(f[a]=!0,f),r)}return r}),s=t.computed(()=>!!(e.icon&&e.icon.trim()));return{iconClass:n,shouldShowIcon:s}}const se=t.defineComponent({name:"FButton",props:re,emits:["click"],setup(e,n){const{onClickButton:s}=Ee(e,n),{iconClass:r,shouldShowIcon:u}=qe(e),f=t.computed(()=>{const a={btn:!0,"btn-lg":e.size==="large","btn-md":e.size!=="large"&&e.size!=="small","btn-sm":e.size==="small","btn-icontext":u.value};return a[`btn-${e.type}`]=!0,e.customClass&&(typeof e.customClass=="string"?$.getCustomClass(a,e.customClass):Object.keys(e.customClass).reduce((y,b)=>(y[b]=e.customClass[b],y),a)),a});return()=>e.visible?t.createVNode("button",{class:f.value,disabled:e.disabled,style:e.customStyle,onClick:a=>s(a)},[u.value&&t.createVNode("i",{class:r.value},null),e.text?e.text:"",n.slots.default&&n.slots.default()]):null}}),de=new Map([["appearance",G.resolveAppearance]]),ce={$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"},dataSource:{description:"",type:"string"},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"},beforeHide:{description:"关闭下拉面板前回调",type:"string"},onShown:{description:"面板打开事件",type:"string"},onHidden:{description:"面板关闭事件",type:"string"},onChange:{description:"值变化事件",type:"string",default:""},onInput:{description:"输入事件",type:"string",default:""},onClear:{description:"清空事件",type:"string",default:""},onDataChanged:{description:"清空事件",type:"string",default:""},hideDisabledItems:{description:"隐藏禁用项",type:"boolean",default:!1},expandable:{description:"",type:"boolean",default:!1},expandMode:{description:"",type:"string",default:"text"},expandContent:{description:"",type:"string",default:""},expandDisabled:{description:"",type:"boolean",default:!1},onExpandClick:{description:"",type:"string",default:""},showSelectAll:{description:"",type:"boolean",default:!1}},required:["type"],ignore:["id","appearance","binding","visible"],events:{onClear:"清空事件",onShown:"面板打开事件",onHidden:"面板关闭事件",onChange:"值变化事件",beforeOpen:"打开面板前事件",beforeHide:"关闭面板前事件"}};function ue(e,n,s){return n}function _e(){function e(n,s,r){const u={};return u.beforeOpen=f=>s.call("beforeOpen",n,[f,n],r),u}return{resolve:e}}const Y={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},showSelectAll:{type:Boolean,default:!1},modelValue:{type:String,default:""},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},popupClass:{type:String,default:""},hideDisabledItems:{type:Boolean,default:!1}},De=Object.assign({},Y,{readonly:{}});G.createPropsResolver(Y,ce,de,ue);const fe=G.getPropsResolverGenerator(Y,ce,de,ue),Ge=_e(),Ue={dataSource:{type:Array,default:[]},enableSearch:{type:Boolean,default:!1},idField:{type:String,default:"id"},multiSelect:{type:Boolean,default:!1},showSelectAll:{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}},ze=t.defineComponent({name:"FComboListContainer",props:Ue,emits:["selectionChange"],setup(e,n){const s=t.ref(),r=t.ref(e.dataSource),u=t.ref(e.dataSource),f=t.ref([]),a=t.ref(e.separator),y=t.ref(e.width),b=t.ref(e.maxHeight),I=t.computed(()=>e.multiSelect),v=t.ref(e.multiSelect?String(e.selectedValues).split(a.value):[e.selectedValues]),g=t.computed(()=>({enableSelectRow:!0,multiSelect:e.multiSelect,multiSelectMode:"OnCheckAndClick",showCheckbox:I.value,showSelectAll:e.showSelectAll,showSelection:!0}));t.watch(e.dataSource,()=>{r.value=e.dataSource,u.value=e.dataSource}),t.computed(()=>e.enableSearch?"SearchBar":"ContentHeader");const T=t.computed(()=>{const l={};return y.value!==void 0&&(l.width=`${y.value}px`),b.value!==void 0&&b.value>0&&(l.maxHeight=`${b.value}px`),l});function F(l){s.value.search(l)}function C(l){f.value=l.map(i=>Object.assign({},i)),v.value=l.map(i=>i[e.idField]),n.emit("selectionChange",f.value)}function N(l){if(e.enableHighlightSearch)return;let i=[];const{searchOption:d}=e;typeof d=="function"?i=r.value.filter(c=>d(l,c)):i=r.value.filter(c=>c[e.valueField].indexOf(l)>-1||c[e.textField].indexOf(l)>-1),s.value.updateDataSource(i)}t.watch([()=>e.selectedValues],([l])=>{e.multiSelect?l===null?v.value=[]:v.value=String(l).split(a.value):l===null?v.value=[]:v.value=[l]});function k(l){s.value.activeRowById(l)}return t.onMounted(()=>{var l,i;if(!e.multiSelect){const d=(l=v.value)==null?void 0:l[0];let c=d;const o=r.value.map(m=>m[e.valueField||e.idField]);if(!be.isUndefined(d)&&o.includes(d)){const m=typeof d,V=typeof((i=r.value[0])==null?void 0:i[e.valueField||e.idField]);V==="number"&&m!==V&&(c=Number(d)),V==="boolean"&&m!==V&&(c=d==="true"?!0:d==="false"?!1:d),k(c)}}}),n.expose({search:F,activeRowById:k}),()=>t.createVNode("div",{class:"f-combo-list-container",style:T.value},[t.createVNode(ve,{ref:s,size:"small",itemClass:"f-combo-list-item",itemContentClass:"text-truncate",header:"ContentHeader",headerClass:"f-combo-list-search-box",data:r.value,idField:e.idField,textField:e.textField,titleField:e.titleField,multiSelect:e.multiSelect,selection:g.value,enableHighlightSearch:e.enableHighlightSearch,selectionValues:v.value,onSelectionUpdate:C,onAfterSearch:N},null)])}}),me={property:"all",duration:.3,timingFunction:"cubic-bezier(0.17, 0.89, 0.45, 1)",delay:0},We=(e,n)=>{const s=e.lineHeight/2,r=$.useTouchMomentum({maxOverflowY:44}),u=t.reactive({...me}),f=c=>{n.emit("change",c)},a=t.reactive({value:0,max:0,min:0,start:0,index:0,currentItem:void 0,active:!1}),y=()=>{a.max=e.visiableOptionCount/2*e.lineHeight;const c=e.column.length*e.lineHeight;a.min=a.max-c+e.lineHeight},b=(c=0)=>{y(),a.index=c,a.value=a.max-c*e.lineHeight,a.currentItem=e.column[c]},I=c=>{const o=e.column.length-1,m=Math.min(a.index,o),V=e.column.findIndex(x=>x[e.valueField]===c);return V>=0?V:m},v=c=>{const o=e.column.length-1;return a.index>o?e.column[o]:e.column[c]},g=c=>{c&&(a.currentItem=c,u.duration=0);const o=a.currentItem[e.valueField],m=I(o),V=v(a.index)[e.valueField];b(m),o!==V&&setTimeout(()=>{f(a.currentItem)},u.duration*1e3)},T=()=>{const c=Array.isArray(e.value)?e.value[0]:e.value;b(I(c))};T(),t.watch(()=>e.value,()=>{e.multiSelect||T()}),t.watch(()=>e.column,()=>g());const F=(c,o=a.max,m=a.min)=>{const V=a.start+c;a.value=V>s?Math.min(V,o):Math.max(V,m),a.index=Math.round((a.max-a.value)/e.lineHeight),a.currentItem=v(a.index)},C=$.useTouch(),N=c=>{C.start(c),a.active=!0,a.start=a.value,r.start(a.start),u.duration=0},k=c=>{c.preventDefault(),C.move(c),F(C.deltaY.value,a.max+e.lineHeight,a.min-e.lineHeight),r.move(C.deltaY.value),u.duration=me.duration},l=c=>{const o=c<0,m=c%e.lineHeight>s?1:0,V=Math.floor(c/e.lineHeight);return(o?V-m:V+m)*e.lineHeight+s};return{translateY:a,transition:u,onTouchStart:N,onTouchMove:k,onTouchEnd:()=>{a.start=0;const c=r.end();let o=0;if(c){const{destination:m,duration:V}=r.get(a.value,a.min,a.max);o=m,u.duration=V/1e3}else o=a.value;F(l(o)),f(a.currentItem)},onTransitionend:()=>{a.active=!1},updateTranslate:g}},Ye={column:{type:Array,default:()=>[]},valueField:{type:String,default:"value"},textField:{type:String,default:"text"},value:{type:[Array,String,Number],default:()=>[]},multiSelect:{type:Boolean,default:!1},showIcon:{type:Boolean,default:!1},lineHeight:{type:Number,default:0},visiableOptionCount:{type:Number,default:5}},Xe=t.defineComponent({props:Ye,emits:["change","click"],setup(e,n){const{addUnit:s}=$.useCommonUtils(),{bem:r}=$.useBem("FComboTouchList"),{translateY:u,transition:f,onTouchStart:a,onTouchMove:y,onTouchEnd:b,onTransitionend:I}=We(e,n),v=F=>{n.emit("click",F)},g=t.computed(()=>({transform:`translateY(${s(u.value)})`,transition:`all ${u.active?f.duration:0}s ${f.timingFunction} 0s`})),T=F=>e.showIcon?Array.isArray(e.value)&&e.value.includes(F[e.valueField]):!1;return()=>t.createVNode("div",{class:r("column"),style:g.value,onTouchstart:a,onTouchmove:y,onTouchend:b,onTransitionend:I},[e.column.map(F=>t.createVNode("div",{class:r("column-item"),onClick:()=>v(F)},[t.createVNode("span",null,[F[e.textField]]),T(F)&&t.createVNode("span",{class:`f-icon f-icon-check ${r("column-item-icon")}`},null)]))])}}),Ke={modelValue:{type:[String,Array],default:""},columns:{type:Array,default:()=>[]},title:{type:String,default:""},valueField:{type:String,default:"value"},textField:{type:String,default:"text"},childrenField:{type:String,default:"children"},multiSelect:{type:Boolean,default:!1},lineHeight:{type:Number,default:44},cancelText:{type:String,default:"取消"},confirmText:{type:String,default:"确定"},optionFormatter:{type:Function,default:void 0},visiableOptionCount:{type:Number,default:5},showToolbar:{type:Boolean,default:!0},separator:{type:String,default:","}},Je=(e,n)=>{const{finalValue:s,initValue:r,setSelectedByIndex:u,getSelectedValueByIndex:f}=n,{isArray:a,isFunction:y,isObject:b}=$.useCommonUtils(),I=o=>o&&o[0],v=t.computed(()=>{var o;return((o=e.columns)==null?void 0:o.length)>0&&a(e.columns[0])}),g=o=>{if((o==null?void 0:o.length)===0)return!1;const m=I(o);return m&&a(m[e.childrenField])},T=(o,m)=>{const V=I(o),x=f(m);let A=o.find(B=>B[e.valueField]===x);A=A||V;const M=A[e.childrenField]||[];if(g(M)){const B=T(M,m+1);return[M,...B]}return[M]},F=()=>{const o=e.columns,m=T(o,0);return[o,...m]},C=(o,m)=>{const V=o[e.textField];return y(e.optionFormatter)?e.optionFormatter(m,o):V},N=(o,m)=>o.map(V=>{const x=b(V)?V:{[e.valueField]:V,[e.textField]:V};return x[e.textField]=C(x,m),x}),k=t.computed(()=>{let o=[];return v.value?o=e.columns:g(e.columns)?o=F():o=[e.columns],o.map(N)}),l=()=>k.value.map((o,m)=>{const V=s.value[m];return o.find(A=>A[e.valueField]===V)}).filter(o=>o),i=()=>l().map(o=>o[e.valueField]),d=()=>l().map(o=>o[e.textField]).join("-"),c=()=>{k.value.forEach((o,m)=>{if(e.multiSelect)s.value[m].forEach(x=>{const A=o.find(M=>M[e.valueField]===x);A&&u(m,A)});else{const V=s.value[m],x=o.find(A=>A[e.valueField]===V);x?u(m,x):u(m,I(o))}})};return t.watch(()=>e.modelValue,()=>{r(e.modelValue),c()},{immediate:!0}),{columns:k,getPickeds:l,getValue:i,getTextValue:d}},Qe=e=>{const{isArray:n,isMultiArray:s,isString:r,isDef:u}=$.useCommonUtils(),f=l=>{let i=[];return n(l)?i=l:r(l)?i=l.split(e.separator):u(l)&&(i=[l]),e.multiSelect?s(i)?i:[i]:i},a=t.ref([]),y=l=>{a.value=f(l)},b=t.reactive([]),I=t.computed(()=>b.map(l=>l[e.valueField])),v=t.reactive([]),g=t.computed(()=>v.map(l=>l.map(i=>i[e.valueField])));return{finalValue:a,initValue:y,getSelected:()=>e.multiSelect?v:b,getSelectedValue:()=>e.multiSelect?g.value:I.value,setSelectedByIndex:(l,i)=>{if(e.multiSelect){const d=v[l]||[];d.includes(i)?v[l]=d.filter(c=>c!==i):v[l]=[...d,i]}else b[l]=i},getSelectedByIndex:l=>e.multiSelect?v[l]:b[l],getSelectedValueByIndex:l=>e.multiSelect?g.value[l]:I.value[l]}},Ze=t.defineComponent({props:Ke,emits:["change","confirm","cancel","update:modelValue"],setup(e,n){const{emit:s}=n,{addUnit:r}=$.useCommonUtils(),u=Qe(e),{finalValue:f,getSelectedValue:a,getSelectedValueByIndex:y,getSelected:b,setSelectedByIndex:I}=u,{columns:v}=Je(e,u),g=(d,c=!0)=>{const{value:o,index:m}=d;(c&&!e.multiSelect||!c&&e.multiSelect)&&(s("change",d),I(m,o))},T=()=>{f.value=a(),s("confirm",b()),s("update:modelValue",f.value)},F=()=>{s("cancel")},{bem:C}=$.useBem("FComboTouchList"),N=()=>t.createVNode("div",{class:C("toolbar")},[t.createVNode("div",{class:C("toolbar-left"),onClick:F},[t.createVNode("span",null,[e.cancelText])]),t.createVNode("div",{class:C("toolbar-title")},[t.createVNode("span",null,[e.title])]),t.createVNode("div",{class:C("toolbar-right"),onClick:T},[t.createVNode("span",null,[e.confirmText])])]),k=t.computed(()=>{const d=(e.visiableOptionCount+1)*e.lineHeight;return{height:r(d)}}),l=t.computed(()=>{const d=e.visiableOptionCount*e.lineHeight/2;return{backgroundSize:`100% ${r(d)}`}}),i=()=>t.createVNode("div",{class:C("content")},[t.createVNode("div",{class:C("columns"),style:k.value},[v.value.map((d,c)=>t.createVNode(Xe,{column:d,value:y(c),showIcon:e.multiSelect,textField:e.textField,multiSelect:e.multiSelect,valueField:e.valueField,lineHeight:e.lineHeight,visiableOptionCount:e.visiableOptionCount,onChange:o=>g({value:o,index:c}),onClick:o=>g({value:o,index:c},!1)},null)),!e.multiSelect&&t.createVNode("div",{class:C("mask"),style:l.value},null),t.createVNode("div",{class:C("frame")},null)])]);return()=>t.createVNode("div",{class:C("")},[e.showToolbar&&N(),i()])}});function et(e,n){const s=t.ref(""),r=t.ref(e.modelValue),u=t.ref(e.data||[]),f=t.ref(e.editable),a=t.computed(()=>e.hideDisabledItems?u.value.filter(l=>!l.disabled):u.value);function y(l){const i=e.multiSelect?String(l).split(e.separator):[String(l)],d=i.map(m=>[m,!0]),c=new Map(d);return u.value.filter(m=>c.has(String(m[e.valueField]))).sort((m,V)=>{const x=i.indexOf(m[e.valueField]),A=i.indexOf(V[e.valueField]);return x-A})}function b(l){const i=y(l).map(d=>d[e.textField]).join(e.separator);s.value=f.value?i||l:i}function I(l){if(e.multiSelect){const i=l.split(e.separator).map(c=>[c,!0]),d=new Map(i);return u.value.filter(c=>d.has(c[e.textField]))}return u.value.filter(i=>""+i[e.textField]===l)}function v(l){const i={};return i[e.idField]=l,i[e.textField]=l,[i]}function g(l){let i=I(l);const d=i&&i.length>0;return f.value&&!d&&(i=v(l)),i}function T(){const{url:l,method:i="GET",headers:d={"Content-Type":"application/json;charset=utf-8;"},body:c=null}=e.remote;if(!l)return;const{basePath:o}=$.useFarrisConfig().value,m=i.toLowerCase()==="get"?{method:i,headers:d}:{method:i,headers:d,body:c};let V=!1;fetch(new Request(o+l,m)).then(x=>{var M,B;if(x.status===200)return V=!!((B=(M=x.headers)==null?void 0:M.get("content-type"))!=null&&B.includes("application/json")),V?x.text():x.json();throw x.status===405?new Error(Z.LocaleService.getLocaleValue("comboList.remoteError")):new Error(x.statusText)}).then(x=>{x.length&&(u.value=V?JSON.parse(x):x,r.value&&b(r.value))}).catch(x=>{console.warn(x)})}e.remote&&(e.load?e.load().then(l=>{u.value=l}).catch(l=>{console.log(l)}):T()),t.watch(()=>e.data,()=>{u.value=e.data}),t.watch([u],([l],[i])=>{if(e.modelValue!=null&&!e.multiSelect){const d=l.find(c=>c[e.valueField]===r.value);d?d[e.valueField]!==r.value?(r.value=d[e.valueField],s.value=d[e.textField],n.emit("update:modelValue",d[e.valueField]),n.emit("change",[d],d[e.valueField])):s.value!==d[e.textField]&&(s.value=d[e.textField]):r.value!==""&&(r.value="",s.value="",n.emit("update:modelValue",""),n.emit("change",[],""))}}),t.watch(()=>e.modelValue,(l,i)=>{i!==l&&(r.value=l,b(l))});function F(l){u.value=l,n.emit("dataChanged",l)}function C(){return u.value}function N(){return s.value}async function k(){const l=typeof e.beforeOpen=="function";return!e.beforeOpen||!l?Promise.resolve(!0):Promise.resolve().then(()=>e.beforeOpen({instance:{updateDataSource:F,getData:C,getDisplayText:N}})).then(i=>typeof(i==null?void 0:i.canOpen)=="boolean"?i==null?void 0:i.canOpen:!0)}return b(e.modelValue),{dataSource:u,filteredDataSource:a,displayText:s,editable:f,modelValue:r,beforeOpenList:k,getItemsByDisplayText:I,getItemsByValue:y,getSelectedItemsByDisplayText:g}}const tt=["moz","ms","webkit"];function nt(){let e=0;return n=>{const s=new Date().getTime(),r=Math.max(0,16-(s-e)),u=setTimeout(()=>{n(s+r)},r);return e=s+r,u}}function lt(){if(typeof window>"u")return()=>0;if(window.requestAnimationFrame)return window.requestAnimationFrame.bind(window);const e=tt.filter(n=>`${n}RequestAnimationFrame`in window)[0];return e?window[`${e}RequestAnimationFrame`]:nt()}lt(),t.ref("");function te(){if(typeof window>"u"||typeof navigator>"u")return!1;const e=navigator.userAgent||navigator.vendor||window.opera,n=[/iPhone/i,/iPod/i,/Android.*Mobile/i,/webOS/i,/BlackBerry/i,/IEMobile/i,/Opera Mini/i,/Harmony/i],s=[/iPad/i,/Android(?!.*Mobile)/i,/Tablet/i,/PlayBook/i,/Kindle/i,/Silk/i];for(const b of s)if(b.test(e))return!1;for(const b of n)if(b.test(e))return!0;if(typeof screen>"u")return!1;const r="ontouchstart"in window||navigator.maxTouchPoints>0,u=screen.width,f=screen.height,a=Math.min(u,f);return!!(r&&a<=768)}function it(){const e=te();return e&&document.body.classList.add("f-mobile"),e}typeof document<"u"&&it();const X=t.defineComponent({name:"FComboList",props:Y,emits:["clear","update:modelValue","change","input","dataChanged","expandClick","hidden","shown"],setup(e,n){const s=t.ref(),r=t.ref(),u=t.ref(e.disabled||e.readonly),f=t.ref(e.enableClear),a=t.ref(e.enableSearch),y=t.ref(e.readonly),{dataSource:b,displayText:I,editable:v,modelValue:g,filteredDataSource:T,getItemsByDisplayText:F,getItemsByValue:C,beforeOpenList:N}=et(e,n),k=t.ref(e.dropDownIcon);k.value==='<span class="f-icon f-icon-arrow-chevron-down"></span>'&&(k.value='<span id="'+e.id+'-icon-dropdown" class="f-icon f-icon-arrow-chevron-down"></span>');const l=t.computed(()=>e.multiSelect),i=t.computed(()=>r.value?r.value.elementRef.getBoundingClientRect().width:0);function d(){!l.value&&r.value&&r.value.hidePopup()}function c(w){I.value=w.map(P=>P[e.textField]).join(e.separator)||g.value;let h="";w.length===1?h=w[0][e.valueField]:h=w.map(P=>P[e.valueField]).join(e.separator),g.value!==h&&(g.value=h,n.emit("update:modelValue",g.value),n.emit("change",w,g.value))}function o(){const w=C(g.value);c(w)}function m(){y.value||I.value}function V(w){var h;g.value="",(h=s.value)==null||h.activeRowById(""),n.emit("clear")}function x(w){var h,P;e.enableSearch&&e.enableHighlightSearch&&((h=s.value)==null||h.search(w)),(P=s.value)==null||P.activeRowById(w),n.emit("change",[g.value],g.value)}function A(w){if(e.multiSelect){const h=F(w);e.viewType;const L=h.map(_=>_[e.idField||e.valueField]).join(e.separator);g.value!==L&&(g.value=L,n.emit("update:modelValue",g.value),n.emit("change",h,g.value))}else w!==g.value&&(g.value=w,n.emit("update:modelValue",g.value),n.emit("change",[],w))}function M(){return I.value}function B(w){const{value:h}=w.target;x(h),n.emit("input",h)}function q(){r.value.hidePopup()}function E(w){b.value=w}function j(){return b.value}const p={getDisplayText:M,hidePopup:q,updateDataSource:E,getData:j};n.expose(p),t.watch([()=>e.disabled,()=>e.editable,()=>e.enableClear,()=>e.enableSearch,()=>e.readonly],([w,h,P,L,_])=>{u.value=w,v.value=h,f.value=P,a.value=L,y.value=_});const S=()=>{n.emit("expandClick")};return()=>t.createVNode(pe,{ref:r,id:e.id,disable:u.value,readonly:y.value,forcePlaceholder:e.forcePlaceholder,editable:v.value,buttonContent:k.value,placeholder:e.placeholder==="请选择"?Z.LocaleService.getLocaleValue("comboList.placeholder"):e.placeholder,enableClear:f.value,maxLength:e.maxLength,tabIndex:e.tabIndex,enableTitle:e.enableTitle,multiSelect:e.multiSelect,inputType:e.multiSelect?e.viewType:"text",modelValue:I.value,"onUpdate:modelValue":w=>I.value=w,focusOnCreated:e.focusOnCreated,selectOnCreated:e.selectOnCreated,onClear:V,onClick:m,onChange:A,onBlur:o,onInput:B,beforeOpen:N,placement:te()?"bottom":e.placement,popupMinWidth:e.minPanelWidth,popupClass:"f-combo-list-wrapper",popupOnClick:e.popupOnClick,limitContentBySpace:!0,expandable:e.expandable,expandMode:e.expandMode,expandContent:e.expandContent,expandDisabled:e.expandDisabled,onExpandClick:S,onHidden:()=>n.emit("hidden"),onShown:()=>n.emit("shown")},{default:()=>[te()?t.createVNode(Ze,{modelValue:g.value,valueField:e.valueField,textField:e.textField,columns:b.value,multiSelect:e.multiSelect,separator:e.separator,onConfirm:w=>{const h=e.multiSelect?w[0]||[]:w;c(h),r==null||r.value.hidePopup()},onCancel:()=>{r==null||r.value.hidePopup()}},null):t.createVNode(ze,{class:e.popupClass,ref:s,idField:e.idField,valueField:e.valueField,textField:e.textField,titleField:e.titleField,dataSource:T.value,selectedValues:g.value,separator:e.separator,multiSelect:e.multiSelect,showSelectAll:e.showSelectAll,enableSearch:a.value,maxHeight:e.maxHeight,enableHighlightSearch:e.enableHighlightSearch,width:e.fitEditor?i.value:void 0,onSelectionChange:w=>{c(w),d()}},null)]})}}),ge={convertFrom:(e,n)=>(e.editor.remote||{})[n],convertTo:(e,n,s)=>{e.editor.remote=e.editor.remote||{},e.editor.remote[n]=s}};class at extends Se.InputBaseProperty{constructor(n,s){super(n,s)}getCommonEditorProperties(n){var s,r,u,f;return{showSelectAll:{visible:!!((s=n.editor)!=null&&s.multiSelect),description:"多选模式下是否显示全选复选框",title:"启用全选",type:"boolean",default:!1,refreshPanelAfterChanged:!0},viewType:{visible:!!((r=n.editor)!=null&&r.multiSelect),description:"数据展示类型,有标签和文本两种方式",title:"数据展示类型",type:"enum",editor:{data:[{id:"tag",name:"标签"},{id:"text",name:"文本"}]},refreshPanelAfterChanged:!0},separator:{visible:!!((u=n.editor)!=null&&u.multiSelect)&&((f=n.editor)==null?void 0:f.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},hideDisabledItems:{description:"当数据项禁用时,隐藏数据项",title:"隐藏禁用项",type:"boolean",refreshPanelAfterChanged:!0}}}getEditorProperties(n){var b,I,v,g,T,F,C,N,k,l,i,d,c;const s=this;let r="";if(((b=n==null?void 0:n.binding)==null?void 0:b.type)==="Form"){const o=this.schemaService.getFieldByIDAndVMID(n.binding.field,this.viewModelId);(I=o==null?void 0:o.schemaField)!=null&&I.type&&(r=o.schemaField.type.$type)}const u=this.getPropertyEditorParams(n,["Variable"]),f=!n.editor.dataSourceType||n.editor.dataSourceType==="static",a=(((g=(v=this.designViewModelField)==null?void 0:v.type)==null?void 0:g.$type)===$.FormSchemaEntityFieldType$Type.StringType||!!this.formRule&&((T=this.designerHostService.schemaService.getFieldByID(n.binding.field))==null?void 0:T.type.$type)===$.FormSchemaEntityFieldType$Type.StringType)&&((F=n.editor)==null?void 0:F.type)==="combo-list"&&((C=n.editor)==null?void 0:C.dataSourceType)==="dynamic"&&!((k=(N=n.editor)==null?void 0:N.remote)!=null&&k.url)&&!((l=n.editor)!=null&&l.multiSelect);return s.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},dataSource:{description:"动态数据源绑定变量",visible:a,title:"数据",editor:{...u,controlName:"",enableClear:!0},refreshPanelAfterChanged:!0},data:{description:"",title:"数据",type:"array",visible:f,...s.getItemCollectionEditor(n,n.editor.valueField,n.editor.textField),refreshPanelAfterChanged:!0},url:{visible:n.editor.dataSourceType==="dynamic"&&!((i=n.editor)!=null&&i.dataSource),$converter:ge,description:"",title:"服务端API",type:"string",refreshPanelAfterChanged:!0},body:{visible:!1,$converter:ge,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:!r||r==="StringType",readonly:((d=n.editor)==null?void 0:d.dataSourceType)==="dynamic"&&!!((c=n.editor)!=null&&c.dataSource),type:"boolean",refreshPanelAfterChanged:!0},maxLength:{description:"",title:"最大输入长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,needValid:!0}},...this.getCommonEditorProperties(n)},(o,m)=>{if(!o||!m.editor)return;const V=this;switch(o.propertyID){case"dataSourceType":{o.propertyValue==="static"?(m.editor.valueField="value",m.editor.textField="name",m.editor.remote=null):o.propertyValue==="dynamic"&&(m.editor.remote={method:"GET"},m.editor.valueField="value",m.editor.textField="name");break}case"data":{!V.checkEnumDataReadonly(m)&&m.formatter&&(m.formatter.data=[...o.propertyValue]);break}case"viewType":{o.propertyValue==="tag"&&(m.editor.editable=!1);break}case"dataSource":V.afterMutilEditorChanged(m,o);break}})}getGridFieldEdtiorProperties(n,s){var b,I,v,g,T,F,C,N,k,l,i,d,c;const r=this;let u="";if(((b=n==null?void 0:n.binding)==null?void 0:b.type)==="Form"){const o=this.schemaService.getFieldByIDAndVMID(n.binding.field,this.viewModelId);(I=o==null?void 0:o.schemaField)!=null&&I.type&&(u=o.schemaField.type.$type)}const f=((g=(v=this.designViewModelField)==null?void 0:v.type)==null?void 0:g.$type)===$.FormSchemaEntityFieldType$Type.StringType&&((T=n.editor)==null?void 0:T.type)==="combo-list"&&((F=n.editor)==null?void 0:F.dataSourceType)==="dynamic"&&!((C=n.editor)!=null&&C.multiSelect),a=this.getPropertyEditorParams(n,["Variable"]);return r.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},dataSource:{description:"动态数据源绑定变量",visible:f,title:"数据",editor:{...a,controlName:"",enableClear:!0},refreshPanelAfterChanged:!0},data:{description:"",title:"数据",type:"array",visible:!((N=n.editor)!=null&&N.dataSourceType)||((k=n.editor)==null?void 0:k.dataSourceType)==="static",...r.getItemCollectionEditor(n,(l=n.editor)==null?void 0:l.valueField,(i=n.editor)==null?void 0:i.textField),refreshPanelAfterChanged:!0},textField:{description:"",title:"数据源显示字段",type:"string",readonly:!0},valueField:{description:"",title:"数据源值字段",type:"string",readonly:!0},multiSelect:{description:"",title:"启用多选",visible:u==="StringType",readonly:((d=n.editor)==null?void 0:d.dataSourceType)==="dynamic"&&!!((c=n.editor)!=null&&c.dataSource),type:"boolean",refreshPanelAfterChanged:!0},maxLength:{description:"",title:"最大输入长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,needValid:!0}},...this.getCommonEditorProperties(n)},(o,m)=>{if(!o||!m.editor)return;const V=this;switch(o.propertyID){case"dataSourceType":{o.propertyValue==="static"?(m.editor.valueField="value",m.editor.textField="name",m.editor.remote=null):o.propertyValue==="dynamic"&&(m.editor.remote={method:"GET"},m.editor.valueField="value",m.editor.textField="name");break}case"data":{!V.checkEnumDataReadonly(m)&&m.formatter&&(m.formatter.data=[...o.propertyValue]);break}case"dataSource":V.afterMutilEditorChanged(m,o)}})}setEditorPropertyRelates(n,s,r){if(!n||!s.editor)return;const u=this;switch(n.propertyID){case"dataSourceType":{n.propertyValue==="static"&&(s.editor.valueField="value",s.editor.textField="name",s.editor.remote={});break}case"data":{!u.checkEnumDataReadonly(s)&&s.formatter&&(s.formatter.data=[...n.propertyValue]);break}}}changeBindingField(n,s,r){var f;super.changeBindingField(n,s);const u=r;n.editor&&((f=u==null?void 0:u.type)==null?void 0:f.$type)===$.FormSchemaEntityFieldType$Type.EnumType&&(n.editor.data=u.type.enumValues||[])}getEventPropertyConfig(n,s="card",r,u){const f=this;let a=[{label:"onChange",name:"值变化事件"},{label:"beforeOpen",name:"打开面板前事件"},{label:"beforeHide",name:"关闭面板前事件"},{label:"onShown",name:"面板打开事件"},{label:"onHidden",name:"面板关闭事件"}];a=[...a,...this.getInputCommonEvents(n)],r&&(a=a.concat(r)),this.formRule&&(a=a.filter(v=>v.label!=="onChange")),this.appendFieldValueChangeEvents(n,a);const y=f.eventsEditorUtils.formProperties(n,f.viewModelId,a);return{title:"事件",hideTitle:!0,properties:f.createBaseEventProperty(y),tabId:$.EVENT_PROPERTY_TAB_IDS,tabName:"交互",setPropertyRelates(v,g){const T=v.propertyValue;delete n[f.viewModelId],T&&(T.setPropertyRelates=this.setPropertyRelates,f.eventsEditorUtils.saveRelatedParameters(n,f.viewModelId,T.events,T),f.updateLinkedLabel(T,g)),u&&u(v,g,T);const F=f.designViewModelUtils.getDgViewModel(f.viewModelId);F&&f.designViewModelField&&F.changeField(f.designViewModelField.id,{valueChanging:n.fieldValueChanging||"",valueChanged:n.fieldValueChanged||""}),n.editor.onShown=n.onShown,n.editor.onHidden=n.onHidden,n.editor.beforeHide=n.beforeHide,n.editor.beforeOpen=n.beforeOpen,n.editor.onChange=n.onChange,n.editor.onClear=n.onClear}}}}function ot(e,n){const s=e.schema;function r(u,f){return new at(u,n).getPropertyConfig(s,f)}return{getPropsConfig:r}}const rt=t.defineComponent({name:"FComboListDesign",props:De,emits:["clear","update:modelValue","change"],setup(e,n){const s=t.ref(),r=t.inject("designer-host-service"),u=t.inject("design-item-context"),f=ot(u,r),a=le.useDesignerComponent(s,u,f);return t.onMounted(()=>{s.value.componentInstance=a}),n.expose(a.value),()=>t.createVNode(Ce,{ref:s,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)}});X.register=(e,n,s,r,u)=>{e["combo-list"]=X,n["combo-list"]=fe(u),r["combo-list"]={callbackResolver:Ge}},X.registerDesigner=(e,n,s,r)=>{e["combo-list"]=rt,n["combo-list"]=fe(r)};const K=$.withInstall(X),J=t.defineComponent({name:"FOrder",props:W,emits:["change"],setup(e,n){const s=t.ref(),r=t.ref(e.items);function u(){var d;const i=Array.isArray(e.items)?e.items:[];r.value=[...i],(d=s.value)==null||d.updateDataSource(r.value)}t.watch(()=>e.items,u);const f=t.ref("排序列"),a=t.ref("排序方式"),y=t.ref("添加排序列"),b=[{id:"asc",name:"升序"},{id:"desc",name:"降序"}],I=t.ref(new Map);function v(){const i=r.value.map(d=>[d.id,!0]);I.value=new Map(i)}v();const g=t.computed(()=>e.dataSource.map(i=>(i.disabled=I.value.has(i.id),i))),T=t.computed(()=>({"f-order":!0}));function F(i){r.value=r.value.filter(d=>d.id!==i.id),v(),n.emit("change",r.value)}function C(){r.value=[...r.value,{id:Date.now().toString(),name:"",order:"asc"}],v(),n.emit("change",r.value)}function N(i){if(i&&i.length===1){const d=i[0],c=r.value.find(o=>o.id===d.id);c&&(c.name=d.name)}v(),n.emit("change",r.value)}function k(i){if(i&&i.length){const d=new Map;i.reduce((c,o)=>(c.set(o.id,o),c),d),r.value=i.map(c=>d.get(c.id)),n.emit("change",r.value)}}function l(){return t.createVNode(oe,{ref:s,style:"flex:1",data:r.value,draggable:!0,view:"DraggableView","keep-order":!0,itemClass:"f-order-item",onRemoveItem:F,onChange:k},{header:()=>t.createVNode("div",{class:"f-order-header"},[t.createVNode("span",{class:"f-order-header-order-field"},[f.value]),t.createVNode("span",{class:"f-order-header-order-type"},[a.value])]),itemContent:i=>t.createVNode("div",{class:"f-order-item-content"},[t.createVNode(K,{class:"f-order-item-content-order-field",data:g.value,valueField:"id",textField:"name",idField:"id",modelValue:i.raw.id,"onUpdate:modelValue":d=>i.raw.id=d,onChange:N,onClear:N},null),t.createVNode(K,{class:"f-order-item-content-order-type",data:b,valueField:"id",textField:"name",idField:"id",modelValue:i.raw.order,"onUpdate:modelValue":d=>i.raw.order=d,onChange:N},null)]),footer:()=>t.createVNode("div",{class:"f-order-footer"},[t.createVNode(se,{type:"link",class:"f-order-add-button",onClick:C},{default:()=>t.createVNode(t.Fragment,null,[t.createVNode("span",{class:"f-order-add-icon"},[t.createVNode("i",{class:"f-icon f-icon-add"},null)]),y.value])})])})}return()=>t.createVNode("div",{class:T.value},[l()])}}),st=t.defineComponent({name:"FOrderDesign",props:W,emits:["change"],setup(e,n){const s=t.ref(e.items),r=t.ref("排序列"),u=t.ref("排序方式"),f=t.ref("添加排序列"),a=[{id:"asc",name:"升序"},{id:"desc",name:"降序"}],y=t.ref(new Map),b=t.ref(),I=t.inject("design-item-context"),v=le.useDesignerComponent(b,I);t.onMounted(()=>{b.value.componentInstance=v}),n.expose(v.value);function g(){const d=s.value.map(c=>[c.id,!0]);y.value=new Map(d)}g();const T=t.computed(()=>e.dataSource.map(d=>(d.disabled=y.value.has(d.id),d))),F=t.computed(()=>({"f-order":!0}));function C(d){s.value=s.value.filter(c=>c.id!==d.id),g(),n.emit("change",s.value)}function N(){s.value=[...s.value,{id:Date.now().toString(),name:"",order:"asc"}],g(),n.emit("change",s.value)}function k(d){g(),n.emit("change",s.value)}function l(d){if(d&&d.length){const c=new Map;d.reduce((o,m)=>(o.set(m.id,m),o),c),s.value=d.map(o=>c.get(o.id)),n.emit("change",s.value)}}function i(){return t.createVNode(oe,{style:"flex:1",data:s.value,draggable:!0,view:"DraggableView","keep-order":!0,itemClass:"f-order-item",onRemoveItem:C,onChange:l},{header:()=>t.createVNode("div",{class:"f-order-header"},[t.createVNode("span",{class:"f-order-header-order-field"},[r.value]),t.createVNode("span",{class:"f-order-header-order-type"},[u.value])]),itemContent:d=>t.createVNode("div",{class:"f-order-item-content"},[t.createVNode(K,{class:"f-order-item-content-order-field",data:T.value,valueField:"id",textField:"name",idField:"id",modelValue:d.id,"onUpdate:modelValue":c=>d.id=c,onChange:k,onClear:k},null),t.createVNode(K,{class:"f-order-item-content-order-type",data:a,valueField:"id",textField:"name",idField:"id",modelValue:d.order,"onUpdate:modelValue":c=>d.order=c,onChange:k},null)]),footer:()=>t.createVNode("div",{class:"f-order-footer"},[t.createVNode(se,{type:"link",class:"f-order-add-button",onClick:N},{default:()=>t.createVNode(t.Fragment,null,[t.createVNode("span",{class:"f-order-add-icon"},[t.createVNode("i",{class:"f-icon f-icon-add"},null)]),f.value])})])})}return()=>t.createVNode("div",{ref:b,class:F.value},[i()])}}),dt={install(e){e.component(J.name,J)},register(e,n,s,r){e.order=J,n.order=ee},registerDesigner(e,n,s){e.order=st,n.order=ee}};H.FOrder=J,H.default=dt,H.orderProps=W,H.propsResolver=ee,Object.defineProperties(H,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
18
|
+
`,h.children[1].style.cssText="flex:1 1 auto; width:100%",h.children[2].style.cssText="padding: 0 14px 0 0",h.children[2].children[0].style.cssText="display: initial",document.body.appendChild(h),h}function B(p,S,w){if(p.stopPropagation(),F(),S){if(C=M(p.target),p.dataTransfer){const h=new Image;h.src="",p.dataTransfer.setDragImage(h,0,0)}N=p.pageX,k=p.pageY,setTimeout(()=>{y.value=w,b.value=!0,S.moving=!0})}}function q(p,S){if(p.preventDefault(),y.value!==S&&y.value!==-1){const w=a.value[y.value],h=u.value[y.value];w&&h&&(a.value.splice(y.value,1),a.value.splice(S,0,w),u.value.splice(y.value,1),u.value.splice(S,0,h),u.value.forEach((P,L)=>{P.index=L,P.raw.__fv_index__=L}),y.value=S,A(p.pageX,p.pageY))}}function E(p){p.preventDefault(),p.dataTransfer&&(p.dataTransfer.dropEffect="move"),A(p.pageX,p.pageY),x(p)}function j(p,S){var h,P;V(),l=null,S&&(S.moving=!1,C&&(document.body.removeChild(C),C=null)),a.value.forEach((L,_)=>{L.__fv_index__=_}),u.value.forEach((L,_)=>{L.index=_,L.raw&&(L.raw.__fv_index__=_)}),b.value=!1,T();const w=((h=S.raw)==null?void 0:h.__fv_index__)??0;g.value=w,I.value=w,v.value=(P=S.raw)==null?void 0:P[f.value],n.emit("change",a.value),n.emit("activeChange",[S.raw])}return{dragstart:B,dragenter:q,dragover:E,dragend:j,isDragging:b}}function $e(e,n,s,r,u,f){var j,p;const a=t.ref(e.idField),y=t.ref(e.disableField),b=t.ref(e.draggable);t.ref(e.itemClass);const I=t.ref(((j=e.selection)==null?void 0:j.multiSelect)??!1),v=t.ref(((p=e.selection)==null?void 0:p.multiSelectMode)||"DependOnCheck"),{isDragging:g}=r,{activeIndex:T,focusedItemId:F,hoverIndex:C}=u,{clearSelection:N,getSelectedItems:k,toggleSelectItem:l,currentSelectedDataId:i,multiSelectOnlyOnCheck:d}=f,c=t.ref(k()),o=S=>c.value.length===0?!1:c.value.some(w=>{let h="";return w.data?h=w.data[a.value]:h=w[a.value],h===S});function m(){c.value=k()}function V(S,w){return S.raw[a.value]!=null?S.raw[a.value]+"_"+w:""}function x(S,w){const h={"f-list-view-group-item":!0,"f-list-view-draggable-item":b.value,"f-un-click":!S.checked,"f-un-select":!!S.raw[y.value],"f-listview-active":I.value&&o(V(S,w))&&e.showActiveWhenMultiSelect||!I.value&&S.raw[a.value]===i.value||I.value&&!e.showActiveWhenMultiSelect&&S.raw[a.value]===i.value,"f-listview-hover":!g.value&&w===C.value,moving:!!S.moving};if(typeof e.itemClass=="string")return $.getCustomClass(h,e.itemClass);if(typeof e.itemClass=="function"){const P=e.itemClass(S);return $.getCustomClass(h,P)}return h}function A(S,w){const h={};if(typeof e.itemStyle=="string")return $.getCustomStyle(h,e.itemStyle);if(typeof e.itemStyle=="function"){const P=e.itemStyle(S);return $.getCustomStyle(h,P)}return h}const M=t.computed(()=>!I.value);function B(S,w,h){S.checked=h,!S.raw[y.value]&&(M.value&&(F.value=S.raw[a.value]),l(S))}const q=t.computed(()=>!I.value||I.value&&v.value==="OnCheckAndClick");function E(S,w,h){if(S.raw[y.value]){h==null||h.preventDefault(),h==null||h.stopPropagation();return}i.value=S.raw[a.value],F.value=S.raw[a.value],T.value=w,q.value&&(l(S),m()),n.emit("clickItem",{data:c.value,index:w,dataItem:S.raw}),n.emit("activeChange",c.value)}return{getKey:V,selectedItems:c,listViewItemClass:x,listViewItemStyle:A,updateSelectedItems:m,onCheckItem:B,onClickItem:E}}const oe=t.defineComponent({name:"FListView",props:xe,emits:["afterSearch","checkValuesChange","clickItem","selectItem","unSelectItem","selectionChange","removeItem","change","activeChange","pageIndexChanged","pageSizeChanged","changed","selectionUpdate"],setup(e,n){var ye;const s=t.ref(!1),r=t.ref(),u=t.ref(!0),f=t.ref(((ye=e.rowOption)==null?void 0:ye.rowHeight)||28),a=t.ref(!1),y=t.ref([]),b=0,I=t.ref(e.columns),v=R.useFilter(e,n),g=R.useIdentify(e),T=R.useHierarchy(e),F=R.useGroupData(e,g),C=R.useDataView(e,new Map,v,T,g),N=R.useSelection(e,C,g,y,n),k=Te(e,r),l=R.usePagination(e,C),i=t.computed(()=>C.dataView.value.length),d=R.useRow(e,n,N,g),c=R.useEdit(e,n,g,d,y),o=R.useVisualDataBound(e,C,f),m=R.useVisualDataCell(e,c,o),V=R.useVisualDataRow(e,C,c,T,g,o,m,f),x=R.useVisualGroupRow(e,g,m,V),A=R.useVisualSummaryRow(e,g,m,V),M=R.useVisualData(e,I,C,i,b,V,x,A),{getVisualData:B}=M;y.value=B(0,i.value+b-1);const q=t.computed(()=>{const O={"f-list-view":!0,"f-list-view-multiple":e.multiSelect};return e.size!=="default"&&(O[`${e.size}-item`]=!0),$.getCustomClass(O,e.customClass)}),E=t.computed(()=>!!n.slots.footer||u.value);function j(){return e.header==="SearchBar"?ae:e.header==="ContentHeader"?Pe:ae}const p=j(),{renderHeader:S}=p(e,n,k,N,C),w=Oe(),h=He(e,n,C,w,y),P=$e(e,n,y,h,w,N),{renderListArea:L}=Ae(e,n,y,C,F,w,N,M,P,h);function _(O){k.search(O)}function ct(O){O&&(C.load(O),y.value=B(0,i.value+b-1))}function ut(){N.clearSelection(),w.clearActiveItem()}function ft(){return P.selectedItems.value}function mt(){return P.selectedItems.value.map(O=>O[g.idField.value])}function he(O){N.selectedValues.value=O,P.updateSelectedItems()}function gt(){return N.currentSelectedDataId.value}function ht(O){d.activeRowById(O)}function yt(O){const D=g.idField.value,z=y.value.find(ne=>ne.raw[D]===O),Q=y.value.findIndex(ne=>ne.raw[D]===O);z&&Q>-1&&P.onClickItem(z,Q)}function pt(O){const D=g.idField.value,z=y.value.find(Q=>Q.raw[D]===O);z&&d.changeRow(z)}function vt(O){l.updatePagination(O)}function bt(O){return y.value.filter(D=>O.includes(D.raw[e.idField]))}n.expose({search:_,updateDataSource:ct,clearSelection:ut,getSelections:ft,updateSelectionByIds:he,getSelectionIds:mt,activeRowById:ht,getCurrentRowId:gt,clickRowItemById:yt,updatePagination:vt,getVisibleDataByIds:bt,selectRowById:pt}),t.watch(()=>e.selectionValues,(O,D)=>{O!==D&&he(O)});const Ct=R.useSidebar(e,N),{sidebarWidth:St,showSidebarCheckBox:Zt}=Ct,wt=R.useColumn(e,n),{applyColumnSorter:en,columnContext:Vt,updateColumnRenderContext:tn}=wt;return R.useVirtualScroll(e,C,y,Vt,M,i,b,St,f,s,c),()=>t.createVNode("div",{class:q.value},[S(),t.createVNode("div",{ref:r,class:"f-list-view-content",onMouseover:()=>{a.value||(a.value=!0)},onMouseleave:()=>{a.value&&(a.value=!1)}},[L()]),E.value&&t.createVNode("div",{class:"f-list-view-footer"},[e.footerTemplate?e.footerTemplate():n.slots.footer&&n.slots.footer()])])}}),Re={$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:"点击事件"}},Le=new Map([["appearance",G.resolveAppearance]]);function je(e,n,s){return Object.assign(n,{text:"按钮",appearance:{class:"btn btn-secondary"}}),n}const re={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}};G.createPropsResolver(re,Re,Le,je);function Ee(e,n){function s(r){r.stopPropagation(),e.disabled||n.emit("click",r)}return{onClickButton:s}}function qe(e){const n=t.computed(()=>{const r={"f-icon":!0};if(e.icon){const u=e.icon.trim().split(" ");u&&u.length&&u.reduce((f,a)=>(f[a]=!0,f),r)}return r}),s=t.computed(()=>!!(e.icon&&e.icon.trim()));return{iconClass:n,shouldShowIcon:s}}const se=t.defineComponent({name:"FButton",props:re,emits:["click"],setup(e,n){const{onClickButton:s}=Ee(e,n),{iconClass:r,shouldShowIcon:u}=qe(e),f=t.computed(()=>{const a={btn:!0,"btn-lg":e.size==="large","btn-md":e.size!=="large"&&e.size!=="small","btn-sm":e.size==="small","btn-icontext":u.value};return a[`btn-${e.type}`]=!0,e.customClass&&(typeof e.customClass=="string"?$.getCustomClass(a,e.customClass):Object.keys(e.customClass).reduce((y,b)=>(y[b]=e.customClass[b],y),a)),a});return()=>e.visible?t.createVNode("button",t.mergeProps($.extractDataAttrs(n.attrs),{id:e.id,class:f.value,disabled:e.disabled,style:e.customStyle,onClick:a=>s(a)}),[u.value&&t.createVNode("i",{class:r.value},null),e.text?e.text:"",n.slots.default&&n.slots.default()]):null}}),de=new Map([["appearance",G.resolveAppearance]]),ce={$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"},dataSource:{description:"",type:"string"},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"},beforeHide:{description:"关闭下拉面板前回调",type:"string"},onShown:{description:"面板打开事件",type:"string"},onHidden:{description:"面板关闭事件",type:"string"},onChange:{description:"值变化事件",type:"string",default:""},onInput:{description:"输入事件",type:"string",default:""},onClear:{description:"清空事件",type:"string",default:""},onDataChanged:{description:"清空事件",type:"string",default:""},hideDisabledItems:{description:"隐藏禁用项",type:"boolean",default:!1},expandable:{description:"",type:"boolean",default:!1},expandMode:{description:"",type:"string",default:"text"},expandContent:{description:"",type:"string",default:""},expandDisabled:{description:"",type:"boolean",default:!1},onExpandClick:{description:"",type:"string",default:""},showSelectAll:{description:"",type:"boolean",default:!1}},required:["type"],ignore:["id","appearance","binding","visible"],events:{onClear:"清空事件",onShown:"面板打开事件",onHidden:"面板关闭事件",onChange:"值变化事件",beforeOpen:"打开面板前事件",beforeHide:"关闭面板前事件"}};function ue(e,n,s){return n}function _e(){function e(n,s,r){const u={};return u.beforeOpen=f=>s.call("beforeOpen",n,[f,n],r),u}return{resolve:e}}const Y={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},showSelectAll:{type:Boolean,default:!1},modelValue:{type:String,default:""},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},popupClass:{type:String,default:""},hideDisabledItems:{type:Boolean,default:!1}},De=Object.assign({},Y,{readonly:{}});G.createPropsResolver(Y,ce,de,ue);const fe=G.getPropsResolverGenerator(Y,ce,de,ue),Ge=_e(),Ue={dataSource:{type:Array,default:[]},enableSearch:{type:Boolean,default:!1},idField:{type:String,default:"id"},multiSelect:{type:Boolean,default:!1},showSelectAll:{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}},ze=t.defineComponent({name:"FComboListContainer",props:Ue,emits:["selectionChange"],setup(e,n){const s=t.ref(),r=t.ref(e.dataSource),u=t.ref(e.dataSource),f=t.ref([]),a=t.ref(e.separator),y=t.ref(e.width),b=t.ref(e.maxHeight),I=t.computed(()=>e.multiSelect),v=t.ref(e.multiSelect?String(e.selectedValues).split(a.value):[e.selectedValues]),g=t.computed(()=>({enableSelectRow:!0,multiSelect:e.multiSelect,multiSelectMode:"OnCheckAndClick",showCheckbox:I.value,showSelectAll:e.showSelectAll,showSelection:!0}));t.watch(e.dataSource,()=>{r.value=e.dataSource,u.value=e.dataSource}),t.computed(()=>e.enableSearch?"SearchBar":"ContentHeader");const T=t.computed(()=>{const l={};return y.value!==void 0&&(l.width=`${y.value}px`),b.value!==void 0&&b.value>0&&(l.maxHeight=`${b.value}px`),l});function F(l){s.value.search(l)}function C(l){f.value=l.map(i=>Object.assign({},i)),v.value=l.map(i=>i[e.idField]),n.emit("selectionChange",f.value)}function N(l){if(e.enableHighlightSearch)return;let i=[];const{searchOption:d}=e;typeof d=="function"?i=r.value.filter(c=>d(l,c)):i=r.value.filter(c=>c[e.valueField].indexOf(l)>-1||c[e.textField].indexOf(l)>-1),s.value.updateDataSource(i)}t.watch([()=>e.selectedValues],([l])=>{e.multiSelect?l===null?v.value=[]:v.value=String(l).split(a.value):l===null?v.value=[]:v.value=[l]});function k(l){s.value.activeRowById(l)}return t.onMounted(()=>{var l,i;if(!e.multiSelect){const d=(l=v.value)==null?void 0:l[0];let c=d;const o=r.value.map(m=>m[e.valueField||e.idField]);if(!be.isUndefined(d)&&o.includes(d)){const m=typeof d,V=typeof((i=r.value[0])==null?void 0:i[e.valueField||e.idField]);V==="number"&&m!==V&&(c=Number(d)),V==="boolean"&&m!==V&&(c=d==="true"?!0:d==="false"?!1:d),k(c)}}}),n.expose({search:F,activeRowById:k}),()=>t.createVNode("div",{class:"f-combo-list-container",style:T.value},[t.createVNode(ve,{ref:s,size:"small",itemClass:"f-combo-list-item",itemContentClass:"text-truncate",header:"ContentHeader",headerClass:"f-combo-list-search-box",data:r.value,idField:e.idField,textField:e.textField,titleField:e.titleField,multiSelect:e.multiSelect,selection:g.value,enableHighlightSearch:e.enableHighlightSearch,selectionValues:v.value,onSelectionUpdate:C,onAfterSearch:N},null)])}}),me={property:"all",duration:.3,timingFunction:"cubic-bezier(0.17, 0.89, 0.45, 1)",delay:0},We=(e,n)=>{const s=e.lineHeight/2,r=$.useTouchMomentum({maxOverflowY:44}),u=t.reactive({...me}),f=c=>{n.emit("change",c)},a=t.reactive({value:0,max:0,min:0,start:0,index:0,currentItem:void 0,active:!1}),y=()=>{a.max=e.visiableOptionCount/2*e.lineHeight;const c=e.column.length*e.lineHeight;a.min=a.max-c+e.lineHeight},b=(c=0)=>{y(),a.index=c,a.value=a.max-c*e.lineHeight,a.currentItem=e.column[c]},I=c=>{const o=e.column.length-1,m=Math.min(a.index,o),V=e.column.findIndex(x=>x[e.valueField]===c);return V>=0?V:m},v=c=>{const o=e.column.length-1;return a.index>o?e.column[o]:e.column[c]},g=c=>{c&&(a.currentItem=c,u.duration=0);const o=a.currentItem[e.valueField],m=I(o),V=v(a.index)[e.valueField];b(m),o!==V&&setTimeout(()=>{f(a.currentItem)},u.duration*1e3)},T=()=>{const c=Array.isArray(e.value)?e.value[0]:e.value;b(I(c))};T(),t.watch(()=>e.value,()=>{e.multiSelect||T()}),t.watch(()=>e.column,()=>g());const F=(c,o=a.max,m=a.min)=>{const V=a.start+c;a.value=V>s?Math.min(V,o):Math.max(V,m),a.index=Math.round((a.max-a.value)/e.lineHeight),a.currentItem=v(a.index)},C=$.useTouch(),N=c=>{C.start(c),a.active=!0,a.start=a.value,r.start(a.start),u.duration=0},k=c=>{c.preventDefault(),C.move(c),F(C.deltaY.value,a.max+e.lineHeight,a.min-e.lineHeight),r.move(C.deltaY.value),u.duration=me.duration},l=c=>{const o=c<0,m=c%e.lineHeight>s?1:0,V=Math.floor(c/e.lineHeight);return(o?V-m:V+m)*e.lineHeight+s};return{translateY:a,transition:u,onTouchStart:N,onTouchMove:k,onTouchEnd:()=>{a.start=0;const c=r.end();let o=0;if(c){const{destination:m,duration:V}=r.get(a.value,a.min,a.max);o=m,u.duration=V/1e3}else o=a.value;F(l(o)),f(a.currentItem)},onTransitionend:()=>{a.active=!1},updateTranslate:g}},Ye={column:{type:Array,default:()=>[]},valueField:{type:String,default:"value"},textField:{type:String,default:"text"},value:{type:[Array,String,Number],default:()=>[]},multiSelect:{type:Boolean,default:!1},showIcon:{type:Boolean,default:!1},lineHeight:{type:Number,default:0},visiableOptionCount:{type:Number,default:5}},Xe=t.defineComponent({props:Ye,emits:["change","click"],setup(e,n){const{addUnit:s}=$.useCommonUtils(),{bem:r}=$.useBem("FComboTouchList"),{translateY:u,transition:f,onTouchStart:a,onTouchMove:y,onTouchEnd:b,onTransitionend:I}=We(e,n),v=F=>{n.emit("click",F)},g=t.computed(()=>({transform:`translateY(${s(u.value)})`,transition:`all ${u.active?f.duration:0}s ${f.timingFunction} 0s`})),T=F=>e.showIcon?Array.isArray(e.value)&&e.value.includes(F[e.valueField]):!1;return()=>t.createVNode("div",{class:r("column"),style:g.value,onTouchstart:a,onTouchmove:y,onTouchend:b,onTransitionend:I},[e.column.map(F=>t.createVNode("div",{class:r("column-item"),onClick:()=>v(F)},[t.createVNode("span",null,[F[e.textField]]),T(F)&&t.createVNode("span",{class:`f-icon f-icon-check ${r("column-item-icon")}`},null)]))])}}),Ke={modelValue:{type:[String,Array],default:""},columns:{type:Array,default:()=>[]},title:{type:String,default:""},valueField:{type:String,default:"value"},textField:{type:String,default:"text"},childrenField:{type:String,default:"children"},multiSelect:{type:Boolean,default:!1},lineHeight:{type:Number,default:44},cancelText:{type:String,default:"取消"},confirmText:{type:String,default:"确定"},optionFormatter:{type:Function,default:void 0},visiableOptionCount:{type:Number,default:5},showToolbar:{type:Boolean,default:!0},separator:{type:String,default:","}},Je=(e,n)=>{const{finalValue:s,initValue:r,setSelectedByIndex:u,getSelectedValueByIndex:f}=n,{isArray:a,isFunction:y,isObject:b}=$.useCommonUtils(),I=o=>o&&o[0],v=t.computed(()=>{var o;return((o=e.columns)==null?void 0:o.length)>0&&a(e.columns[0])}),g=o=>{if((o==null?void 0:o.length)===0)return!1;const m=I(o);return m&&a(m[e.childrenField])},T=(o,m)=>{const V=I(o),x=f(m);let A=o.find(B=>B[e.valueField]===x);A=A||V;const M=A[e.childrenField]||[];if(g(M)){const B=T(M,m+1);return[M,...B]}return[M]},F=()=>{const o=e.columns,m=T(o,0);return[o,...m]},C=(o,m)=>{const V=o[e.textField];return y(e.optionFormatter)?e.optionFormatter(m,o):V},N=(o,m)=>o.map(V=>{const x=b(V)?V:{[e.valueField]:V,[e.textField]:V};return x[e.textField]=C(x,m),x}),k=t.computed(()=>{let o=[];return v.value?o=e.columns:g(e.columns)?o=F():o=[e.columns],o.map(N)}),l=()=>k.value.map((o,m)=>{const V=s.value[m];return o.find(A=>A[e.valueField]===V)}).filter(o=>o),i=()=>l().map(o=>o[e.valueField]),d=()=>l().map(o=>o[e.textField]).join("-"),c=()=>{k.value.forEach((o,m)=>{if(e.multiSelect)s.value[m].forEach(x=>{const A=o.find(M=>M[e.valueField]===x);A&&u(m,A)});else{const V=s.value[m],x=o.find(A=>A[e.valueField]===V);x?u(m,x):u(m,I(o))}})};return t.watch(()=>e.modelValue,()=>{r(e.modelValue),c()},{immediate:!0}),{columns:k,getPickeds:l,getValue:i,getTextValue:d}},Qe=e=>{const{isArray:n,isMultiArray:s,isString:r,isDef:u}=$.useCommonUtils(),f=l=>{let i=[];return n(l)?i=l:r(l)?i=l.split(e.separator):u(l)&&(i=[l]),e.multiSelect?s(i)?i:[i]:i},a=t.ref([]),y=l=>{a.value=f(l)},b=t.reactive([]),I=t.computed(()=>b.map(l=>l[e.valueField])),v=t.reactive([]),g=t.computed(()=>v.map(l=>l.map(i=>i[e.valueField])));return{finalValue:a,initValue:y,getSelected:()=>e.multiSelect?v:b,getSelectedValue:()=>e.multiSelect?g.value:I.value,setSelectedByIndex:(l,i)=>{if(e.multiSelect){const d=v[l]||[];d.includes(i)?v[l]=d.filter(c=>c!==i):v[l]=[...d,i]}else b[l]=i},getSelectedByIndex:l=>e.multiSelect?v[l]:b[l],getSelectedValueByIndex:l=>e.multiSelect?g.value[l]:I.value[l]}},Ze=t.defineComponent({props:Ke,emits:["change","confirm","cancel","update:modelValue"],setup(e,n){const{emit:s}=n,{addUnit:r}=$.useCommonUtils(),u=Qe(e),{finalValue:f,getSelectedValue:a,getSelectedValueByIndex:y,getSelected:b,setSelectedByIndex:I}=u,{columns:v}=Je(e,u),g=(d,c=!0)=>{const{value:o,index:m}=d;(c&&!e.multiSelect||!c&&e.multiSelect)&&(s("change",d),I(m,o))},T=()=>{f.value=a(),s("confirm",b()),s("update:modelValue",f.value)},F=()=>{s("cancel")},{bem:C}=$.useBem("FComboTouchList"),N=()=>t.createVNode("div",{class:C("toolbar")},[t.createVNode("div",{class:C("toolbar-left"),onClick:F},[t.createVNode("span",null,[e.cancelText])]),t.createVNode("div",{class:C("toolbar-title")},[t.createVNode("span",null,[e.title])]),t.createVNode("div",{class:C("toolbar-right"),onClick:T},[t.createVNode("span",null,[e.confirmText])])]),k=t.computed(()=>{const d=(e.visiableOptionCount+1)*e.lineHeight;return{height:r(d)}}),l=t.computed(()=>{const d=e.visiableOptionCount*e.lineHeight/2;return{backgroundSize:`100% ${r(d)}`}}),i=()=>t.createVNode("div",{class:C("content")},[t.createVNode("div",{class:C("columns"),style:k.value},[v.value.map((d,c)=>t.createVNode(Xe,{column:d,value:y(c),showIcon:e.multiSelect,textField:e.textField,multiSelect:e.multiSelect,valueField:e.valueField,lineHeight:e.lineHeight,visiableOptionCount:e.visiableOptionCount,onChange:o=>g({value:o,index:c}),onClick:o=>g({value:o,index:c},!1)},null)),!e.multiSelect&&t.createVNode("div",{class:C("mask"),style:l.value},null),t.createVNode("div",{class:C("frame")},null)])]);return()=>t.createVNode("div",{class:C("")},[e.showToolbar&&N(),i()])}});function et(e,n){const s=t.ref(""),r=t.ref(e.modelValue),u=t.ref(e.data||[]),f=t.ref(e.editable),a=t.computed(()=>e.hideDisabledItems?u.value.filter(l=>!l.disabled):u.value);function y(l){const i=e.multiSelect?String(l).split(e.separator):[String(l)],d=i.map(m=>[m,!0]),c=new Map(d);return u.value.filter(m=>c.has(String(m[e.valueField]))).sort((m,V)=>{const x=i.indexOf(m[e.valueField]),A=i.indexOf(V[e.valueField]);return x-A})}function b(l){const i=y(l).map(d=>d[e.textField]).join(e.separator);s.value=f.value?i||l:i}function I(l){if(e.multiSelect){const i=l.split(e.separator).map(c=>[c,!0]),d=new Map(i);return u.value.filter(c=>d.has(c[e.textField]))}return u.value.filter(i=>""+i[e.textField]===l)}function v(l){const i={};return i[e.idField]=l,i[e.textField]=l,[i]}function g(l){let i=I(l);const d=i&&i.length>0;return f.value&&!d&&(i=v(l)),i}function T(){const{url:l,method:i="GET",headers:d={"Content-Type":"application/json;charset=utf-8;"},body:c=null}=e.remote;if(!l)return;const{basePath:o}=$.useFarrisConfig().value,m=i.toLowerCase()==="get"?{method:i,headers:d}:{method:i,headers:d,body:c};let V=!1;fetch(new Request(o+l,m)).then(x=>{var M,B;if(x.status===200)return V=!!((B=(M=x.headers)==null?void 0:M.get("content-type"))!=null&&B.includes("application/json")),V?x.text():x.json();throw x.status===405?new Error(Z.LocaleService.getLocaleValue("comboList.remoteError")):new Error(x.statusText)}).then(x=>{x.length&&(u.value=V?JSON.parse(x):x,r.value&&b(r.value))}).catch(x=>{console.warn(x)})}e.remote&&(e.load?e.load().then(l=>{u.value=l}).catch(l=>{console.log(l)}):T()),t.watch(()=>e.data,()=>{u.value=e.data}),t.watch([u],([l],[i])=>{if(e.modelValue!=null&&!e.multiSelect){const d=l.find(c=>c[e.valueField]===r.value);d?d[e.valueField]!==r.value?(r.value=d[e.valueField],s.value=d[e.textField],n.emit("update:modelValue",d[e.valueField]),n.emit("change",[d],d[e.valueField])):s.value!==d[e.textField]&&(s.value=d[e.textField]):r.value!==""&&(r.value="",s.value="",n.emit("update:modelValue",""),n.emit("change",[],""))}}),t.watch(()=>e.modelValue,(l,i)=>{i!==l&&(r.value=l,b(l))});function F(l){u.value=l,n.emit("dataChanged",l)}function C(){return u.value}function N(){return s.value}async function k(){const l=typeof e.beforeOpen=="function";return!e.beforeOpen||!l?Promise.resolve(!0):Promise.resolve().then(()=>e.beforeOpen({instance:{updateDataSource:F,getData:C,getDisplayText:N}})).then(i=>typeof(i==null?void 0:i.canOpen)=="boolean"?i==null?void 0:i.canOpen:!0)}return b(e.modelValue),{dataSource:u,filteredDataSource:a,displayText:s,editable:f,modelValue:r,beforeOpenList:k,getItemsByDisplayText:I,getItemsByValue:y,getSelectedItemsByDisplayText:g}}const tt=["moz","ms","webkit"];function nt(){let e=0;return n=>{const s=new Date().getTime(),r=Math.max(0,16-(s-e)),u=setTimeout(()=>{n(s+r)},r);return e=s+r,u}}function lt(){if(typeof window>"u")return()=>0;if(window.requestAnimationFrame)return window.requestAnimationFrame.bind(window);const e=tt.filter(n=>`${n}RequestAnimationFrame`in window)[0];return e?window[`${e}RequestAnimationFrame`]:nt()}lt(),t.ref("");function te(){if(typeof window>"u"||typeof navigator>"u")return!1;const e=navigator.userAgent||navigator.vendor||window.opera,n=[/iPhone/i,/iPod/i,/Android.*Mobile/i,/webOS/i,/BlackBerry/i,/IEMobile/i,/Opera Mini/i,/Harmony/i],s=[/iPad/i,/Android(?!.*Mobile)/i,/Tablet/i,/PlayBook/i,/Kindle/i,/Silk/i];for(const b of s)if(b.test(e))return!1;for(const b of n)if(b.test(e))return!0;if(typeof screen>"u")return!1;const r="ontouchstart"in window||navigator.maxTouchPoints>0,u=screen.width,f=screen.height,a=Math.min(u,f);return!!(r&&a<=768)}function it(){const e=te();return e&&document.body.classList.add("f-mobile"),e}typeof document<"u"&&it();const X=t.defineComponent({name:"FComboList",props:Y,emits:["clear","update:modelValue","change","input","dataChanged","expandClick","hidden","shown"],setup(e,n){const s=t.ref(),r=t.ref(),u=t.ref(e.disabled||e.readonly),f=t.ref(e.enableClear),a=t.ref(e.enableSearch),y=t.ref(e.readonly),{dataSource:b,displayText:I,editable:v,modelValue:g,filteredDataSource:T,getItemsByDisplayText:F,getItemsByValue:C,beforeOpenList:N}=et(e,n),k=t.ref(e.dropDownIcon);k.value==='<span class="f-icon f-icon-arrow-chevron-down"></span>'&&(k.value='<span id="'+e.id+'-icon-dropdown" class="f-icon f-icon-arrow-chevron-down"></span>');const l=t.computed(()=>e.multiSelect),i=t.computed(()=>r.value?r.value.elementRef.getBoundingClientRect().width:0);function d(){!l.value&&r.value&&r.value.hidePopup()}function c(w){I.value=w.map(P=>P[e.textField]).join(e.separator)||g.value;let h="";w.length===1?h=w[0][e.valueField]:h=w.map(P=>P[e.valueField]).join(e.separator),g.value!==h&&(g.value=h,n.emit("update:modelValue",g.value),n.emit("change",w,g.value))}function o(){const w=C(g.value);c(w)}function m(){y.value||I.value}function V(w){var h;g.value="",(h=s.value)==null||h.activeRowById(""),n.emit("clear")}function x(w){var h,P;e.enableSearch&&e.enableHighlightSearch&&((h=s.value)==null||h.search(w)),(P=s.value)==null||P.activeRowById(w),n.emit("change",[g.value],g.value)}function A(w){if(e.multiSelect){const h=F(w);e.viewType;const L=h.map(_=>_[e.idField||e.valueField]).join(e.separator);g.value!==L&&(g.value=L,n.emit("update:modelValue",g.value),n.emit("change",h,g.value))}else w!==g.value&&(g.value=w,n.emit("update:modelValue",g.value),n.emit("change",[],w))}function M(){return I.value}function B(w){const{value:h}=w.target;x(h),n.emit("input",h)}function q(){r.value.hidePopup()}function E(w){b.value=w}function j(){return b.value}const p={getDisplayText:M,hidePopup:q,updateDataSource:E,getData:j};n.expose(p),t.watch([()=>e.disabled,()=>e.editable,()=>e.enableClear,()=>e.enableSearch,()=>e.readonly],([w,h,P,L,_])=>{u.value=w,v.value=h,f.value=P,a.value=L,y.value=_});const S=()=>{n.emit("expandClick")};return()=>t.createVNode(pe,{ref:r,id:e.id,disable:u.value,readonly:y.value,forcePlaceholder:e.forcePlaceholder,editable:v.value,buttonContent:k.value,placeholder:e.placeholder==="请选择"?Z.LocaleService.getLocaleValue("comboList.placeholder"):e.placeholder,enableClear:f.value,maxLength:e.maxLength,tabIndex:e.tabIndex,enableTitle:e.enableTitle,multiSelect:e.multiSelect,inputType:e.multiSelect?e.viewType:"text",modelValue:I.value,"onUpdate:modelValue":w=>I.value=w,focusOnCreated:e.focusOnCreated,selectOnCreated:e.selectOnCreated,onClear:V,onClick:m,onChange:A,onBlur:o,onInput:B,beforeOpen:N,placement:te()?"bottom":e.placement,popupMinWidth:e.minPanelWidth,popupClass:"f-combo-list-wrapper",popupOnClick:e.popupOnClick,limitContentBySpace:!0,expandable:e.expandable,expandMode:e.expandMode,expandContent:e.expandContent,expandDisabled:e.expandDisabled,onExpandClick:S,onHidden:()=>n.emit("hidden"),onShown:()=>n.emit("shown")},{default:()=>[te()?t.createVNode(Ze,{modelValue:g.value,valueField:e.valueField,textField:e.textField,columns:b.value,multiSelect:e.multiSelect,separator:e.separator,onConfirm:w=>{const h=e.multiSelect?w[0]||[]:w;c(h),r==null||r.value.hidePopup()},onCancel:()=>{r==null||r.value.hidePopup()}},null):t.createVNode(ze,{class:e.popupClass,ref:s,idField:e.idField,valueField:e.valueField,textField:e.textField,titleField:e.titleField,dataSource:T.value,selectedValues:g.value,separator:e.separator,multiSelect:e.multiSelect,showSelectAll:e.showSelectAll,enableSearch:a.value,maxHeight:e.maxHeight,enableHighlightSearch:e.enableHighlightSearch,width:e.fitEditor?i.value:void 0,onSelectionChange:w=>{c(w),d()}},null)]})}}),ge={convertFrom:(e,n)=>(e.editor.remote||{})[n],convertTo:(e,n,s)=>{e.editor.remote=e.editor.remote||{},e.editor.remote[n]=s}};class at extends Se.InputBaseProperty{constructor(n,s){super(n,s)}getCommonEditorProperties(n){var s,r,u,f;return{showSelectAll:{visible:!!((s=n.editor)!=null&&s.multiSelect),description:"多选模式下是否显示全选复选框",title:"启用全选",type:"boolean",default:!1,refreshPanelAfterChanged:!0},viewType:{visible:!!((r=n.editor)!=null&&r.multiSelect),description:"数据展示类型,有标签和文本两种方式",title:"数据展示类型",type:"enum",editor:{data:[{id:"tag",name:"标签"},{id:"text",name:"文本"}]},refreshPanelAfterChanged:!0},separator:{visible:!!((u=n.editor)!=null&&u.multiSelect)&&((f=n.editor)==null?void 0:f.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},hideDisabledItems:{description:"当数据项禁用时,隐藏数据项",title:"隐藏禁用项",type:"boolean",refreshPanelAfterChanged:!0}}}getEditorProperties(n){var b,I,v,g,T,F,C,N,k,l,i,d,c;const s=this;let r="";if(((b=n==null?void 0:n.binding)==null?void 0:b.type)==="Form"){const o=this.schemaService.getFieldByIDAndVMID(n.binding.field,this.viewModelId);(I=o==null?void 0:o.schemaField)!=null&&I.type&&(r=o.schemaField.type.$type)}const u=this.getPropertyEditorParams(n,["Variable"]),f=!n.editor.dataSourceType||n.editor.dataSourceType==="static",a=(((g=(v=this.designViewModelField)==null?void 0:v.type)==null?void 0:g.$type)===$.FormSchemaEntityFieldType$Type.StringType||!!this.formRule&&((T=this.designerHostService.schemaService.getFieldByID(n.binding.field))==null?void 0:T.type.$type)===$.FormSchemaEntityFieldType$Type.StringType)&&((F=n.editor)==null?void 0:F.type)==="combo-list"&&((C=n.editor)==null?void 0:C.dataSourceType)==="dynamic"&&!((k=(N=n.editor)==null?void 0:N.remote)!=null&&k.url)&&!((l=n.editor)!=null&&l.multiSelect);return s.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},dataSource:{description:"动态数据源绑定变量",visible:a,title:"数据",editor:{...u,controlName:"",enableClear:!0},refreshPanelAfterChanged:!0},data:{description:"",title:"数据",type:"array",visible:f,...s.getItemCollectionEditor(n,n.editor.valueField,n.editor.textField),refreshPanelAfterChanged:!0},url:{visible:n.editor.dataSourceType==="dynamic"&&!((i=n.editor)!=null&&i.dataSource),$converter:ge,description:"",title:"服务端API",type:"string",refreshPanelAfterChanged:!0},body:{visible:!1,$converter:ge,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:!r||r==="StringType",readonly:((d=n.editor)==null?void 0:d.dataSourceType)==="dynamic"&&!!((c=n.editor)!=null&&c.dataSource),type:"boolean",refreshPanelAfterChanged:!0},maxLength:{description:"",title:"最大输入长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,needValid:!0}},...this.getCommonEditorProperties(n)},(o,m)=>{if(!o||!m.editor)return;const V=this;switch(o.propertyID){case"dataSourceType":{o.propertyValue==="static"?(m.editor.valueField="value",m.editor.textField="name",m.editor.remote=null):o.propertyValue==="dynamic"&&(m.editor.remote={method:"GET"},m.editor.valueField="value",m.editor.textField="name");break}case"data":{!V.checkEnumDataReadonly(m)&&m.formatter&&(m.formatter.data=[...o.propertyValue]);break}case"viewType":{o.propertyValue==="tag"&&(m.editor.editable=!1);break}case"dataSource":V.afterMutilEditorChanged(m,o);break}})}getGridFieldEdtiorProperties(n,s){var b,I,v,g,T,F,C,N,k,l,i,d,c;const r=this;let u="";if(((b=n==null?void 0:n.binding)==null?void 0:b.type)==="Form"){const o=this.schemaService.getFieldByIDAndVMID(n.binding.field,this.viewModelId);(I=o==null?void 0:o.schemaField)!=null&&I.type&&(u=o.schemaField.type.$type)}const f=((g=(v=this.designViewModelField)==null?void 0:v.type)==null?void 0:g.$type)===$.FormSchemaEntityFieldType$Type.StringType&&((T=n.editor)==null?void 0:T.type)==="combo-list"&&((F=n.editor)==null?void 0:F.dataSourceType)==="dynamic"&&!((C=n.editor)!=null&&C.multiSelect),a=this.getPropertyEditorParams(n,["Variable"]);return r.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},dataSource:{description:"动态数据源绑定变量",visible:f,title:"数据",editor:{...a,controlName:"",enableClear:!0},refreshPanelAfterChanged:!0},data:{description:"",title:"数据",type:"array",visible:!((N=n.editor)!=null&&N.dataSourceType)||((k=n.editor)==null?void 0:k.dataSourceType)==="static",...r.getItemCollectionEditor(n,(l=n.editor)==null?void 0:l.valueField,(i=n.editor)==null?void 0:i.textField),refreshPanelAfterChanged:!0},textField:{description:"",title:"数据源显示字段",type:"string",readonly:!0},valueField:{description:"",title:"数据源值字段",type:"string",readonly:!0},multiSelect:{description:"",title:"启用多选",visible:u==="StringType",readonly:((d=n.editor)==null?void 0:d.dataSourceType)==="dynamic"&&!!((c=n.editor)!=null&&c.dataSource),type:"boolean",refreshPanelAfterChanged:!0},maxLength:{description:"",title:"最大输入长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,needValid:!0}},...this.getCommonEditorProperties(n)},(o,m)=>{if(!o||!m.editor)return;const V=this;switch(o.propertyID){case"dataSourceType":{o.propertyValue==="static"?(m.editor.valueField="value",m.editor.textField="name",m.editor.remote=null):o.propertyValue==="dynamic"&&(m.editor.remote={method:"GET"},m.editor.valueField="value",m.editor.textField="name");break}case"data":{!V.checkEnumDataReadonly(m)&&m.formatter&&(m.formatter.data=[...o.propertyValue]);break}case"dataSource":V.afterMutilEditorChanged(m,o)}})}setEditorPropertyRelates(n,s,r){if(!n||!s.editor)return;const u=this;switch(n.propertyID){case"dataSourceType":{n.propertyValue==="static"&&(s.editor.valueField="value",s.editor.textField="name",s.editor.remote={});break}case"data":{!u.checkEnumDataReadonly(s)&&s.formatter&&(s.formatter.data=[...n.propertyValue]);break}}}changeBindingField(n,s,r){var f;super.changeBindingField(n,s);const u=r;n.editor&&((f=u==null?void 0:u.type)==null?void 0:f.$type)===$.FormSchemaEntityFieldType$Type.EnumType&&(n.editor.data=u.type.enumValues||[])}getEventPropertyConfig(n,s="card",r,u){const f=this;let a=[{label:"onChange",name:"值变化事件"},{label:"beforeOpen",name:"打开面板前事件"},{label:"beforeHide",name:"关闭面板前事件"},{label:"onShown",name:"面板打开事件"},{label:"onHidden",name:"面板关闭事件"}];a=[...a,...this.getInputCommonEvents(n)],r&&(a=a.concat(r)),this.formRule&&(a=a.filter(v=>v.label!=="onChange")),this.appendFieldValueChangeEvents(n,a);const y=f.eventsEditorUtils.formProperties(n,f.viewModelId,a);return{title:"事件",hideTitle:!0,properties:f.createBaseEventProperty(y),tabId:$.EVENT_PROPERTY_TAB_IDS,tabName:"交互",setPropertyRelates(v,g){const T=v.propertyValue;delete n[f.viewModelId],T&&(T.setPropertyRelates=this.setPropertyRelates,f.eventsEditorUtils.saveRelatedParameters(n,f.viewModelId,T.events,T),f.updateLinkedLabel(T,g)),u&&u(v,g,T);const F=f.designViewModelUtils.getDgViewModel(f.viewModelId);F&&f.designViewModelField&&F.changeField(f.designViewModelField.id,{valueChanging:n.fieldValueChanging||"",valueChanged:n.fieldValueChanged||""}),n.editor.onShown=n.onShown,n.editor.onHidden=n.onHidden,n.editor.beforeHide=n.beforeHide,n.editor.beforeOpen=n.beforeOpen,n.editor.onChange=n.onChange,n.editor.onClear=n.onClear}}}}function ot(e,n){const s=e.schema;function r(u,f){return new at(u,n).getPropertyConfig(s,f)}return{getPropsConfig:r}}const rt=t.defineComponent({name:"FComboListDesign",props:De,emits:["clear","update:modelValue","change"],setup(e,n){const s=t.ref(),r=t.inject("designer-host-service"),u=t.inject("design-item-context"),f=ot(u,r),a=le.useDesignerComponent(s,u,f);return t.onMounted(()=>{s.value.componentInstance=a}),n.expose(a.value),()=>t.createVNode(Ce,{ref:s,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)}});X.register=(e,n,s,r,u)=>{e["combo-list"]=X,n["combo-list"]=fe(u),r["combo-list"]={callbackResolver:Ge}},X.registerDesigner=(e,n,s,r)=>{e["combo-list"]=rt,n["combo-list"]=fe(r)};const K=$.withInstall(X),J=t.defineComponent({name:"FOrder",props:W,emits:["change"],setup(e,n){const s=t.ref(),r=t.ref(e.items);function u(){var d;const i=Array.isArray(e.items)?e.items:[];r.value=[...i],(d=s.value)==null||d.updateDataSource(r.value)}t.watch(()=>e.items,u);const f=t.ref("排序列"),a=t.ref("排序方式"),y=t.ref("添加排序列"),b=[{id:"asc",name:"升序"},{id:"desc",name:"降序"}],I=t.ref(new Map);function v(){const i=r.value.map(d=>[d.id,!0]);I.value=new Map(i)}v();const g=t.computed(()=>e.dataSource.map(i=>(i.disabled=I.value.has(i.id),i))),T=t.computed(()=>({"f-order":!0}));function F(i){r.value=r.value.filter(d=>d.id!==i.id),v(),n.emit("change",r.value)}function C(){r.value=[...r.value,{id:Date.now().toString(),name:"",order:"asc"}],v(),n.emit("change",r.value)}function N(i){if(i&&i.length===1){const d=i[0],c=r.value.find(o=>o.id===d.id);c&&(c.name=d.name)}v(),n.emit("change",r.value)}function k(i){if(i&&i.length){const d=new Map;i.reduce((c,o)=>(c.set(o.id,o),c),d),r.value=i.map(c=>d.get(c.id)),n.emit("change",r.value)}}function l(){return t.createVNode(oe,{ref:s,style:"flex:1",data:r.value,draggable:!0,view:"DraggableView","keep-order":!0,itemClass:"f-order-item",onRemoveItem:F,onChange:k},{header:()=>t.createVNode("div",{class:"f-order-header"},[t.createVNode("span",{class:"f-order-header-order-field"},[f.value]),t.createVNode("span",{class:"f-order-header-order-type"},[a.value])]),itemContent:i=>t.createVNode("div",{class:"f-order-item-content"},[t.createVNode(K,{class:"f-order-item-content-order-field",data:g.value,valueField:"id",textField:"name",idField:"id",modelValue:i.raw.id,"onUpdate:modelValue":d=>i.raw.id=d,onChange:N,onClear:N},null),t.createVNode(K,{class:"f-order-item-content-order-type",data:b,valueField:"id",textField:"name",idField:"id",modelValue:i.raw.order,"onUpdate:modelValue":d=>i.raw.order=d,onChange:N},null)]),footer:()=>t.createVNode("div",{class:"f-order-footer"},[t.createVNode(se,{type:"link",class:"f-order-add-button",onClick:C},{default:()=>t.createVNode(t.Fragment,null,[t.createVNode("span",{class:"f-order-add-icon"},[t.createVNode("i",{class:"f-icon f-icon-add"},null)]),y.value])})])})}return()=>t.createVNode("div",{class:T.value},[l()])}}),st=t.defineComponent({name:"FOrderDesign",props:W,emits:["change"],setup(e,n){const s=t.ref(e.items),r=t.ref("排序列"),u=t.ref("排序方式"),f=t.ref("添加排序列"),a=[{id:"asc",name:"升序"},{id:"desc",name:"降序"}],y=t.ref(new Map),b=t.ref(),I=t.inject("design-item-context"),v=le.useDesignerComponent(b,I);t.onMounted(()=>{b.value.componentInstance=v}),n.expose(v.value);function g(){const d=s.value.map(c=>[c.id,!0]);y.value=new Map(d)}g();const T=t.computed(()=>e.dataSource.map(d=>(d.disabled=y.value.has(d.id),d))),F=t.computed(()=>({"f-order":!0}));function C(d){s.value=s.value.filter(c=>c.id!==d.id),g(),n.emit("change",s.value)}function N(){s.value=[...s.value,{id:Date.now().toString(),name:"",order:"asc"}],g(),n.emit("change",s.value)}function k(d){g(),n.emit("change",s.value)}function l(d){if(d&&d.length){const c=new Map;d.reduce((o,m)=>(o.set(m.id,m),o),c),s.value=d.map(o=>c.get(o.id)),n.emit("change",s.value)}}function i(){return t.createVNode(oe,{style:"flex:1",data:s.value,draggable:!0,view:"DraggableView","keep-order":!0,itemClass:"f-order-item",onRemoveItem:C,onChange:l},{header:()=>t.createVNode("div",{class:"f-order-header"},[t.createVNode("span",{class:"f-order-header-order-field"},[r.value]),t.createVNode("span",{class:"f-order-header-order-type"},[u.value])]),itemContent:d=>t.createVNode("div",{class:"f-order-item-content"},[t.createVNode(K,{class:"f-order-item-content-order-field",data:T.value,valueField:"id",textField:"name",idField:"id",modelValue:d.id,"onUpdate:modelValue":c=>d.id=c,onChange:k,onClear:k},null),t.createVNode(K,{class:"f-order-item-content-order-type",data:a,valueField:"id",textField:"name",idField:"id",modelValue:d.order,"onUpdate:modelValue":c=>d.order=c,onChange:k},null)]),footer:()=>t.createVNode("div",{class:"f-order-footer"},[t.createVNode(se,{type:"link",class:"f-order-add-button",onClick:N},{default:()=>t.createVNode(t.Fragment,null,[t.createVNode("span",{class:"f-order-add-icon"},[t.createVNode("i",{class:"f-icon f-icon-add"},null)]),f.value])})])})}return()=>t.createVNode("div",{ref:b,class:F.value},[i()])}}),dt={install(e){e.component(J.name,J)},register(e,n,s,r){e.order=J,n.order=ee},registerDesigner(e,n,s){e.order=st,n.order=ee}};H.FOrder=J,H.default=dt,H.orderProps=W,H.propsResolver=ee,Object.defineProperties(H,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|