@farris/ui-vue 1.7.2-beta.1 → 1.7.2-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. package/components/avatar/index.esm.js +155 -148
  2. package/components/avatar/index.umd.cjs +1 -1
  3. package/components/button-edit/index.esm.js +1 -1
  4. package/components/button-edit/index.umd.cjs +1 -1
  5. package/components/calendar/index.esm.js +226 -224
  6. package/components/calendar/index.umd.cjs +3 -3
  7. package/components/collection-property-editor/index.esm.js +225 -223
  8. package/components/collection-property-editor/index.umd.cjs +2 -2
  9. package/components/combo-list/index.esm.js +76 -71
  10. package/components/combo-list/index.umd.cjs +1 -1
  11. package/components/comment/index.esm.js +169 -167
  12. package/components/comment/index.umd.cjs +6 -6
  13. package/components/component/index.esm.js +3691 -3043
  14. package/components/component/index.umd.cjs +2 -2
  15. package/components/condition/index.esm.js +2015 -1352
  16. package/components/condition/index.umd.cjs +2 -2
  17. package/components/data-grid/index.esm.js +407 -430
  18. package/components/data-grid/index.umd.cjs +1 -1
  19. package/components/data-view/index.esm.js +3082 -3196
  20. package/components/data-view/index.umd.cjs +1 -1
  21. package/components/designer-canvas/index.esm.js +3364 -2713
  22. package/components/designer-canvas/index.umd.cjs +1 -1
  23. package/components/drawer/index.esm.js +66 -64
  24. package/components/drawer/index.umd.cjs +2 -2
  25. package/components/dynamic-form/index.esm.js +1176 -524
  26. package/components/dynamic-form/index.umd.cjs +1 -1
  27. package/components/dynamic-resolver/index.esm.js +182 -180
  28. package/components/dynamic-resolver/index.umd.cjs +2 -2
  29. package/components/dynamic-view/index.esm.js +531 -455
  30. package/components/dynamic-view/index.umd.cjs +1 -1
  31. package/components/events-editor/index.esm.js +2352 -1700
  32. package/components/events-editor/index.umd.cjs +3 -3
  33. package/components/expression-editor/index.esm.js +8 -3
  34. package/components/expression-editor/index.umd.cjs +2 -2
  35. package/components/filter-bar/index.esm.js +422 -413
  36. package/components/filter-bar/index.umd.cjs +2 -2
  37. package/components/filter-condition-editor/index.esm.js +8 -3
  38. package/components/filter-condition-editor/index.umd.cjs +1 -1
  39. package/components/image/index.esm.js +363 -354
  40. package/components/image/index.umd.cjs +2 -2
  41. package/components/language-textbox/index.esm.js +189 -187
  42. package/components/language-textbox/index.umd.cjs +2 -2
  43. package/components/list-view/index.esm.js +388 -389
  44. package/components/list-view/index.umd.cjs +5 -5
  45. package/components/mapping-editor/index.esm.js +1465 -1488
  46. package/components/mapping-editor/index.umd.cjs +1 -1
  47. package/components/number-range/index.esm.js +180 -173
  48. package/components/number-range/index.umd.cjs +1 -1
  49. package/components/order/index.esm.js +815 -811
  50. package/components/order/index.umd.cjs +5 -5
  51. package/components/property-panel/index.esm.js +429 -420
  52. package/components/property-panel/index.umd.cjs +3 -3
  53. package/components/query-solution/index.esm.js +4746 -4085
  54. package/components/query-solution/index.umd.cjs +7 -7
  55. package/components/schema-selector/index.esm.js +1401 -1402
  56. package/components/schema-selector/index.umd.cjs +5 -5
  57. package/components/section/index.esm.js +102 -100
  58. package/components/section/index.umd.cjs +2 -2
  59. package/components/sort-condition-editor/index.esm.js +8 -3
  60. package/components/sort-condition-editor/index.umd.cjs +1 -1
  61. package/components/transfer/index.esm.js +537 -538
  62. package/components/transfer/index.umd.cjs +5 -5
  63. package/components/tree-grid/index.esm.js +280 -283
  64. package/components/tree-grid/index.umd.cjs +1 -1
  65. package/components/tree-view/index.esm.js +200 -202
  66. package/components/tree-view/index.umd.cjs +1 -1
  67. package/components/uploader/index.esm.js +533 -519
  68. package/components/uploader/index.umd.cjs +2 -2
  69. package/designer/data-grid/index.esm.js +3806 -3905
  70. package/designer/data-grid/index.umd.cjs +9 -9
  71. package/designer/drawer/index.esm.js +188 -186
  72. package/designer/drawer/index.umd.cjs +2 -2
  73. package/designer/dynamic-form/index.esm.js +1562 -1073
  74. package/designer/dynamic-form/index.umd.cjs +2 -2
  75. package/designer/farris-designer.all.esm.js +9793 -8613
  76. package/designer/farris-designer.all.umd.cjs +8 -8
  77. package/designer/list-view/index.esm.js +564 -564
  78. package/designer/list-view/index.umd.cjs +6 -6
  79. package/designer/radio-group/index.esm.js +236 -229
  80. package/designer/radio-group/index.umd.cjs +1 -1
  81. package/designer/response-layout-editor/index.esm.js +178 -171
  82. package/designer/response-layout-editor/index.umd.cjs +1 -1
  83. package/designer/tabs/index.esm.js +3154 -2508
  84. package/designer/tabs/index.umd.cjs +2 -2
  85. package/designer/time-picker/index.esm.js +193 -186
  86. package/designer/time-picker/index.umd.cjs +1 -1
  87. package/designer/tree-grid/index.esm.js +444 -447
  88. package/designer/tree-grid/index.umd.cjs +1 -1
  89. package/farris.all.esm.js +60126 -59649
  90. package/farris.all.umd.cjs +30 -30
  91. package/index.css +1 -1
  92. package/package.json +1 -1
  93. package/types/components.d.ts +1 -1
  94. package/types/condition/src/composition/condition-value/dropdown-value.d.ts +4 -0
  95. package/types/data-grid/index.d.ts +2 -5
  96. package/types/data-grid/src/data-grid.component.d.ts +1 -2
  97. package/types/data-view/components/row/hierarchy-row.component.d.ts +2 -2
  98. package/types/data-view/composition/appearance/use-cell-position.d.ts +1 -1
  99. package/types/data-view/composition/types.d.ts +0 -4
  100. package/types/data-view/composition/visualization/use-virtual-scroll.d.ts +2 -2
  101. package/types/data-view/composition/visualization/use-visual-data-bound.d.ts +2 -3
  102. package/types/data-view/composition/visualization/use-visual-data-row.d.ts +1 -2
  103. package/types/designer-canvas/src/composition/dg-control.d.ts +24 -0
  104. package/types/dynamic-form/designer.d.ts +0 -1
  105. package/types/dynamic-form/index.d.ts +4 -3
  106. package/types/dynamic-form/src/designer/dynamic-form.design.component.d.ts +8 -0
  107. package/types/dynamic-form/src/designer/response-form.design.props.d.ts +14 -0
  108. package/types/dynamic-form/src/designer/use-dynamic-form-rules.d.ts +2 -0
  109. package/types/dynamic-form/src/dynamic-form.component.d.ts +8 -0
  110. package/types/dynamic-form/src/response-form.props.d.ts +13 -1
  111. package/types/dynamic-form/src/schema/response-form-schema-resolver.d.ts +1 -0
  112. package/types/dynamic-form/src/types.d.ts +1 -0
  113. package/types/dynamic-resolver/src/types.d.ts +1 -0
  114. package/types/dynamic-view/index.d.ts +43 -3
  115. package/types/dynamic-view/src/components/maps.d.ts +6 -6
  116. package/types/dynamic-view/src/composition/index.d.ts +5 -0
  117. package/types/dynamic-view/src/composition/use-utils.d.ts +12 -0
  118. package/types/dynamic-view/src/dynamic-view.component.d.ts +6 -6
  119. package/types/language-textbox/index.d.ts +3 -3
  120. package/types/language-textbox/src/components/language-contents.component.d.ts +1 -1
  121. package/types/language-textbox/src/language-textbox.component.d.ts +1 -1
  122. package/types/lookup/src/components/favorite/lookup-favorite.component.d.ts +1 -1
  123. package/types/lookup/src/components/popup-container.component.d.ts +3 -3
  124. package/types/property-panel/src/property-panel.component.d.ts +3 -3
  125. package/types/tree-grid/src/components/data/data-area.component.d.ts +2 -2
  126. package/types/tree-grid/src/tree-grid.props.d.ts +0 -1
  127. package/types/tree-view/src/components/data/tree-area.component.d.ts +1 -1
  128. package/types/tree-view/src/tree-view.props.d.ts +0 -1
