@farris/ui-vue 1.6.5 → 1.6.6
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/avatar/index.esm.js +1 -1
- package/components/avatar/index.umd.cjs +1 -1
- package/components/button-edit/index.esm.js +2 -2
- package/components/button-edit/index.umd.cjs +1 -1
- package/components/combo-list/index.esm.js +7 -5
- package/components/combo-list/index.umd.cjs +1 -1
- package/components/common/index.esm.js +1 -1
- package/components/common/index.umd.cjs +1 -1
- package/components/component/index.esm.js +1 -1
- package/components/component/index.umd.cjs +1 -1
- package/components/condition/index.esm.js +3 -2
- package/components/condition/index.umd.cjs +1 -1
- package/components/content-container/index.esm.js +1 -1
- package/components/content-container/index.umd.cjs +1 -1
- package/components/data-view/index.esm.js +498 -495
- package/components/data-view/index.umd.cjs +1 -1
- package/components/date-picker/index.esm.js +833 -832
- package/components/date-picker/index.umd.cjs +1 -1
- package/components/designer-canvas/index.esm.js +1 -1
- package/components/designer-canvas/index.umd.cjs +1 -1
- package/components/dynamic-form/index.esm.js +3 -2
- package/components/dynamic-form/index.umd.cjs +1 -1
- package/components/events-editor/index.esm.js +1 -1
- package/components/events-editor/index.umd.cjs +1 -1
- package/components/expression-editor/index.esm.js +256 -254
- package/components/expression-editor/index.umd.cjs +2 -2
- package/components/filter-bar/index.esm.js +416 -394
- package/components/filter-bar/index.umd.cjs +1 -1
- package/components/filter-condition-editor/index.esm.js +388 -386
- package/components/filter-condition-editor/index.umd.cjs +1 -1
- package/components/flow-canvas/index.esm.js +1 -1
- package/components/flow-canvas/index.umd.cjs +1 -1
- package/components/language-textbox/index.esm.js +77 -76
- package/components/language-textbox/index.umd.cjs +1 -1
- package/components/list-nav/index.esm.js +4 -2
- package/components/list-nav/index.umd.cjs +1 -1
- package/components/lookup/index.esm.js +118 -118
- package/components/lookup/index.umd.cjs +1 -1
- package/components/mapping-editor/index.esm.js +80 -81
- package/components/mapping-editor/index.umd.cjs +1 -1
- package/components/message-box/index.esm.js +237 -237
- package/components/message-box/index.umd.cjs +1 -1
- package/components/modal/index.esm.js +1 -1
- package/components/modal/index.umd.cjs +1 -1
- package/components/number-range/index.esm.js +1 -1
- package/components/number-range/index.umd.cjs +1 -1
- package/components/number-spinner/index.esm.js +9 -3
- package/components/number-spinner/index.umd.cjs +1 -1
- package/components/order/index.esm.js +114 -112
- package/components/order/index.umd.cjs +1 -1
- package/components/page-header/index.esm.js +1 -1
- package/components/page-header/index.umd.cjs +1 -1
- package/components/property-panel/index.esm.js +1 -1
- package/components/property-panel/index.umd.cjs +1 -1
- package/components/query-solution/index.esm.js +485 -463
- package/components/query-solution/index.umd.cjs +3 -3
- package/components/radio-group/index.esm.js +30 -30
- package/components/radio-group/index.umd.cjs +1 -1
- package/components/response-layout/index.esm.js +1 -1
- package/components/response-layout/index.umd.cjs +1 -1
- package/components/response-layout-editor/index.esm.js +544 -545
- package/components/response-layout-editor/index.umd.cjs +1 -1
- package/components/response-toolbar/index.esm.js +1 -1
- package/components/response-toolbar/index.umd.cjs +1 -1
- package/components/schema-selector/index.esm.js +6 -4
- package/components/schema-selector/index.umd.cjs +2 -2
- package/components/section/index.esm.js +1 -1
- package/components/section/index.umd.cjs +1 -1
- package/components/sort-condition-editor/index.esm.js +9 -7
- package/components/sort-condition-editor/index.umd.cjs +1 -1
- package/components/switch/index.esm.js +77 -78
- package/components/switch/index.umd.cjs +1 -1
- package/components/tabs/index.esm.js +5 -3
- package/components/tabs/index.umd.cjs +1 -1
- package/components/textarea/index.esm.js +1 -1
- package/components/textarea/index.umd.cjs +1 -1
- package/components/time-picker/index.esm.js +2 -2
- package/components/time-picker/index.umd.cjs +1 -1
- package/components/video/index.esm.js +1 -1
- package/components/video/index.umd.cjs +1 -1
- package/designer/button-edit/index.esm.js +211 -211
- package/designer/button-edit/index.umd.cjs +1 -1
- package/designer/checkbox/index.esm.js +1 -1
- package/designer/checkbox/index.umd.cjs +1 -1
- package/designer/checkbox-group/index.esm.js +25 -26
- package/designer/checkbox-group/index.umd.cjs +1 -1
- package/designer/data-grid/index.esm.js +15 -9
- package/designer/data-grid/index.umd.cjs +2 -2
- package/designer/farris-designer.all.esm.js +917 -916
- package/designer/farris-designer.all.umd.cjs +5 -5
- package/designer/input-group/index.esm.js +2 -1
- package/designer/input-group/index.umd.cjs +1 -1
- package/designer/list-view/index.esm.js +685 -689
- package/designer/list-view/index.umd.cjs +3 -3
- package/designer/radio-group/index.esm.js +7 -3
- package/designer/radio-group/index.umd.cjs +1 -1
- package/farris.all.esm.js +5641 -5603
- package/farris.all.umd.cjs +21 -21
- package/locales/data-grid/ui/en.json +2 -1
- package/locales/data-grid/ui/zh-CHS.json +2 -1
- package/locales/data-grid/ui/zh-CHT.json +2 -1
- package/locales/designer/en.json +2 -1
- package/locales/designer/zh-CHS.json +2 -1
- package/locales/designer/zh-CHT.json +2 -1
- package/locales/ui/en.json +2 -1
- package/locales/ui/zh-CHS.json +2 -1
- package/locales/ui/zh-CHT.json +2 -1
- package/package.json +1 -1
|
@@ -17,4 +17,4 @@
|
|
|
17
17
|
`,f.children[0].style.cssText="overflow: hidden;flex: 1 1 auto;width: 100%;",f.children[0].children[0].style.cssText=`
|
|
18
18
|
margin: 10px 0px 10px 14px;
|
|
19
19
|
overflow: hidden;text-overflow: ellipsis;white-space: nowrap;
|
|
20
|
-
`,f.children[1].style.cssText="width: 30px;color: #f4625f;padding: 0 14px 0 0",f.children[2].style.cssText="padding: 0 14px 0 0;",document.body.appendChild(f),f}function d(T,N,I){if(T.stopPropagation(),i(),N){if(u=y(T.target),T.dataTransfer){const f=new Image;f.src="",T.dataTransfer.setDragImage(f,0,0)}c=T.pageX,l=T.pageY,setTimeout(()=>{p.value=I,C.value=!0,N.moving=!0})}}function v(T,N){if(T.preventDefault(),p.value!==N){const I=g.value[p.value],f=g.value;f.splice(p.value,1),f.splice(N,0,I),p.value=N,s(T.pageX,T.pageY)}}function P(T){T.preventDefault(),T.dataTransfer&&(T.dataTransfer.dropEffect="move"),s(T.pageX,T.pageY)}function B(T,N){N&&(N.moving=!1,u&&(document.body.removeChild(u),u=null)),g.value.forEach((I,f)=>{I.__fv_index__=f}),C.value=!1,a(),b.value=N.raw.__fv_index__,V.value=N.raw.__fv_index__,h.value=N.raw[m.value],t.emit("change",g.value),t.emit("activeChange",[N.raw])}return{dragstart:d,dragenter:v,dragover:P,dragend:B,isDragging:C}}function bt(e,t,o,r,m,g){const p=n.ref(e.idField),C=n.ref(e.disableField),V=n.ref(e.draggable);n.ref(e.itemClass);const h=n.ref(e.selection.multiSelect??!1),b=n.ref(e.selection.multiSelectMode),{isDragging:a}=r,{activeIndex:i,focusedItemId:u,hoverIndex:c}=m,{clearSelection:l,getSelectedItems:s,toggleSelectItem:y,currentSelectedDataId:d}=g,v=n.ref(s()),P=S=>v.value.length===0?!1:v.value.some(F=>{let k="";return F.data?k=F.data[p.value]:k=F[p.value],k===S});function B(){v.value=s()}function T(S,F){return S.raw[p.value]!=null?S.raw[p.value]:""}function N(S,F){const k={"f-list-view-group-item":!0,"f-list-view-draggable-item":V.value,"f-un-click":!S.checked,"f-un-select":!!S.raw[C.value],"f-listview-active":h.value&&P(T(S))||!h.value&&S.raw[p.value]===d.value,"f-listview-hover":!a.value&&F===c.value,moving:!!S.moving};if(typeof e.itemClass=="string")return G.getCustomClass(k,e.itemClass);if(typeof e.itemClass=="function"){const j=e.itemClass(S);return G.getCustomClass(k,j)}return k}function I(S,F){const k=h.value&&P(T(S))||!h.value&&S.raw[p.value]===d.value,j={};if(k&&(j.backgroundColor="#dae9ff"),typeof e.itemStyle=="string")return G.getCustomStyle(j,e.itemStyle);if(typeof e.itemStyle=="function"){const R=e.itemStyle(S);return G.getCustomStyle(j,R)}return j}const f=n.computed(()=>!h.value);function M(S,F,k){S.checked=k,!S.raw[C.value]&&(f.value&&(u.value=S.raw[p.value]),y(S))}const $=n.computed(()=>h.value&&b.value==="OnCheckClearByClick"),w=n.computed(()=>!h.value||h.value&&(b.value==="OnCheckAndClick"||b.value==="OnClick"));function O(S,F,k){if(S.raw[C.value]){k==null||k.preventDefault(),k==null||k.stopPropagation();return}u.value=S.raw[p.value],i.value=F,$.value&&l(),w.value&&(y(S),B()),t.emit("clickItem",{data:v.value,index:F,dataItem:S.raw}),t.emit("activeChange",v.value)}return{getKey:T,selectedItems:v,listViewItemClass:N,listViewItemStyle:I,updateSelectedItems:B,onCheckItem:M,onClickItem:O}}const Fe=n.defineComponent({name:"FListView",props:st,emits:["afterSearch","checkValuesChange","clickItem","selectItem","unSelectItem","selectionChange","removeItem","change","activeChange","pageIndexChanged","pageSizeChanged","changed","selectionUpdate"],setup(e,t){const o=n.ref(),r=n.ref(!0),m=n.ref(!1),g=n.ref([]),p=0,C=n.ref(e.columns),V=E.useFilter(e,t),h=E.useIdentify(e),b=E.useHierarchy(e),a=E.useGroupData(e,h),i=E.useDataView(e,new Map,V,b,h),u=E.useSelection(e,i,h,g,t),c=ut(e,o),l=E.usePagination(e,i),s=n.computed(()=>i.dataView.value.length),y=E.useRow(e,t,u,h),d=E.useEdit(e,t,h,y,g),v=E.useVisualDataBound(e),P=E.useVisualDataCell(e,{},v),B=E.useVisualDataRow(e,i,d,b,h,v,P),T=E.useVisualGroupRow(e,h,P,B),N=E.useVisualSummaryRow(e,h,P,B),I=E.useVisualData(e,C,i,s,p,B,T,N),{getVisualData:f}=I;g.value=f(0,s.value+p-1);const M=n.computed(()=>{const x={"f-list-view":!0,"f-list-view-multiple":e.multiSelect};return e.size!=="default"&&(x[`${e.size}-item`]=!0),G.getCustomClass(x,e.customClass)}),$=n.computed(()=>!!t.slots.footer||r.value);function w(){return e.header==="SearchBar"?Ce:e.header==="ContentHeader"?ht:Ce}const O=w(),{renderHeader:S}=O(e,t,c),F=vt(),k=yt(e,t,i,F),j=bt(e,t,g,k,F,u),{renderListArea:R}=gt(e,t,g,i,a,F,u,I,j,k);function L(x){c.search(x)}function A(x){x&&(i.load(x),g.value=f(0,s.value+p-1))}function q(){u.clearSelection(),F.clearActiveItem()}function ie(){return j.selectedItems.value}function ae(){return j.selectedItems.value.map(x=>x[h.idField.value])}function Q(x){u.selectedValues.value=x,j.updateSelectedItems()}function Z(){return u.currentSelectedDataId.value}function H(x){y.activeRowById(x)}function le(x){const _=h.idField.value,W=g.value.find(ce=>ce.raw[_]===x),K=g.value.findIndex(ce=>ce.raw[_]===x);W&&K>-1&&j.onClickItem(W,K)}function $t(x){const _=h.idField.value,W=g.value.find(K=>K.raw[_]===x);W&&y.changeRow(W)}function Dt(x){l.updatePagination(x)}function Et(x){return g.value.filter(_=>x.includes(_.raw[e.idField]))}t.expose({search:L,updateDataSource:A,clearSelection:q,getSelections:ie,updateSelectionByIds:Q,getSelectionIds:ae,activeRowById:H,getCurrentRowId:Z,clickRowItemById:le,updatePagination:Dt,getVisibleDataByIds:Et,selectRowById:$t});function Lt(x){e.multiSelect&&(x.preventDefault(),x.stopPropagation())}n.watch(()=>e.selectionValues,(x,_)=>{x!==_&&Q(x)});const At=E.useSidebar(e,u),{sidebarWidth:Ht,showSidebarCheckBox:vn}=At,qt=E.useColumn(e,t),{applyColumnSorter:yn,columnContext:_t,updateColumnRenderContext:bn}=qt,Gt=E.useVirtualScroll(e,i,g,_t,I,s,p,Ht,d);return E.getPagination(e,t,i,Gt,l,u),()=>n.createVNode("div",{class:M.value,onClick:Lt},[S(),n.createVNode("div",{ref:o,class:"f-list-view-content",onMouseover:()=>{m.value=!0},onMouseleave:()=>{m.value=!1}},[R()]),$.value&&n.createVNode("div",{class:"f-list-view-footer"},[e.footerTemplate?e.footerTemplate():t.slots.footer&&t.slots.footer()])])}}),St={id:String,type:{type:String,default:"primary"},disabled:{type:Boolean,default:!1},size:{type:String,default:"middle"},icon:{type:String},customClass:{type:Object,default:{}}};function Ct(e,t){function o(r){r.stopPropagation(),e.disabled||t.emit("click",r)}return{onClickButton:o}}function Ft(e){const t=n.computed(()=>{const r={"f-icon":!0};if(e.icon){const m=e.icon.trim().split(" ");m&&m.length&&m.reduce((g,p)=>(g[p]=!0,g),r)}return r}),o=n.computed(()=>!!(e.icon&&e.icon.trim()));return{iconClass:t,shouldShowIcon:o}}const we=n.defineComponent({name:"FButton",props:St,emits:["click"],setup(e,t){const{onClickButton:o}=Ct(e,t),{iconClass:r,shouldShowIcon:m}=Ft(e),g=n.computed(()=>{const p={btn:!0,"btn-lg":e.size==="large","btn-md":e.size!=="large"&&e.size!=="small","btn-sm":e.size==="small","btn-icontext":m.value};return p[`btn-${e.type}`]=!0,e.customClass&&Object.keys(e.customClass).reduce((C,V)=>(C[V]=e.customClass[V],C),p),p});return()=>n.createVNode("button",{class:g.value,disabled:e.disabled,onClick:p=>o(p)},[m.value&&n.createVNode("i",{class:r.value},null),t.slots.default&&t.slots.default()])}}),wt=new Map([["appearance",ne.resolveAppearance]]),Vt={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/combo-list.schema.json",title:"combo-list",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a combo list",type:"string"},type:{description:"The type string of number combo list component",type:"string",default:"combo-list"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disabled:{description:"",type:"boolean",default:!1},enableClear:{description:"",type:"boolean",default:!1},editable:{description:"",type:"boolean",default:!1},enableLinkLabel:{description:"",type:"boolean",default:!1},label:{description:"",type:"string",default:""},lableWidth:{description:"",type:"number"},placeholder:{description:"",type:"string",default:"请选择"},idField:{description:"",type:"string",default:"id"},valueField:{description:"",type:"string",default:"id"},titleField:{description:"",type:"string",default:"name"},textField:{description:"",type:"string",default:"name"},dataSourceType:{description:"",type:"string",default:"static"},data:{description:"",type:"array"},remote:{description:"",type:"string"},readonly:{description:"",type:"boolean",default:!1},required:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},textAlign:{description:"",type:"string",enum:["left","middle","right"],default:"left"},multiSelect:{description:"",type:"boolean",default:!1},maxLength:{description:"",type:"number",default:null},visible:{description:"",type:"boolean",default:!0},onBlur:{description:"",type:"string",default:""},onClickLinkLabel:{description:"",type:"sting",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},onChange:{description:"",type:"string"}},required:["type"],ignore:["id","appearance","binding","visible"]};function Tt(e,t,o){return t}const re={id:{type:String},data:{type:Array,default:[]},disabled:{default:!1,type:Boolean},dropDownIcon:{type:String,default:'<span class="f-icon f-icon-arrow-chevron-down"></span>'},editable:{default:!1,type:Boolean},enableClear:{default:!0,type:Boolean},enableSearch:{type:Boolean,default:!1},enableTitle:{default:!0,type:Boolean},fitEditor:{default:!1,type:Boolean},forcePlaceholder:{default:!1,type:Boolean},hidePanelOnClear:{default:!0,type:Boolean},idField:{default:"id",type:String},mapFields:{type:Object},maxHeight:{default:350,type:Number},maxLength:{type:Number},multiSelect:{type:Boolean,default:!1},modelValue:{},placeholder:{type:String,default:"请选择"},placement:{type:String,default:"auto"},readonly:{default:!1,type:Boolean},remote:{default:null,type:Object},remoteSearch:{default:!1,type:Boolean},separator:{default:",",type:String},tabIndex:{type:Number,default:-1},textField:{default:"name",type:String},titleField:{default:"name",type:String},valueField:{default:"id",type:String},viewType:{default:"tag",type:String},change:{type:Function,default:()=>{}},focusOnCreated:{type:Boolean,default:!1},selectOnCreated:{type:Boolean,default:!1},autoHeight:{type:Boolean,default:!0},beforeOpen:{type:Function,default:null},searchOption:{type:[Boolean,Function],default:!1},enableHighlightSearch:{type:Boolean,default:!0},minPanelWidth:{type:Number,default:160},popupOnClick:{type:Boolean,default:!0}},kt=Object.assign({},re,{readonly:{}}),Ve=ne.createPropsResolver(re,Vt,wt,Tt),Nt={dataSource:{type:Array,default:[]},enableSearch:{type:Boolean,default:!1},idField:{type:String,default:"id"},multiSelect:{type:Boolean,default:!1},selectedValues:{type:String,default:""},separator:{type:String,default:","},textField:{type:String,default:"name"},titleField:{type:String,default:"name"},width:{type:Number},maxHeight:{type:Number},valueField:{type:String,default:"id"},onSelectionChange:{type:Function,default:()=>{}},searchOption:{type:[Boolean,Function],default:!1},enableHighlightSearch:{type:Boolean,default:!0}},Ot=n.defineComponent({name:"FComboListContainer",props:Nt,emits:["selectionChange"],setup(e,t){const o=n.ref(),r=n.ref(e.dataSource),m=n.ref([]),g=n.ref(e.separator),p=n.ref(e.width),C=n.ref(e.maxHeight),V=n.ref(String(e.selectedValues).split(g.value)),h=n.computed(()=>e.multiSelect),b=n.computed(()=>({enableSelectRow:!0,multiSelect:e.multiSelect,multiSelectMode:"OnCheckAndClick",showCheckbox:h.value,showSelectAll:!1,showSelection:!0}));n.watch(e.dataSource,()=>{r.value=e.dataSource}),n.computed(()=>e.enableSearch?"SearchBar":"ContentHeader");const a=n.computed(()=>{const s={};return p.value!==void 0&&(s.width=`${p.value}px`),C.value!==void 0&&C.value>0&&(s.maxHeight=`${C.value}px`),s});function i(s){o.value.search(s)}function u(s){m.value=s.map(y=>Object.assign({},y)),V.value=s.map(y=>y[e.idField]),t.emit("selectionChange",m.value)}function c(s){if(e.enableHighlightSearch)return;let y=[];const{searchOption:d}=e;typeof d=="function"?y=r.value.filter(v=>d(s,v)):y=r.value.filter(v=>v[e.valueField].indexOf(s)>-1||v[e.textField].indexOf(s)>-1),o.value.updateDataSource(y)}n.watch([()=>e.selectedValues],([s])=>{e.multiSelect?V.value=s.split(g.value):V.value=[s]});function l(s){o.value.activeRowById(s)}return n.onMounted(()=>{var s,y;if(!e.multiSelect){const d=(s=V.value)==null?void 0:s[0];let v=d;if(!z.isUndefined(d)){const P=typeof d,B=typeof((y=r.value[0])==null?void 0:y[e.valueField||e.idField]);B==="number"&&P!==B&&(v=Number(d)),B==="boolean"&&P!==B&&(v=d==="true"?!0:d==="false"?!1:d),l(v)}}}),t.expose({search:i,activeRowById:l}),()=>n.createVNode("div",{class:"f-combo-list-container",style:a.value},[n.createVNode(Ne,{ref:o,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:b.value,enableHighlightSearch:e.enableHighlightSearch,selectionValues:V.value,onSelectionUpdate:u,onAfterSearch:c},null)])}});function Pt(e){const{t}=ee.useI18n(),o=n.ref(""),r=n.ref(e.modelValue),m=n.ref(e.data||[]),g=n.ref(e.editable);function p(i){const u=e.multiSelect?String(i).split(e.separator):[String(i)],c=u.map(y=>[y,!0]),l=new Map(c);return m.value.filter(y=>l.has(String(y[e.valueField]))).sort((y,d)=>{const v=u.indexOf(y[e.valueField]),P=u.indexOf(d[e.valueField]);return v-P})}function C(i){const u=p(i).map(c=>c[e.textField]).join(e.separator);o.value=g.value?u||i:u}function V(i){if(e.multiSelect){const u=i.split(e.separator).map(l=>[l,!0]),c=new Map(u);return m.value.filter(l=>c.has(l[e.textField]))}return m.value.filter(u=>""+u[e.textField]===i)}function h(i){const u={};return u[e.idField]=i,u[e.textField]=i,[u]}function b(i){let u=V(i);const c=u&&u.length>0;return g.value&&!c&&(u=h(i)),u}function a(){const{url:i,method:u="GET",headers:c={"Content-Type":"application/json;charset=utf-8;"},body:l=null}=e.remote,s=u.toLowerCase()==="get"?{method:u,headers:c}:{method:u,headers:c,body:l};let y=!1;fetch(new Request(i,s)).then(d=>{var P,B;if(d.status===200)return y=!!((B=(P=d.headers)==null?void 0:P.get("content-type"))!=null&&B.includes("application/json")),y?d.text():d.json();throw d.status===405?new Error(t("comboList.remoteError")):new Error(d.statusText)}).then(d=>{d.length&&(m.value=y?JSON.parse(d):d)}).catch(d=>{console.warn(d)})}return e.remote&&a(),n.watch(()=>e.data,()=>{m.value=e.data}),n.watch([m],([i])=>{if(e.modelValue!=null){const u=i.find(c=>c[e.valueField]===e.modelValue);u&&(o.value=u[e.textField])}}),n.watch(()=>e.modelValue,i=>{r.value=i,C(i)}),C(e.modelValue),{dataSource:m,displayText:o,editable:g,modelValue:r,getItemsByDisplayText:V,getItemsByValue:p,getSelectedItemsByDisplayText:b}}const X=n.defineComponent({name:"FComboList",props:re,emits:["clear","update:modelValue","change","input"],setup(e,t){const{t:o}=ee.useI18n(),r=n.ref(),m=n.ref(),g=n.ref(e.disabled||e.readonly),p=n.ref(e.enableClear),C=n.ref(e.enableSearch),V=n.ref(e.readonly),{dataSource:h,displayText:b,editable:a,modelValue:i,getSelectedItemsByDisplayText:u,getItemsByDisplayText:c,getItemsByValue:l}=Pt(e),s=n.ref(e.dropDownIcon);s.value==='<span class="f-icon f-icon-arrow-chevron-down"></span>'&&(s.value='<span id="'+e.id+'-icon-dropdown" class="f-icon f-icon-arrow-chevron-down"></span>');const y=n.computed(()=>e.multiSelect),d=n.computed(()=>m.value?m.value.elementRef.getBoundingClientRect().width:0);function v(){!y.value&&m.value&&m.value.hidePopup()}function P(O){b.value=O.map(F=>F[e.textField]).join(e.separator);let S="";O.length===1?S=O[0][e.valueField]:S=O.map(F=>F[e.valueField]).join(e.separator),i.value!==S&&(i.value=S,t.emit("update:modelValue",i.value),t.emit("change",O,i.value))}function B(){const O=l(i.value);P(O)}function T(){V.value||b.value}function N(O){var S;i.value="",(S=r.value)==null||S.activeRowById(""),t.emit("update:modelValue",""),t.emit("change",[],""),t.emit("clear")}function I(O){var S,F;e.enableSearch&&e.enableHighlightSearch&&((S=r.value)==null||S.search(O)),(F=r.value)==null||F.activeRowById(O),t.emit("change",[i.value],i.value)}function f(O){if(e.multiSelect){const S=c(O);e.viewType;const k=S.map(j=>j[e.idField||e.valueField]).join(e.separator);i.value!==k&&(i.value=k,t.emit("update:modelValue",i.value),t.emit("change",S,i.value))}}function M(){return b.value}function $(O){const{value:S}=O.target;I(S),t.emit("input",S)}function w(){m.value.hidePopup()}return t.expose({getDisplayText:M,hidePopup:w}),n.watch([()=>e.disabled,()=>e.editable,()=>e.enableClear,()=>e.enableSearch,()=>e.readonly],([O,S,F,k,j])=>{g.value=O,a.value=S,p.value=F,C.value=k,V.value=j}),()=>n.createVNode(ke,{ref:m,id:e.id,disable:g.value,readonly:V.value,forcePlaceholder:e.forcePlaceholder,editable:a.value,buttonContent:s.value,placeholder:e.placeholder==="请选择"?o("comboList.placeholder"):e.placeholder,enableClear:p.value,maxLength:e.maxLength,tabIndex:e.tabIndex,enableTitle:e.enableTitle,multiSelect:e.multiSelect,inputType:e.multiSelect?e.viewType:"text",modelValue:b.value,"onUpdate:modelValue":O=>b.value=O,focusOnCreated:e.focusOnCreated,selectOnCreated:e.selectOnCreated,onClear:N,onClick:T,onChange:f,onBlur:B,onInput:$,beforeOpen:e.beforeOpen,placement:e.placement,popupMinWidth:e.minPanelWidth,popupClass:"f-combo-list-wrapper",popupOnClick:e.popupOnClick,limitContentBySpace:!0},{default:()=>[n.createVNode(Ot,{ref:r,idField:e.idField,valueField:e.valueField,textField:e.textField,titleField:e.titleField,dataSource:h.value,selectedValues:i.value,separator:e.separator,multiSelect:e.multiSelect,enableSearch:C.value,maxHeight:e.maxHeight,enableHighlightSearch:e.enableHighlightSearch,width:e.fitEditor?d.value:void 0,onSelectionChange:O=>{P(O),v()}},null)]})}}),Te={convertFrom:(e,t)=>(e.editor.remote||{})[t],convertTo:(e,t,o)=>{e.editor.remote=e.editor.remote||{},e.editor.remote[t]=o}};class Mt extends Me.InputBaseProperty{constructor(t,o){super(t,o)}getCommonEditorProperties(t){var o,r,m;return{viewType:{visible:!!((o=t.editor)!=null&&o.multiSelect),description:"数据展示类型,有标签和文本两种方式",title:"数据展示类型",type:"enum",editor:{data:[{id:"tag",name:"标签"},{id:"text",name:"文本"}]},refreshPanelAfterChanged:!0},separator:{visible:!!((r=t.editor)!=null&&r.multiSelect)&&((m=t.editor)==null?void 0:m.viewType)==="text",description:"下拉列表启用多选且数据展示类型为文本时的分隔符",title:"分隔符",type:"enum",editor:{data:[{id:",",name:"逗号(,)"},{id:"#",name:"井号(#)"},{id:".",name:"句号(.)"},{id:"|",name:"竖线(|)"}]}},editable:{description:"",title:"允许编辑",type:"boolean",refreshPanelAfterChanged:!0,readonly:!0}}}getEditorProperties(t){var g,p;const o=this;let r="";if(((g=t==null?void 0:t.binding)==null?void 0:g.type)==="Form"){const C=this.schemaService.getFieldByIDAndVMID(t.binding.field,this.viewModelId);(p=C==null?void 0:C.schemaField)!=null&&p.type&&(r=C.schemaField.type.$type)}return o.getComponentConfig(t,{type:"combo-list"},{enableClear:{description:"",title:"启用清空",type:"boolean"},dataSourceType:{description:"",title:"数据源类型",type:"enum",editor:{default:"static",data:[{id:"static",name:"静态"},{id:"dynamic",name:"动态"}]},refreshPanelAfterChanged:!0},data:{description:"",title:"数据",type:"array",visible:!t.editor.dataSourceType||t.editor.dataSourceType==="static",...o.getItemCollectionEditor(t,t.editor.valueField,t.editor.textField),refreshPanelAfterChanged:!0},url:{visible:t.editor.dataSourceType==="dynamic",$converter:Te,description:"",title:"服务端API",type:"string"},body:{visible:t.editor.dataSourceType==="dynamic",$converter:Te,description:"",title:"服务端API参数",type:"string"},textField:{description:"",title:"数据源显示字段",type:"string",readonly:t.editor.dataSourceType!=="dynamic"},valueField:{description:"",title:"数据源值字段",type:"string",readonly:t.editor.dataSourceType!=="dynamic"},multiSelect:{description:"",title:"启用多选",visible:!r||r==="StringType",type:"boolean",refreshPanelAfterChanged:!0},maxLength:{description:"",title:"最大输入长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1}},...this.getCommonEditorProperties(t)},(C,V)=>{if(!C||!V.editor)return;const h=this;switch(C.propertyID){case"dataSourceType":{C.propertyValue==="static"?(V.editor.valueField="value",V.editor.textField="name",V.editor.remote=null):C.propertyValue==="dynamic"&&(V.editor.remote={method:"GET"},V.editor.valueField="value",V.editor.textField="name");break}case"data":{!h.checkEnumDataReadonly(V)&&V.formatter&&(V.formatter.data=[...C.propertyValue]);break}case"viewType":C.propertyValue==="tag"&&(V.editor.editable=!1)}})}getGridFieldEdtiorProperties(t,o){var p,C,V,h;const r=this;let m="";if(((p=t==null?void 0:t.binding)==null?void 0:p.type)==="Form"){const b=this.schemaService.getFieldByIDAndVMID(t.binding.field,this.viewModelId);(C=b==null?void 0:b.schemaField)!=null&&C.type&&(m=b.schemaField.type.$type)}return r.getComponentConfig(t,{type:"combo-list"},{enableClear:{description:"",title:"启用清空",type:"boolean"},data:{description:"",title:"数据",type:"array",visible:!0,...r.getItemCollectionEditor(t,(V=t.editor)==null?void 0:V.valueField,(h=t.editor)==null?void 0:h.textField),refreshPanelAfterChanged:!0},textField:{description:"",title:"数据源显示字段",type:"string",readonly:!0},valueField:{description:"",title:"数据源值字段",type:"string",readonly:!0},multiSelect:{description:"",title:"启用多选",visible:m==="StringType",type:"boolean",refreshPanelAfterChanged:!0},maxLength:{description:"",title:"最大输入长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1}},...this.getCommonEditorProperties(t)},(b,a)=>{if(!b||!a.editor)return;const i=this;switch(b.propertyID){case"dataSourceType":{b.propertyValue==="static"?(a.editor.valueField="value",a.editor.textField="name",a.editor.remote=null):b.propertyValue==="dynamic"&&(a.editor.remote={method:"GET"});break}case"data":{!i.checkEnumDataReadonly(a)&&a.formatter&&(a.formatter.data=[...b.propertyValue]);break}}})}setEditorPropertyRelates(t,o,r){if(!t||!o.editor)return;const m=this;switch(t.propertyID){case"dataSourceType":{t.propertyValue==="static"&&(o.editor.valueField="value",o.editor.textField="name",o.editor.remote={});break}case"data":{!m.checkEnumDataReadonly(o)&&o.formatter&&(o.formatter.data=[...t.propertyValue]);break}}}changeBindingField(t,o,r){var g;super.changeBindingField(t,o);const m=r;t.editor&&((g=m==null?void 0:m.type)==null?void 0:g.$type)===G.FormSchemaEntityFieldType$Type.EnumType&&(t.editor.data=m.type.enumValues||[])}}function It(e,t){const o=e.schema;function r(m,g){return new Mt(m,t).getPropertyConfig(o,g)}return{getPropsConfig:r}}const Bt=n.defineComponent({name:"FComboListDesign",props:kt,emits:["clear","update:modelValue","change"],setup(e,t){const o=n.ref(),r=n.inject("designer-host-service"),m=n.inject("design-item-context"),g=It(m,r),p=Pe.useDesignerComponent(o,m,g);return n.onMounted(()=>{o.value.componentInstance=p}),t.expose(p.value),()=>n.createVNode(Oe,{ref:o,buttonContent:e.dropDownIcon,readonly:!0,editable:!1,forcePlaceholder:!0,placeholder:e.placeholder,enableClear:!0},null)}});X.register=(e,t,o,r)=>{e["combo-list"]=X,t["combo-list"]=Ve},X.registerDesigner=(e,t,o)=>{e["combo-list"]=Bt,t["combo-list"]=Ve};const Y=G.withInstall(X),J=n.defineComponent({name:"FOrder",props:U,emits:["change"],setup(e,t){const o=n.ref(),r=n.ref(e.items);function m(){var v;const d=Array.isArray(e.items)?e.items:[];r.value=[...d],(v=o.value)==null||v.updateDataSource(r.value)}n.watch(()=>e.items,m);const g=n.ref("排序列"),p=n.ref("排序方式"),C=n.ref("添加排序列"),V=[{id:"asc",name:"升序"},{id:"desc",name:"降序"}],h=n.ref(new Map);function b(){const d=r.value.map(v=>[v.id,!0]);h.value=new Map(d)}b();const a=n.computed(()=>e.dataSource.map(d=>(d.disabled=h.value.has(d.id),d))),i=n.computed(()=>({"f-order":!0}));function u(d){r.value=r.value.filter(v=>v.id!==d.id),b(),t.emit("change",r.value)}function c(){r.value=[...r.value,{id:Date.now().toString(),name:"",order:"asc"}],b(),t.emit("change",r.value)}function l(d){if(d&&d.length===1){const v=d[0],P=r.value.find(B=>B.id===v.id);P&&(P.name=v.name)}b(),t.emit("change",r.value)}function s(d){if(d&&d.length){const v=new Map;d.reduce((P,B)=>(P.set(B.id,B),P),v),r.value=d.map(P=>v.get(P.id)),t.emit("change",r.value)}}function y(){return n.createVNode(Fe,{ref:o,style:"flex:1",data:r.value,draggable:!0,view:"DraggableView","keep-order":!0,itemClass:"f-order-item",onRemoveItem:u,onChange:s},{header:()=>n.createVNode("div",{class:"f-order-header"},[n.createVNode("span",{class:"f-order-header-order-field"},[g.value]),n.createVNode("span",{class:"f-order-header-order-type"},[p.value])]),itemContent:d=>n.createVNode("div",{class:"f-order-item-content"},[n.createVNode(Y,{class:"f-order-item-content-order-field",data:a.value,valueField:"id",textField:"name",idField:"id",modelValue:d.raw.id,"onUpdate:modelValue":v=>d.raw.id=v,onChange:l,onClear:l},null),n.createVNode(Y,{class:"f-order-item-content-order-type",data:V,valueField:"id",textField:"name",idField:"id",modelValue:d.raw.order,"onUpdate:modelValue":v=>d.raw.order=v,onChange:l},null)]),footer:()=>n.createVNode("div",{class:"f-order-footer"},[n.createVNode(we,{type:"link",class:"f-order-add-button",onClick:c},{default:()=>n.createVNode(n.Fragment,null,[n.createVNode("span",{class:"f-order-add-icon"},[n.createVNode("i",{class:"f-icon f-icon-add"},null)]),C.value])})])})}return()=>n.createVNode("div",{class:i.value},[y()])}});function Rt(e,t,o){var $;const r="",m="",g=n.ref();let p;function C(){return(t==null?void 0:t.schema.componentType)!=="frame"}function V(){return!1}function h(){return(t==null?void 0:t.schema.componentType)!=="frame"}function b(){return(t==null?void 0:t.schema.componentType)==="frame"}function a(w){if(!w||!w.value)return null;if(w.value.schema&&w.value.schema.type==="component")return w.value;const O=n.ref(w==null?void 0:w.value.parent),S=a(O);return S||null}function i(w=t){var k;const{componentInstance:O,designerItemElementRef:S}=w;if(!O||!O.value)return null;const{getCustomButtons:F}=O.value;return O.value.canMove||F&&((k=F())!=null&&k.length)?S:i(w.parent)}function u(w){return!!o}function c(){return(t==null?void 0:t.schema.label)||(t==null?void 0:t.schema.title)||(t==null?void 0:t.schema.name)}function l(){}function s(w,O){var S;!w||!O||(S=t==null?void 0:t.setupContext)==null||S.emit("dragEnd")}function y(w,O){const{componentType:S}=w;let F=ne.getSchemaByTypeForDesigner(S,w,O);const k=S.toLowerCase().replace(/-/g,"_");return F&&!F.id&&F.type===S&&(F.id=`${k}_${Math.random().toString().slice(2,6)}`),F}function d(w){}function v(...w){}function P(w){if(!w)return;const O=t==null?void 0:t.schema,{formSchemaUtils:S}=w;if(O&&S.getExpressions().length){const F=S.getExpressions().findIndex(k=>k.target===O.id);F>-1&&S.getExpressions().splice(F,1)}}function B(w){if(!w||!(t!=null&&t.schema))return;const O=t.schema,{formSchemaUtils:S}=w;S.removeCommunicationInComponent(O)}function T(w){P(w),B(w),t!=null&&t.schema.contents&&t.schema.contents.map(O=>{let S=O.id;O.type==="component-ref"&&(S=O.component);const F=e.value.querySelectorAll(`#${S}-design-item`);F!=null&&F.length&&Array.from(F).map(k=>{var j;(j=k==null?void 0:k.componentInstance)!=null&&j.value.onRemoveComponent&&k.componentInstance.value.onRemoveComponent(w)})})}function N(){}function I(w){var S,F;if(!((S=t==null?void 0:t.schema)!=null&&S.id))return;!p&&w&&(p=w.formSchemaUtils);let O="";{const{text:k,title:j,label:R,mainTitle:L,name:A,type:q}=t.schema;O=k||j||R||L||A||((F=fe[q])==null?void 0:F.name)}O&&p.getControlBasicInfoMap().set(t.schema.id,{componentTitle:O,parentPathName:O})}function f(w){var k;const{changeObject:O}=w,{propertyID:S,propertyValue:F}=O;if(["text","title","label","name","mainTitle"].includes((k=w==null?void 0:w.changeObject)==null?void 0:k.propertyID)&&S&&F&&(I(),p)){const j=p.getControlBasicInfoMap(),R=j.keys().toArray().filter(L=>{var A,q;return((A=j.get(L))==null?void 0:A.reliedComponentId)===((q=t==null?void 0:t.schema)==null?void 0:q.id)});R!=null&&R.length&&R.forEach(L=>{const A=j.get(L).parentPathName.split(" > ");A[0]=F,j.get(L).parentPathName=A.join(" > ")})}}function M(w){f(w)}return g.value={canMove:C(),canSelectParent:V(),canDelete:h(),canNested:!b(),contents:t==null?void 0:t.schema.contents,elementRef:e,parent:($=t==null?void 0:t.parent)==null?void 0:$.componentInstance,schema:t==null?void 0:t.schema,styles:r,designerClass:m,canAccepts:u,getBelongedComponentInstance:a,getDraggableDesignItemElement:i,getDraggingDisplayText:c,getPropConfig:v,getDragScopeElement:l,onAcceptMovedChildElement:s,onChildElementMovedOut:d,addNewChildComponentSchema:y,triggerBelongedComponentToMoveWhenMoved:n.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:n.ref(!1),onRemoveComponent:T,getCustomButtons:N,onPropertyChanged:M,setComponentBasicInfoMap:I,updateContextSchema:t==null?void 0:t.updateContextSchema},g}const jt=n.defineComponent({name:"FOrderDesign",props:U,emits:["change"],setup(e,t){const o=n.ref(e.items),r=n.ref("排序列"),m=n.ref("排序方式"),g=n.ref("添加排序列"),p=[{id:"asc",name:"升序"},{id:"desc",name:"降序"}],C=n.ref(new Map),V=n.ref(),h=n.inject("design-item-context"),b=Rt(V,h);n.onMounted(()=>{V.value.componentInstance=b}),t.expose(b.value);function a(){const v=o.value.map(P=>[P.id,!0]);C.value=new Map(v)}a();const i=n.computed(()=>e.dataSource.map(v=>(v.disabled=C.value.has(v.id),v))),u=n.computed(()=>({"f-order":!0}));function c(v){o.value=o.value.filter(P=>P.id!==v.id),a(),t.emit("change",o.value)}function l(){o.value=[...o.value,{id:Date.now().toString(),name:"",order:"asc"}],a(),t.emit("change",o.value)}function s(v){a(),t.emit("change",o.value)}function y(v){if(v&&v.length){const P=new Map;v.reduce((B,T)=>(B.set(T.id,T),B),P),o.value=v.map(B=>P.get(B.id)),t.emit("change",o.value)}}function d(){return n.createVNode(Fe,{style:"flex:1",data:o.value,draggable:!0,view:"DraggableView","keep-order":!0,itemClass:"f-order-item",onRemoveItem:c,onChange:y},{header:()=>n.createVNode("div",{class:"f-order-header"},[n.createVNode("span",{class:"f-order-header-order-field"},[r.value]),n.createVNode("span",{class:"f-order-header-order-type"},[m.value])]),itemContent:v=>n.createVNode("div",{class:"f-order-item-content"},[n.createVNode(Y,{class:"f-order-item-content-order-field",data:i.value,valueField:"id",textField:"name",idField:"id",modelValue:v.id,"onUpdate:modelValue":P=>v.id=P,onChange:s,onClear:s},null),n.createVNode(Y,{class:"f-order-item-content-order-type",data:p,valueField:"id",textField:"name",idField:"id",modelValue:v.order,"onUpdate:modelValue":P=>v.order=P,onChange:s},null)]),footer:()=>n.createVNode("div",{class:"f-order-footer"},[n.createVNode(we,{type:"link",class:"f-order-add-button",onClick:l},{default:()=>n.createVNode(n.Fragment,null,[n.createVNode("span",{class:"f-order-add-icon"},[n.createVNode("i",{class:"f-icon f-icon-add"},null)]),g.value])})])})}return()=>n.createVNode("div",{ref:V,class:u.value},[d()])}}),xt={install(e){e.component(J.name,J)},register(e,t,o,r){e.order=J,t.order=oe},registerDesigner(e,t,o){e.order=jt,t.order=oe}};D.FOrder=J,D.default=xt,D.orderProps=U,D.propsResolver=oe,Object.defineProperties(D,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
20
|
+
`,f.children[1].style.cssText="width: 30px;color: #f4625f;padding: 0 14px 0 0",f.children[2].style.cssText="padding: 0 14px 0 0;",document.body.appendChild(f),f}function d(T,N,I){if(T.stopPropagation(),i(),N){if(u=y(T.target),T.dataTransfer){const f=new Image;f.src="",T.dataTransfer.setDragImage(f,0,0)}c=T.pageX,l=T.pageY,setTimeout(()=>{p.value=I,C.value=!0,N.moving=!0})}}function v(T,N){if(T.preventDefault(),p.value!==N){const I=g.value[p.value],f=g.value;f.splice(p.value,1),f.splice(N,0,I),p.value=N,s(T.pageX,T.pageY)}}function P(T){T.preventDefault(),T.dataTransfer&&(T.dataTransfer.dropEffect="move"),s(T.pageX,T.pageY)}function B(T,N){N&&(N.moving=!1,u&&(document.body.removeChild(u),u=null)),g.value.forEach((I,f)=>{I.__fv_index__=f}),C.value=!1,a(),b.value=N.raw.__fv_index__,V.value=N.raw.__fv_index__,h.value=N.raw[m.value],t.emit("change",g.value),t.emit("activeChange",[N.raw])}return{dragstart:d,dragenter:v,dragover:P,dragend:B,isDragging:C}}function bt(e,t,o,r,m,g){const p=n.ref(e.idField),C=n.ref(e.disableField),V=n.ref(e.draggable);n.ref(e.itemClass);const h=n.ref(e.selection.multiSelect??!1),b=n.ref(e.selection.multiSelectMode),{isDragging:a}=r,{activeIndex:i,focusedItemId:u,hoverIndex:c}=m,{clearSelection:l,getSelectedItems:s,toggleSelectItem:y,currentSelectedDataId:d}=g,v=n.ref(s()),P=S=>v.value.length===0?!1:v.value.some(F=>{let k="";return F.data?k=F.data[p.value]:k=F[p.value],k===S});function B(){v.value=s()}function T(S,F){return S.raw[p.value]!=null?S.raw[p.value]:""}function N(S,F){const k={"f-list-view-group-item":!0,"f-list-view-draggable-item":V.value,"f-un-click":!S.checked,"f-un-select":!!S.raw[C.value],"f-listview-active":h.value&&P(T(S))||!h.value&&S.raw[p.value]===d.value,"f-listview-hover":!a.value&&F===c.value,moving:!!S.moving};if(typeof e.itemClass=="string")return G.getCustomClass(k,e.itemClass);if(typeof e.itemClass=="function"){const j=e.itemClass(S);return G.getCustomClass(k,j)}return k}function I(S,F){const k=h.value&&P(T(S))||!h.value&&S.raw[p.value]===d.value,j={};if(k&&(j.backgroundColor="#dae9ff"),typeof e.itemStyle=="string")return G.getCustomStyle(j,e.itemStyle);if(typeof e.itemStyle=="function"){const R=e.itemStyle(S);return G.getCustomStyle(j,R)}return j}const f=n.computed(()=>!h.value);function M(S,F,k){S.checked=k,!S.raw[C.value]&&(f.value&&(u.value=S.raw[p.value]),y(S))}const $=n.computed(()=>h.value&&b.value==="OnCheckClearByClick"),w=n.computed(()=>!h.value||h.value&&(b.value==="OnCheckAndClick"||b.value==="OnClick"));function O(S,F,k){if(S.raw[C.value]){k==null||k.preventDefault(),k==null||k.stopPropagation();return}u.value=S.raw[p.value],i.value=F,$.value&&l(),w.value&&(y(S),B()),t.emit("clickItem",{data:v.value,index:F,dataItem:S.raw}),t.emit("activeChange",v.value)}return{getKey:T,selectedItems:v,listViewItemClass:N,listViewItemStyle:I,updateSelectedItems:B,onCheckItem:M,onClickItem:O}}const Fe=n.defineComponent({name:"FListView",props:st,emits:["afterSearch","checkValuesChange","clickItem","selectItem","unSelectItem","selectionChange","removeItem","change","activeChange","pageIndexChanged","pageSizeChanged","changed","selectionUpdate"],setup(e,t){const o=n.ref(),r=n.ref(!0),m=n.ref(!1),g=n.ref([]),p=0,C=n.ref(e.columns),V=E.useFilter(e,t),h=E.useIdentify(e),b=E.useHierarchy(e),a=E.useGroupData(e,h),i=E.useDataView(e,new Map,V,b,h),u=E.useSelection(e,i,h,g,t),c=ut(e,o),l=E.usePagination(e,i),s=n.computed(()=>i.dataView.value.length),y=E.useRow(e,t,u,h),d=E.useEdit(e,t,h,y,g),v=E.useVisualDataBound(e),P=E.useVisualDataCell(e,{},v),B=E.useVisualDataRow(e,i,d,b,h,v,P),T=E.useVisualGroupRow(e,h,P,B),N=E.useVisualSummaryRow(e,h,P,B),I=E.useVisualData(e,C,i,s,p,B,T,N),{getVisualData:f}=I;g.value=f(0,s.value+p-1);const M=n.computed(()=>{const x={"f-list-view":!0,"f-list-view-multiple":e.multiSelect};return e.size!=="default"&&(x[`${e.size}-item`]=!0),G.getCustomClass(x,e.customClass)}),$=n.computed(()=>!!t.slots.footer||r.value);function w(){return e.header==="SearchBar"?Ce:e.header==="ContentHeader"?ht:Ce}const O=w(),{renderHeader:S}=O(e,t,c),F=vt(),k=yt(e,t,i,F),j=bt(e,t,g,k,F,u),{renderListArea:R}=gt(e,t,g,i,a,F,u,I,j,k);function L(x){c.search(x)}function A(x){x&&(i.load(x),g.value=f(0,s.value+p-1))}function q(){u.clearSelection(),F.clearActiveItem()}function ie(){return j.selectedItems.value}function ae(){return j.selectedItems.value.map(x=>x[h.idField.value])}function Q(x){u.selectedValues.value=x,j.updateSelectedItems()}function Z(){return u.currentSelectedDataId.value}function H(x){y.activeRowById(x)}function le(x){const _=h.idField.value,W=g.value.find(ce=>ce.raw[_]===x),K=g.value.findIndex(ce=>ce.raw[_]===x);W&&K>-1&&j.onClickItem(W,K)}function $t(x){const _=h.idField.value,W=g.value.find(K=>K.raw[_]===x);W&&y.changeRow(W)}function Dt(x){l.updatePagination(x)}function Et(x){return g.value.filter(_=>x.includes(_.raw[e.idField]))}t.expose({search:L,updateDataSource:A,clearSelection:q,getSelections:ie,updateSelectionByIds:Q,getSelectionIds:ae,activeRowById:H,getCurrentRowId:Z,clickRowItemById:le,updatePagination:Dt,getVisibleDataByIds:Et,selectRowById:$t});function Lt(x){e.multiSelect&&(x.preventDefault(),x.stopPropagation())}n.watch(()=>e.selectionValues,(x,_)=>{x!==_&&Q(x)});const At=E.useSidebar(e,u),{sidebarWidth:Ht,showSidebarCheckBox:vn}=At,qt=E.useColumn(e,t),{applyColumnSorter:yn,columnContext:_t,updateColumnRenderContext:bn}=qt,Gt=E.useVirtualScroll(e,i,g,_t,I,s,p,Ht,d);return E.getPagination(e,t,i,Gt,l,u),()=>n.createVNode("div",{class:M.value,onClick:Lt},[S(),n.createVNode("div",{ref:o,class:"f-list-view-content",onMouseover:()=>{m.value=!0},onMouseleave:()=>{m.value=!1}},[R()]),$.value&&n.createVNode("div",{class:"f-list-view-footer"},[e.footerTemplate?e.footerTemplate():t.slots.footer&&t.slots.footer()])])}}),St={id:String,type:{type:String,default:"primary"},disabled:{type:Boolean,default:!1},size:{type:String,default:"middle"},icon:{type:String},customClass:{type:Object,default:{}}};function Ct(e,t){function o(r){r.stopPropagation(),e.disabled||t.emit("click",r)}return{onClickButton:o}}function Ft(e){const t=n.computed(()=>{const r={"f-icon":!0};if(e.icon){const m=e.icon.trim().split(" ");m&&m.length&&m.reduce((g,p)=>(g[p]=!0,g),r)}return r}),o=n.computed(()=>!!(e.icon&&e.icon.trim()));return{iconClass:t,shouldShowIcon:o}}const we=n.defineComponent({name:"FButton",props:St,emits:["click"],setup(e,t){const{onClickButton:o}=Ct(e,t),{iconClass:r,shouldShowIcon:m}=Ft(e),g=n.computed(()=>{const p={btn:!0,"btn-lg":e.size==="large","btn-md":e.size!=="large"&&e.size!=="small","btn-sm":e.size==="small","btn-icontext":m.value};return p[`btn-${e.type}`]=!0,e.customClass&&Object.keys(e.customClass).reduce((C,V)=>(C[V]=e.customClass[V],C),p),p});return()=>n.createVNode("button",{class:g.value,disabled:e.disabled,onClick:p=>o(p)},[m.value&&n.createVNode("i",{class:r.value},null),t.slots.default&&t.slots.default()])}}),wt=new Map([["appearance",ne.resolveAppearance]]),Vt={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/combo-list.schema.json",title:"combo-list",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a combo list",type:"string"},type:{description:"The type string of number combo list component",type:"string",default:"combo-list"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disabled:{description:"",type:"boolean",default:!1},enableClear:{description:"",type:"boolean",default:!1},editable:{description:"",type:"boolean",default:!1},enableLinkLabel:{description:"",type:"boolean",default:!1},label:{description:"",type:"string",default:""},lableWidth:{description:"",type:"number"},placeholder:{description:"",type:"string",default:"请选择"},idField:{description:"",type:"string",default:"id"},valueField:{description:"",type:"string",default:"id"},titleField:{description:"",type:"string",default:"name"},textField:{description:"",type:"string",default:"name"},dataSourceType:{description:"",type:"string",default:"static"},data:{description:"",type:"array"},remote:{description:"",type:"string"},readonly:{description:"",type:"boolean",default:!1},required:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},textAlign:{description:"",type:"string",enum:["left","middle","right"],default:"left"},multiSelect:{description:"",type:"boolean",default:!1},maxLength:{description:"",type:"number",default:null},visible:{description:"",type:"boolean",default:!0},onBlur:{description:"",type:"string",default:""},onClickLinkLabel:{description:"",type:"sting",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},"onUpdate:modelValue":{description:"",type:"object"}},required:["type"],ignore:["id","appearance","binding","visible"]};function Tt(e,t,o){return t}const re={id:{type:String},data:{type:Array,default:[]},disabled:{default:!1,type:Boolean},dropDownIcon:{type:String,default:'<span class="f-icon f-icon-arrow-chevron-down"></span>'},editable:{default:!1,type:Boolean},enableClear:{default:!0,type:Boolean},enableSearch:{type:Boolean,default:!1},enableTitle:{default:!0,type:Boolean},fitEditor:{default:!1,type:Boolean},forcePlaceholder:{default:!1,type:Boolean},hidePanelOnClear:{default:!0,type:Boolean},idField:{default:"id",type:String},mapFields:{type:Object},maxHeight:{default:350,type:Number},maxLength:{type:Number},multiSelect:{type:Boolean,default:!1},modelValue:{},placeholder:{type:String,default:"请选择"},placement:{type:String,default:"auto"},readonly:{default:!1,type:Boolean},remote:{default:null,type:Object},remoteSearch:{default:!1,type:Boolean},separator:{default:",",type:String},tabIndex:{type:Number,default:-1},textField:{default:"name",type:String},titleField:{default:"name",type:String},valueField:{default:"id",type:String},viewType:{default:"tag",type:String},change:{type:Function,default:()=>{}},focusOnCreated:{type:Boolean,default:!1},selectOnCreated:{type:Boolean,default:!1},autoHeight:{type:Boolean,default:!0},beforeOpen:{type:Function,default:null},searchOption:{type:[Boolean,Function],default:!1},enableHighlightSearch:{type:Boolean,default:!0},minPanelWidth:{type:Number,default:160},popupOnClick:{type:Boolean,default:!0}},kt=Object.assign({},re,{readonly:{}}),Ve=ne.createPropsResolver(re,Vt,wt,Tt),Nt={dataSource:{type:Array,default:[]},enableSearch:{type:Boolean,default:!1},idField:{type:String,default:"id"},multiSelect:{type:Boolean,default:!1},selectedValues:{type:String,default:""},separator:{type:String,default:","},textField:{type:String,default:"name"},titleField:{type:String,default:"name"},width:{type:Number},maxHeight:{type:Number},valueField:{type:String,default:"id"},onSelectionChange:{type:Function,default:()=>{}},searchOption:{type:[Boolean,Function],default:!1},enableHighlightSearch:{type:Boolean,default:!0}},Ot=n.defineComponent({name:"FComboListContainer",props:Nt,emits:["selectionChange"],setup(e,t){const o=n.ref(),r=n.ref(e.dataSource),m=n.ref([]),g=n.ref(e.separator),p=n.ref(e.width),C=n.ref(e.maxHeight),V=n.ref(String(e.selectedValues).split(g.value)),h=n.computed(()=>e.multiSelect),b=n.computed(()=>({enableSelectRow:!0,multiSelect:e.multiSelect,multiSelectMode:"OnCheckAndClick",showCheckbox:h.value,showSelectAll:!1,showSelection:!0}));n.watch(e.dataSource,()=>{r.value=e.dataSource}),n.computed(()=>e.enableSearch?"SearchBar":"ContentHeader");const a=n.computed(()=>{const s={};return p.value!==void 0&&(s.width=`${p.value}px`),C.value!==void 0&&C.value>0&&(s.maxHeight=`${C.value}px`),s});function i(s){o.value.search(s)}function u(s){m.value=s.map(y=>Object.assign({},y)),V.value=s.map(y=>y[e.idField]),t.emit("selectionChange",m.value)}function c(s){if(e.enableHighlightSearch)return;let y=[];const{searchOption:d}=e;typeof d=="function"?y=r.value.filter(v=>d(s,v)):y=r.value.filter(v=>v[e.valueField].indexOf(s)>-1||v[e.textField].indexOf(s)>-1),o.value.updateDataSource(y)}n.watch([()=>e.selectedValues],([s])=>{e.multiSelect?V.value=s.split(g.value):V.value=[s]});function l(s){o.value.activeRowById(s)}return n.onMounted(()=>{var s,y;if(!e.multiSelect){const d=(s=V.value)==null?void 0:s[0];let v=d;if(!z.isUndefined(d)){const P=typeof d,B=typeof((y=r.value[0])==null?void 0:y[e.valueField||e.idField]);B==="number"&&P!==B&&(v=Number(d)),B==="boolean"&&P!==B&&(v=d==="true"?!0:d==="false"?!1:d),l(v)}}}),t.expose({search:i,activeRowById:l}),()=>n.createVNode("div",{class:"f-combo-list-container",style:a.value},[n.createVNode(Ne,{ref:o,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:b.value,enableHighlightSearch:e.enableHighlightSearch,selectionValues:V.value,onSelectionUpdate:u,onAfterSearch:c},null)])}});function Pt(e){const{t}=ee.useI18n(),o=n.ref(""),r=n.ref(e.modelValue),m=n.ref(e.data||[]),g=n.ref(e.editable);function p(i){const u=e.multiSelect?String(i).split(e.separator):[String(i)],c=u.map(y=>[y,!0]),l=new Map(c);return m.value.filter(y=>l.has(String(y[e.valueField]))).sort((y,d)=>{const v=u.indexOf(y[e.valueField]),P=u.indexOf(d[e.valueField]);return v-P})}function C(i){const u=p(i).map(c=>c[e.textField]).join(e.separator);o.value=g.value?u||i:u}function V(i){if(e.multiSelect){const u=i.split(e.separator).map(l=>[l,!0]),c=new Map(u);return m.value.filter(l=>c.has(l[e.textField]))}return m.value.filter(u=>""+u[e.textField]===i)}function h(i){const u={};return u[e.idField]=i,u[e.textField]=i,[u]}function b(i){let u=V(i);const c=u&&u.length>0;return g.value&&!c&&(u=h(i)),u}function a(){const{url:i,method:u="GET",headers:c={"Content-Type":"application/json;charset=utf-8;"},body:l=null}=e.remote,s=u.toLowerCase()==="get"?{method:u,headers:c}:{method:u,headers:c,body:l};let y=!1;fetch(new Request(i,s)).then(d=>{var P,B;if(d.status===200)return y=!!((B=(P=d.headers)==null?void 0:P.get("content-type"))!=null&&B.includes("application/json")),y?d.text():d.json();throw d.status===405?new Error(t("comboList.remoteError")):new Error(d.statusText)}).then(d=>{d.length&&(m.value=y?JSON.parse(d):d)}).catch(d=>{console.warn(d)})}return e.remote&&a(),n.watch(()=>e.data,()=>{m.value=e.data}),n.watch([m],([i])=>{if(e.modelValue!=null){const u=i.find(c=>c[e.valueField]===e.modelValue);u&&(o.value=u[e.textField])}}),n.watch(()=>e.modelValue,i=>{r.value=i,C(i)}),C(e.modelValue),{dataSource:m,displayText:o,editable:g,modelValue:r,getItemsByDisplayText:V,getItemsByValue:p,getSelectedItemsByDisplayText:b}}const X=n.defineComponent({name:"FComboList",props:re,emits:["clear","update:modelValue","change","input"],setup(e,t){const{t:o}=ee.useI18n(),r=n.ref(),m=n.ref(),g=n.ref(e.disabled||e.readonly),p=n.ref(e.enableClear),C=n.ref(e.enableSearch),V=n.ref(e.readonly),{dataSource:h,displayText:b,editable:a,modelValue:i,getSelectedItemsByDisplayText:u,getItemsByDisplayText:c,getItemsByValue:l}=Pt(e),s=n.ref(e.dropDownIcon);s.value==='<span class="f-icon f-icon-arrow-chevron-down"></span>'&&(s.value='<span id="'+e.id+'-icon-dropdown" class="f-icon f-icon-arrow-chevron-down"></span>');const y=n.computed(()=>e.multiSelect),d=n.computed(()=>m.value?m.value.elementRef.getBoundingClientRect().width:0);function v(){!y.value&&m.value&&m.value.hidePopup()}function P(O){b.value=O.map(F=>F[e.textField]).join(e.separator);let S="";O.length===1?S=O[0][e.valueField]:S=O.map(F=>F[e.valueField]).join(e.separator),i.value!==S&&(i.value=S,t.emit("update:modelValue",i.value),t.emit("change",O,i.value))}function B(){const O=l(i.value);P(O)}function T(){V.value||b.value}function N(O){var S;i.value="",(S=r.value)==null||S.activeRowById(""),t.emit("update:modelValue",""),t.emit("change",[],""),t.emit("clear")}function I(O){var S,F;e.enableSearch&&e.enableHighlightSearch&&((S=r.value)==null||S.search(O)),(F=r.value)==null||F.activeRowById(O),t.emit("change",[i.value],i.value)}function f(O){if(e.multiSelect){const S=c(O);e.viewType;const k=S.map(j=>j[e.idField||e.valueField]).join(e.separator);i.value!==k&&(i.value=k,t.emit("update:modelValue",i.value),t.emit("change",S,i.value))}}function M(){return b.value}function $(O){const{value:S}=O.target;I(S),t.emit("input",S)}function w(){m.value.hidePopup()}return t.expose({getDisplayText:M,hidePopup:w}),n.watch([()=>e.disabled,()=>e.editable,()=>e.enableClear,()=>e.enableSearch,()=>e.readonly],([O,S,F,k,j])=>{g.value=O,a.value=S,p.value=F,C.value=k,V.value=j}),()=>n.createVNode(ke,{ref:m,id:e.id,disable:g.value,readonly:V.value,forcePlaceholder:e.forcePlaceholder,editable:a.value,buttonContent:s.value,placeholder:e.placeholder==="请选择"?o("comboList.placeholder"):e.placeholder,enableClear:p.value,maxLength:e.maxLength,tabIndex:e.tabIndex,enableTitle:e.enableTitle,multiSelect:e.multiSelect,inputType:e.multiSelect?e.viewType:"text",modelValue:b.value,"onUpdate:modelValue":O=>b.value=O,focusOnCreated:e.focusOnCreated,selectOnCreated:e.selectOnCreated,onClear:N,onClick:T,onChange:f,onBlur:B,onInput:$,beforeOpen:e.beforeOpen,placement:e.placement,popupMinWidth:e.minPanelWidth,popupClass:"f-combo-list-wrapper",popupOnClick:e.popupOnClick,limitContentBySpace:!0},{default:()=>[n.createVNode(Ot,{ref:r,idField:e.idField,valueField:e.valueField,textField:e.textField,titleField:e.titleField,dataSource:h.value,selectedValues:i.value,separator:e.separator,multiSelect:e.multiSelect,enableSearch:C.value,maxHeight:e.maxHeight,enableHighlightSearch:e.enableHighlightSearch,width:e.fitEditor?d.value:void 0,onSelectionChange:O=>{P(O),v()}},null)]})}}),Te={convertFrom:(e,t)=>(e.editor.remote||{})[t],convertTo:(e,t,o)=>{e.editor.remote=e.editor.remote||{},e.editor.remote[t]=o}};class Mt extends Me.InputBaseProperty{constructor(t,o){super(t,o)}getCommonEditorProperties(t){var o,r,m;return{viewType:{visible:!!((o=t.editor)!=null&&o.multiSelect),description:"数据展示类型,有标签和文本两种方式",title:"数据展示类型",type:"enum",editor:{data:[{id:"tag",name:"标签"},{id:"text",name:"文本"}]},refreshPanelAfterChanged:!0},separator:{visible:!!((r=t.editor)!=null&&r.multiSelect)&&((m=t.editor)==null?void 0:m.viewType)==="text",description:"下拉列表启用多选且数据展示类型为文本时的分隔符",title:"分隔符",type:"enum",editor:{data:[{id:",",name:"逗号(,)"},{id:"#",name:"井号(#)"},{id:".",name:"句号(.)"},{id:"|",name:"竖线(|)"}]}},editable:{description:"",title:"允许编辑",type:"boolean",refreshPanelAfterChanged:!0,readonly:!0}}}getEditorProperties(t){var g,p;const o=this;let r="";if(((g=t==null?void 0:t.binding)==null?void 0:g.type)==="Form"){const C=this.schemaService.getFieldByIDAndVMID(t.binding.field,this.viewModelId);(p=C==null?void 0:C.schemaField)!=null&&p.type&&(r=C.schemaField.type.$type)}return o.getComponentConfig(t,{type:"combo-list"},{enableClear:{description:"",title:"启用清空",type:"boolean"},dataSourceType:{description:"",title:"数据源类型",type:"enum",editor:{default:"static",data:[{id:"static",name:"静态"},{id:"dynamic",name:"动态"}]},refreshPanelAfterChanged:!0},data:{description:"",title:"数据",type:"array",visible:!t.editor.dataSourceType||t.editor.dataSourceType==="static",...o.getItemCollectionEditor(t,t.editor.valueField,t.editor.textField),refreshPanelAfterChanged:!0},url:{visible:t.editor.dataSourceType==="dynamic",$converter:Te,description:"",title:"服务端API",type:"string"},body:{visible:!1,$converter:Te,description:"",title:"服务端API参数",type:"string"},textField:{description:"",title:"数据源显示字段",type:"string",readonly:t.editor.dataSourceType!=="dynamic"},valueField:{description:"",title:"数据源值字段",type:"string",readonly:t.editor.dataSourceType!=="dynamic"},multiSelect:{description:"",title:"启用多选",visible:!r||r==="StringType",type:"boolean",refreshPanelAfterChanged:!0},maxLength:{description:"",title:"最大输入长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,needValid:!0}},...this.getCommonEditorProperties(t)},(C,V)=>{if(!C||!V.editor)return;const h=this;switch(C.propertyID){case"dataSourceType":{C.propertyValue==="static"?(V.editor.valueField="value",V.editor.textField="name",V.editor.remote=null):C.propertyValue==="dynamic"&&(V.editor.remote={method:"GET"},V.editor.valueField="value",V.editor.textField="name");break}case"data":{!h.checkEnumDataReadonly(V)&&V.formatter&&(V.formatter.data=[...C.propertyValue]);break}case"viewType":C.propertyValue==="tag"&&(V.editor.editable=!1)}})}getGridFieldEdtiorProperties(t,o){var p,C,V,h;const r=this;let m="";if(((p=t==null?void 0:t.binding)==null?void 0:p.type)==="Form"){const b=this.schemaService.getFieldByIDAndVMID(t.binding.field,this.viewModelId);(C=b==null?void 0:b.schemaField)!=null&&C.type&&(m=b.schemaField.type.$type)}return r.getComponentConfig(t,{type:"combo-list"},{enableClear:{description:"",title:"启用清空",type:"boolean"},data:{description:"",title:"数据",type:"array",visible:!0,...r.getItemCollectionEditor(t,(V=t.editor)==null?void 0:V.valueField,(h=t.editor)==null?void 0:h.textField),refreshPanelAfterChanged:!0},textField:{description:"",title:"数据源显示字段",type:"string",readonly:!0},valueField:{description:"",title:"数据源值字段",type:"string",readonly:!0},multiSelect:{description:"",title:"启用多选",visible:m==="StringType",type:"boolean",refreshPanelAfterChanged:!0},maxLength:{description:"",title:"最大输入长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,needValid:!0}},...this.getCommonEditorProperties(t)},(b,a)=>{if(!b||!a.editor)return;const i=this;switch(b.propertyID){case"dataSourceType":{b.propertyValue==="static"?(a.editor.valueField="value",a.editor.textField="name",a.editor.remote=null):b.propertyValue==="dynamic"&&(a.editor.remote={method:"GET"});break}case"data":{!i.checkEnumDataReadonly(a)&&a.formatter&&(a.formatter.data=[...b.propertyValue]);break}}})}setEditorPropertyRelates(t,o,r){if(!t||!o.editor)return;const m=this;switch(t.propertyID){case"dataSourceType":{t.propertyValue==="static"&&(o.editor.valueField="value",o.editor.textField="name",o.editor.remote={});break}case"data":{!m.checkEnumDataReadonly(o)&&o.formatter&&(o.formatter.data=[...t.propertyValue]);break}}}changeBindingField(t,o,r){var g;super.changeBindingField(t,o);const m=r;t.editor&&((g=m==null?void 0:m.type)==null?void 0:g.$type)===G.FormSchemaEntityFieldType$Type.EnumType&&(t.editor.data=m.type.enumValues||[])}}function It(e,t){const o=e.schema;function r(m,g){return new Mt(m,t).getPropertyConfig(o,g)}return{getPropsConfig:r}}const Bt=n.defineComponent({name:"FComboListDesign",props:kt,emits:["clear","update:modelValue","change"],setup(e,t){const o=n.ref(),r=n.inject("designer-host-service"),m=n.inject("design-item-context"),g=It(m,r),p=Pe.useDesignerComponent(o,m,g);return n.onMounted(()=>{o.value.componentInstance=p}),t.expose(p.value),()=>n.createVNode(Oe,{ref:o,buttonContent:e.dropDownIcon,readonly:!0,editable:!1,forcePlaceholder:!0,placeholder:e.placeholder,enableClear:!0},null)}});X.register=(e,t,o,r)=>{e["combo-list"]=X,t["combo-list"]=Ve},X.registerDesigner=(e,t,o)=>{e["combo-list"]=Bt,t["combo-list"]=Ve};const Y=G.withInstall(X),J=n.defineComponent({name:"FOrder",props:U,emits:["change"],setup(e,t){const o=n.ref(),r=n.ref(e.items);function m(){var v;const d=Array.isArray(e.items)?e.items:[];r.value=[...d],(v=o.value)==null||v.updateDataSource(r.value)}n.watch(()=>e.items,m);const g=n.ref("排序列"),p=n.ref("排序方式"),C=n.ref("添加排序列"),V=[{id:"asc",name:"升序"},{id:"desc",name:"降序"}],h=n.ref(new Map);function b(){const d=r.value.map(v=>[v.id,!0]);h.value=new Map(d)}b();const a=n.computed(()=>e.dataSource.map(d=>(d.disabled=h.value.has(d.id),d))),i=n.computed(()=>({"f-order":!0}));function u(d){r.value=r.value.filter(v=>v.id!==d.id),b(),t.emit("change",r.value)}function c(){r.value=[...r.value,{id:Date.now().toString(),name:"",order:"asc"}],b(),t.emit("change",r.value)}function l(d){if(d&&d.length===1){const v=d[0],P=r.value.find(B=>B.id===v.id);P&&(P.name=v.name)}b(),t.emit("change",r.value)}function s(d){if(d&&d.length){const v=new Map;d.reduce((P,B)=>(P.set(B.id,B),P),v),r.value=d.map(P=>v.get(P.id)),t.emit("change",r.value)}}function y(){return n.createVNode(Fe,{ref:o,style:"flex:1",data:r.value,draggable:!0,view:"DraggableView","keep-order":!0,itemClass:"f-order-item",onRemoveItem:u,onChange:s},{header:()=>n.createVNode("div",{class:"f-order-header"},[n.createVNode("span",{class:"f-order-header-order-field"},[g.value]),n.createVNode("span",{class:"f-order-header-order-type"},[p.value])]),itemContent:d=>n.createVNode("div",{class:"f-order-item-content"},[n.createVNode(Y,{class:"f-order-item-content-order-field",data:a.value,valueField:"id",textField:"name",idField:"id",modelValue:d.raw.id,"onUpdate:modelValue":v=>d.raw.id=v,onChange:l,onClear:l},null),n.createVNode(Y,{class:"f-order-item-content-order-type",data:V,valueField:"id",textField:"name",idField:"id",modelValue:d.raw.order,"onUpdate:modelValue":v=>d.raw.order=v,onChange:l},null)]),footer:()=>n.createVNode("div",{class:"f-order-footer"},[n.createVNode(we,{type:"link",class:"f-order-add-button",onClick:c},{default:()=>n.createVNode(n.Fragment,null,[n.createVNode("span",{class:"f-order-add-icon"},[n.createVNode("i",{class:"f-icon f-icon-add"},null)]),C.value])})])})}return()=>n.createVNode("div",{class:i.value},[y()])}});function Rt(e,t,o){var $;const r="",m="",g=n.ref();let p;function C(){return(t==null?void 0:t.schema.componentType)!=="frame"}function V(){return!1}function h(){return(t==null?void 0:t.schema.componentType)!=="frame"}function b(){return(t==null?void 0:t.schema.componentType)==="frame"}function a(w){if(!w||!w.value)return null;if(w.value.schema&&w.value.schema.type==="component")return w.value;const O=n.ref(w==null?void 0:w.value.parent),S=a(O);return S||null}function i(w=t){var k;const{componentInstance:O,designerItemElementRef:S}=w;if(!O||!O.value)return null;const{getCustomButtons:F}=O.value;return O.value.canMove||F&&((k=F())!=null&&k.length)?S:i(w.parent)}function u(w){return!!o}function c(){return(t==null?void 0:t.schema.label)||(t==null?void 0:t.schema.title)||(t==null?void 0:t.schema.name)}function l(){}function s(w,O){var S;!w||!O||(S=t==null?void 0:t.setupContext)==null||S.emit("dragEnd")}function y(w,O){const{componentType:S}=w;let F=ne.getSchemaByTypeForDesigner(S,w,O);const k=S.toLowerCase().replace(/-/g,"_");return F&&!F.id&&F.type===S&&(F.id=`${k}_${Math.random().toString().slice(2,6)}`),F}function d(w){}function v(...w){}function P(w){if(!w)return;const O=t==null?void 0:t.schema,{formSchemaUtils:S}=w;if(O&&S.getExpressions().length){const F=S.getExpressions().findIndex(k=>k.target===O.id);F>-1&&S.getExpressions().splice(F,1)}}function B(w){if(!w||!(t!=null&&t.schema))return;const O=t.schema,{formSchemaUtils:S}=w;S.removeCommunicationInComponent(O)}function T(w){P(w),B(w),t!=null&&t.schema.contents&&t.schema.contents.map(O=>{let S=O.id;O.type==="component-ref"&&(S=O.component);const F=e.value.querySelectorAll(`#${S}-design-item`);F!=null&&F.length&&Array.from(F).map(k=>{var j;(j=k==null?void 0:k.componentInstance)!=null&&j.value.onRemoveComponent&&k.componentInstance.value.onRemoveComponent(w)})})}function N(){}function I(w){var S,F;if(!((S=t==null?void 0:t.schema)!=null&&S.id))return;!p&&w&&(p=w.formSchemaUtils);let O="";{const{text:k,title:j,label:R,mainTitle:L,name:A,type:q}=t.schema;O=k||j||R||L||A||((F=fe[q])==null?void 0:F.name)}O&&p.getControlBasicInfoMap().set(t.schema.id,{componentTitle:O,parentPathName:O})}function f(w){var k;const{changeObject:O}=w,{propertyID:S,propertyValue:F}=O;if(["text","title","label","name","mainTitle"].includes((k=w==null?void 0:w.changeObject)==null?void 0:k.propertyID)&&S&&F&&(I(),p)){const j=p.getControlBasicInfoMap(),R=j.keys().toArray().filter(L=>{var A,q;return((A=j.get(L))==null?void 0:A.reliedComponentId)===((q=t==null?void 0:t.schema)==null?void 0:q.id)});R!=null&&R.length&&R.forEach(L=>{const A=j.get(L).parentPathName.split(" > ");A[0]=F,j.get(L).parentPathName=A.join(" > ")})}}function M(w){f(w)}return g.value={canMove:C(),canSelectParent:V(),canDelete:h(),canNested:!b(),contents:t==null?void 0:t.schema.contents,elementRef:e,parent:($=t==null?void 0:t.parent)==null?void 0:$.componentInstance,schema:t==null?void 0:t.schema,styles:r,designerClass:m,canAccepts:u,getBelongedComponentInstance:a,getDraggableDesignItemElement:i,getDraggingDisplayText:c,getPropConfig:v,getDragScopeElement:l,onAcceptMovedChildElement:s,onChildElementMovedOut:d,addNewChildComponentSchema:y,triggerBelongedComponentToMoveWhenMoved:n.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:n.ref(!1),onRemoveComponent:T,getCustomButtons:N,onPropertyChanged:M,setComponentBasicInfoMap:I,updateContextSchema:t==null?void 0:t.updateContextSchema},g}const jt=n.defineComponent({name:"FOrderDesign",props:U,emits:["change"],setup(e,t){const o=n.ref(e.items),r=n.ref("排序列"),m=n.ref("排序方式"),g=n.ref("添加排序列"),p=[{id:"asc",name:"升序"},{id:"desc",name:"降序"}],C=n.ref(new Map),V=n.ref(),h=n.inject("design-item-context"),b=Rt(V,h);n.onMounted(()=>{V.value.componentInstance=b}),t.expose(b.value);function a(){const v=o.value.map(P=>[P.id,!0]);C.value=new Map(v)}a();const i=n.computed(()=>e.dataSource.map(v=>(v.disabled=C.value.has(v.id),v))),u=n.computed(()=>({"f-order":!0}));function c(v){o.value=o.value.filter(P=>P.id!==v.id),a(),t.emit("change",o.value)}function l(){o.value=[...o.value,{id:Date.now().toString(),name:"",order:"asc"}],a(),t.emit("change",o.value)}function s(v){a(),t.emit("change",o.value)}function y(v){if(v&&v.length){const P=new Map;v.reduce((B,T)=>(B.set(T.id,T),B),P),o.value=v.map(B=>P.get(B.id)),t.emit("change",o.value)}}function d(){return n.createVNode(Fe,{style:"flex:1",data:o.value,draggable:!0,view:"DraggableView","keep-order":!0,itemClass:"f-order-item",onRemoveItem:c,onChange:y},{header:()=>n.createVNode("div",{class:"f-order-header"},[n.createVNode("span",{class:"f-order-header-order-field"},[r.value]),n.createVNode("span",{class:"f-order-header-order-type"},[m.value])]),itemContent:v=>n.createVNode("div",{class:"f-order-item-content"},[n.createVNode(Y,{class:"f-order-item-content-order-field",data:i.value,valueField:"id",textField:"name",idField:"id",modelValue:v.id,"onUpdate:modelValue":P=>v.id=P,onChange:s,onClear:s},null),n.createVNode(Y,{class:"f-order-item-content-order-type",data:p,valueField:"id",textField:"name",idField:"id",modelValue:v.order,"onUpdate:modelValue":P=>v.order=P,onChange:s},null)]),footer:()=>n.createVNode("div",{class:"f-order-footer"},[n.createVNode(we,{type:"link",class:"f-order-add-button",onClick:l},{default:()=>n.createVNode(n.Fragment,null,[n.createVNode("span",{class:"f-order-add-icon"},[n.createVNode("i",{class:"f-icon f-icon-add"},null)]),g.value])})])})}return()=>n.createVNode("div",{ref:V,class:u.value},[d()])}}),xt={install(e){e.component(J.name,J)},register(e,t,o,r){e.order=J,t.order=oe},registerDesigner(e,t,o){e.order=jt,t.order=oe}};D.FOrder=J,D.default=xt,D.orderProps=U,D.propsResolver=oe,Object.defineProperties(D,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|