@farris/ui-vue
Version:
Farris Vue, a Farris Design based Vue3 component library.
39 lines (36 loc) • 46.6 kB
JavaScript
(function(E,A){typeof exports=="object"&&typeof module<"u"?A(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"],A):(E=typeof globalThis<"u"?globalThis:E||self,A(E["list-view"]={},E.common,E.FListView,E.dynamicResolver,E.Vue,E.designerCanvas,E.dataView,E.locale,E.FCheckbox,E.LodashES))})(this,function(E,A,O,H,t,_,D,ce,W,de){"use strict";var Re=Object.defineProperty;var $e=(E,A,O)=>A in E?Re(E,A,{enumerable:!0,configurable:!0,writable:!0,value:O}):E[A]=O;var B=(E,A,O)=>$e(E,typeof A!="symbol"?A+"":A,O);function ue(l,e){function n(r){const i=[];let a=r.nextNode();for(;a;)i.push(a),a=r.nextNode();return i}function s(r,i){const a=document.createTreeWalker(r,NodeFilter.SHOW_TEXT);return n(a).map(u=>({textNode:u,text:(u.textContent||"").toLocaleLowerCase()})).map(({textNode:u,text:v})=>{const h=[];let C=0;for(;C<v.length;){const b=v.indexOf(i,C);if(b===-1)break;h.push(b),C=b+i.length}return h.map(b=>{const y=new Range;return y.setStart(u,b),y.setEnd(u,b+i.length),y})}).flat()}function o(r){if(!CSS.highlights||(CSS.highlights.clear(),!r||!e))return;const i=s(e.value,r.toLocaleLowerCase()),a=new Highlight(...i);CSS.highlights.set("search-result",a)}return{search:o}}function te(l,e,n,s,o,r,i,a,c,p){const d=t.ref(l.size),u=t.ref(l.textField),v=t.ref(l.titleField),h=t.ref(l.disableField),C=t.computed(()=>{var w,k;return((w=l.selection)==null?void 0:w.multiSelect)&&((k=l.selection)==null?void 0:k.showCheckbox)}),{onMouseenterItem:b,onMouseoverItem:y,onMouseoutItem:V}=r,{getKey:I,listViewItemClass:P,listViewItemStyle:M,onCheckItem:x,onClickItem:T}=i,F=t.computed(()=>{const w={"text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"};return l.itemClass?w:{margin:d.value==="small"?"0.25rem 0":"8px 0",...w}});function N(w,k,R){return w.checked=a.findIndexInSelectedItems(w)>-1,t.createVNode("li",{class:P(w,k),id:I(w,k),key:I(w,k),style:M(w,k),onClick:$=>T(w,k,$),onMouseenter:$=>b($,w,k),onMouseover:$=>y($,w,k),onMouseout:$=>V($,w,k)},[C.value&&t.createVNode("div",{class:"f-list-select",onClick:$=>$.stopPropagation()},[t.createVNode(W.FCheckbox,{id:"list-"+I(w,k),customClass:"listview-checkbox float-left",disabled:w[h.value],checked:w.checked,"onUpdate:checked":$=>w.checked=$,onChange:$=>{x(w,k,!$.checked)}},null)]),t.createVNode("div",{class:"f-list-content"},[t.createVNode("div",{class:l.itemContentClass,style:F.value,title:w.raw[v.value]||w.raw[u.value]},[w.raw[u.value]])])])}return{renderItem:N}}function pe(l,e,n,s,o,r,i,a,c,p){const d=t.ref(l.multiSelect),u=t.ref(l.disableField),v=t.ref(l.textField),{onMouseenterItem:h,onMouseoverItem:C,onMouseoutItem:b}=r,{getKey:y,listViewItemClass:V,listViewItemStyle:I,onCheckItem:P,onClickItem:M,updateSelectedItems:x}=i;function T(N,w,k){return l.contentTemplate?t.createVNode(t.Fragment,null,[l.contentTemplate({item:N.raw,index:w,selectedItem:k})]):e.slots.content?t.createVNode(t.Fragment,null,[e.slots.content&&e.slots.content({item:N.raw,index:w,selectedItem:k})]):t.createVNode("div",{style:"margin: 10px 0;"},[N.raw[v.value||"name"]])}function F(N,w,k){return t.createVNode("li",{class:V(N,w),id:y(N,w),key:y(N,w),style:I(N,w),onClick:R=>M(N,w,R),onMouseenter:R=>h(R,N,w),onMouseover:R=>C(R,N,w),onMouseout:R=>b(R,N,w)},[d.value&&t.createVNode("div",{class:"f-list-select",onClick:R=>R.stopPropagation()},[t.createVNode(W.FCheckbox,{id:"list-"+y(N,w),customClass:"listview-checkbox",disabled:N[u.value],checked:N.checked,"onUpdate:checked":R=>N.checked=R,onChange:R=>{P(N,w,!R.checked),x()}},null)]),t.createVNode("div",{class:"f-list-content"},[T(N,w,k)])])}return{renderItem:F}}function me(l,e,n,s,o,r,i,a,c,p){const d=t.ref(l.multiSelect),u=t.ref(l.disableField),v=t.ref(l.textField),{onMouseenterItem:h,onMouseoverItem:C,onMouseoutItem:b}=r,{getKey:y,listViewItemClass:V,onCheckItem:I,onClickItem:P}=i,{dragstart:M,dragenter:x,dragover:T,dragend:F}=s,{removeItem:N}=c,w=t.computed(()=>({margin:d.value?"10px 0":"10px 0px 10px 14px"}));function k(g,f=""){const S=g.target;S.title=S.scrollWidth>S.clientWidth?f:""}function R(g){return t.createVNode("div",{style:w.value,onMouseenter:f=>k(f,g.raw[v.value||"name"])},[g.raw[v.value||"name"]])}function $(){return e.slots.itemContent?e.slots.itemContent:R}const L=$();function q(g,f,S){return t.createVNode("li",{class:V(g,f),id:y(g,f),key:y(g,f),onClick:m=>P(g,f,m),onMouseenter:m=>h(m,g,f),onMouseover:m=>C(m,g,f),onMouseout:m=>b(m,g,f),draggable:"true",onDragstart:m=>M(m,g,f),onDragenter:m=>x(m,f),onDragend:m=>F(m,g),onDragover:m=>T(m)},[d.value&&t.createVNode("div",{class:"f-list-select",onClick:m=>m.stopPropagation()},[t.createVNode(W.FCheckbox,{id:"list-"+y(g,f),customClass:"listview-checkbox",disabled:g[u.value],checked:g.checked,"onUpdate:checked":m=>g.checked=m,onChange:m=>I(g,f,!m.checked)},null)]),t.createVNode("div",{class:"f-list-content"},[L(g)]),l.allowDelete&&t.createVNode("div",{class:"f-list-remove",onClick:m=>{m.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:q}}function fe(l,e,n,s,o,r,i,a,c,p){var y;const d=t.ref(((y=l.group)==null?void 0:y.groupFields)||[]),{collpaseGroupIconClass:u}=o,{toggleGroupRow:v}=p;function h(V,I){V.stopPropagation(),I.collapse=!I.collapse,n.value=v(I.collapse?"collapse":"expand",I,n.value)}function C(V,I,P){return e.slots.group?t.createVNode(t.Fragment,null,[e.slots.content&&e.slots.group({item:V.raw,index:I,selectedItem:P})]):t.createVNode("div",{class:"f-navlookup-recentHeader",onClick:M=>h(M,V)},[t.createVNode("div",{class:"fv-grid-group-row-icon"},[t.createVNode("span",{class:u(V)},null)]),t.createVNode("div",{class:"f-navlookup-recommandLabel"},[V.raw[d.value[V.layer]]])])}function b(V,I,P){return V.layer>-1&&C(V,I,P)}return{renderItem:b}}function ge(l,e,n,s){const{dataView:o}=n,{updateSelectedItems:r}=s;function i(a){if(a>-1&&a<o.value.length){if(l!=null&&l.checkBeforeRemoveItem&&!l.checkBeforeRemoveItem(o.value[a]))return;const c=o.value.splice(a,1);r(),e.emit("removeItem",c[0])}}return{removeItem:i}}function he(l,e,n,s,o,r,i,a,c,p){const d=t.ref(l.view),u=t.ref(l.view==="CardView"),v=t.ref({}),h=ge(l,e,s,c),C=t.computed(()=>({"f-list-view-group":!0,"f-list-view-group-multiselect":l.multiSelect,"d-flex":u.value,"flex-wrap":u.value})),b=t.computed(()=>!!n.value&&n.value.length>0),y=t.computed(()=>n.value.length===0);t.computed(()=>y.value&&!e.slots.empty);function V(){return d.value==="SingleView"?te:d.value==="DraggableView"?me:(d.value==="ContentView"||d.value==="CardView")&&(l.contentTemplate||e.slots.content)?pe:te}const I=V(),{renderItem:P}=I(l,e,n,p,o,r,c,i,h,a),{renderItem:M}=fe(l,e,n,p,o,r,c,i,h,a),x=[P,M];function T(){return n.value.filter(w=>w.visible!==!1).map((w,k)=>x[w.type](w,k,v))}function F(){return t.createVNode("div",{class:"f-list-view-emptydata",style:"margin: 0 auto;"},[t.createVNode("p",{class:"f-empty-title"},[l.emptyTemplate?l.emptyTemplate():e.slots.empty?e.slots.empty():ce.LocaleService.getLocaleValue("listView.emptyMessage")])])}function N(){return t.createVNode("ul",{class:C.value,style:"list-style: none;"},[b.value&&T(),y.value&&F()])}return{renderListArea:N}}function we(l,e,n,s,o){const{showSelectAll:r,selectAll:i,unSelectAll:a,selectAllStatus:c,indeterminateStatus:p}=s;function d(h){h?i():a()}const u=t.computed(()=>"f-list-view-group-item f-combo-list-item f-un-select");function v(){return t.createVNode("div",{class:"f-list-view-header"},[r.value&&o.dataView.value.length>0&&t.createVNode("ul",{class:"f-list-view-group f-list-view-group-multiselect",style:"list-style: none;"},[t.createVNode("li",{class:u.value},[t.createVNode("div",{class:"f-list-select"},[t.createVNode(W,{customClass:"listview-checkbox float-left",modelValue:c.value,indeterminate:p.value,"onUpdate:modelValue":h=>d(h)},null)])])]),e.slots.header&&e.slots.header()])}return{renderHeader:v}}function ne(l,e,n,s,o){const r=t.ref(l.headerClass),i=t.ref(l.placeholder),a=t.ref(""),c=t.computed(()=>!a.value),p=t.computed(()=>!!a.value),{showSelectAll:d,selectAll:u,unSelectAll:v,selectAllStatus:h,indeterminateStatus:C}=s,b=t.computed(()=>"f-list-view-group-item f-combo-list-item f-un-select");function y(x){a.value=""}function V(x){x?u():v()}t.watch(a,x=>{l.enableHighlightSearch&&n.search(x),e.emit("afterSearch",x)});const I=t.computed(()=>{const x={"form-group":!0,"farris-form-group":!0};return r.value&&r.value.split(" ").reduce((F,N)=>(F[N]=!0,F),x),x});function P(x){}function M(){return t.createVNode("div",{class:"f-list-view-header",onClick:t.withModifiers(()=>P,["prevent","stop"])},[d.value&&o.dataView.value.length>0&&t.createVNode("ul",{class:"f-list-view-group f-list-view-group-multiselect",style:"list-style: none;"},[t.createVNode("li",{class:b.value},[t.createVNode("div",{class:"f-list-select"},[t.createVNode(W,{customClass:"listview-checkbox float-left",modelValue:h.value,indeterminate:C.value,"onUpdate:modelValue":x=>V(x)},null)])])]),t.createVNode("div",{class:I.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":x=>a.value=x,name:"input-group-value",type:"text",placeholder:i.value,autocomplete:"off"},null),[[t.vModelText,a.value]]),t.createVNode("div",{class:"input-group-append"},[p.value&&t.createVNode("span",{class:"input-group-text input-group-clear",onClick:x=>y()},[t.createVNode("i",{class:"f-icon f-icon-close-circle"},null)]),c.value&&t.createVNode("span",{class:"input-group-text"},[t.createVNode("span",{class:"f-icon f-icon-search"},null)])])])])])])])}return{renderHeader:M}}function ve(){const l=t.ref(""),e=t.ref(-1),n=t.ref(""),s=t.ref(-1),o=t.ref(!1);function r(u,v,h){s.value=h}function i(u,v,h){o.value||(s.value=h)}function a(u,v,h){s.value=-1}function c(){o.value=!0}function p(){o.value=!1}function d(){e.value=-1,l.value=""}return{activeIndex:e,focusedItemId:n,hoverIndex:s,clearActiveItem:d,onMouseenterItem:r,onMouseoverItem:i,onMouseoutItem:a,resumeHover:p,suspendHover:c}}function ye(l,e,n,s,o){const r=t.ref(l.idField),{dataView:i}=n,a=t.ref(-1),c=t.ref(!1),{activeIndex:p,focusedItemId:d,hoverIndex:u,resumeHover:v,suspendHover:h}=s;let C,b=0,y=0,V=null,I=null;const P=10,M=50;function x(g){if(!g)return null;const{overflowY:f}=getComputedStyle(g);return f==="auto"||f==="scroll"?g:x(g.parentElement)}function T(g,f){I&&clearInterval(I),I=window.setInterval(()=>{f==="up"?g.scrollTop-=P:g.scrollTop+=P},16)}function F(){I&&(clearInterval(I),I=null)}function N(g){const f=g.target;if(V||(V=x(f)),!V){F();return}const S=V.getBoundingClientRect(),m=g.clientY,U=m-S.top,j=S.bottom-m;U<M&&V.scrollTop>0?T(V,"up"):j<M&&V.scrollTop<V.scrollHeight-V.clientHeight?T(V,"down"):F()}function w(g,f){const S=g-b,m=f-y;C.style.left=parseInt(C.style.left)+S+"px",C.style.top=parseInt(C.style.top)+m+"px",b=g,y=f}function k(g){const{left:f,top:S}=g.getBoundingClientRect(),m=g.cloneNode(!0);return m.className=m.className+" f-listview-drag-moving",m.style.cssText=`
position:absolute;
left:${f}px;
top:${document.documentElement.scrollTop?S+document.documentElement.scrollTop:S}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(g).width};
height:${getComputedStyle(g).height};
`,m.children[0].style.cssText="padding: 0 0 0 14px",m.children[0].children[0].style.cssText=`
margin: 10px 0px 10px 14px;
overflow: hidden;text-overflow: ellipsis;white-space: nowrap;
`,m.children[1].style.cssText="flex:1 1 auto; width:100%",m.children[2].style.cssText="padding: 0 14px 0 0",m.children[2].children[0].style.cssText="display: initial",document.body.appendChild(m),m}function R(g,f,S){if(g.stopPropagation(),h(),f){if(C=k(g.target),g.dataTransfer){const m=new Image;m.src="",g.dataTransfer.setDragImage(m,0,0)}b=g.pageX,y=g.pageY,setTimeout(()=>{a.value=S,c.value=!0,f.moving=!0})}}function $(g,f){if(g.preventDefault(),a.value!==f&&a.value!==-1){const S=i.value[a.value],m=o.value[a.value];S&&m&&(i.value.splice(a.value,1),i.value.splice(f,0,S),o.value.splice(a.value,1),o.value.splice(f,0,m),o.value.forEach((U,j)=>{U.index=j,U.raw.__fv_index__=j}),a.value=f,w(g.pageX,g.pageY))}}function L(g){g.preventDefault(),g.dataTransfer&&(g.dataTransfer.dropEffect="move"),w(g.pageX,g.pageY),N(g)}function q(g,f){var m,U;F(),V=null,f&&(f.moving=!1,C&&(document.body.removeChild(C),C=null)),i.value.forEach((j,G)=>{j.__fv_index__=G}),o.value.forEach((j,G)=>{j.index=G,j.raw&&(j.raw.__fv_index__=G)}),c.value=!1,v();const S=((m=f.raw)==null?void 0:m.__fv_index__)??0;u.value=S,p.value=S,d.value=(U=f.raw)==null?void 0:U[r.value],e.emit("change",i.value),e.emit("activeChange",[f.raw])}return{dragstart:R,dragenter:$,dragover:L,dragend:q,isDragging:c}}function Ce(l,e,n,s,o,r){var q,g;const i=t.ref(l.idField),a=t.ref(l.disableField),c=t.ref(l.draggable);t.ref(l.itemClass);const p=t.ref(((q=l.selection)==null?void 0:q.multiSelect)??!1),d=t.ref(((g=l.selection)==null?void 0:g.multiSelectMode)||"DependOnCheck"),{isDragging:u}=s,{activeIndex:v,focusedItemId:h,hoverIndex:C}=o,{clearSelection:b,getSelectedItems:y,toggleSelectItem:V,currentSelectedDataId:I,multiSelectOnlyOnCheck:P}=r,M=t.ref(y()),x=f=>M.value.length===0?!1:M.value.some(S=>{let m="";return S.data?m=S.data[i.value]:m=S[i.value],m===f});function T(){M.value=y()}function F(f,S){return f.raw[i.value]!=null?f.raw[i.value]+"_"+S:""}function N(f,S){const m={"f-list-view-group-item":!0,"f-list-view-draggable-item":c.value,"f-un-click":!f.checked,"f-un-select":!!f.raw[a.value],"f-listview-active":p.value&&x(F(f,S))&&l.showActiveWhenMultiSelect||!p.value&&f.raw[i.value]===I.value||p.value&&!l.showActiveWhenMultiSelect&&f.raw[i.value]===I.value,"f-listview-hover":!u.value&&S===C.value,moving:!!f.moving};if(typeof l.itemClass=="string")return A.getCustomClass(m,l.itemClass);if(typeof l.itemClass=="function"){const U=l.itemClass(f);return A.getCustomClass(m,U)}return m}function w(f,S){const m={};if(typeof l.itemStyle=="string")return A.getCustomStyle(m,l.itemStyle);if(typeof l.itemStyle=="function"){const U=l.itemStyle(f);return A.getCustomStyle(m,U)}return m}const k=t.computed(()=>!p.value);function R(f,S,m){f.checked=m,!f.raw[a.value]&&(k.value&&(h.value=f.raw[i.value]),V(f))}const $=t.computed(()=>!p.value||p.value&&d.value==="OnCheckAndClick");function L(f,S,m){if(f.raw[a.value]){m==null||m.preventDefault(),m==null||m.stopPropagation();return}I.value=f.raw[i.value],h.value=f.raw[i.value],v.value=S,$.value&&(V(f),T()),e.emit("clickItem",{data:M.value,index:S,dataItem:f.raw}),e.emit("activeChange",M.value)}return{getKey:F,selectedItems:M,listViewItemClass:N,listViewItemStyle:w,updateSelectedItems:T,onCheckItem:R,onClickItem:L}}const K=new Map([["appearance",H.resolveAppearance]]),Ve="root-viewmodel";function be(l,e){const{formSchemaUtils:n,designViewModelUtils:s}=e;function o(d){return{id:`${d.componentId}-component-viewmodel`,code:`${d.componentId}-component-viewmodel`,name:d.componentName,bindTo:d.bindTo,parent:Ve,fields:[],commands:[],states:[],enableValidation:!0}}function r(d){const u=l.getSchemaByType("component-ref");return Object.assign(u,{id:`${d.componentId}-component-ref`,component:`${d.componentId}-component`}),u}function i(d,u,v){var y,V,I,P;const h=(V=(y=u==null?void 0:u.parentComponentInstance)==null?void 0:y.schema)==null?void 0:V.type,C=(P=(I=n.getFormSchema())==null?void 0:I.module)==null?void 0:P.templateId;if(["double-list-template","tree-list-template","list-template"].includes(C))return d;const b=[_.DgControl["content-container"].type,_.DgControl["response-layout-item"].type,_.DgControl["splitter-pane"].type,_.DgControl.drawer.type];if(h&&b.includes(h)){const M=l.getSchemaByType("section",{parentComponentInstance:u.parentComponentInstance,mainTitle:u.componentName},e);if(M&&M.contents&&M.contents.length){const x=M.contents[0];return x.contents=[d],M}}return d}function a(d){var C,b,y;const u=l.getSchemaByType("list-view");let v=!1;const h=(y=(b=(C=d.parentComponentInstance)==null?void 0:C.schema)==null?void 0:b.appearance)==null?void 0:y.class;return h&&h.includes("f-page-main")&&(v=!0),Object.assign(u,{id:d.componentId+"-listView",appearance:{class:v?"":"f-grid-is-sub"},type:"list-view",dataSource:d.dataSource||"",columns:[{field:"name",title:"",dataType:"string"}],pagination:{enable:!1}}),[u]}function c(d){var b,y,V;const u=l.getSchemaByType("component"),v=a(d);let h=!1;const C=(V=(y=(b=d.parentComponentInstance)==null?void 0:b.schema)==null?void 0:y.appearance)==null?void 0:V.class;return C&&C.includes("f-page-main")&&(h=!0),Object.assign(u,{id:`${d.componentId}-component`,viewModel:`${d.componentId}-component-viewmodel`,componentType:d.componentType,contents:v,appearance:{class:h?"f-struct-wrapper f-utils-fill-flex-column":""}}),u}function p(d){const u=r(d),v=c(d),h=o(d),C=n.getFormSchema();return C.module.viewmodels.push(h),C.module.components.push(v),s.assembleDesignViewModel(),i(u,d)}return{createComponent:p}}function X(l,e,n,s){var r,i,a,c,p,d;const o=n.parentComponentInstance;if(o&&s){const u=Math.random().toString(36).slice(2,6),v={componentId:`list-view-${u}`,componentName:((r=n.bindingSourceContext)==null?void 0:r.entityTitle)||((a=(i=n.bindingSourceContext)==null?void 0:i.bindingEntity)==null?void 0:a.name)||`列表-${u}`,componentType:"list-view",parentContainerId:o.schema.id,parentComponentInstance:o,bindTo:((c=n.bindingSourceContext)==null?void 0:c.bindTo)||"",dataSource:(d=(p=n.bindingSourceContext)==null?void 0:p.bindingEntity)==null?void 0:d.label},{createComponent:h}=be(l,s);return h(v)}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:"行点击事件"}},J=A.excludeProperties(O.listViewProps,"headerTemplate"),Ie=H.createPropsResolver(J,se,K,X),Q=H.getPropsResolverGenerator(J,se,K,X),Z={"tab-page":{type:"tab-page"},section:{type:"section"},"list-view":{name:"列表"}};function Se(l){const{formSchemaUtils:e,formStateMachineUtils:n}=l;function s(c,p=""){return{path:p+c.code,field:c.id,fullPath:c.code}}function o(c,p=""){const d=e.getViewModelById(c);return d?d.states.map(u=>s(u,p)):[]}function r(c){const p=e.getRootViewModelId(),d=o(c);if(c===p)return d;const u=o(p,"root-component.");return[...d,...u]}function i(c){return c.binding&&c.binding.path||c.id||""}function a(){return n&&n.getRenderStates()||[]}return{getVariables:r,getControlName:i,getStateMachines:a}}class Ne{constructor(e){B(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'"}]);B(this,"expressionNames",{compute:"计算表达式",dependency:"依赖表达式",validate:"验证表达式",dataPicking:"帮助前表达式",visible:"可见表达式",readonly:"只读表达式",required:"必填表达式"});B(this,"getExpressionConverter",(e,n)=>({convertFrom:(s,o,r,i)=>{const a=r.getExpressionRuleValue(e,n||o);return a&&a.value||""},convertTo:(s,o,r,i,a)=>{var c;if(o==="dataPicking"&&(r!=null&&r.target)){const p=`${r.target}_dataPicking`;((c=r.rules)==null?void 0:c.some(u=>u.id===p&&u.value))?s.dictPickingExpressionId=p:delete s.dictPickingExpressionId}i.updateExpression(r)}}));this.formSchemaService=e}getExpressionRule(e,n){const s=this.getExpressionData();if(!s)return"";const o=s.find(i=>i.target===e);if(!o)return"";const r=o.rules.find(i=>i.type===n);return r||""}getContextFormVariables(){const{module:e}=this.formSchemaService.getFormSchema();if(!e.viewmodels||e.viewmodels.length===0)return[];const n=this.formSchemaService.getRootViewModelId(),s=this.formSchemaService.getViewModelById(n);if(!s||!s.states||s.states.length===0)return[];const o=[];return s.states.filter(r=>r.category==="remote").forEach(r=>{o.push({key:r.code,name:r.name,description:r.name,category:r.category})}),o}createTreeNode(e,n,s="label"){return{id:e.id,name:e.name,bindingPath:e[s],parents:n,type:"field"}}buildEntityFieldsTreeData(e=null,n){const s=[];return e==null||e.forEach(o=>{var a;const r=this.createTreeNode(o,n);let i=[];(a=o.type)!=null&&a.fields&&(i=this.buildEntityFieldsTreeData(o.type.fields,[...n,o.label])),s.push({data:r,children:i,expanded:!0})}),s}buildChildEntityTreeData(e=null,n){const s=[];return e==null||e.forEach(o=>{var c,p;const r=this.createTreeNode(o,n);r.type="entity";const i=this.buildEntityFieldsTreeData((c=o.type)==null?void 0:c.fields,[...n,o.label]),a=this.buildChildEntityTreeData((p=o.type)==null?void 0:p.entities,[...n,o.label]);a!=null&&a.length&&(i==null||i.push(...a)),s.push({data:r,children:i||[],expanded:!0})}),s}getEntitiesTreeData(){const e=this.formSchemaService.getSchemaEntities();if(!(e!=null&&e.length))return[];const n=e[0];if(!(n!=null&&n.type))return[];const s=this.buildEntityFieldsTreeData(n.type.fields,[n.code]),o=this.buildChildEntityTreeData(n.type.entities,[n.code]);return o!=null&&o.length&&(s==null||s.push(...o)),{entityCode:n.code,fields:[{data:this.createTreeNode(n,[],"code"),children:s||[]}]}}getEntitiesAndVariables(){return{entities:this.getEntitiesTreeData(),variables:{session:{name:"系统变量",items:this.sessionVariables,visible:!1},forms:{name:"表单变量",items:this.getContextFormVariables(),visible:!0}}}}onBeforeOpenExpression(e,n,s){const o=s==="Field"?e.binding.field:e.id,r=this.getExpressionRule(o,n),i=this.getEntitiesAndVariables(),a={message:["validate","required","dataPicking"].includes(n)&&r?r.message:"",...i};return r.messageType!=null&&(a.messageType=r.messageType),a}buildRule(e,n,s,o){const{expression:r,message:i,messageType:a}=n,c={id:`${e}_${s}`,type:s,value:r};return(s==="validate"||s==="dataPicking"||s==="required")&&(c.message=i),s==="dataPicking"&&(c.messageType=a),s==="validate"&&o&&(c.elementId=o),c}getExpressionData(){const{expressions:e}=this.formSchemaService.getFormSchema().module;return e||[]}updateExpression(e,n,s,o){const r=n==="Field"?e.binding.field:e.id,i=this.buildRule(r,s,o,e.type==="form-group"?e.id:"");let c=this.getExpressionData().find(d=>d.targetType===n&&d.target===r);const p=d=>d.value.trim()==="";if(c){const d=c.rules.find(u=>u.id===i.id);if(d)p(i)?c.rules=c.rules.filter(u=>u.id!==i.id):(Object.assign(d,i),o==="validate"&&e.type==="form-group"&&(d.elementId=e.id));else{if(p(i))return null;c.rules=c.rules||[],c.rules.push(i)}}else{if(p(i))return null;c={target:`${r}`,rules:[i],targetType:n}}return c}getExpressionEditorOptions(e,n,s,o){return s.reduce((r,i)=>{var c,p;const a=n==="Field"?(c=e==null?void 0:e.binding)==null?void 0:c.field:e.id;return r[i]={hide:n==="Field"?!!((p=e==null?void 0:e.binding)!=null&&p.field):!1,description:"",title:this.expressionNames[i],type:"string",$converter:this.getExpressionConverter(a),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,n),onSubmitModal:d=>{const u=this.updateExpression(e,n,d,i);if(o){const v=this.buildRule(a,d,i);o(v)}return u}}},r},{})}getExpressionInfo(e,n,s){const o=n==="Field"?e.binding.field:e.id,r=this.getExpressionRule(o,s),i={value:r&&r.value,targetId:o,targetType:n,expressionType:s};return r&&r.message&&(i.message=r.message),i}getExpressionConfig(e,n,s=["compute","dependency","validate"],o){var r;return{description:"表达式",title:"表达式",hide:!(e.binding&&((r=e.binding)==null?void 0:r.type)==="Form"),properties:{...this.getExpressionEditorOptions(e,n,s,o)}}}getExpressionOptions(e,n,s){const o=this.getExpressionInfo(e,n,s);return{dialogTitle:`${this.expressionNames[s]||"表达式"}编辑器`,singleExpand:!1,showMessage:s==="required",beforeOpen:()=>this.onBeforeOpenExpression(e,s,n),expressionInfo:o}}}class xe{constructor(e,n){B(this,"componentId");B(this,"viewModelId");B(this,"eventsEditorUtils");B(this,"formSchemaUtils");B(this,"formMetadataConverter");B(this,"designViewModelUtils");B(this,"designViewModelField");B(this,"controlCreatorUtils");B(this,"designerHostService");B(this,"designerContext");B(this,"modalService",null);B(this,"formRule",null);B(this,"schemaService",null);B(this,"metadataService",null);B(this,"propertyConfig",{type:"object",categories:{}});B(this,"expressionProperty");var s;this.componentId=e,this.designerHostService=n,this.eventsEditorUtils=n.eventsEditorUtils,this.formSchemaUtils=n.formSchemaUtils,this.formMetadataConverter=n.formMetadataConverter,this.viewModelId=((s=this.formSchemaUtils)==null?void 0:s.getViewModelIdByComponentId(e))||"",this.designViewModelUtils=n.designViewModelUtils,this.controlCreatorUtils=n.controlCreatorUtils,this.metadataService=n.metadataService,this.schemaService=n.schemaService,this.designerContext=n.designerContext,this.modalService=n.modalService,this.expressionProperty=new Ne(this.formSchemaUtils)}inResponsiveForm(){var e;return!!((e=this.designerContext)!=null&&e.responsiveForm)}getFormDesignerInstance(){var e,n;return(n=(e=this.designerContext)==null?void 0:e.instances)==null?void 0:n.formDesigner.value}getTableInfo(){var e;return(e=this.schemaService)==null?void 0:e.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(e){var s;const n=e.binding&&e.binding.type==="Form"&&e.binding.field;if(n){if(!this.designViewModelField){const o=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=o.fields.find(r=>r.id===n)}e.updateOn=(s=this.designViewModelField)==null?void 0:s.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:_.DgControl[e.type]&&_.DgControl[e.type].name}]}}}}}getAppearanceConfig(e=null,n={},s){const o={title:"外观",description:"Appearance"},r={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 n)r[i]=Object.assign(r[i]||{},n[i]);return{...o,properties:{...r},setPropertyRelates(i,a){if(i){switch(i&&i.propertyID){case"class":case"style":{_.canvasChanged.value++;break}}s&&s(i,e,a)}}}}getPropertyEditorParams(e,n=[],s="visible",o={},r={},i=""){const{getVariables:a,getControlName:c,getStateMachines:p}=Se(this.designerHostService),d=this.getRealTargetType(e),u=n&&n.length>0?n:["Const","Variable","StateMachine","Expression"],v={type:"property-editor",propertyTypes:u};return u.map(h=>{switch(h){case"Const":Object.assign(v,{constType:"enum",constEnums:[{id:!0,name:"是"},{id:!1,name:"否"}]},o);break;case"Expression":v.expressionConfig=this.getExpressionOptions(e,d,i||s);break;case"StateMachine":v.stateMachines=p();break;case"Variable":Object.assign(v,{controlName:c(e),newVariablePrefix:"is",newVariableType:"Boolean",variables:a(this.viewModelId),parentComponentId:this.componentId==="root-component"?"":"root-component",onBeforeOpenVariables:C=>{C.value=a(this.viewModelId)}},r),this.designerContext.designerMode==="PC_RTC"&&(v.newVariablePrefix="ext_"+v.newVariablePrefix);break}}),v}getVisibleProperty(e,n=""){var r;let s=["Const","Variable","StateMachine","Expression"];return n==="gridFieldEditor"?s=["Const","Expression"]:n==="form-group"&&!((r=e.binding)!=null&&r.field)?s=["Const","Variable","StateMachine","Custom"]:n==="dataGrid"||n==="treeGrid"||n==="wizard"?s=["Const","Variable","Expression"]:(e.type.indexOf("toolbar-item")>-1||n==="form-group")&&(s=["Const","Variable","StateMachine","Custom","Expression"]),{visible:{title:"是否可见",type:"boolean",description:"运行时组件是否可见",editor:this.getPropertyEditorParams(e,s,"visible")}}}getBehaviorConfig(e,n="",s={},o){const r={title:"行为",description:""},i=this.getVisibleProperty(e,n);for(const c in s)i[c]=Object.assign(i[c]||{},s[c]);const a=this;return{...r,properties:{...i},setPropertyRelates(c,p){if(c){switch(c.propertyID){case"disabled":case"readonly":case"visible":a.afterMutilEditorChanged(e,c);break}o&&o(c,p)}}}}afterMutilEditorChanged(e,n){this.addNewVariableToViewModel(n,this.viewModelId),this.updateExpressionValue(n,e),this.clearExpression(n,e)}updateElementByParentContainer(e,n){const s=n&&n.parent&&n.parent.schema;if(!s)return;const o=s.contents.findIndex(i=>i.id===e),r=de.cloneDeep(s.contents[o]);s.contents.splice(o,1),s.contents.splice(o,0,r),_.refreshCanvas()}addNewVariableToViewModel(e,n){const s=e.propertyValue;if(!(s&&typeof s=="object")||!(s.type==="Variable"&&s.isNewVariable))return;const i={id:s.field,category:"locale",code:s.fullPath,name:s.fullPath,type:s.newVariableType||"String",isRtcVariable:this.designerContext.designerMode==="PC_RTC"?!0:void 0};delete s.newVariableType,delete s.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,n){const s=e.propertyValue;if(!((s&&s.type)==="Expression"&&s.expressionInfo))return;const{expressionId:i,expressionInfo:a}=s,{targetId:c,targetType:p,expressionType:d,value:u,message:v}=a,h=this.getExpressions();let C=h.find(y=>y.target===c);C||(C={target:c,rules:[],targetType:p},h.push(C));const b=C.rules.find(y=>y.type===d);if(b)b.id=i,b.value=u,b.message=v,(d==="minDate"||d==="maxDate"||d==="defaultTime")&&(b.elementId=n.id);else{const y={id:i,type:d,value:u,message:v,elementId:n.id};C.rules.push(y)}delete s.expressionInfo}clearExpression(e,n){const s=e.propertyValue;if(s&&s.type==="Expression")return;const r=e.propertyID,i=this.getExpressions(),a=n.binding?n.binding.field:n.id,c=i.find(p=>p.target===a);!c||!c.rules||(c.rules=c.rules.filter(p=>p.type!==r))}getExpressionOptions(e,n,s){return this.expressionProperty.getExpressionOptions(e,n,s)}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 n={};return n[this.viewModelId]={type:"events-editor",editor:{initialData:e,viewSourceHandle:s=>{var o;((o=s.controller)==null?void 0:o.label.indexOf(this.formSchemaUtils.getModule().code))>-1&&this.eventsEditorUtils.jumpToMethod(s)}}},n}}class Me extends xe{constructor(e,n){super(e,n)}getPropertyConfig(e){return this.getBasicPropConfig(e),this.getAppearanceProperties(e),this.getEventPropConfig(e),this.propertyConfig}getBasicPropConfig(e){var i,a,c;const n=(c=(a=(i=this.formSchemaUtils.getFormSchema())==null?void 0:i.module)==null?void 0:a.entity[0])==null?void 0:c.entities[0],s=this.assembleSchemaEntityToTree(n,0),o=this,r=super.getBasicPropConfig(e);this.propertyConfig.categories.basic={description:"Basic Information",title:"基本信息",properties:{...r.properties,dataSource:{description:"绑定数据源",title:"绑定数据源",editor:{type:"combo-tree",textField:"name",valueField:"label",data:s,editable:!1},readonly:!0}},setPropertyRelates(p,d){switch(p&&p.propertyID){case"dataSource":{const u=o.formSchemaUtils.getViewModelById(o.viewModelId);if(u){const v=s.find(h=>h.label===p.propertyValue);u.bindTo=v.bindTo}o.designViewModelUtils.assembleDesignViewModel();break}}}}}assembleSchemaEntityToTree(e,n,s,o="",r=[]){if(!e)return r;const i=o?`${o}/${e.label}`:"/";return r.push({id:e.id,name:e.name,label:e.label,layer:n,parent:s&&s.id,bindTo:i.replace("//","/")}),e.type.entities&&e.type.entities.length&&e.type.entities.map(a=>this.assembleSchemaEntityToTree(a,n+1,e,i,r)),r}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(n,s){switch(n&&n.propertyID){case"useBlankWhenDataIsEmpty":e.emptyDataHeight=e.useBlankWhenDataIsEmpty?36:240;break;case"columns":e.columns=n.propertyValue||[];break}}}}getEventPropConfig(e){var i;const n=[{label:"onClickItem",name:"行点击事件"}];(i=e.pagination)==null||i.enable;const s=this,o=s.eventsEditorUtils.formProperties(e,s.viewModelId,n),r=s.createBaseEventProperty(o);this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:r,refreshPanelAfterChanged:!0,tabId:A.EVENT_PROPERTY_TAB_IDS,tabName:"交互",setPropertyRelates(a,c){const p=a.propertyValue;delete e[s.viewModelId],p&&(p.setPropertyRelates=this.setPropertyRelates,s.eventsEditorUtils.saveRelatedParameters(e,s.viewModelId,p.events,p)),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(l,e){const n=l.schema,s=t.ref(!0),o=t.ref(!0);function r(u){return!1}function i(){return!1}function a(){return!1}function c(){return!0}function p(u){return new Me(u,e).getPropertyConfig(n)}function d(){var u,v,h,C;if(l&&e){const b=(u=l==null?void 0:l.componentInstance)==null?void 0:u.value.belongedComponentId;let y="",V="";const{formSchemaUtils:I}=e;if(b){const M=I.getRootViewModelId(),x=I.getComponentByViewModelId(M),T=I.selectNode(x,F=>F.contents&&F.contents.find(N=>N.component===b));(T==null?void 0:T.type)===((v=Z["tab-page"])==null?void 0:v.type)&&((h=T==null?void 0:T.contents)!=null&&h.length)&&(y=T.title||""),(T==null?void 0:T.type)===((C=Z.section)==null?void 0:C.type)&&(T==null?void 0:T.showHeader)!==!1&&(y=T.mainTitle||""),y=y?`${y} > `:"",V=y?T.id:""}const P=Z["list-view"].name;e==null||e.formSchemaUtils.getControlBasicInfoMap().set(l.schema.id,{componentTitle:P,parentPathName:`${y}${P}`,reliedComponentId:V})}}return{canAccepts:r,checkCanDeleteComponent:i,checkCanMoveComponent:a,hideNestedPaddingInDesginerView:c,triggerBelongedComponentToMoveWhenMoved:s,triggerBelongedComponentToDeleteWhenDeleted:o,getPropsConfig:p,setComponentBasicInfoMap:d}}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,K,X,ke);const oe=H.getPropsResolverGenerator(ee,ie,K,X),re=t.defineComponent({name:"FListViewTableDesign",props:ee,emits:["outputValue","currentEvent","selectionChanged"],setup(l,e){const n=[{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(()=>l.data.length>0?l.data:n);const s=t.ref(),o=t.inject("design-item-context"),r=_.useDesignerComponent(s,o);return t.onMounted(()=>{s.value.componentInstance=r}),e.expose(r.value),()=>t.createVNode("div",{ref:s},[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"},["删除"])])])])])])])])])])])}}),z=t.defineComponent({name:"FListViewDesign",props:J,emits:["checkValuesChange","clickItem","selectionChange","removeItem","change"],setup(l,e){var ae;const n=t.ref(((ae=l.rowOption)==null?void 0:ae.rowHeight)||28),s=t.ref(),o=t.ref(!0),r=t.ref(!1),i=t.ref([]),a=0,c=t.ref(l.columns),p=D.useFilter(l,e),d=D.useIdentify(l),u=D.useHierarchy(l),v=D.useGroupData(l,d),h=D.useDataView(l,new Map,p,u,d),C=D.useSelection(l,h,d,i,e),b=ue(l,s),y=t.ref(),V=t.inject("designer-host-service"),I=t.inject("design-item-context"),P=Te(I,V),M=_.useDesignerComponent(y,I,P),x=t.computed(()=>h.dataView.value.length),T=D.useRow(l,e,C,d),F=D.useEdit(l,e,d,T,i),N=D.useVisualDataBound(l,h,n),w=D.useVisualDataCell(l,F,N),k=D.useVisualDataRow(l,h,F,u,d,N,w,n),R=D.useVisualGroupRow(l,d,w,k),$=D.useVisualSummaryRow(l,d,w,k),L=D.useVisualData(l,c,h,x,a,k,R,$),{getVisualData:q}=L;i.value=q(0,x.value+a-1),t.onMounted(()=>{y.value.componentInstance=M}),e.expose(M.value);const g=t.computed(()=>{const Y={"f-list-view":!0,"f-list-view-multiple":l.multiSelect,"w-100":!0,"h-100":!0};return l.size!=="default"&&(Y[`${l.size}-item`]=!0),Y}),f=t.computed(()=>!!e.slots.footer||o.value);function S(){return l.header==="SearchBar"?ne:l.header==="ContentHeader"?we:ne}const m=S(),{renderHeader:U}=m(l,e,b),j=ve(),G=ye(l,e,h,j,i),Pe=Ce(l,e,i,G,j,C);he(l,e,i,h,v,j,C,L,Pe,G);function Fe(Y){l.multiSelect&&(Y.preventDefault(),Y.stopPropagation())}return()=>t.createVNode("div",{ref:y,class:g.value,onClick:Fe},[U(),t.createVNode("div",{ref:s,class:"f-list-view-content",onMouseover:()=>{r.value=!0},onMouseleave:()=>{r.value=!1}},[t.createVNode(re,null,null)]),f.value&&t.createVNode("div",{class:"f-list-view-footer"},[e.slots.footer&&e.slots.footer()])])}}),le=H.createCollectionBindingResolver();z.register=(l,e,n,s,o)=>{l["list-view"]=O,e["list-view"]=Q(o),l["list-view-table"]=O.FListViewTable,e["list-view-table"]=oe(o),s["list-view"]={bindingResolver:le}},z.registerDesigner=(l,e,n,s)=>{l["list-view"]=z,e["list-view"]=Q(s),l["list-view-table"]=re,e["list-view-table"]=oe(s)};const Ee=A.withInstall(z);E.FListViewDesign=z,E.bindingResolver=le,E.default=Ee,E.listViewDesignProps=J,E.propsResolver=Ie,E.propsResolverGenerator=Q,Object.defineProperties(E,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});