@@ -1,7 +1,7 @@
1
- (function(T,B){typeof exports=="object"&&typeof module<"u"?B(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"],B):(T=typeof globalThis<"u"?globalThis:T||self,B(T["list-view"]={},T.common,T.FListView,T.dynamicResolver,T.Vue,T.designerCanvas,T.dataView,T.locale,T.checkbox,T.LodashES))})(this,function(T,B,A,L,t,U,j,ae,K,le){"use strict";var Fe=Object.defineProperty;var Re=(T,B,A)=>B in T?Fe(T,B,{enumerable:!0,configurable:!0,writable:!0,value:A}):T[B]=A;var D=(T,B,A)=>Re(T,typeof B!="symbol"?B+"":B,A);function ce(r,e){function n(o){const i=[];let d=o.nextNode();for(;d;)i.push(d),d=o.nextNode();return i}function s(o,i){const d=document.createTreeWalker(o,NodeFilter.SHOW_TEXT);return n(d).map(u=>({textNode:u,text:(u.textContent||"").toLocaleLowerCase()})).map(({textNode:u,text:f})=>{const g=[];let v=0;for(;v<f.length;){const C=f.indexOf(i,v);if(C===-1)break;g.push(C),v=C+i.length}return g.map(C=>{const w=new Range;return w.setStart(u,C),w.setEnd(u,C+i.length),w})}).flat()}function a(o){if(!CSS.highlights||(CSS.highlights.clear(),!o||!e))return;const i=s(e.value,o.toLocaleLowerCase()),d=new Highlight(...i);CSS.highlights.set("search-result",d)}return{search:a}}function Z(r,e,n,s,a,o,i,d,c,m){const l=t.ref(r.size),u=t.ref(r.textField),f=t.ref(r.titleField),g=t.ref(r.disableField),v=t.computed(()=>{var p,x;return((p=r.selection)==null?void 0:p.multiSelect)&&((x=r.selection)==null?void 0:x.showCheckbox)}),{onMouseenterItem:C,onMouseoverItem:w,onMouseoutItem:I}=o,{getKey:N,listViewItemClass:M,listViewItemStyle:P,onCheckItem:R,onClickItem:h}=i,S=t.computed(()=>{const p={"text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"};return r.itemClass?p:{margin:l.value==="small"?"0.25rem 0":"8px 0",...p}});function y(p,x,F){return p.checked=d.findIndexInSelectedItems(p)>-1,t.createVNode("li",{class:M(p,x),id:N(p,x),key:N(p,x),style:P(p,x),onClick:$=>h(p,x,$),onMouseenter:$=>C($,p,x),onMouseover:$=>w($,p,x),onMouseout:$=>I($,p,x)},[v.value&&t.createVNode("div",{class:"f-list-select",onClick:$=>$.stopPropagation()},[t.createVNode(K.FCheckbox,{id:"list-"+N(p,x),customClass:"listview-checkbox float-left",disabled:p[g.value],checked:p.checked,"onUpdate:checked":$=>p.checked=$,onChange:$=>{R(p,x,!$.checked)}},null)]),t.createVNode("div",{class:"f-list-content"},[t.createVNode("div",{class:r.itemContentClass,style:S.value,title:p.raw[f.value]||p.raw[u.value]},[p.raw[u.value]])])])}return{renderItem:y}}function de(r,e,n,s,a,o,i,d,c,m){const l=t.ref(r.multiSelect),u=t.ref(r.disableField),f=t.ref(r.textField),{onMouseenterItem:g,onMouseoverItem:v,onMouseoutItem:C}=o,{getKey:w,listViewItemClass:I,listViewItemStyle:N,onCheckItem:M,onClickItem:P,updateSelectedItems:R}=i;function h(y,p,x){return r.contentTemplate?t.createVNode(t.Fragment,null,[r.contentTemplate({item:y.raw,index:p,selectedItem:x})]):e.slots.content?t.createVNode(t.Fragment,null,[e.slots.content&&e.slots.content({item:y.raw,index:p,selectedItem:x})]):t.createVNode("div",{style:"margin: 10px 0;"},[y.raw[f.value||"name"]])}function S(y,p,x){return t.createVNode("li",{class:I(y,p),id:w(y,p),key:w(y,p),style:N(y,p),onClick:F=>P(y,p,F),onMouseenter:F=>g(F,y,p),onMouseover:F=>v(F,y,p),onMouseout:F=>C(F,y,p)},[l.value&&t.createVNode("div",{class:"f-list-select",onClick:F=>F.stopPropagation()},[t.createVNode(K.FCheckbox,{id:"list-"+w(y,p),customClass:"listview-checkbox",disabled:y[u.value],checked:y.checked,"onUpdate:checked":F=>y.checked=F,onChange:F=>{M(y,p,!F.checked),R()}},null)]),t.createVNode("div",{class:"f-list-content"},[h(y,p,x)])])}return{renderItem:S}}function ue(r,e,n,s,a,o,i,d,c,m){const l=t.ref(r.multiSelect),u=t.ref(r.disableField),f=t.ref(r.textField),{onMouseenterItem:g,onMouseoverItem:v,onMouseoutItem:C}=o,{getKey:w,listViewItemClass:I,onCheckItem:N,onClickItem:M}=i,{dragstart:P,dragenter:R,dragover:h,dragend:S}=s,{removeItem:y}=c,p=t.computed(()=>({margin:l.value?"10px 0":"10px 0px 10px 14px"}));function x(b,V=""){const O=b.target;O.title=O.scrollWidth>O.clientWidth?V:""}function F(b){return t.createVNode("div",{style:p.value,onMouseenter:V=>x(V,b.raw[f.value||"name"])},[b.raw[f.value||"name"]])}function $(){return e.slots.itemContent?e.slots.itemContent:F}const _=$();function k(b,V,O){return t.createVNode("li",{class:I(b,V),id:w(b,V),key:w(b,V),onClick:E=>M(b,V,E),onMouseenter:E=>g(E,b,V),onMouseover:E=>v(E,b,V),onMouseout:E=>C(E,b,V),draggable:"true",onDragstart:E=>P(E,b,V),onDragenter:E=>R(E,V),onDragend:E=>S(E,b),onDragover:E=>h(E)},[l.value&&t.createVNode("div",{class:"f-list-select",onClick:E=>E.stopPropagation()},[t.createVNode(K.FCheckbox,{id:"list-"+w(b,V),customClass:"listview-checkbox",disabled:b[u.value]||!b.checked,checked:b.checked,"onUpdate:checked":E=>b.checked=E,onChange:E=>N(b,V,!E.checked)},null)]),t.createVNode("div",{class:"f-list-content"},[_(b)]),t.createVNode("div",{class:"f-list-remove",onClick:E=>{E.stopPropagation(),y(V)}},[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:k}}function pe(r,e,n,s,a,o,i,d,c,m){var w;const l=t.ref(((w=r.group)==null?void 0:w.groupFields)||[]),{collpaseGroupIconClass:u}=a,{toggleGroupRow:f}=m;function g(I,N){N.collapse=!N.collapse,n.value=f(N.collapse?"collapse":"expand",N,n.value)}function v(I,N,M){return e.slots.group?t.createVNode(t.Fragment,null,[e.slots.content&&e.slots.group({item:I.raw,index:N,selectedItem:M})]):t.createVNode("div",{class:"f-navlookup-recentHeader",onClick:P=>g(P,I)},[t.createVNode("div",{class:"fv-grid-group-row-icon"},[t.createVNode("span",{class:u(I)},null)]),t.createVNode("div",{class:"f-navlookup-recommandLabel"},[I.raw[l.value[I.layer]]])])}function C(I,N,M){return I.layer>-1&&v(I,N,M)}return{renderItem:C}}function me(r,e,n,s){const{dataView:a}=n,{updateSelectedItems:o}=s;function i(d){if(d>-1&&d<a.value.length){if(r!=null&&r.checkBeforeRemoveItem&&!r.checkBeforeRemoveItem(a.value[d]))return;const c=a.value.splice(d,1);o(),e.emit("removeItem",c[0])}}return{removeItem:i}}function fe(r,e,n,s,a,o,i,d,c,m){const l=t.ref(r.view),u=t.ref(r.view==="CardView"),f=t.ref({}),g=me(r,e,s,c),v=t.computed(()=>({"f-list-view-group":!0,"f-list-view-group-multiselect":r.multiSelect,"d-flex":u.value,"flex-wrap":u.value})),C=t.computed(()=>!!n.value&&n.value.length>0),w=t.computed(()=>n.value.length===0);t.computed(()=>w.value&&!e.slots.empty);function I(){return l.value==="SingleView"?Z:l.value==="DraggableView"?ue:(l.value==="ContentView"||l.value==="CardView")&&(r.contentTemplate||e.slots.content)?de:Z}const N=I(),{renderItem:M}=N(r,e,n,m,a,o,c,i,g,d),{renderItem:P}=pe(r,e,n,m,a,o,c,i,g,d),R=[M,P];function h(){return n.value.filter(p=>p.visible!==!1).map((p,x)=>R[p.type](p,x,f))}function S(){return t.createVNode("div",{class:"f-list-view-emptydata",style:"margin: 0 auto;"},[t.createVNode("p",{class:"f-empty-title"},[r.emptyTemplate?r.emptyTemplate():e.slots.empty?e.slots.empty():ae.LocaleService.getLocaleValue("listView.emptyMessage")])])}function y(){return t.createVNode("ul",{class:v.value,style:"list-style: none;"},[C.value&&h(),w.value&&S()])}return{renderListArea:y}}function ge(r,e,n){function s(){return e.slots.header&&t.createVNode("div",{class:"f-list-view-header"},[e.slots.header()])}return{renderHeader:s}}function ee(r,e,n){const s=t.ref(r.headerClass),a=t.ref(r.placeholder),o=t.ref(""),i=t.computed(()=>!o.value),d=t.computed(()=>!!o.value);function c(f){o.value=""}t.watch(o,f=>{r.enableHighlightSearch&&n.search(f),e.emit("afterSearch",f)});const m=t.computed(()=>{const f={"form-group":!0,"farris-form-group":!0};return s.value&&s.value.split(" ").reduce((v,C)=>(v[C]=!0,v),f),f});function l(f){}function u(){return t.createVNode("div",{class:"f-list-view-header",onClick:t.withModifiers(()=>l,["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":f=>o.value=f,name:"input-group-value",type:"text",placeholder:a.value,autocomplete:"off"},null),[[t.vModelText,o.value]]),t.createVNode("div",{class:"input-group-append"},[d.value&&t.createVNode("span",{class:"input-group-text input-group-clear",onClick:f=>c()},[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 he(){const r=t.ref(""),e=t.ref(-1),n=t.ref(""),s=t.ref(-1),a=t.ref(!1);function o(u,f,g){s.value=g}function i(u,f,g){a.value||(s.value=g)}function d(u,f,g){s.value=-1}function c(){a.value=!0}function m(){a.value=!1}function l(){e.value=-1,r.value=""}return{activeIndex:e,focusedItemId:n,hoverIndex:s,clearActiveItem:l,onMouseenterItem:o,onMouseoverItem:i,onMouseoutItem:d,resumeHover:m,suspendHover:c}}function we(r,e,n,s){const a=t.ref(r.idField),{dataView:o}=n,i=t.ref(-1),d=t.ref(!1),{activeIndex:c,focusedItemId:m,hoverIndex:l,resumeHover:u,suspendHover:f}=s;let g,v=0,C=0;function w(h,S){const y=h-v,p=S-C;g.style.left=parseInt(g.style.left)+y+"px",g.style.top=parseInt(g.style.top)+p+"px",v=h,C=S}function I(h){const{left:S,top:y}=h.getBoundingClientRect(),p=h.cloneNode(!0);return p.className=p.className+" f-listview-drag-moving",p.style.cssText=`
1
+ (function(T,$){typeof exports=="object"&&typeof module<"u"?$(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"],$):(T=typeof globalThis<"u"?globalThis:T||self,$(T["list-view"]={},T.common,T.FListView,T.dynamicResolver,T.Vue,T.designerCanvas,T.dataView,T.locale,T.checkbox,T.LodashES))})(this,function(T,$,A,L,t,U,j,ae,K,le){"use strict";var Pe=Object.defineProperty;var Fe=(T,$,A)=>$ in T?Pe(T,$,{enumerable:!0,configurable:!0,writable:!0,value:A}):T[$]=A;var D=(T,$,A)=>Fe(T,typeof $!="symbol"?$+"":$,A);function ce(r,e){function n(o){const i=[];let c=o.nextNode();for(;c;)i.push(c),c=o.nextNode();return i}function s(o,i){const c=document.createTreeWalker(o,NodeFilter.SHOW_TEXT);return n(c).map(p=>({textNode:p,text:(p.textContent||"").toLocaleLowerCase()})).map(({textNode:p,text:f})=>{const g=[];let v=0;for(;v<f.length;){const y=f.indexOf(i,v);if(y===-1)break;g.push(y),v=y+i.length}return g.map(y=>{const w=new Range;return w.setStart(p,y),w.setEnd(p,y+i.length),w})}).flat()}function a(o){if(!CSS.highlights||(CSS.highlights.clear(),!o||!e))return;const i=s(e.value,o.toLocaleLowerCase()),c=new Highlight(...i);CSS.highlights.set("search-result",c)}return{search:a}}function Z(r,e,n,s,a,o,i,c,l,u){const d=t.ref(r.size),p=t.ref(r.textField),f=t.ref(r.titleField),g=t.ref(r.disableField),v=t.computed(()=>{var m,k;return((m=r.selection)==null?void 0:m.multiSelect)&&((k=r.selection)==null?void 0:k.showCheckbox)}),{onMouseenterItem:y,onMouseoverItem:w,onMouseoutItem:I}=o,{getKey:S,listViewItemClass:x,listViewItemStyle:P,onCheckItem:B,onClickItem:h}=i,N=t.computed(()=>{const m={"text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"};return r.itemClass?m:{margin:d.value==="small"?"0.25rem 0":"8px 0",...m}});function C(m,k,F){return m.checked=c.findIndexInSelectedItems(m)>-1,t.createVNode("li",{class:x(m,k),id:S(m,k),key:S(m,k),style:P(m,k),onClick:R=>h(m,k,R),onMouseenter:R=>y(R,m,k),onMouseover:R=>w(R,m,k),onMouseout:R=>I(R,m,k)},[v.value&&t.createVNode("div",{class:"f-list-select",onClick:R=>R.stopPropagation()},[t.createVNode(K.FCheckbox,{id:"list-"+S(m,k),customClass:"listview-checkbox float-left",disabled:m[g.value],checked:m.checked,"onUpdate:checked":R=>m.checked=R,onChange:R=>{B(m,k,!R.checked)}},null)]),t.createVNode("div",{class:"f-list-content"},[t.createVNode("div",{class:r.itemContentClass,style:N.value,title:m.raw[f.value]||m.raw[p.value]},[m.raw[p.value]])])])}return{renderItem:C}}function de(r,e,n,s,a,o,i,c,l,u){const d=t.ref(r.multiSelect),p=t.ref(r.disableField),f=t.ref(r.textField),{onMouseenterItem:g,onMouseoverItem:v,onMouseoutItem:y}=o,{getKey:w,listViewItemClass:I,listViewItemStyle:S,onCheckItem:x,onClickItem:P,updateSelectedItems:B}=i;function h(C,m,k){return r.contentTemplate?t.createVNode(t.Fragment,null,[r.contentTemplate({item:C.raw,index:m,selectedItem:k})]):e.slots.content?t.createVNode(t.Fragment,null,[e.slots.content&&e.slots.content({item:C.raw,index:m,selectedItem:k})]):t.createVNode("div",{style:"margin: 10px 0;"},[C.raw[f.value||"name"]])}function N(C,m,k){return t.createVNode("li",{class:I(C,m),id:w(C,m),key:w(C,m),style:S(C,m),onClick:F=>P(C,m,F),onMouseenter:F=>g(F,C,m),onMouseover:F=>v(F,C,m),onMouseout:F=>y(F,C,m)},[d.value&&t.createVNode("div",{class:"f-list-select",onClick:F=>F.stopPropagation()},[t.createVNode(K.FCheckbox,{id:"list-"+w(C,m),customClass:"listview-checkbox",disabled:C[p.value],checked:C.checked,"onUpdate:checked":F=>C.checked=F,onChange:F=>{x(C,m,!F.checked),B()}},null)]),t.createVNode("div",{class:"f-list-content"},[h(C,m,k)])])}return{renderItem:N}}function ue(r,e,n,s,a,o,i,c,l,u){const d=t.ref(r.multiSelect),p=t.ref(r.disableField),f=t.ref(r.textField),{onMouseenterItem:g,onMouseoverItem:v,onMouseoutItem:y}=o,{getKey:w,listViewItemClass:I,onCheckItem:S,onClickItem:x}=i,{dragstart:P,dragenter:B,dragover:h,dragend:N}=s,{removeItem:C}=l,m=t.computed(()=>({margin:d.value?"10px 0":"10px 0px 10px 14px"}));function k(b,V=""){const O=b.target;O.title=O.scrollWidth>O.clientWidth?V:""}function F(b){return t.createVNode("div",{style:m.value,onMouseenter:V=>k(V,b.raw[f.value||"name"])},[b.raw[f.value||"name"]])}function R(){return e.slots.itemContent?e.slots.itemContent:F}const q=R();function M(b,V,O){return t.createVNode("li",{class:I(b,V),id:w(b,V),key:w(b,V),onClick:E=>x(b,V,E),onMouseenter:E=>g(E,b,V),onMouseover:E=>v(E,b,V),onMouseout:E=>y(E,b,V),draggable:"true",onDragstart:E=>P(E,b,V),onDragenter:E=>B(E,V),onDragend:E=>N(E,b),onDragover:E=>h(E)},[d.value&&t.createVNode("div",{class:"f-list-select",onClick:E=>E.stopPropagation()},[t.createVNode(K.FCheckbox,{id:"list-"+w(b,V),customClass:"listview-checkbox",disabled:b[p.value]||!b.checked,checked:b.checked,"onUpdate:checked":E=>b.checked=E,onChange:E=>S(b,V,!E.checked)},null)]),t.createVNode("div",{class:"f-list-content"},[q(b)]),t.createVNode("div",{class:"f-list-remove",onClick:E=>{E.stopPropagation(),C(V)}},[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 pe(r,e,n,s,a,o,i,c,l,u){var w;const d=t.ref(((w=r.group)==null?void 0:w.groupFields)||[]),{collpaseGroupIconClass:p}=a,{toggleGroupRow:f}=u;function g(I,S){S.collapse=!S.collapse,n.value=f(S.collapse?"collapse":"expand",S,n.value)}function v(I,S,x){return e.slots.group?t.createVNode(t.Fragment,null,[e.slots.content&&e.slots.group({item:I.raw,index:S,selectedItem:x})]):t.createVNode("div",{class:"f-navlookup-recentHeader",onClick:P=>g(P,I)},[t.createVNode("div",{class:"fv-grid-group-row-icon"},[t.createVNode("span",{class:p(I)},null)]),t.createVNode("div",{class:"f-navlookup-recommandLabel"},[I.raw[d.value[I.layer]]])])}function y(I,S,x){return I.layer>-1&&v(I,S,x)}return{renderItem:y}}function me(r,e,n,s){const{dataView:a}=n,{updateSelectedItems:o}=s;function i(c){if(c>-1&&c<a.value.length){if(r!=null&&r.checkBeforeRemoveItem&&!r.checkBeforeRemoveItem(a.value[c]))return;const l=a.value.splice(c,1);o(),e.emit("removeItem",l[0])}}return{removeItem:i}}function fe(r,e,n,s,a,o,i,c,l,u){const d=t.ref(r.view),p=t.ref(r.view==="CardView"),f=t.ref({}),g=me(r,e,s,l),v=t.computed(()=>({"f-list-view-group":!0,"f-list-view-group-multiselect":r.multiSelect,"d-flex":p.value,"flex-wrap":p.value})),y=t.computed(()=>!!n.value&&n.value.length>0),w=t.computed(()=>n.value.length===0);t.computed(()=>w.value&&!e.slots.empty);function I(){return d.value==="SingleView"?Z:d.value==="DraggableView"?ue:(d.value==="ContentView"||d.value==="CardView")&&(r.contentTemplate||e.slots.content)?de:Z}const S=I(),{renderItem:x}=S(r,e,n,u,a,o,l,i,g,c),{renderItem:P}=pe(r,e,n,u,a,o,l,i,g,c),B=[x,P];function h(){return n.value.filter(m=>m.visible!==!1).map((m,k)=>B[m.type](m,k,f))}function N(){return t.createVNode("div",{class:"f-list-view-emptydata",style:"margin: 0 auto;"},[t.createVNode("p",{class:"f-empty-title"},[r.emptyTemplate?r.emptyTemplate():e.slots.empty?e.slots.empty():ae.LocaleService.getLocaleValue("listView.emptyMessage")])])}function C(){return t.createVNode("ul",{class:v.value,style:"list-style: none;"},[y.value&&h(),w.value&&N()])}return{renderListArea:C}}function ge(r,e,n){function s(){return e.slots.header&&t.createVNode("div",{class:"f-list-view-header"},[e.slots.header()])}return{renderHeader:s}}function ee(r,e,n){const s=t.ref(r.headerClass),a=t.ref(r.placeholder),o=t.ref(""),i=t.computed(()=>!o.value),c=t.computed(()=>!!o.value);function l(f){o.value=""}t.watch(o,f=>{r.enableHighlightSearch&&n.search(f),e.emit("afterSearch",f)});const u=t.computed(()=>{const f={"form-group":!0,"farris-form-group":!0};return s.value&&s.value.split(" ").reduce((v,y)=>(v[y]=!0,v),f),f});function d(f){}function p(){return t.createVNode("div",{class:"f-list-view-header",onClick:t.withModifiers(()=>d,["prevent","stop"])},[t.createVNode("div",{class:u.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":f=>o.value=f,name:"input-group-value",type:"text",placeholder:a.value,autocomplete:"off"},null),[[t.vModelText,o.value]]),t.createVNode("div",{class:"input-group-append"},[c.value&&t.createVNode("span",{class:"input-group-text input-group-clear",onClick:f=>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:p}}function he(){const r=t.ref(""),e=t.ref(-1),n=t.ref(""),s=t.ref(-1),a=t.ref(!1);function o(p,f,g){s.value=g}function i(p,f,g){a.value||(s.value=g)}function c(p,f,g){s.value=-1}function l(){a.value=!0}function u(){a.value=!1}function d(){e.value=-1,r.value=""}return{activeIndex:e,focusedItemId:n,hoverIndex:s,clearActiveItem:d,onMouseenterItem:o,onMouseoverItem:i,onMouseoutItem:c,resumeHover:u,suspendHover:l}}function we(r,e,n,s){const a=t.ref(r.idField),{dataView:o}=n,i=t.ref(-1),c=t.ref(!1),{activeIndex:l,focusedItemId:u,hoverIndex:d,resumeHover:p,suspendHover:f}=s;let g,v=0,y=0;function w(h,N){const C=h-v,m=N-y;g.style.left=parseInt(g.style.left)+C+"px",g.style.top=parseInt(g.style.top)+m+"px",v=h,y=N}function I(h){const{left:N,top:C}=h.getBoundingClientRect(),m=h.cloneNode(!0);return m.className=m.className+" f-listview-drag-moving",m.style.cssText=`
2
2
  position:absolute;
3
- left:${S}px;
4
- top:${document.documentElement.scrollTop?y+document.documentElement.scrollTop:y}px;
3
+ left:${N}px;
4
+ top:${document.documentElement.scrollTop?C+document.documentElement.scrollTop:C}px;
5
5
  z-index: 999999;
6
6
  pointer-events: none;
7
7
  border-radius: 10px;
@@ -12,10 +12,10 @@
12
12
  text-align: initial;
13
13
  width:${getComputedStyle(h).width};
14
14
  height:${getComputedStyle(h).height};
15
- `,p.children[0].style.cssText="overflow: hidden;flex: 1 1 auto;width: 100%;",p.children[0].children[0].style.cssText=`
15
+ `,m.children[0].style.cssText="overflow: hidden;flex: 1 1 auto;width: 100%;",m.children[0].children[0].style.cssText=`
16
16
  margin: 10px 0px 10px 14px;
17
17
  overflow: hidden;text-overflow: ellipsis;white-space: nowrap;
18
- `,p.children[1].style.cssText="width: 30px;padding: 0 14px 0 0",p.children[2].style.cssText="padding: 0 14px 0 0;",document.body.appendChild(p),p}function N(h,S,y){if(h.stopPropagation(),f(),S){if(g=I(h.target),h.dataTransfer){const p=new Image;p.src="",h.dataTransfer.setDragImage(p,0,0)}v=h.pageX,C=h.pageY,setTimeout(()=>{i.value=y,d.value=!0,S.moving=!0})}}function M(h,S){if(h.preventDefault(),i.value!==S){const y=o.value[i.value],p=o.value;p.splice(i.value,1),p.splice(S,0,y),i.value=S,w(h.pageX,h.pageY)}}function P(h){h.preventDefault(),h.dataTransfer&&(h.dataTransfer.dropEffect="move"),w(h.pageX,h.pageY)}function R(h,S){S&&(S.moving=!1,g&&(document.body.removeChild(g),g=null)),o.value.forEach((y,p)=>{y.__fv_index__=p}),d.value=!1,u(),l.value=S.raw.__fv_index__,c.value=S.raw.__fv_index__,m.value=S.raw[a.value],e.emit("change",o.value),e.emit("activeChange",[S.raw])}return{dragstart:N,dragenter:M,dragover:P,dragend:R,isDragging:d}}function ve(r,e,n,s,a,o){const i=t.ref(r.idField),d=t.ref(r.disableField),c=t.ref(r.draggable);t.ref(r.itemClass);const m=t.ref(r.selection.multiSelect??!1),l=t.ref(r.selection.multiSelectMode),{isDragging:u}=s,{activeIndex:f,focusedItemId:g,hoverIndex:v}=a,{clearSelection:C,getSelectedItems:w,toggleSelectItem:I,currentSelectedDataId:N}=o,M=t.ref(w()),P=k=>M.value.length===0?!1:M.value.some(b=>{let V="";return b.data?V=b.data[i.value]:V=b[i.value],V===k});function R(){M.value=w()}function h(k,b){return k.raw[i.value]!=null?k.raw[i.value]:""}function S(k,b){const V={"f-list-view-group-item":!0,"f-list-view-draggable-item":c.value,"f-un-click":!k.checked,"f-un-select":!!k.raw[d.value],"f-listview-active":m.value&&P(h(k))||!m.value&&k.raw[i.value]===N.value,"f-listview-hover":!u.value&&b===v.value,moving:!!k.moving};if(typeof r.itemClass=="string")return B.getCustomClass(V,r.itemClass);if(typeof r.itemClass=="function"){const O=r.itemClass(k);return B.getCustomClass(V,O)}return V}function y(k,b){const V={};if(typeof r.itemStyle=="string")return B.getCustomStyle(V,r.itemStyle);if(typeof r.itemStyle=="function"){const O=r.itemStyle(k);return B.getCustomStyle(V,O)}return V}const p=t.computed(()=>!m.value);function x(k,b,V){k.checked=V,!k.raw[d.value]&&(p.value&&(g.value=k.raw[i.value]),I(k))}const F=t.computed(()=>m.value&&l.value==="OnCheckClearByClick"),$=t.computed(()=>!m.value||m.value&&(l.value==="OnCheckAndClick"||l.value==="OnClick"));function _(k,b,V){if(k.raw[d.value]){V==null||V.preventDefault(),V==null||V.stopPropagation();return}N.value=k.raw[i.value],g.value=k.raw[i.value],f.value=b,F.value&&C(),$.value&&(I(k),R()),e.emit("clickItem",{data:M.value,index:b,dataItem:k.raw}),e.emit("activeChange",M.value)}return{getKey:h,selectedItems:M,listViewItemClass:S,listViewItemStyle:y,updateSelectedItems:R,onCheckItem:x,onClickItem:_}}const H=new Map([["appearance",L.resolveAppearance]]),ye="root-viewmodel";function Ce(r,e){const{formSchemaUtils:n,designViewModelUtils:s}=e;function a(l){return{id:`${l.componentId}-component-viewmodel`,code:`${l.componentId}-component-viewmodel`,name:l.componentName,bindTo:l.bindTo,parent:ye,fields:[],commands:[],states:[],enableValidation:!0}}function o(l){const u=r.getSchemaByType("component-ref");return Object.assign(u,{id:`${l.componentId}-component-ref`,component:`${l.componentId}-component`}),u}function i(l,u,f){var w,I,N,M;const g=(I=(w=u==null?void 0:u.parentComponentInstance)==null?void 0:w.schema)==null?void 0:I.type,v=(M=(N=n.getFormSchema())==null?void 0:N.module)==null?void 0:M.templateId;if(["double-list-template","tree-list-template","list-template"].includes(v))return l;const C=[U.DgControl["content-container"].type,U.DgControl["response-layout-item"].type,U.DgControl["splitter-pane"].type,U.DgControl.drawer.type];if(g&&C.includes(g)){const P=r.getSchemaByType("section",{parentComponentInstance:u.parentComponentInstance,mainTitle:u.componentName},e);if(P&&P.contents&&P.contents.length){const R=P.contents[0];return R.contents=[l],P}}return l}function d(l){var v,C,w;const u=r.getSchemaByType("list-view");let f=!1;const g=(w=(C=(v=l.parentComponentInstance)==null?void 0:v.schema)==null?void 0:C.appearance)==null?void 0:w.class;return g&&g.includes("f-page-main")&&(f=!0),Object.assign(u,{id:l.componentId+"-listView",appearance:{class:f?"":"f-grid-is-sub"},type:"list-view",dataSource:l.dataSource||"",pagination:{enable:!1}}),[u]}function c(l){var C,w,I;const u=r.getSchemaByType("component"),f=d(l);let g=!1;const v=(I=(w=(C=l.parentComponentInstance)==null?void 0:C.schema)==null?void 0:w.appearance)==null?void 0:I.class;return v&&v.includes("f-page-main")&&(g=!0),Object.assign(u,{id:`${l.componentId}-component`,viewModel:`${l.componentId}-component-viewmodel`,componentType:l.componentType,contents:f,appearance:{class:g?"f-struct-wrapper f-utils-fill-flex-column":""}}),u}function m(l){const u=o(l),f=c(l),g=a(l),v=n.getFormSchema();return v.module.viewmodels.push(g),v.module.components.push(f),s.assembleDesignViewModel(),i(u,l)}return{createComponent:m}}function W(r,e,n,s){var o,i,d,c,m,l;const a=n.parentComponentInstance;if(a&&s){const u=Math.random().toString(36).slice(2,6),f={componentId:`list-view-${u}`,componentName:((o=n.bindingSourceContext)==null?void 0:o.entityTitle)||((d=(i=n.bindingSourceContext)==null?void 0:i.bindingEntity)==null?void 0:d.name)||`列表-${u}`,componentType:"list-view",parentContainerId:a.schema.id,parentComponentInstance:a,bindTo:((c=n.bindingSourceContext)==null?void 0:c.bindTo)||"",dataSource:(l=(m=n.bindingSourceContext)==null?void 0:m.bindingEntity)==null?void 0:l.label},{createComponent:g}=Ce(r,s);return g(f)}else return e}const te={$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:""}},required:["id","type"],events:{onClickItem:"行点击事件"}},z=B.excludeProperties(A.listViewProps,"headerTemplate"),Ve=L.createPropsResolver(z,te,H,W),X=L.getPropsResolverGenerator(z,te,H,W),Y={"tab-page":{type:"tab-page"},section:{type:"section"},"list-view":{name:"列表"}};function be(r){const{formSchemaUtils:e,formStateMachineUtils:n}=r;function s(c,m=""){return{path:m+c.code,field:c.id,fullPath:c.code}}function a(c,m=""){const l=e.getViewModelById(c);return l?l.states.map(u=>s(u,m)):[]}function o(c){const m=e.getRootViewModelId(),l=a(c);if(c===m)return l;const u=a(m,"root-component.");return[...l,...u]}function i(c){return c.binding&&c.binding.path||c.id||""}function d(){return n&&n.getRenderStates()||[]}return{getVariables:o,getControlName:i,getStateMachines:d}}class Ie{constructor(e){D(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'"}]);D(this,"expressionNames",{compute:"计算表达式",dependency:"依赖表达式",validate:"验证表达式",dataPicking:"帮助前表达式",visible:"可见表达式",readonly:"只读表达式",required:"必填表达式"});D(this,"getExpressionConverter",(e,n)=>({convertFrom:(s,a,o,i)=>{const d=o.getExpressionRuleValue(e,n||a);return d&&d.value||""},convertTo:(s,a,o,i,d)=>{var c;if(a==="dataPicking"&&(o!=null&&o.target)){const m=`${o.target}_dataPicking`;((c=o.rules)==null?void 0:c.some(u=>u.id===m&&u.value))?s.dictPickingExpressionId=m:delete s.dictPickingExpressionId}i.updateExpression(o)}}));this.formSchemaService=e}getExpressionRule(e,n){const s=this.formSchemaService.getExpressions();if(!s)return"";const a=s.find(i=>i.target===e);if(!a)return"";const o=a.rules.find(i=>i.type===n);return o||""}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 a=[];return s.states.filter(o=>o.category==="remote").forEach(o=>{a.push({key:o.code,name:o.name,description:o.name,category:o.category})}),a}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(a=>{var d;const o=this.createTreeNode(a,n);let i=[];(d=a.type)!=null&&d.fields&&(i=this.buildEntityFieldsTreeData(a.type.fields,[...n,a.label])),s.push({data:o,children:i,expanded:!0})}),s}buildChildEntityTreeData(e=null,n){const s=[];return e==null||e.forEach(a=>{var c,m;const o=this.createTreeNode(a,n);o.type="entity";const i=this.buildEntityFieldsTreeData((c=a.type)==null?void 0:c.fields,[...n,a.label]),d=this.buildChildEntityTreeData((m=a.type)==null?void 0:m.entities,[...n,a.label]);d!=null&&d.length&&(i==null||i.push(...d)),s.push({data:o,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]),a=this.buildChildEntityTreeData(n.type.entities,[n.code]);return a!=null&&a.length&&(s==null||s.push(...a)),{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 a=s==="Field"?e.binding.field:e.id,o=this.getExpressionRule(a,n),i=this.getEntitiesAndVariables(),d={message:["validate","required","dataPicking"].includes(n)&&o?o.message:"",...i};return o.messageType!=null&&(d.messageType=o.messageType),d}buildRule(e,n,s,a){const{expression:o,message:i,messageType:d}=n,c={id:`${e}_${s}`,type:s,value:o};return(s==="validate"||s==="dataPicking"||s==="required")&&(c.message=i),s==="dataPicking"&&(c.messageType=d),s==="validate"&&a&&(c.elementId=a),c}getExpressionData(){const{expressions:e}=this.formSchemaService.getFormSchema().module;return e||[]}updateExpression(e,n,s,a){const o=n==="Field"?e.binding.field:e.id,i=this.buildRule(o,s,a,e.type==="form-group"?e.id:"");let c=this.getExpressionData().find(l=>l.targetType===n&&l.target===o);const m=l=>l.value.trim()==="";if(c){const l=c.rules.find(u=>u.id===i.id);if(l)m(i)?c.rules=c.rules.filter(u=>u.id!==i.id):(Object.assign(l,i),a==="validate"&&e.type==="form-group"&&(l.elementId=e.id));else{if(m(i))return null;c.rules=c.rules||[],c.rules.push(i)}}else{if(m(i))return null;c={target:`${o}`,rules:[i],targetType:n}}return c}getExpressionEditorOptions(e,n,s,a){return s.reduce((o,i)=>{var c,m;const d=n==="Field"?(c=e==null?void 0:e.binding)==null?void 0:c.field:e.id;return o[i]={hide:n==="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,n),onSubmitModal:l=>{const u=this.updateExpression(e,n,l,i);if(a){const f=this.buildRule(d,l,i);a(f)}return u}}},o},{})}getExpressionInfo(e,n,s){const a=n==="Field"?e.binding.field:e.id,o=this.getExpressionRule(a,s),i={value:o&&o.value,targetId:a,targetType:n,expressionType:s};return o&&o.message&&(i.message=o.message),i}getExpressionConfig(e,n,s=["compute","dependency","validate"],a){return{description:"表达式",title:"表达式",hide:!e.binding,properties:{...this.getExpressionEditorOptions(e,n,s,a)}}}getExpressionOptions(e,n,s){const a=this.getExpressionInfo(e,n,s);return{dialogTitle:`${this.expressionNames[s]}编辑器`,singleExpand:!1,showMessage:s==="required",beforeOpen:()=>this.onBeforeOpenExpression(e,s,n),expressionInfo:a}}}class Ne{constructor(e,n){D(this,"componentId");D(this,"viewModelId");D(this,"eventsEditorUtils");D(this,"formSchemaUtils");D(this,"formMetadataConverter");D(this,"designViewModelUtils");D(this,"designViewModelField");D(this,"controlCreatorUtils");D(this,"designerHostService");D(this,"designerContext");D(this,"schemaService",null);D(this,"metadataService",null);D(this,"propertyConfig",{type:"object",categories:{}});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}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 a=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=a.fields.find(o=>o.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:U.DgControl[e.type]&&U.DgControl[e.type].name}]}}}}}getAppearanceConfig(e=null,n={},s){const a={title:"外观",description:"Appearance"},o={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)o[i]=Object.assign(o[i]||{},n[i]);return{...a,properties:{...o},setPropertyRelates(i,d){if(i){switch(i&&i.propertyID){case"class":case"style":{U.canvasChanged.value++;break}}s&&s(i,e,d)}}}}getPropertyEditorParams(e,n=[],s="visible",a={},o={},i=""){const{getVariables:d,getControlName:c,getStateMachines:m}=be(this.designerHostService),l=this.getRealTargetType(e),u=n&&n.length>0?n:["Const","Variable","StateMachine","Expression"],f={type:"property-editor",propertyTypes:u};return u.map(g=>{switch(g){case"Const":Object.assign(f,{constType:"enum",constEnums:[{id:!0,name:"是"},{id:!1,name:"否"}]},a);break;case"Expression":f.expressionConfig=this.getExpressionOptions(e,l,i||s);break;case"StateMachine":f.stateMachines=m();break;case"Variable":Object.assign(f,{controlName:c(e),newVariablePrefix:"is",newVariableType:"Boolean",variables:d(this.viewModelId),parentComponentId:this.componentId==="root-component"?"":"root-component",onBeforeOpenVariables:v=>{v.value=d(this.viewModelId)}},o),this.designerContext.designerMode==="PC_RTC"&&(f.newVariablePrefix="ext_"+f.newVariablePrefix);break}}),f}getVisibleProperty(e,n=""){var o;let s=["Const","Variable","StateMachine","Expression"];return n==="gridFieldEditor"?s=["Const","Expression"]:n==="form-group"&&!((o=e.binding)!=null&&o.field)&&(s=["Const","Variable","StateMachine"]),{visible:{title:"是否可见",type:"boolean",description:"运行时组件是否可见",editor:this.getPropertyEditorParams(e,s,"visible")}}}getBehaviorConfig(e,n="",s={},a){const o={title:"行为",description:""},i=this.getVisibleProperty(e,n);for(const c in s)i[c]=Object.assign(i[c]||{},s[c]);const d=this;return{...o,properties:{...i},setPropertyRelates(c,m){if(c){switch(c.propertyID){case"disabled":case"readonly":case"visible":d.afterMutilEditorChanged(e,c);break}a&&a(c,m)}}}}afterMutilEditorChanged(e,n){this.addNewVariableToViewModel(n,this.viewModelId),this.updateExpressionValue(n),this.clearExpression(n,e)}updateElementByParentContainer(e,n){const s=n&&n.parent&&n.parent.schema;if(!s)return;const a=s.contents.findIndex(i=>i.id===e),o=le.cloneDeep(s.contents[a]);s.contents.splice(a,1),s.contents.splice(a,0,o),U.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)}updateExpressionValue(e){const n=e.propertyValue;if(!((n&&n.type)==="Expression"&&n.expressionInfo))return;const{expressionId:o,expressionInfo:i}=n,{targetId:d,targetType:c,expressionType:m,value:l,message:u}=i,f=this.formSchemaUtils.getModule();f.expressions=f.expressions||[];const{expressions:g}=f;let v=g.find(w=>w.target===d);v||(v={target:d,rules:[],targetType:c},g.push(v));const C=v.rules.find(w=>w.type===m);if(C)C.value=l,C.message=u;else{const w={id:o,type:m,value:l,message:u};v.rules.push(w)}delete n.expressionInfo}clearExpression(e,n){const s=e.propertyValue;if(s&&s.type==="Expression")return;const o=e.propertyID,i=this.formSchemaUtils.getExpressions(),d=n.binding?n.binding.field:n.id,c=i.find(m=>m.target===d);!c||!c.rules||(c.rules=c.rules.filter(m=>m.type!==o))}getExpressionOptions(e,n,s){return new Ie(this.formSchemaUtils).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 a;((a=s.controller)==null?void 0:a.label.indexOf(this.formSchemaUtils.getModule().code))>-1&&this.eventsEditorUtils.jumpToMethod(s)}}},n}}class Se extends Ne{constructor(e,n){super(e,n)}getPropertyConfig(e){return this.getBasicPropConfig(e),this.getAppearanceProperties(e),this.getEventPropConfig(e),this.propertyConfig}getBasicPropConfig(e){var i,d,c;const n=(c=(d=(i=this.formSchemaUtils.getFormSchema())==null?void 0:i.module)==null?void 0:d.entity[0])==null?void 0:c.entities[0],s=this.assembleSchemaEntityToTree(n,0),a=this,o=super.getBasicPropConfig(e);this.propertyConfig.categories.basic={description:"Basic Information",title:"基本信息",properties:{...o.properties,dataSource:{description:"绑定数据源",title:"绑定数据源",editor:{type:"combo-tree",textField:"name",valueField:"label",data:s,editable:!1},readonly:!0}},setPropertyRelates(m,l){switch(m&&m.propertyID){case"dataSource":{const u=a.formSchemaUtils.getViewModelById(a.viewModelId);if(u){const f=s.find(g=>g.label===m.propertyValue);u.bindTo=f.bindTo}a.designViewModelUtils.assembleDesignViewModel();break}}}}}assembleSchemaEntityToTree(e,n,s,a="",o=[]){const i=a?`${a}/${e.label}`:"/";return o.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(d=>this.assembleSchemaEntityToTree(d,n+1,e,i,o)),o}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,[`
18
+ `,m.children[1].style.cssText="width: 30px;padding: 0 14px 0 0",m.children[2].style.cssText="padding: 0 14px 0 0;",document.body.appendChild(m),m}function S(h,N,C){if(h.stopPropagation(),f(),N){if(g=I(h.target),h.dataTransfer){const m=new Image;m.src="",h.dataTransfer.setDragImage(m,0,0)}v=h.pageX,y=h.pageY,setTimeout(()=>{i.value=C,c.value=!0,N.moving=!0})}}function x(h,N){if(h.preventDefault(),i.value!==N){const C=o.value[i.value],m=o.value;m.splice(i.value,1),m.splice(N,0,C),i.value=N,w(h.pageX,h.pageY)}}function P(h){h.preventDefault(),h.dataTransfer&&(h.dataTransfer.dropEffect="move"),w(h.pageX,h.pageY)}function B(h,N){N&&(N.moving=!1,g&&(document.body.removeChild(g),g=null)),o.value.forEach((C,m)=>{C.__fv_index__=m}),c.value=!1,p(),d.value=N.raw.__fv_index__,l.value=N.raw.__fv_index__,u.value=N.raw[a.value],e.emit("change",o.value),e.emit("activeChange",[N.raw])}return{dragstart:S,dragenter:x,dragover:P,dragend:B,isDragging:c}}function ve(r,e,n,s,a,o){const i=t.ref(r.idField),c=t.ref(r.disableField),l=t.ref(r.draggable);t.ref(r.itemClass);const u=t.ref(r.selection.multiSelect??!1),d=t.ref(r.selection.multiSelectMode),{isDragging:p}=s,{activeIndex:f,focusedItemId:g,hoverIndex:v}=a,{clearSelection:y,getSelectedItems:w,toggleSelectItem:I,currentSelectedDataId:S}=o,x=t.ref(w()),P=M=>x.value.length===0?!1:x.value.some(b=>{let V="";return b.data?V=b.data[i.value]:V=b[i.value],V===M});function B(){x.value=w()}function h(M,b){return M.raw[i.value]!=null?M.raw[i.value]:""}function N(M,b){const V={"f-list-view-group-item":!0,"f-list-view-draggable-item":l.value,"f-un-click":!M.checked,"f-un-select":!!M.raw[c.value],"f-listview-active":u.value&&P(h(M))||!u.value&&M.raw[i.value]===S.value,"f-listview-hover":!p.value&&b===v.value,moving:!!M.moving};if(typeof r.itemClass=="string")return $.getCustomClass(V,r.itemClass);if(typeof r.itemClass=="function"){const O=r.itemClass(M);return $.getCustomClass(V,O)}return V}function C(M,b){const V={};if(typeof r.itemStyle=="string")return $.getCustomStyle(V,r.itemStyle);if(typeof r.itemStyle=="function"){const O=r.itemStyle(M);return $.getCustomStyle(V,O)}return V}const m=t.computed(()=>!u.value);function k(M,b,V){M.checked=V,!M.raw[c.value]&&(m.value&&(g.value=M.raw[i.value]),I(M))}const F=t.computed(()=>u.value&&d.value==="OnCheckClearByClick"),R=t.computed(()=>!u.value||u.value&&(d.value==="OnCheckAndClick"||d.value==="OnClick"));function q(M,b,V){if(M.raw[c.value]){V==null||V.preventDefault(),V==null||V.stopPropagation();return}S.value=M.raw[i.value],g.value=M.raw[i.value],f.value=b,F.value&&y(),R.value&&(I(M),B()),e.emit("clickItem",{data:x.value,index:b,dataItem:M.raw}),e.emit("activeChange",x.value)}return{getKey:h,selectedItems:x,listViewItemClass:N,listViewItemStyle:C,updateSelectedItems:B,onCheckItem:k,onClickItem:q}}const H=new Map([["appearance",L.resolveAppearance]]),ye="root-viewmodel";function Ce(r,e){const{formSchemaUtils:n,designViewModelUtils:s}=e;function a(d){return{id:`${d.componentId}-component-viewmodel`,code:`${d.componentId}-component-viewmodel`,name:d.componentName,bindTo:d.bindTo,parent:ye,fields:[],commands:[],states:[],enableValidation:!0}}function o(d){const p=r.getSchemaByType("component-ref");return Object.assign(p,{id:`${d.componentId}-component-ref`,component:`${d.componentId}-component`}),p}function i(d,p,f){var w,I,S,x;const g=(I=(w=p==null?void 0:p.parentComponentInstance)==null?void 0:w.schema)==null?void 0:I.type,v=(x=(S=n.getFormSchema())==null?void 0:S.module)==null?void 0:x.templateId;if(["double-list-template","tree-list-template","list-template"].includes(v))return d;const y=[U.DgControl["content-container"].type,U.DgControl["response-layout-item"].type,U.DgControl["splitter-pane"].type,U.DgControl.drawer.type];if(g&&y.includes(g)){const P=r.getSchemaByType("section",{parentComponentInstance:p.parentComponentInstance,mainTitle:p.componentName},e);if(P&&P.contents&&P.contents.length){const B=P.contents[0];return B.contents=[d],P}}return d}function c(d){var v,y,w;const p=r.getSchemaByType("list-view");let f=!1;const g=(w=(y=(v=d.parentComponentInstance)==null?void 0:v.schema)==null?void 0:y.appearance)==null?void 0:w.class;return g&&g.includes("f-page-main")&&(f=!0),Object.assign(p,{id:d.componentId+"-listView",appearance:{class:f?"":"f-grid-is-sub"},type:"list-view",dataSource:d.dataSource||"",pagination:{enable:!1}}),[p]}function l(d){var y,w,I;const p=r.getSchemaByType("component"),f=c(d);let g=!1;const v=(I=(w=(y=d.parentComponentInstance)==null?void 0:y.schema)==null?void 0:w.appearance)==null?void 0:I.class;return v&&v.includes("f-page-main")&&(g=!0),Object.assign(p,{id:`${d.componentId}-component`,viewModel:`${d.componentId}-component-viewmodel`,componentType:d.componentType,contents:f,appearance:{class:g?"f-struct-wrapper f-utils-fill-flex-column":""}}),p}function u(d){const p=o(d),f=l(d),g=a(d),v=n.getFormSchema();return v.module.viewmodels.push(g),v.module.components.push(f),s.assembleDesignViewModel(),i(p,d)}return{createComponent:u}}function W(r,e,n,s){var o,i,c,l,u,d;const a=n.parentComponentInstance;if(a&&s){const p=Math.random().toString(36).slice(2,6),f={componentId:`list-view-${p}`,componentName:((o=n.bindingSourceContext)==null?void 0:o.entityTitle)||((c=(i=n.bindingSourceContext)==null?void 0:i.bindingEntity)==null?void 0:c.name)||`列表-${p}`,componentType:"list-view",parentContainerId:a.schema.id,parentComponentInstance:a,bindTo:((l=n.bindingSourceContext)==null?void 0:l.bindTo)||"",dataSource:(d=(u=n.bindingSourceContext)==null?void 0:u.bindingEntity)==null?void 0:d.label},{createComponent:g}=Ce(r,s);return g(f)}else return e}const te={$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:""}},required:["id","type"],events:{onClickItem:"行点击事件"}},z=$.excludeProperties(A.listViewProps,"headerTemplate"),Ve=L.createPropsResolver(z,te,H,W),X=L.getPropsResolverGenerator(z,te,H,W),Y={"tab-page":{type:"tab-page"},section:{type:"section"},"list-view":{name:"列表"}};function be(r){const{formSchemaUtils:e,formStateMachineUtils:n}=r;function s(l,u=""){return{path:u+l.code,field:l.id,fullPath:l.code}}function a(l,u=""){const d=e.getViewModelById(l);return d?d.states.map(p=>s(p,u)):[]}function o(l){const u=e.getRootViewModelId(),d=a(l);if(l===u)return d;const p=a(u,"root-component.");return[...d,...p]}function i(l){return l.binding&&l.binding.path||l.id||""}function c(){return n&&n.getRenderStates()||[]}return{getVariables:o,getControlName:i,getStateMachines:c}}class Ie{constructor(e){D(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'"}]);D(this,"expressionNames",{compute:"计算表达式",dependency:"依赖表达式",validate:"验证表达式",dataPicking:"帮助前表达式",visible:"可见表达式",readonly:"只读表达式",required:"必填表达式"});D(this,"getExpressionConverter",(e,n)=>({convertFrom:(s,a,o,i)=>{const c=o.getExpressionRuleValue(e,n||a);return c&&c.value||""},convertTo:(s,a,o,i,c)=>{var l;if(a==="dataPicking"&&(o!=null&&o.target)){const u=`${o.target}_dataPicking`;((l=o.rules)==null?void 0:l.some(p=>p.id===u&&p.value))?s.dictPickingExpressionId=u:delete s.dictPickingExpressionId}i.updateExpression(o)}}));this.formSchemaService=e}getExpressionRule(e,n){const s=this.formSchemaService.getExpressions();if(!s)return"";const a=s.find(i=>i.target===e);if(!a)return"";const o=a.rules.find(i=>i.type===n);return o||""}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 a=[];return s.states.filter(o=>o.category==="remote").forEach(o=>{a.push({key:o.code,name:o.name,description:o.name,category:o.category})}),a}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(a=>{var c;const o=this.createTreeNode(a,n);let i=[];(c=a.type)!=null&&c.fields&&(i=this.buildEntityFieldsTreeData(a.type.fields,[...n,a.label])),s.push({data:o,children:i,expanded:!0})}),s}buildChildEntityTreeData(e=null,n){const s=[];return e==null||e.forEach(a=>{var l,u;const o=this.createTreeNode(a,n);o.type="entity";const i=this.buildEntityFieldsTreeData((l=a.type)==null?void 0:l.fields,[...n,a.label]),c=this.buildChildEntityTreeData((u=a.type)==null?void 0:u.entities,[...n,a.label]);c!=null&&c.length&&(i==null||i.push(...c)),s.push({data:o,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]),a=this.buildChildEntityTreeData(n.type.entities,[n.code]);return a!=null&&a.length&&(s==null||s.push(...a)),{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 a=s==="Field"?e.binding.field:e.id,o=this.getExpressionRule(a,n),i=this.getEntitiesAndVariables(),c={message:["validate","required","dataPicking"].includes(n)&&o?o.message:"",...i};return o.messageType!=null&&(c.messageType=o.messageType),c}buildRule(e,n,s,a){const{expression:o,message:i,messageType:c}=n,l={id:`${e}_${s}`,type:s,value:o};return(s==="validate"||s==="dataPicking"||s==="required")&&(l.message=i),s==="dataPicking"&&(l.messageType=c),s==="validate"&&a&&(l.elementId=a),l}getExpressionData(){const{expressions:e}=this.formSchemaService.getFormSchema().module;return e||[]}updateExpression(e,n,s,a){const o=n==="Field"?e.binding.field:e.id,i=this.buildRule(o,s,a,e.type==="form-group"?e.id:"");let l=this.getExpressionData().find(d=>d.targetType===n&&d.target===o);const u=d=>d.value.trim()==="";if(l){const d=l.rules.find(p=>p.id===i.id);if(d)u(i)?l.rules=l.rules.filter(p=>p.id!==i.id):(Object.assign(d,i),a==="validate"&&e.type==="form-group"&&(d.elementId=e.id));else{if(u(i))return null;l.rules=l.rules||[],l.rules.push(i)}}else{if(u(i))return null;l={target:`${o}`,rules:[i],targetType:n}}return l}getExpressionEditorOptions(e,n,s,a){return s.reduce((o,i)=>{var l,u;const c=n==="Field"?(l=e==null?void 0:e.binding)==null?void 0:l.field:e.id;return o[i]={hide:n==="Field"?!!((u=e==null?void 0:e.binding)!=null&&u.field):!1,description:"",title:this.expressionNames[i],type:"string",$converter:this.getExpressionConverter(c),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 p=this.updateExpression(e,n,d,i);if(a){const f=this.buildRule(c,d,i);a(f)}return p}}},o},{})}getExpressionInfo(e,n,s){const a=n==="Field"?e.binding.field:e.id,o=this.getExpressionRule(a,s),i={value:o&&o.value,targetId:a,targetType:n,expressionType:s};return o&&o.message&&(i.message=o.message),i}getExpressionConfig(e,n,s=["compute","dependency","validate"],a){return{description:"表达式",title:"表达式",hide:!e.binding,properties:{...this.getExpressionEditorOptions(e,n,s,a)}}}getExpressionOptions(e,n,s){const a=this.getExpressionInfo(e,n,s);return{dialogTitle:`${this.expressionNames[s]}编辑器`,singleExpand:!1,showMessage:s==="required",beforeOpen:()=>this.onBeforeOpenExpression(e,s,n),expressionInfo:a}}}class Ne{constructor(e,n){D(this,"componentId");D(this,"viewModelId");D(this,"eventsEditorUtils");D(this,"formSchemaUtils");D(this,"formMetadataConverter");D(this,"designViewModelUtils");D(this,"designViewModelField");D(this,"controlCreatorUtils");D(this,"designerHostService");D(this,"designerContext");D(this,"schemaService",null);D(this,"metadataService",null);D(this,"propertyConfig",{type:"object",categories:{}});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}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 a=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=a.fields.find(o=>o.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:U.DgControl[e.type]&&U.DgControl[e.type].name}]}}}}}getAppearanceConfig(e=null,n={},s){const a={title:"外观",description:"Appearance"},o={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)o[i]=Object.assign(o[i]||{},n[i]);return{...a,properties:{...o},setPropertyRelates(i,c){if(i){switch(i&&i.propertyID){case"class":case"style":{U.canvasChanged.value++;break}}s&&s(i,e,c)}}}}getPropertyEditorParams(e,n=[],s="visible",a={},o={},i=""){const{getVariables:c,getControlName:l,getStateMachines:u}=be(this.designerHostService),d=this.getRealTargetType(e),p=n&&n.length>0?n:["Const","Variable","StateMachine","Expression"],f={type:"property-editor",propertyTypes:p};return p.map(g=>{switch(g){case"Const":Object.assign(f,{constType:"enum",constEnums:[{id:!0,name:"是"},{id:!1,name:"否"}]},a);break;case"Expression":f.expressionConfig=this.getExpressionOptions(e,d,i||s);break;case"StateMachine":f.stateMachines=u();break;case"Variable":Object.assign(f,{controlName:l(e),newVariablePrefix:"is",newVariableType:"Boolean",variables:c(this.viewModelId),parentComponentId:this.componentId==="root-component"?"":"root-component",onBeforeOpenVariables:v=>{v.value=c(this.viewModelId)}},o),this.designerContext.designerMode==="PC_RTC"&&(f.newVariablePrefix="ext_"+f.newVariablePrefix);break}}),f}getVisibleProperty(e,n=""){var o;let s=["Const","Variable","StateMachine","Expression"];return n==="gridFieldEditor"?s=["Const","Expression"]:n==="form-group"&&!((o=e.binding)!=null&&o.field)&&(s=["Const","Variable","StateMachine"]),{visible:{title:"是否可见",type:"boolean",description:"运行时组件是否可见",editor:this.getPropertyEditorParams(e,s,"visible")}}}getBehaviorConfig(e,n="",s={},a){const o={title:"行为",description:""},i=this.getVisibleProperty(e,n);for(const l in s)i[l]=Object.assign(i[l]||{},s[l]);const c=this;return{...o,properties:{...i},setPropertyRelates(l,u){if(l){switch(l.propertyID){case"disabled":case"readonly":case"visible":c.afterMutilEditorChanged(e,l);break}a&&a(l,u)}}}}afterMutilEditorChanged(e,n){this.addNewVariableToViewModel(n,this.viewModelId),this.updateExpressionValue(n),this.clearExpression(n,e)}updateElementByParentContainer(e,n){const s=n&&n.parent&&n.parent.schema;if(!s)return;const a=s.contents.findIndex(i=>i.id===e),o=le.cloneDeep(s.contents[a]);s.contents.splice(a,1),s.contents.splice(a,0,o),U.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)}updateExpressionValue(e){const n=e.propertyValue;if(!((n&&n.type)==="Expression"&&n.expressionInfo))return;const{expressionId:o,expressionInfo:i}=n,{targetId:c,targetType:l,expressionType:u,value:d,message:p}=i,f=this.formSchemaUtils.getModule();f.expressions=f.expressions||[];const{expressions:g}=f;let v=g.find(w=>w.target===c);v||(v={target:c,rules:[],targetType:l},g.push(v));const y=v.rules.find(w=>w.type===u);if(y)y.value=d,y.message=p;else{const w={id:o,type:u,value:d,message:p};v.rules.push(w)}delete n.expressionInfo}clearExpression(e,n){const s=e.propertyValue;if(s&&s.type==="Expression")return;const o=e.propertyID,i=this.formSchemaUtils.getExpressions(),c=n.binding?n.binding.field:n.id,l=i.find(u=>u.target===c);!l||!l.rules||(l.rules=l.rules.filter(u=>u.type!==o))}getExpressionOptions(e,n,s){return new Ie(this.formSchemaUtils).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 a;((a=s.controller)==null?void 0:a.label.indexOf(this.formSchemaUtils.getModule().code))>-1&&this.eventsEditorUtils.jumpToMethod(s)}}},n}}class Se extends Ne{constructor(e,n){super(e,n)}getPropertyConfig(e){return this.getBasicPropConfig(e),this.getAppearanceProperties(e),this.getEventPropConfig(e),this.propertyConfig}getBasicPropConfig(e){var i,c,l;const n=(l=(c=(i=this.formSchemaUtils.getFormSchema())==null?void 0:i.module)==null?void 0:c.entity[0])==null?void 0:l.entities[0],s=this.assembleSchemaEntityToTree(n,0),a=this,o=super.getBasicPropConfig(e);this.propertyConfig.categories.basic={description:"Basic Information",title:"基本信息",properties:{...o.properties,dataSource:{description:"绑定数据源",title:"绑定数据源",editor:{type:"combo-tree",textField:"name",valueField:"label",data:s,editable:!1},readonly:!0}},setPropertyRelates(u,d){switch(u&&u.propertyID){case"dataSource":{const p=a.formSchemaUtils.getViewModelById(a.viewModelId);if(p){const f=s.find(g=>g.label===u.propertyValue);p.bindTo=f.bindTo}a.designViewModelUtils.assembleDesignViewModel();break}}}}}assembleSchemaEntityToTree(e,n,s,a="",o=[]){const i=a?`${a}/${e.label}`:"/";return o.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(c=>this.assembleSchemaEntityToTree(c,n+1,e,i,o)),o}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,[`
19
19
  (dataItem) => {
20
20
  if(dataItem.code === '0001') {
21
21
  return 'bg-danger text-center';
@@ -35,4 +35,4 @@
35
35
 
36
36
  注:dataItem 行数据
37
37
  函数返回值是一个字符串,
38
- 由分号分隔的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,a=s.eventsEditorUtils.formProperties(e,s.viewModelId,n),o=s.createBaseEventProperty(a);this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:o,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(d,c){const m=d.propertyValue;delete e[s.viewModelId],m&&(m.setPropertyRelates=this.setPropertyRelates,s.eventsEditorUtils.saveRelatedParameters(e,s.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 xe(r,e){const n=r.schema,s=t.ref(!0),a=t.ref(!0);function o(u){return!1}function i(){return!1}function d(){return!1}function c(){return!0}function m(u){return new Se(u,e).getPropertyConfig(n)}function l(){var u,f,g,v;if(r&&e){const C=(u=r==null?void 0:r.componentInstance)==null?void 0:u.value.belongedComponentId;let w="",I="";const{formSchemaUtils:N}=e;if(C){const P=N.getRootViewModelId(),R=N.getComponentByViewModelId(P),h=N.selectNode(R,S=>S.contents&&S.contents.find(y=>y.component===C));(h==null?void 0:h.type)===((f=Y["tab-page"])==null?void 0:f.type)&&((g=h==null?void 0:h.contents)!=null&&g.length)&&(w=h.title||""),(h==null?void 0:h.type)===((v=Y.section)==null?void 0:v.type)&&(h==null?void 0:h.showHeader)!==!1&&(w=h.mainTitle||""),w=w?`${w} > `:"",I=w?h.id:""}const M=Y["list-view"].name;e==null||e.formSchemaUtils.getControlBasicInfoMap().set(r.schema.id,{componentTitle:M,parentPathName:`${w}${M}`,reliedComponentId:I})}}return{canAccepts:o,checkCanDeleteComponent:i,checkCanMoveComponent:d,hideNestedPaddingInDesginerView:c,triggerBelongedComponentToMoveWhenMoved:s,triggerBelongedComponentToDeleteWhenDeleted:a,getPropsConfig:m,setComponentBasicInfoMap:l}}const ne={$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"]},Me={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:[]}}}}}},J={data:{type:Array,default:[]}};L.createPropsResolver(J,ne,H,W,Me);const se=L.getPropsResolverGenerator(J,ne,H,W),ie=t.defineComponent({name:"FListViewTableDesign",props:J,emits:["outputValue","currentEvent","selectionChanged"],setup(r,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(()=>r.data.length>0?r.data:n);const s=t.ref(),a=t.inject("design-item-context"),o=U.useDesignerComponent(s,a);return t.onMounted(()=>{s.value.componentInstance=o}),e.expose(o.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"},["删除"])])])])])])])])])])])}}),q=t.defineComponent({name:"FListViewDesign",props:z,emits:["checkValuesChange","clickItem","selectionChange","removeItem","change"],setup(r,e){const n=t.ref(r.rowOption.rowHeight||28),s=t.ref(),a=t.ref(!0),o=t.ref(!1),i=t.ref([]),d=0,c=t.ref(r.columns),m=j.useFilter(r,e),l=j.useIdentify(r),u=j.useHierarchy(r),f=j.useGroupData(r,l),g=j.useDataView(r,new Map,m,u,l),v=j.useSelection(r,g,l,i,e),C=ce(r,s),w=t.ref(),I=t.inject("designer-host-service"),N=t.inject("design-item-context"),M=xe(N,I),P=U.useDesignerComponent(w,N,M),R=t.computed(()=>g.dataView.value.length),h=j.useRow(r,e,v,l),S=j.useEdit(r,e,l,h,i),y=j.useVisualDataBound(r,g,n),p=j.useVisualDataCell(r,{},y),x=j.useVisualDataRow(r,g,S,u,l,y,p,n),F=j.useVisualGroupRow(r,l,p,x),$=j.useVisualSummaryRow(r,l,p,x),_=j.useVisualData(r,c,g,R,d,x,F,$),{getVisualData:k}=_;i.value=k(0,R.value+d-1),t.onMounted(()=>{w.value.componentInstance=P}),e.expose(P.value);const b=t.computed(()=>{const G={"f-list-view":!0,"f-list-view-multiple":r.multiSelect,"w-100":!0,"h-100":!0};return r.size!=="default"&&(G[`${r.size}-item`]=!0),G}),V=t.computed(()=>!!e.slots.footer||a.value);function O(){return r.header==="SearchBar"?ee:r.header==="ContentHeader"?ge:ee}const E=O(),{renderHeader:Te}=E(r,e,C),Q=he(),re=we(r,e,g,Q),Ee=ve(r,e,i,re,Q,v);fe(r,e,i,g,f,Q,v,_,Ee,re);function Pe(G){r.multiSelect&&(G.preventDefault(),G.stopPropagation())}return()=>t.createVNode("div",{ref:w,class:b.value,onClick:Pe},[Te(),t.createVNode("div",{ref:s,class:"f-list-view-content",onMouseover:()=>{o.value=!0},onMouseleave:()=>{o.value=!1}},[t.createVNode(ie,null,null)]),V.value&&t.createVNode("div",{class:"f-list-view-footer"},[e.slots.footer&&e.slots.footer()])])}}),oe=L.createCollectionBindingResolver();q.register=(r,e,n,s,a)=>{r["list-view"]=A,e["list-view"]=X(a),r["list-view-table"]=A.FListViewTable,e["list-view-table"]=se(a),s["list-view"]={bindingResolver:oe}},q.registerDesigner=(r,e,n,s)=>{r["list-view"]=q,e["list-view"]=X(s),r["list-view-table"]=ie,e["list-view-table"]=se(s)};const ke=B.withInstall(q);T.FListViewDesign=q,T.bindingResolver=oe,T.default=ke,T.listViewDesignProps=z,T.propsResolver=Ve,T.propsResolverGenerator=X,Object.defineProperties(T,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
38
+ 由分号分隔的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,a=s.eventsEditorUtils.formProperties(e,s.viewModelId,n),o=s.createBaseEventProperty(a);this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:o,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(c,l){const u=c.propertyValue;delete e[s.viewModelId],u&&(u.setPropertyRelates=this.setPropertyRelates,s.eventsEditorUtils.saveRelatedParameters(e,s.viewModelId,u.events,u)),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 xe(r,e){const n=r.schema,s=t.ref(!0),a=t.ref(!0);function o(p){return!1}function i(){return!1}function c(){return!1}function l(){return!0}function u(p){return new Se(p,e).getPropertyConfig(n)}function d(){var p,f,g,v;if(r&&e){const y=(p=r==null?void 0:r.componentInstance)==null?void 0:p.value.belongedComponentId;let w="",I="";const{formSchemaUtils:S}=e;if(y){const P=S.getRootViewModelId(),B=S.getComponentByViewModelId(P),h=S.selectNode(B,N=>N.contents&&N.contents.find(C=>C.component===y));(h==null?void 0:h.type)===((f=Y["tab-page"])==null?void 0:f.type)&&((g=h==null?void 0:h.contents)!=null&&g.length)&&(w=h.title||""),(h==null?void 0:h.type)===((v=Y.section)==null?void 0:v.type)&&(h==null?void 0:h.showHeader)!==!1&&(w=h.mainTitle||""),w=w?`${w} > `:"",I=w?h.id:""}const x=Y["list-view"].name;e==null||e.formSchemaUtils.getControlBasicInfoMap().set(r.schema.id,{componentTitle:x,parentPathName:`${w}${x}`,reliedComponentId:I})}}return{canAccepts:o,checkCanDeleteComponent:i,checkCanMoveComponent:c,hideNestedPaddingInDesginerView:l,triggerBelongedComponentToMoveWhenMoved:s,triggerBelongedComponentToDeleteWhenDeleted:a,getPropsConfig:u,setComponentBasicInfoMap:d}}const ne={$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"]},Me={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:[]}}}}}},J={data:{type:Array,default:[]}};L.createPropsResolver(J,ne,H,W,Me);const se=L.getPropsResolverGenerator(J,ne,H,W),ie=t.defineComponent({name:"FListViewTableDesign",props:J,emits:["outputValue","currentEvent","selectionChanged"],setup(r,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(()=>r.data.length>0?r.data:n);const s=t.ref(),a=t.inject("design-item-context"),o=U.useDesignerComponent(s,a);return t.onMounted(()=>{s.value.componentInstance=o}),e.expose(o.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"},["删除"])])])])])])])])])])])}}),_=t.defineComponent({name:"FListViewDesign",props:z,emits:["checkValuesChange","clickItem","selectionChange","removeItem","change"],setup(r,e){const n=t.ref(),s=t.ref(!0),a=t.ref(!1),o=t.ref([]),i=0,c=t.ref(r.columns),l=j.useFilter(r,e),u=j.useIdentify(r),d=j.useHierarchy(r),p=j.useGroupData(r,u),f=j.useDataView(r,new Map,l,d,u),g=j.useSelection(r,f,u,o,e),v=ce(r,n),y=t.ref(),w=t.inject("designer-host-service"),I=t.inject("design-item-context"),S=xe(I,w),x=U.useDesignerComponent(y,I,S),P=t.computed(()=>f.dataView.value.length),B=j.useRow(r,e,g,u),h=j.useEdit(r,e,u,B,o),N=j.useVisualDataBound(r),C=j.useVisualDataCell(r,{},N),m=j.useVisualDataRow(r,f,h,d,u,N,C),k=j.useVisualGroupRow(r,u,C,m),F=j.useVisualSummaryRow(r,u,C,m),R=j.useVisualData(r,c,f,P,i,m,k,F),{getVisualData:q}=R;o.value=q(0,P.value+i-1),t.onMounted(()=>{y.value.componentInstance=x}),e.expose(x.value);const M=t.computed(()=>{const G={"f-list-view":!0,"f-list-view-multiple":r.multiSelect,"w-100":!0,"h-100":!0};return r.size!=="default"&&(G[`${r.size}-item`]=!0),G}),b=t.computed(()=>!!e.slots.footer||s.value);function V(){return r.header==="SearchBar"?ee:r.header==="ContentHeader"?ge:ee}const O=V(),{renderHeader:E}=O(r,e,v),Q=he(),re=we(r,e,f,Q),Te=ve(r,e,o,re,Q,g);fe(r,e,o,f,p,Q,g,R,Te,re);function Ee(G){r.multiSelect&&(G.preventDefault(),G.stopPropagation())}return()=>t.createVNode("div",{ref:y,class:M.value,onClick:Ee},[E(),t.createVNode("div",{ref:n,class:"f-list-view-content",onMouseover:()=>{a.value=!0},onMouseleave:()=>{a.value=!1}},[t.createVNode(ie,null,null)]),b.value&&t.createVNode("div",{class:"f-list-view-footer"},[e.slots.footer&&e.slots.footer()])])}}),oe=L.createCollectionBindingResolver();_.register=(r,e,n,s,a)=>{r["list-view"]=A,e["list-view"]=X(a),r["list-view-table"]=A.FListViewTable,e["list-view-table"]=se(a),s["list-view"]={bindingResolver:oe}},_.registerDesigner=(r,e,n,s)=>{r["list-view"]=_,e["list-view"]=X(s),r["list-view-table"]=ie,e["list-view-table"]=se(s)};const ke=$.withInstall(_);T.FListViewDesign=_,T.bindingResolver=oe,T.default=ke,T.listViewDesignProps=z,T.propsResolver=Ve,T.propsResolverGenerator=X,Object.defineProperties(T,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});