@farris/ui-vue
Version:
Farris Vue, a Farris Design based Vue3 component library.
39 lines (36 loc) • 45 kB
JavaScript
(function(k,j){typeof exports=="object"&&typeof module<"u"?j(exports,require("../../components/common/index.umd.js"),require("../../components/list-view/index.umd.js"),require("../../components/dynamic-resolver/index.umd.js"),require("vue"),require("../../components/designer-canvas/index.umd.js"),require("../../components/data-view/index.umd.js"),require("../../components/locale/index.umd.js"),require("../../components/checkbox/index.umd.js"),require("lodash-es")):typeof define=="function"&&define.amd?define(["exports","../../components/common/index.umd.js","../../components/list-view/index.umd.js","../../components/dynamic-resolver/index.umd.js","vue","../../components/designer-canvas/index.umd.js","../../components/data-view/index.umd.js","../../components/locale/index.umd.js","../../components/checkbox/index.umd.js","lodash-es"],j):(k=typeof globalThis<"u"?globalThis:k||self,j(k["list-view"]={},k.common,k.FListView,k.dynamicResolver,k.Vue,k.designerCanvas,k.dataView,k.locale,k.checkbox,k.LodashES))})(this,function(k,j,L,H,t,A,U,ce,J,de){"use strict";var Re=Object.defineProperty;var $e=(k,j,L)=>j in k?Re(k,j,{enumerable:!0,configurable:!0,writable:!0,value:L}):k[j]=L;var $=(k,j,L)=>$e(k,typeof j!="symbol"?j+"":j,L);function ue(o,e){function s(a){const i=[];let d=a.nextNode();for(;d;)i.push(d),d=a.nextNode();return i}function n(a,i){const d=document.createTreeWalker(a,NodeFilter.SHOW_TEXT);return s(d).map(u=>({textNode:u,text:(u.textContent||"").toLocaleLowerCase()})).map(({textNode:u,text:g})=>{const w=[];let v=0;for(;v<g.length;){const V=g.indexOf(i,v);if(V===-1)break;w.push(V),v=V+i.length}return w.map(V=>{const y=new Range;return y.setStart(u,V),y.setEnd(u,V+i.length),y})}).flat()}function r(a){if(!CSS.highlights||(CSS.highlights.clear(),!a||!e))return;const i=n(e.value,a.toLocaleLowerCase()),d=new Highlight(...i);CSS.highlights.set("search-result",d)}return{search:r}}function te(o,e,s,n,r,a,i,d,l,m){const c=t.ref(o.size),u=t.ref(o.textField),g=t.ref(o.titleField),w=t.ref(o.disableField),v=t.computed(()=>{var h,x;return((h=o.selection)==null?void 0:h.multiSelect)&&((x=o.selection)==null?void 0:x.showCheckbox)}),{onMouseenterItem:V,onMouseoverItem:y,onMouseoutItem:b}=a,{getKey:I,listViewItemClass:P,listViewItemStyle:T,onCheckItem:B,onClickItem:S}=i,D=t.computed(()=>{const h={"text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"};return o.itemClass?h:{margin:c.value==="small"?"0.25rem 0":"8px 0",...h}});function N(h,x,F){return h.checked=d.findIndexInSelectedItems(h)>-1,t.createVNode("li",{class:P(h,x),id:I(h,x),key:I(h,x),style:T(h,x),onClick:R=>S(h,x,R),onMouseenter:R=>V(R,h,x),onMouseover:R=>y(R,h,x),onMouseout:R=>b(R,h,x)},[v.value&&t.createVNode("div",{class:"f-list-select",onClick:R=>R.stopPropagation()},[t.createVNode(J.FCheckbox,{id:"list-"+I(h,x),customClass:"listview-checkbox float-left",disabled:h[w.value],checked:h.checked,"onUpdate:checked":R=>h.checked=R,onChange:R=>{B(h,x,!R.checked)}},null)]),t.createVNode("div",{class:"f-list-content"},[t.createVNode("div",{class:o.itemContentClass,style:D.value,title:h.raw[g.value]||h.raw[u.value]},[h.raw[u.value]])])])}return{renderItem:N}}function pe(o,e,s,n,r,a,i,d,l,m){const c=t.ref(o.multiSelect),u=t.ref(o.disableField),g=t.ref(o.textField),{onMouseenterItem:w,onMouseoverItem:v,onMouseoutItem:V}=a,{getKey:y,listViewItemClass:b,listViewItemStyle:I,onCheckItem:P,onClickItem:T,updateSelectedItems:B}=i;function S(N,h,x){return o.contentTemplate?t.createVNode(t.Fragment,null,[o.contentTemplate({item:N.raw,index:h,selectedItem:x})]):e.slots.content?t.createVNode(t.Fragment,null,[e.slots.content&&e.slots.content({item:N.raw,index:h,selectedItem:x})]):t.createVNode("div",{style:"margin: 10px 0;"},[N.raw[g.value||"name"]])}function D(N,h,x){return t.createVNode("li",{class:b(N,h),id:y(N,h),key:y(N,h),style:I(N,h),onClick:F=>T(N,h,F),onMouseenter:F=>w(F,N,h),onMouseover:F=>v(F,N,h),onMouseout:F=>V(F,N,h)},[c.value&&t.createVNode("div",{class:"f-list-select",onClick:F=>F.stopPropagation()},[t.createVNode(J.FCheckbox,{id:"list-"+y(N,h),customClass:"listview-checkbox",disabled:N[u.value],checked:N.checked,"onUpdate:checked":F=>N.checked=F,onChange:F=>{P(N,h,!F.checked),B()}},null)]),t.createVNode("div",{class:"f-list-content"},[S(N,h,x)])])}return{renderItem:D}}function me(o,e,s,n,r,a,i,d,l,m){const c=t.ref(o.multiSelect),u=t.ref(o.disableField),g=t.ref(o.textField),{onMouseenterItem:w,onMouseoverItem:v,onMouseoutItem:V}=a,{getKey:y,listViewItemClass:b,onCheckItem:I,onClickItem:P}=i,{dragstart:T,dragenter:B,dragover:S,dragend:D}=n,{removeItem:N}=l,h=t.computed(()=>({margin:c.value?"10px 0":"10px 0px 10px 14px"}));function x(p,f=""){const E=p.target;E.title=E.scrollWidth>E.clientWidth?f:""}function F(p){return t.createVNode("div",{style:h.value,onMouseenter:f=>x(f,p.raw[g.value||"name"])},[p.raw[g.value||"name"]])}function R(){return e.slots.itemContent?e.slots.itemContent:F}const q=R();function M(p,f,E){return t.createVNode("li",{class:b(p,f),id:y(p,f),key:y(p,f),onClick:C=>P(p,f,C),onMouseenter:C=>w(C,p,f),onMouseover:C=>v(C,p,f),onMouseout:C=>V(C,p,f),draggable:"true",onDragstart:C=>T(C,p,f),onDragenter:C=>B(C,f),onDragend:C=>D(C,p),onDragover:C=>S(C)},[c.value&&t.createVNode("div",{class:"f-list-select",onClick:C=>C.stopPropagation()},[t.createVNode(J.FCheckbox,{id:"list-"+y(p,f),customClass:"listview-checkbox",disabled:p[u.value],checked:p.checked,"onUpdate:checked":C=>p.checked=C,onChange:C=>I(p,f,!C.checked)},null)]),t.createVNode("div",{class:"f-list-content"},[q(p)]),o.allowDelete&&t.createVNode("div",{class:"f-list-remove",onClick:C=>{C.stopPropagation(),N(f)}},[t.createVNode("div",{class:"f-list-remove-icon"},[t.createVNode("i",{class:"f-icon f-icon-remove_face"},null)])]),t.createVNode("div",{class:"f-list-handle"},[t.createVNode("div",null,[t.createVNode("i",{class:"f-icon f-icon-drag-vertical"},null)])])])}return{renderItem:M}}function fe(o,e,s,n,r,a,i,d,l,m){var y;const c=t.ref(((y=o.group)==null?void 0:y.groupFields)||[]),{collpaseGroupIconClass:u}=r,{toggleGroupRow:g}=m;function w(b,I){b.stopPropagation(),I.collapse=!I.collapse,s.value=g(I.collapse?"collapse":"expand",I,s.value)}function v(b,I,P){return e.slots.group?t.createVNode(t.Fragment,null,[e.slots.content&&e.slots.group({item:b.raw,index:I,selectedItem:P})]):t.createVNode("div",{class:"f-navlookup-recentHeader",onClick:T=>w(T,b)},[t.createVNode("div",{class:"fv-grid-group-row-icon"},[t.createVNode("span",{class:u(b)},null)]),t.createVNode("div",{class:"f-navlookup-recommandLabel"},[b.raw[c.value[b.layer]]])])}function V(b,I,P){return b.layer>-1&&v(b,I,P)}return{renderItem:V}}function ge(o,e,s,n){const{dataView:r}=s,{updateSelectedItems:a}=n;function i(d){if(d>-1&&d<r.value.length){if(o!=null&&o.checkBeforeRemoveItem&&!o.checkBeforeRemoveItem(r.value[d]))return;const l=r.value.splice(d,1);a(),e.emit("removeItem",l[0])}}return{removeItem:i}}function he(o,e,s,n,r,a,i,d,l,m){const c=t.ref(o.view),u=t.ref(o.view==="CardView"),g=t.ref({}),w=ge(o,e,n,l),v=t.computed(()=>({"f-list-view-group":!0,"f-list-view-group-multiselect":o.multiSelect,"d-flex":u.value,"flex-wrap":u.value})),V=t.computed(()=>!!s.value&&s.value.length>0),y=t.computed(()=>s.value.length===0);t.computed(()=>y.value&&!e.slots.empty);function b(){return c.value==="SingleView"?te:c.value==="DraggableView"?me:(c.value==="ContentView"||c.value==="CardView")&&(o.contentTemplate||e.slots.content)?pe:te}const I=b(),{renderItem:P}=I(o,e,s,m,r,a,l,i,w,d),{renderItem:T}=fe(o,e,s,m,r,a,l,i,w,d),B=[P,T];function S(){return s.value.filter(h=>h.visible!==!1).map((h,x)=>B[h.type](h,x,g))}function D(){return t.createVNode("div",{class:"f-list-view-emptydata",style:"margin: 0 auto;"},[t.createVNode("p",{class:"f-empty-title"},[o.emptyTemplate?o.emptyTemplate():e.slots.empty?e.slots.empty():ce.LocaleService.getLocaleValue("listView.emptyMessage")])])}function N(){return t.createVNode("ul",{class:v.value,style:"list-style: none;"},[V.value&&S(),y.value&&D()])}return{renderListArea:N}}function we(o,e,s){function n(){return e.slots.header&&t.createVNode("div",{class:"f-list-view-header"},[e.slots.header()])}return{renderHeader:n}}function ne(o,e,s){const n=t.ref(o.headerClass),r=t.ref(o.placeholder),a=t.ref(""),i=t.computed(()=>!a.value),d=t.computed(()=>!!a.value);function l(g){a.value=""}t.watch(a,g=>{o.enableHighlightSearch&&s.search(g),e.emit("afterSearch",g)});const m=t.computed(()=>{const g={"form-group":!0,"farris-form-group":!0};return n.value&&n.value.split(" ").reduce((v,V)=>(v[V]=!0,v),g),g});function c(g){}function u(){return t.createVNode("div",{class:"f-list-view-header",onClick:t.withModifiers(()=>c,["prevent","stop"])},[t.createVNode("div",{class:m.value},[t.createVNode("div",{class:"farris-input-wrap"},[t.createVNode("div",{class:"f-cmp-inputgroup"},[t.createVNode("div",{class:"input-group f-state-editable"},[t.withDirectives(t.createVNode("input",{class:"form-control f-utils-fill text-left","onUpdate:modelValue":g=>a.value=g,name:"input-group-value",type:"text",placeholder:r.value,autocomplete:"off"},null),[[t.vModelText,a.value]]),t.createVNode("div",{class:"input-group-append"},[d.value&&t.createVNode("span",{class:"input-group-text input-group-clear",onClick:g=>l()},[t.createVNode("i",{class:"f-icon f-icon-close-circle"},null)]),i.value&&t.createVNode("span",{class:"input-group-text"},[t.createVNode("span",{class:"f-icon f-icon-search"},null)])])])])])])])}return{renderHeader:u}}function ve(){const o=t.ref(""),e=t.ref(-1),s=t.ref(""),n=t.ref(-1),r=t.ref(!1);function a(u,g,w){n.value=w}function i(u,g,w){r.value||(n.value=w)}function d(u,g,w){n.value=-1}function l(){r.value=!0}function m(){r.value=!1}function c(){e.value=-1,o.value=""}return{activeIndex:e,focusedItemId:s,hoverIndex:n,clearActiveItem:c,onMouseenterItem:a,onMouseoverItem:i,onMouseoutItem:d,resumeHover:m,suspendHover:l}}function ye(o,e,s,n,r){const a=t.ref(o.idField),{dataView:i}=s,d=t.ref(-1),l=t.ref(!1),{activeIndex:m,focusedItemId:c,hoverIndex:u,resumeHover:g,suspendHover:w}=n;let v,V=0,y=0,b=null,I=null;const P=10,T=50;function B(p){if(!p)return null;const{overflowY:f}=getComputedStyle(p);return f==="auto"||f==="scroll"?p:B(p.parentElement)}function S(p,f){I&&clearInterval(I),I=window.setInterval(()=>{f==="up"?p.scrollTop-=P:p.scrollTop+=P},16)}function D(){I&&(clearInterval(I),I=null)}function N(p){const f=p.target;if(b||(b=B(f)),!b){D();return}const E=b.getBoundingClientRect(),C=p.clientY,O=C-E.top,_=E.bottom-C;O<T&&b.scrollTop>0?S(b,"up"):_<T&&b.scrollTop<b.scrollHeight-b.clientHeight?S(b,"down"):D()}function h(p,f){const E=p-V,C=f-y;v.style.left=parseInt(v.style.left)+E+"px",v.style.top=parseInt(v.style.top)+C+"px",V=p,y=f}function x(p){const{left:f,top:E}=p.getBoundingClientRect(),C=p.cloneNode(!0);return C.className=C.className+" f-listview-drag-moving",C.style.cssText=`
position:absolute;
left:${f}px;
top:${document.documentElement.scrollTop?E+document.documentElement.scrollTop:E}px;
z-index: 999999;
pointer-events: none;
border-radius: 10px;
margin: 4px 2px;
display: flex;
align-items: center;
float: none;
text-align: initial;
width:${getComputedStyle(p).width};
height:${getComputedStyle(p).height};
`,C.children[0].style.cssText="padding: 0 0 0 14px",C.children[0].children[0].style.cssText=`
margin: 10px 0px 10px 14px;
overflow: hidden;text-overflow: ellipsis;white-space: nowrap;
`,C.children[1].style.cssText="flex:1 1 auto; width:100%",C.children[2].style.cssText="padding: 0 14px 0 0",C.children[2].children[0].style.cssText="display: initial",document.body.appendChild(C),C}function F(p,f,E){if(p.stopPropagation(),w(),f){if(v=x(p.target),p.dataTransfer){const C=new Image;C.src="",p.dataTransfer.setDragImage(C,0,0)}V=p.pageX,y=p.pageY,setTimeout(()=>{d.value=E,l.value=!0,f.moving=!0})}}function R(p,f){if(p.preventDefault(),d.value!==f&&d.value!==-1){const E=i.value[d.value],C=r.value[d.value];E&&C&&(i.value.splice(d.value,1),i.value.splice(f,0,E),r.value.splice(d.value,1),r.value.splice(f,0,C),r.value.forEach((O,_)=>{O.index=_,O.raw.__fv_index__=_}),d.value=f,h(p.pageX,p.pageY))}}function q(p){p.preventDefault(),p.dataTransfer&&(p.dataTransfer.dropEffect="move"),h(p.pageX,p.pageY),N(p)}function M(p,f){var C,O;D(),b=null,f&&(f.moving=!1,v&&(document.body.removeChild(v),v=null)),i.value.forEach((_,G)=>{_.__fv_index__=G}),r.value.forEach((_,G)=>{_.index=G,_.raw&&(_.raw.__fv_index__=G)}),l.value=!1,g();const E=((C=f.raw)==null?void 0:C.__fv_index__)??0;u.value=E,m.value=E,c.value=(O=f.raw)==null?void 0:O[a.value],e.emit("change",i.value),e.emit("activeChange",[f.raw])}return{dragstart:F,dragenter:R,dragover:q,dragend:M,isDragging:l}}function Ce(o,e,s,n,r,a){const i=t.ref(o.idField),d=t.ref(o.disableField),l=t.ref(o.draggable);t.ref(o.itemClass);const m=t.ref(o.selection.multiSelect??!1),c=t.ref(o.selection.multiSelectMode),{isDragging:u}=n,{activeIndex:g,focusedItemId:w,hoverIndex:v}=r,{clearSelection:V,getSelectedItems:y,toggleSelectItem:b,currentSelectedDataId:I,multiSelectOnlyOnCheck:P}=a,T=t.ref(y()),B=M=>T.value.length===0?!1:T.value.some(p=>{let f="";return p.data?f=p.data[i.value]:f=p[i.value],f===M});function S(){T.value=y()}function D(M,p){return M.raw[i.value]!=null?M.raw[i.value]+"_"+p:""}function N(M,p){const f={"f-list-view-group-item":!0,"f-list-view-draggable-item":l.value,"f-un-click":!M.checked,"f-un-select":!!M.raw[d.value],"f-listview-active":m.value&&B(D(M,p))&&o.showActiveWhenMultiSelect||!m.value&&M.raw[i.value]===I.value||m.value&&!o.showActiveWhenMultiSelect&&M.raw[i.value]===I.value,"f-listview-hover":!u.value&&p===v.value,moving:!!M.moving};if(typeof o.itemClass=="string")return j.getCustomClass(f,o.itemClass);if(typeof o.itemClass=="function"){const E=o.itemClass(M);return j.getCustomClass(f,E)}return f}function h(M,p){const f={};if(typeof o.itemStyle=="string")return j.getCustomStyle(f,o.itemStyle);if(typeof o.itemStyle=="function"){const E=o.itemStyle(M);return j.getCustomStyle(f,E)}return f}const x=t.computed(()=>!m.value);function F(M,p,f){M.checked=f,!M.raw[d.value]&&(x.value&&(w.value=M.raw[i.value]),b(M))}const R=t.computed(()=>!m.value||m.value&&c.value==="OnCheckAndClick");function q(M,p,f){if(M.raw[d.value]){f==null||f.preventDefault(),f==null||f.stopPropagation();return}I.value=M.raw[i.value],w.value=M.raw[i.value],g.value=p,R.value&&(b(M),S()),e.emit("clickItem",{data:T.value,index:p,dataItem:M.raw}),e.emit("activeChange",T.value)}return{getKey:D,selectedItems:T,listViewItemClass:N,listViewItemStyle:h,updateSelectedItems:S,onCheckItem:F,onClickItem:q}}const Y=new Map([["appearance",H.resolveAppearance]]),be="root-viewmodel";function Ve(o,e){const{formSchemaUtils:s,designViewModelUtils:n}=e;function r(c){return{id:`${c.componentId}-component-viewmodel`,code:`${c.componentId}-component-viewmodel`,name:c.componentName,bindTo:c.bindTo,parent:be,fields:[],commands:[],states:[],enableValidation:!0}}function a(c){const u=o.getSchemaByType("component-ref");return Object.assign(u,{id:`${c.componentId}-component-ref`,component:`${c.componentId}-component`}),u}function i(c,u,g){var y,b,I,P;const w=(b=(y=u==null?void 0:u.parentComponentInstance)==null?void 0:y.schema)==null?void 0:b.type,v=(P=(I=s.getFormSchema())==null?void 0:I.module)==null?void 0:P.templateId;if(["double-list-template","tree-list-template","list-template"].includes(v))return c;const V=[A.DgControl["content-container"].type,A.DgControl["response-layout-item"].type,A.DgControl["splitter-pane"].type,A.DgControl.drawer.type];if(w&&V.includes(w)){const T=o.getSchemaByType("section",{parentComponentInstance:u.parentComponentInstance,mainTitle:u.componentName},e);if(T&&T.contents&&T.contents.length){const B=T.contents[0];return B.contents=[c],T}}return c}function d(c){var v,V,y;const u=o.getSchemaByType("list-view");let g=!1;const w=(y=(V=(v=c.parentComponentInstance)==null?void 0:v.schema)==null?void 0:V.appearance)==null?void 0:y.class;return w&&w.includes("f-page-main")&&(g=!0),Object.assign(u,{id:c.componentId+"-listView",appearance:{class:g?"":"f-grid-is-sub"},type:"list-view",dataSource:c.dataSource||"",pagination:{enable:!1}}),[u]}function l(c){var V,y,b;const u=o.getSchemaByType("component"),g=d(c);let w=!1;const v=(b=(y=(V=c.parentComponentInstance)==null?void 0:V.schema)==null?void 0:y.appearance)==null?void 0:b.class;return v&&v.includes("f-page-main")&&(w=!0),Object.assign(u,{id:`${c.componentId}-component`,viewModel:`${c.componentId}-component-viewmodel`,componentType:c.componentType,contents:g,appearance:{class:w?"f-struct-wrapper f-utils-fill-flex-column":""}}),u}function m(c){const u=a(c),g=l(c),w=r(c),v=s.getFormSchema();return v.module.viewmodels.push(w),v.module.components.push(g),n.assembleDesignViewModel(),i(u,c)}return{createComponent:m}}function K(o,e,s,n){var a,i,d,l,m,c;const r=s.parentComponentInstance;if(r&&n){const u=Math.random().toString(36).slice(2,6),g={componentId:`list-view-${u}`,componentName:((a=s.bindingSourceContext)==null?void 0:a.entityTitle)||((d=(i=s.bindingSourceContext)==null?void 0:i.bindingEntity)==null?void 0:d.name)||`列表-${u}`,componentType:"list-view",parentContainerId:r.schema.id,parentComponentInstance:r,bindTo:((l=s.bindingSourceContext)==null?void 0:l.bindTo)||"",dataSource:(c=(m=s.bindingSourceContext)==null?void 0:m.bindingEntity)==null?void 0:c.label},{createComponent:w}=Ve(o,n);return w(g)}else return e}const se={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/list-view.schema.json",title:"list-view",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for list-view",type:"string"},type:{description:"The type string of list-view",type:"string",default:"list-view"},dataSource:{description:"",type:"string",default:""},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disable:{type:"string",default:!1},editable:{description:"",type:"boolean",default:!0},placeholder:{description:"",type:"string",default:""},readonly:{description:"",type:"boolean",default:!1},require:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},visible:{description:"",type:"boolean",default:!0},itemClass:{description:"",type:"string",default:""},itemStyle:{description:"",type:"string",default:""},contentTemplate:{description:"",type:"string",default:""},footerTemplate:{description:"",type:"string",default:""},emptyTemplate:{description:"",type:"string",default:""},pagination:{type:"object",properties:{enable:{description:"",type:"boolean",default:!1},disablePagination:{description:"",type:"string",default:""},contentTemplate:{description:"",type:"string",default:""},index:{description:"",type:"number",default:1},mode:{description:"",type:"enum",default:"server",enum:["server","client"]},showGoto:{description:"",type:"boolean",default:!1},showIndex:{description:"",type:"boolean",default:!0},showLimits:{description:"",type:"boolean",default:!1},showPageInfo:{description:"",type:"boolean",default:!0},size:{description:"",type:"number",default:20},sizeLimits:{description:"",type:"array",default:[10,20,30,50,100]},onPageChange:{description:"",type:"string",default:""},onPageSizeChange:{description:"",type:"string",default:""}}}},required:["id","type"],events:{onClickItem:"行点击事件"}},X=j.excludeProperties(L.listViewProps,"headerTemplate"),Ie=H.createPropsResolver(X,se,Y,K),Q=H.getPropsResolverGenerator(X,se,Y,K),Z={"tab-page":{type:"tab-page"},section:{type:"section"},"list-view":{name:"列表"}};function Ne(o){const{formSchemaUtils:e,formStateMachineUtils:s}=o;function n(l,m=""){return{path:m+l.code,field:l.id,fullPath:l.code}}function r(l,m=""){const c=e.getViewModelById(l);return c?c.states.map(u=>n(u,m)):[]}function a(l){const m=e.getRootViewModelId(),c=r(l);if(l===m)return c;const u=r(m,"root-component.");return[...c,...u]}function i(l){return l.binding&&l.binding.path||l.id||""}function d(){return s&&s.getRenderStates()||[]}return{getVariables:a,getControlName:i,getStateMachines:d}}class Se{constructor(e){$(this,"sessionVariables",[{key:"CurrentSysOrgName",name:"当前组织Name",description:"当前组织Name"},{key:"CurrentSysOrgId",name:"当前组织Id",description:"当前组织Id"},{key:"CurrentUserName",name:"当前用户Name",description:"当前用户Name"},{key:"CurrentUserCode",name:"当前用户Code",description:"当前用户Code"},{key:"CurrentUserId",name:"当前用户Id",description:"当前用户Id"},{key:"CurrentLanguage",name:"当前语言编号",description:"当前登录的语言编号,例如简体中文返回'zh-CHS',英文返回'en',繁体中文'zh-CHT'"}]);$(this,"expressionNames",{compute:"计算表达式",dependency:"依赖表达式",validate:"验证表达式",dataPicking:"帮助前表达式",visible:"可见表达式",readonly:"只读表达式",required:"必填表达式"});$(this,"getExpressionConverter",(e,s)=>({convertFrom:(n,r,a,i)=>{const d=a.getExpressionRuleValue(e,s||r);return d&&d.value||""},convertTo:(n,r,a,i,d)=>{var l;if(r==="dataPicking"&&(a!=null&&a.target)){const m=`${a.target}_dataPicking`;((l=a.rules)==null?void 0:l.some(u=>u.id===m&&u.value))?n.dictPickingExpressionId=m:delete n.dictPickingExpressionId}i.updateExpression(a)}}));this.formSchemaService=e}getExpressionRule(e,s){const n=this.getExpressionData();if(!n)return"";const r=n.find(i=>i.target===e);if(!r)return"";const a=r.rules.find(i=>i.type===s);return a||""}getContextFormVariables(){const{module:e}=this.formSchemaService.getFormSchema();if(!e.viewmodels||e.viewmodels.length===0)return[];const s=this.formSchemaService.getRootViewModelId(),n=this.formSchemaService.getViewModelById(s);if(!n||!n.states||n.states.length===0)return[];const r=[];return n.states.filter(a=>a.category==="remote").forEach(a=>{r.push({key:a.code,name:a.name,description:a.name,category:a.category})}),r}createTreeNode(e,s,n="label"){return{id:e.id,name:e.name,bindingPath:e[n],parents:s,type:"field"}}buildEntityFieldsTreeData(e=null,s){const n=[];return e==null||e.forEach(r=>{var d;const a=this.createTreeNode(r,s);let i=[];(d=r.type)!=null&&d.fields&&(i=this.buildEntityFieldsTreeData(r.type.fields,[...s,r.label])),n.push({data:a,children:i,expanded:!0})}),n}buildChildEntityTreeData(e=null,s){const n=[];return e==null||e.forEach(r=>{var l,m;const a=this.createTreeNode(r,s);a.type="entity";const i=this.buildEntityFieldsTreeData((l=r.type)==null?void 0:l.fields,[...s,r.label]),d=this.buildChildEntityTreeData((m=r.type)==null?void 0:m.entities,[...s,r.label]);d!=null&&d.length&&(i==null||i.push(...d)),n.push({data:a,children:i||[],expanded:!0})}),n}getEntitiesTreeData(){const e=this.formSchemaService.getSchemaEntities();if(!(e!=null&&e.length))return[];const s=e[0];if(!(s!=null&&s.type))return[];const n=this.buildEntityFieldsTreeData(s.type.fields,[s.code]),r=this.buildChildEntityTreeData(s.type.entities,[s.code]);return r!=null&&r.length&&(n==null||n.push(...r)),{entityCode:s.code,fields:[{data:this.createTreeNode(s,[],"code"),children:n||[]}]}}getEntitiesAndVariables(){return{entities:this.getEntitiesTreeData(),variables:{session:{name:"系统变量",items:this.sessionVariables,visible:!1},forms:{name:"表单变量",items:this.getContextFormVariables(),visible:!0}}}}onBeforeOpenExpression(e,s,n){const r=n==="Field"?e.binding.field:e.id,a=this.getExpressionRule(r,s),i=this.getEntitiesAndVariables(),d={message:["validate","required","dataPicking"].includes(s)&&a?a.message:"",...i};return a.messageType!=null&&(d.messageType=a.messageType),d}buildRule(e,s,n,r){const{expression:a,message:i,messageType:d}=s,l={id:`${e}_${n}`,type:n,value:a};return(n==="validate"||n==="dataPicking"||n==="required")&&(l.message=i),n==="dataPicking"&&(l.messageType=d),n==="validate"&&r&&(l.elementId=r),l}getExpressionData(){const{expressions:e}=this.formSchemaService.getFormSchema().module;return e||[]}updateExpression(e,s,n,r){const a=s==="Field"?e.binding.field:e.id,i=this.buildRule(a,n,r,e.type==="form-group"?e.id:"");let l=this.getExpressionData().find(c=>c.targetType===s&&c.target===a);const m=c=>c.value.trim()==="";if(l){const c=l.rules.find(u=>u.id===i.id);if(c)m(i)?l.rules=l.rules.filter(u=>u.id!==i.id):(Object.assign(c,i),r==="validate"&&e.type==="form-group"&&(c.elementId=e.id));else{if(m(i))return null;l.rules=l.rules||[],l.rules.push(i)}}else{if(m(i))return null;l={target:`${a}`,rules:[i],targetType:s}}return l}getExpressionEditorOptions(e,s,n,r){return n.reduce((a,i)=>{var l,m;const d=s==="Field"?(l=e==null?void 0:e.binding)==null?void 0:l.field:e.id;return a[i]={hide:s==="Field"?!!((m=e==null?void 0:e.binding)!=null&&m.field):!1,description:"",title:this.expressionNames[i],type:"string",$converter:this.getExpressionConverter(d),refreshPanelAfterChanged:!0,editor:{type:"expression-editor",singleExpand:!1,dialogTitle:`${this.expressionNames[i]}编辑器`,showMessage:i==="validate"||i==="dataPicking"||i==="required",showMessageType:i==="dataPicking",beforeOpen:()=>this.onBeforeOpenExpression(e,i,s),onSubmitModal:c=>{const u=this.updateExpression(e,s,c,i);if(r){const g=this.buildRule(d,c,i);r(g)}return u}}},a},{})}getExpressionInfo(e,s,n){const r=s==="Field"?e.binding.field:e.id,a=this.getExpressionRule(r,n),i={value:a&&a.value,targetId:r,targetType:s,expressionType:n};return a&&a.message&&(i.message=a.message),i}getExpressionConfig(e,s,n=["compute","dependency","validate"],r){return{description:"表达式",title:"表达式",hide:!e.binding,properties:{...this.getExpressionEditorOptions(e,s,n,r)}}}getExpressionOptions(e,s,n){const r=this.getExpressionInfo(e,s,n);return{dialogTitle:`${this.expressionNames[n]||"表达式"}编辑器`,singleExpand:!1,showMessage:n==="required",beforeOpen:()=>this.onBeforeOpenExpression(e,n,s),expressionInfo:r}}}class xe{constructor(e,s){$(this,"componentId");$(this,"viewModelId");$(this,"eventsEditorUtils");$(this,"formSchemaUtils");$(this,"formMetadataConverter");$(this,"designViewModelUtils");$(this,"designViewModelField");$(this,"controlCreatorUtils");$(this,"designerHostService");$(this,"designerContext");$(this,"modalService",null);$(this,"formRule",null);$(this,"schemaService",null);$(this,"metadataService",null);$(this,"propertyConfig",{type:"object",categories:{}});$(this,"expressionProperty");var n;this.componentId=e,this.designerHostService=s,this.eventsEditorUtils=s.eventsEditorUtils,this.formSchemaUtils=s.formSchemaUtils,this.formMetadataConverter=s.formMetadataConverter,this.viewModelId=((n=this.formSchemaUtils)==null?void 0:n.getViewModelIdByComponentId(e))||"",this.designViewModelUtils=s.designViewModelUtils,this.controlCreatorUtils=s.controlCreatorUtils,this.metadataService=s.metadataService,this.schemaService=s.schemaService,this.designerContext=s.designerContext,this.modalService=s.modalService,this.expressionProperty=new Se(this.formSchemaUtils)}getFormDesignerInstance(){var e,s;return(s=(e=this.designerContext)==null?void 0:e.instances)==null?void 0:s.formDesigner.value}getTableInfo(){var e;return(e=this.schemaService)==null?void 0:e.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(e){var n;const s=e.binding&&e.binding.type==="Form"&&e.binding.field;if(s){if(!this.designViewModelField){const r=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=r.fields.find(a=>a.id===s)}e.updateOn=(n=this.designViewModelField)==null?void 0:n.updateOn}}getBasicPropConfig(e){return{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"combo-list",textField:"name",valueField:"value",idField:"value",editable:!1,data:[{value:e.type,name:A.DgControl[e.type]&&A.DgControl[e.type].name}]}}}}}getAppearanceConfig(e=null,s={},n){const r={title:"外观",description:"Appearance"},a={class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"},style:{title:"style样式",type:"string",description:"组件的样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"}};for(const i in s)a[i]=Object.assign(a[i]||{},s[i]);return{...r,properties:{...a},setPropertyRelates(i,d){if(i){switch(i&&i.propertyID){case"class":case"style":{A.canvasChanged.value++;break}}n&&n(i,e,d)}}}}getPropertyEditorParams(e,s=[],n="visible",r={},a={},i=""){const{getVariables:d,getControlName:l,getStateMachines:m}=Ne(this.designerHostService),c=this.getRealTargetType(e),u=s&&s.length>0?s:["Const","Variable","StateMachine","Expression"],g={type:"property-editor",propertyTypes:u};return u.map(w=>{switch(w){case"Const":Object.assign(g,{constType:"enum",constEnums:[{id:!0,name:"是"},{id:!1,name:"否"}]},r);break;case"Expression":g.expressionConfig=this.getExpressionOptions(e,c,i||n);break;case"StateMachine":g.stateMachines=m();break;case"Variable":Object.assign(g,{controlName:l(e),newVariablePrefix:"is",newVariableType:"Boolean",variables:d(this.viewModelId),parentComponentId:this.componentId==="root-component"?"":"root-component",onBeforeOpenVariables:v=>{v.value=d(this.viewModelId)}},a),this.designerContext.designerMode==="PC_RTC"&&(g.newVariablePrefix="ext_"+g.newVariablePrefix);break}}),g}getVisibleProperty(e,s=""){var a;let n=["Const","Variable","StateMachine","Expression"];return s==="gridFieldEditor"?n=["Const","Expression"]:s==="form-group"&&!((a=e.binding)!=null&&a.field)&&(n=["Const","Variable","StateMachine"]),{visible:{title:"是否可见",type:"boolean",description:"运行时组件是否可见",editor:this.getPropertyEditorParams(e,n,"visible")}}}getBehaviorConfig(e,s="",n={},r){const a={title:"行为",description:""},i=this.getVisibleProperty(e,s);for(const l in n)i[l]=Object.assign(i[l]||{},n[l]);const d=this;return{...a,properties:{...i},setPropertyRelates(l,m){if(l){switch(l.propertyID){case"disabled":case"readonly":case"visible":d.afterMutilEditorChanged(e,l);break}r&&r(l,m)}}}}afterMutilEditorChanged(e,s){this.addNewVariableToViewModel(s,this.viewModelId),this.updateExpressionValue(s,e),this.clearExpression(s,e)}updateElementByParentContainer(e,s){const n=s&&s.parent&&s.parent.schema;if(!n)return;const r=n.contents.findIndex(i=>i.id===e),a=de.cloneDeep(n.contents[r]);n.contents.splice(r,1),n.contents.splice(r,0,a),A.refreshCanvas()}addNewVariableToViewModel(e,s){const n=e.propertyValue;if(!(n&&typeof n=="object")||!(n.type==="Variable"&&n.isNewVariable))return;const i={id:n.field,category:"locale",code:n.fullPath,name:n.fullPath,type:n.newVariableType||"String",isRtcVariable:this.designerContext.designerMode==="PC_RTC"?!0:void 0};delete n.newVariableType,delete n.isNewVariable,this.formSchemaUtils.getVariableByCode(i.code)||this.formSchemaUtils.getViewModelById("root-viewmodel").states.push(i)}getExpressions(){let e=[];return this.formRule?(this.formRule.expressions=this.formRule.expressions||[],e=this.formRule.expressions||[]):e=this.formSchemaUtils.getExpressions(),e}updateExpressionValue(e,s){const n=e.propertyValue;if(!((n&&n.type)==="Expression"&&n.expressionInfo))return;const{expressionId:i,expressionInfo:d}=n,{targetId:l,targetType:m,expressionType:c,value:u,message:g}=d,w=this.getExpressions();let v=w.find(y=>y.target===l);v||(v={target:l,rules:[],targetType:m},w.push(v));const V=v.rules.find(y=>y.type===c);if(V)V.value=u,V.message=g,(c==="minDate"||c==="maxDate"||c==="defaultTime")&&(V.elementId=s.id);else{const y={id:i,type:c,value:u,message:g,elementId:s.id};v.rules.push(y)}delete n.expressionInfo}clearExpression(e,s){const n=e.propertyValue;if(n&&n.type==="Expression")return;const a=e.propertyID,i=this.getExpressions(),d=s.binding?s.binding.field:s.id,l=i.find(m=>m.target===d);!l||!l.rules||(l.rules=l.rules.filter(m=>m.type!==a))}getExpressionOptions(e,s,n){return this.expressionProperty.getExpressionOptions(e,s,n)}getRealTargetType(e){return["response-toolbar-item","tab-toolbar-item","section-toolbar-item","drawer-toolbar-item"].indexOf(e.type)>-1?"Button":e.binding&&e.binding.field?"Field":"Container"}createBaseEventProperty(e){const s={};return s[this.viewModelId]={type:"events-editor",editor:{initialData:e,viewSourceHandle:n=>{var r;((r=n.controller)==null?void 0:r.label.indexOf(this.formSchemaUtils.getModule().code))>-1&&this.eventsEditorUtils.jumpToMethod(n)}}},s}}class Me extends xe{constructor(e,s){super(e,s)}getPropertyConfig(e){return this.getBasicPropConfig(e),this.getAppearanceProperties(e),this.getEventPropConfig(e),this.propertyConfig}getBasicPropConfig(e){var i,d,l;const s=(l=(d=(i=this.formSchemaUtils.getFormSchema())==null?void 0:i.module)==null?void 0:d.entity[0])==null?void 0:l.entities[0],n=this.assembleSchemaEntityToTree(s,0),r=this,a=super.getBasicPropConfig(e);this.propertyConfig.categories.basic={description:"Basic Information",title:"基本信息",properties:{...a.properties,dataSource:{description:"绑定数据源",title:"绑定数据源",editor:{type:"combo-tree",textField:"name",valueField:"label",data:n,editable:!1},readonly:!0}},setPropertyRelates(m,c){switch(m&&m.propertyID){case"dataSource":{const u=r.formSchemaUtils.getViewModelById(r.viewModelId);if(u){const g=n.find(w=>w.label===m.propertyValue);u.bindTo=g.bindTo}r.designViewModelUtils.assembleDesignViewModel();break}}}}}assembleSchemaEntityToTree(e,s,n,r="",a=[]){const i=r?`${r}/${e.label}`:"/";return a.push({id:e.id,name:e.name,label:e.label,layer:s,parent:n&&n.id,bindTo:i.replace("//","/")}),e.type.entities&&e.type.entities.length&&e.type.entities.map(d=>this.assembleSchemaEntityToTree(d,s+1,e,i,a)),a}getAppearanceProperties(e){this.propertyConfig.categories.appearance={title:"外观",properties:{class:{title:"列表class样式",type:"string",description:"组件的CSS样式"},itemClass:{title:"行样式class",type:"string",description:"行样式class",editor:{type:"code-editor",language:"javascript",leftTemplate:()=>t.createVNode(t.Fragment,null,[t.createVNode("h5",null,[t.createTextVNode("示例代码")]),t.createVNode("pre",null,[`
(dataItem) => {
if(dataItem.code === '0001') {
return 'bg-danger text-center';
}
return '';
}
注:dataItem 行数据
函数返回值是一个字符串,
是由空格分隔的class组成 `])])}},itemStyle:{title:"行样式style",type:"string",description:"行样式style",editor:{type:"code-editor",language:"javascript",leftTemplate:()=>t.createVNode(t.Fragment,null,[t.createVNode("h5",null,[t.createTextVNode("示例代码")]),t.createVNode("pre",null,[`
(dataItem) => {
if(dataItem.code === '0001') {
return 'textAlign:center;color:green';
}
return '';
}
注:dataItem 行数据
函数返回值是一个字符串,
由分号分隔的css样式组成 `])])}},contentTemplate:{description:"内容模板",title:"内容模板",type:"string",refreshPanelAfterChanged:!0,editor:{type:"code-editor",language:"html"}},footerTemplate:{description:"底部模板",title:"底部模板",type:"string",refreshPanelAfterChanged:!0,editor:{type:"code-editor",language:"html"}},emptyTemplate:{description:"空数据模板",title:"空数据模板",type:"string",refreshPanelAfterChanged:!0,editor:{type:"code-editor",language:"html"}}},setPropertyRelates(s,n){switch(s&&s.propertyID){case"useBlankWhenDataIsEmpty":e.emptyDataHeight=e.useBlankWhenDataIsEmpty?36:240;break;case"columns":e.columns=s.propertyValue||[];break}}}}getEventPropConfig(e){var i;const s=[{label:"onClickItem",name:"行点击事件"}];(i=e.pagination)==null||i.enable;const n=this,r=n.eventsEditorUtils.formProperties(e,n.viewModelId,s),a=n.createBaseEventProperty(r);this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:a,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(d,l){const m=d.propertyValue;delete e[n.viewModelId],m&&(m.setPropertyRelates=this.setPropertyRelates,n.eventsEditorUtils.saveRelatedParameters(e,n.viewModelId,m.events,m)),e.remoteSort=!!e.columnSorted,e.command&&(e.command.onClickEditCommand=e.onClickEditCommand,e.command.onClickDeleteCommand=e.onClickDeleteCommand)}}}isSubGrid(){const e=this.formSchemaUtils.getViewModelById(this.viewModelId);return e&&e.bindTo?e.bindTo.trim()!=="/":!1}}function Te(o,e){const s=o.schema,n=t.ref(!0),r=t.ref(!0);function a(u){return!1}function i(){return!1}function d(){return!1}function l(){return!0}function m(u){return new Me(u,e).getPropertyConfig(s)}function c(){var u,g,w,v;if(o&&e){const V=(u=o==null?void 0:o.componentInstance)==null?void 0:u.value.belongedComponentId;let y="",b="";const{formSchemaUtils:I}=e;if(V){const T=I.getRootViewModelId(),B=I.getComponentByViewModelId(T),S=I.selectNode(B,D=>D.contents&&D.contents.find(N=>N.component===V));(S==null?void 0:S.type)===((g=Z["tab-page"])==null?void 0:g.type)&&((w=S==null?void 0:S.contents)!=null&&w.length)&&(y=S.title||""),(S==null?void 0:S.type)===((v=Z.section)==null?void 0:v.type)&&(S==null?void 0:S.showHeader)!==!1&&(y=S.mainTitle||""),y=y?`${y} > `:"",b=y?S.id:""}const P=Z["list-view"].name;e==null||e.formSchemaUtils.getControlBasicInfoMap().set(o.schema.id,{componentTitle:P,parentPathName:`${y}${P}`,reliedComponentId:b})}}return{canAccepts:a,checkCanDeleteComponent:i,checkCanMoveComponent:d,hideNestedPaddingInDesginerView:l,triggerBelongedComponentToMoveWhenMoved:n,triggerBelongedComponentToDeleteWhenDeleted:r,getPropsConfig:m,setComponentBasicInfoMap:c}}const ie={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/list-view-table.schema.json",title:"list-view-table",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for list-view-table",type:"string"},type:{description:"The type string of list-view-table",type:"string",default:"list-view-table"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disable:{type:"string",default:!1},editable:{description:"",type:"boolean",default:!0},placeholder:{description:"",type:"string",default:""},readonly:{description:"",type:"boolean",default:!1},require:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},visible:{description:"",type:"boolean",default:!0}},required:["id","type"]},ke={title:"list-view-table",description:"A Farris Component",type:"object",categories:{basic:{description:"Basic Infomation",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"waiting for modification",enum:[]}}}}}},ee={data:{type:Array,default:[]}};H.createPropsResolver(ee,ie,Y,K,ke);const oe=H.getPropsResolverGenerator(ee,ie,Y,K),re=t.defineComponent({name:"FListViewTableDesign",props:ee,emits:["outputValue","currentEvent","selectionChanged"],setup(o,e){const s=[{name:"任芳",code:"1.山东大学",date:"2024-02-19",desc:"山东济南",amount:63.85,avatar:"./assets/avatar1.png"},{name:"戴秀兰",code:"2.山东建筑大学",date:"2024-03-17",desc:"山东济南",amount:60.13,avatar:"./assets/avatar2.png"},{name:"尹磊",code:"3.山东财经大学",date:"2024-04-09",desc:"山东济南",amount:36.54,avatar:"./assets/avatar3.png"},{name:"赵明",code:"4.北京大学",date:"2024-03-27",desc:"北京市",amount:52.76,avatar:"./assets/avatar4.png"},{name:"吕洋",code:"5.南京大学",date:"2024-11-17",desc:"江苏南京",amount:84.13,avatar:"./assets/avatar5.png"},{name:"吕娥",code:"6.清华大学",date:"2024-03-17",desc:"北京市",amount:52.76,avatar:"./assets/avatar6.png"},{name:"赵强",code:"7.浙江大学",date:"2024-08-01",desc:"浙江杭州",amount:84.13,avatar:"./assets/avatar7.png"}];t.computed(()=>o.data.length>0?o.data:s);const n=t.ref(),r=t.inject("design-item-context"),a=A.useDesignerComponent(n,r);return t.onMounted(()=>{n.value.componentInstance=a}),e.expose(a.value),()=>t.createVNode("div",{ref:n},[t.createVNode("div",{class:"ide-list-view h-100"},[t.createVNode("div",{class:"f-list-view"},[t.createVNode("div",{class:"f-list-view-content"},[t.createVNode("ul",{class:"f-list-view-group"},[t.createVNode("li",{class:"ide-list-view-group-item"},[t.createVNode("div",{class:"ide-list-content"},[t.createVNode("div",{class:"f-template-common-row d-flex"},[t.createVNode("div",{class:"item-action-primary"},[t.createVNode("img",{class:"ap-img",src:"./assets/avatar1.png",title:"img1"},null)]),t.createVNode("div",{class:"listview-item-content d-flex k-align-items-center"},[t.createVNode("div",{class:"listview-item-main"},[t.createVNode("h4",{class:"listview-item-title"},null),t.createVNode("h5",{class:"listview-item-subtitle"},null)]),t.createVNode("div",{class:"listview-item-btns"},[t.createVNode("button",{class:"btn btn-link"},[t.createTextVNode(" "),"编辑"]),t.createVNode("button",{class:"btn btn-link"},[t.createTextVNode(" "),"删除"])])])])])]),t.createVNode("li",{class:"ide-list-view-group-item"},[t.createVNode("div",{class:"ide-list-content"},[t.createVNode("div",{class:"f-template-common-row d-flex"},[t.createVNode("div",{class:"item-action-primary"},[t.createVNode("img",{class:"ap-img",src:"./assets/avatar2.png",title:"img2"},null)]),t.createVNode("div",{class:"listview-item-content d-flex k-align-items-center"},[t.createVNode("div",{class:"listview-item-main"},[t.createVNode("h4",{class:"listview-item-title"},null),t.createVNode("h5",{class:"listview-item-subtitle"},null)]),t.createVNode("div",{class:"listview-item-btns"},[t.createVNode("button",{class:"btn btn-link"},[t.createTextVNode(" "),"编辑"]),t.createVNode("button",{class:"btn btn-link"},["删除"])])])])])]),t.createVNode("li",{class:"ide-list-view-group-item"},[t.createVNode("div",{class:"ide-list-content"},[t.createVNode("div",{class:"f-template-common-row d-flex"},[t.createVNode("div",{class:"item-action-primary"},[t.createVNode("img",{class:"ap-img",src:"./assets/avatar3.png",title:"img3"},null)]),t.createVNode("div",{class:"listview-item-content d-flex k-align-items-center"},[t.createVNode("div",{class:"listview-item-main"},[t.createVNode("h4",{class:"listview-item-title"},null),t.createVNode("h5",{class:"listview-item-subtitle"},null)]),t.createVNode("div",{class:"listview-item-btns"},[t.createVNode("button",{class:"btn btn-link"},[t.createTextVNode(" "),"编辑"]),t.createVNode("button",{class:"btn btn-link"},["删除"])])])])])])])])])])])}}),W=t.defineComponent({name:"FListViewDesign",props:X,emits:["checkValuesChange","clickItem","selectionChange","removeItem","change"],setup(o,e){var le;const s=t.ref(((le=o.rowOption)==null?void 0:le.rowHeight)||28),n=t.ref(),r=t.ref(!0),a=t.ref(!1),i=t.ref([]),d=0,l=t.ref(o.columns),m=U.useFilter(o,e),c=U.useIdentify(o),u=U.useHierarchy(o),g=U.useGroupData(o,c),w=U.useDataView(o,new Map,m,u,c),v=U.useSelection(o,w,c,i,e),V=ue(o,n),y=t.ref(),b=t.inject("designer-host-service"),I=t.inject("design-item-context"),P=Te(I,b),T=A.useDesignerComponent(y,I,P),B=t.computed(()=>w.dataView.value.length),S=U.useRow(o,e,v,c),D=U.useEdit(o,e,c,S,i),N=U.useVisualDataBound(o,w,s),h=U.useVisualDataCell(o,{},N),x=U.useVisualDataRow(o,w,D,u,c,N,h,s),F=U.useVisualGroupRow(o,c,h,x),R=U.useVisualSummaryRow(o,c,h,x),q=U.useVisualData(o,l,w,B,d,x,F,R),{getVisualData:M}=q;i.value=M(0,B.value+d-1),t.onMounted(()=>{y.value.componentInstance=T}),e.expose(T.value);const p=t.computed(()=>{const z={"f-list-view":!0,"f-list-view-multiple":o.multiSelect,"w-100":!0,"h-100":!0};return o.size!=="default"&&(z[`${o.size}-item`]=!0),z}),f=t.computed(()=>!!e.slots.footer||r.value);function E(){return o.header==="SearchBar"?ne:o.header==="ContentHeader"?we:ne}const C=E(),{renderHeader:O}=C(o,e,V),_=ve(),G=ye(o,e,w,_,i),Pe=Ce(o,e,i,G,_,v);he(o,e,i,w,g,_,v,q,Pe,G);function Fe(z){o.multiSelect&&(z.preventDefault(),z.stopPropagation())}return()=>t.createVNode("div",{ref:y,class:p.value,onClick:Fe},[O(),t.createVNode("div",{ref:n,class:"f-list-view-content",onMouseover:()=>{a.value=!0},onMouseleave:()=>{a.value=!1}},[t.createVNode(re,null,null)]),f.value&&t.createVNode("div",{class:"f-list-view-footer"},[e.slots.footer&&e.slots.footer()])])}}),ae=H.createCollectionBindingResolver();W.register=(o,e,s,n,r)=>{o["list-view"]=L,e["list-view"]=Q(r),o["list-view-table"]=L.FListViewTable,e["list-view-table"]=oe(r),n["list-view"]={bindingResolver:ae}},W.registerDesigner=(o,e,s,n)=>{o["list-view"]=W,e["list-view"]=Q(n),o["list-view-table"]=re,e["list-view-table"]=oe(n)};const Ee=j.withInstall(W);k.FListViewDesign=W,k.bindingResolver=ae,k.default=Ee,k.listViewDesignProps=X,k.propsResolver=Ie,k.propsResolverGenerator=Q,Object.defineProperties(k,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});