UNPKG

ideaz-element

Version:

<p align="center"> <a href="" target="_blank" rel="noopener noreferrer"> <img src="./docs/public/logo.svg" alt="Ideaz Element" width="180" style="width: 180px;" /> </a> </p>

3 lines (2 loc) 8.15 kB
"use strict";const e=require("vue"),s=require("@element-plus/icons-vue"),Q=require("../../../node_modules/.pnpm/vue-draggable-plus@0.2.4_@types_sortablejs@1.15.8_@vue_composition-api@1.7.2_vue@3.4.27_typescript@5.4.5__/node_modules/vue-draggable-plus/dist/vue-draggable-plus.cjs");require("../../../utils/index.cjs");const o=require("element-plus");require("./hooks/index.cjs");const W=require("./props.cjs"),X=require("../../../hooks/useNamespace.cjs"),Y=require("../../../hooks/useLocale.cjs"),$=require("../../../hooks/useFormSize.cjs"),ee=require("./hooks/useToolBarTableCols.cjs"),te=require("./hooks/useFixedTableCols.cjs"),T=require("../../../utils/is.cjs");function z(n){return typeof n=="function"||Object.prototype.toString.call(n)==="[object Object]"&&!e.isVNode(n)}function le(n,m){const i={},N=[...m];return n.forEach((C,b)=>{i[C.__uid]=b}),n.forEach(C=>{if(!N.some(b=>b.__uid===C.__uid)){const b=i[C.__uid];N.splice(b,0,C)}}),N}const oe=e.defineComponent({name:"ToolBar",components:{Draggable:Q.VueDraggable},props:W.toolBarProps,emits:["columns-change","size-change","refresh","table-cols-change"],setup(n,{emit:m}){const{checkedTableCols:i,handleReset:N,handleDataChange:C}=ee.useToolBarTableCols(n,m),{handleTableColFixedFromCenter:b,leftFixedTableCols:_,rightFixedTableCols:v,leftCheckedTableColsUids:p,rightCheckedTableColsUids:x,handleResetFixedTableCols:O,handleFixedCheckedTableColsChange:D,handleSortTableCols:w,handleUnfixedTableCol:A,handleSideFixedDragChange:S,handleFixedTableColFromSide:y}=te.useFixedTableCols(n,m,i),I=X.useNamespace("table-tool-bar"),{t:r}=Y.useLocale(),k=$.useFormSize(),q=e.ref(U(p.value,i.value,x.value)),F=e.ref(B(p.value,i.value,x.value)),M=e.ref(!1);function B(a,t,h){const d=_.value.map(l=>l.__uid),u=n.sortTableCols.filter(l=>T.isFunction(l.hide)?!l.hide():!l.hide).map(l=>l.__uid),f=v.value.map(l=>l.__uid);return d.every(l=>a.includes(l))&&u.every(l=>t.includes(l))&&f.every(l=>h.includes(l))}function U(a,t,h){const d=_.value.map(l=>l.__uid).some(l=>a.includes(l)),u=n.sortTableCols.filter(l=>T.isFunction(l.hide)?!l.hide():!l.hide).map(l=>l.__uid).some(l=>t.includes(l)),f=v.value.map(l=>l.__uid).some(l=>h.includes(l));return(d||u||f)&&!B(a,t,h)&&!!(a.length||t.length||h.length)}e.watchEffect(()=>{q.value=U(p.value,i.value,x.value),F.value=B(p.value,i.value,x.value)});const P=a=>{const t=[];if(a&&a.length>0){const h=n.originFormatTableCols.filter(d=>!n.sortTableCols.map(u=>u.__uid).includes(d.__uid));n.sortTableCols.forEach(d=>{a.forEach(u=>{u===d.__uid&&t.push(d)})}),h.forEach(d=>{const u={...d,fixed:p.value.includes(d.__uid)?"left":x.value.includes(d.__uid)?"right":void 0},f=n.originFormatTableCols.findIndex(l=>u.__uid===l.__uid);f>-1&&t.splice(f,0,u)})}m("columns-change",t)},R=a=>{i.value=a?n.sortTableCols.map(t=>t.__uid):[],P(a?n.sortTableCols.map(t=>t.__uid):[])},j=a=>{P(a)},L=[{label:r("common.default"),size:"default"},{label:r("table.loose"),size:"large"},{label:r("table.compact"),size:"small"}],E=a=>{const t=n.toolBar;return T.isObject(t)&&T.isValid(t[a])?t[a]:!0},G=()=>{m("refresh")},Z=a=>{m("size-change",a)},H=()=>{N(),O()},J=a=>[{title:r("table.leftFixed"),titleVisible:_.value.length,checkboxModelValue:p,checkboxChange:t=>D("left",t),dragModelValue:_,dragChange:()=>S("left"),dragEnd:t=>w(t,"left"),checkboxData:_.value,extraContent:t=>e.createVNode(e.Fragment,null,[e.createVNode(o.ElTooltip,{effect:"dark",content:r("table.unpin"),placement:"top",showAfter:300},{default:()=>[e.createVNode(o.ElButton,{icon:s.VideoPause,text:!0,onClick:()=>A(t)},null)]}),e.createVNode(o.ElTooltip,{effect:"dark",content:r("table.rightFixed"),placement:"top",showAfter:300},{default:()=>[e.createVNode(o.ElButton,{icon:s.Right,text:!0,onClick:()=>y(t,"right")},null)]})])},{title:r("table.unfixed"),titleVisible:_.value.length||v.value.length,checkboxModelValue:i,checkboxChange:j,dragModelValue:a,dragChange:()=>{},dragEnd:()=>C(le(n.sortTableCols,a),n.middleTableCols),checkboxData:a,extraContent:t=>e.createVNode(e.Fragment,null,[e.createVNode(o.ElTooltip,{effect:"dark",content:r("table.leftFixed"),placement:"top",showAfter:300},{default:()=>[e.createVNode(o.ElButton,{icon:s.Back,text:!0,onClick:()=>b(t,"left")},null)]}),e.createVNode(o.ElTooltip,{effect:"dark",content:r("table.rightFixed"),placement:"top",showAfter:300},{default:()=>[e.createVNode(o.ElButton,{icon:s.Right,text:!0,onClick:()=>b(t,"right")},null)]})])},{title:r("table.rightFixed"),titleVisible:v.value.length,checkboxModelValue:x,checkboxChange:t=>D("right",t),dragModelValue:v,dragChange:()=>S("right"),dragEnd:t=>w(t,"right"),checkboxData:v.value,extraContent:t=>e.createVNode(e.Fragment,null,[e.createVNode(o.ElTooltip,{effect:"dark",content:r("table.leftFixed"),placement:"top",showAfter:300},{default:()=>[e.createVNode(o.ElButton,{icon:s.Back,text:!0,onClick:()=>y(t,"left")},null)]}),e.createVNode(o.ElTooltip,{effect:"dark",content:r("table.unpin"),placement:"top",showAfter:300},{default:()=>[e.createVNode(o.ElButton,{icon:s.VideoPause,text:!0,onClick:()=>A(t)},null)]})])}];return()=>{var f,l;let a;const t=(f=n.tableProps)==null?void 0:f.loading,h=(l=n.tableProps)==null?void 0:l.fullScreenElement,d=n.sortTableCols.filter(c=>T.isFunction(c.hide)?!c.hide():!c.hide),u=J(d);return e.createVNode("div",{class:I.b("")},[E("refresh")&&e.createVNode(o.ElTooltip,{effect:"dark",content:r("common.refresh"),placement:"top",showAfter:300},{default:()=>[e.withDirectives(e.createVNode(o.ElButton,{size:k.value,icon:s.Refresh,text:!0,onClick:G},null),[[e.resolveDirective("loading"),t]])]}),E("density")&&e.createVNode(o.ElTooltip,{effect:"dark",content:r("table.density"),placement:"top",showAfter:300},{default:()=>[e.createVNode(o.ElDropdown,{onCommand:Z,trigger:"click",size:"default"},{default:()=>[e.createVNode(o.ElButton,{icon:s.DCaret,text:!0},null)],dropdown:()=>{let c;return e.createVNode(e.Fragment,null,[e.createVNode(o.ElDropdownMenu,null,z(c=L.map(V=>e.createVNode(o.ElDropdownItem,{command:V.size,class:n.size===V.size&&"density-dropdown__active"},{default:()=>[V.label]})))?c:{default:()=>[c]})])}})]}),E("fullScreen")&&e.createVNode(o.ElTooltip,{effect:"dark",content:M.value?r("common.cancelFullScreen"):r("common.fullScreen"),placement:"top",showAfter:300},{default:()=>[e.createVNode(e.resolveComponent("z-full-screen"),{el:h||document.getElementsByClassName("z-table__container")[0],onChange:c=>M.value=c},{default:()=>[e.createVNode(o.ElButton,{icon:s.FullScreen,text:!0,size:k.value},null)]})]}),E("setting")&&e.createVNode(o.ElTooltip,{effect:"dark",content:r("table.columnSetting"),placement:"top",showAfter:300},{default:()=>[e.createVNode("div",null,[e.createVNode(o.ElPopover,{placement:"bottom",width:"190",trigger:"click"},{default:()=>[e.createVNode("div",{class:"column-popover__inner"},[e.createVNode("div",{class:"column-popover__title"},[e.createVNode(o.ElCheckbox,{modelValue:F.value,indeterminate:q.value,onChange:R,"onUpdate:modelValue":c=>{F.value=c},size:"small"},z(a=r("table.columnDisplay"))?a:{default:()=>[a]}),e.createVNode("a",{onClick:H,href:"javascript:;",class:"column-popover__reset"},[r("common.reset")])]),e.createVNode("div",{class:"column-popover__content"},[u.map(c=>{let V;const K=c.dragModelValue.value?c.dragModelValue.value:d;return e.createVNode(e.Fragment,null,[c.titleVisible?e.createVNode(o.ElDivider,null,{default:()=>[c.title]}):null,e.createVNode(o.ElCheckboxGroup,{modelValue:c.checkboxModelValue.value,"onUpdate:modelValue":g=>c.checkboxModelValue.value=g,size:"small",onChange:c.checkboxChange},{default:()=>[e.createVNode(e.resolveComponent("draggable"),{modelValue:K,animation:200,onChange:c.dragChange,onEnd:c.dragEnd,ghostClass:"column-popover-checkbox__drag--ghost"},z(V=c.checkboxData.map(g=>e.createVNode("div",{key:g.__uid,class:"column-popover-checkbox"},[e.createVNode(o.ElCheckbox,{value:g.__uid,key:g.__uid},{default:()=>[g.label||g.type]}),e.createVNode("div",{class:I.be("setting-item","extra")},[c.extraContent(g)])])))?V:{default:()=>[V]})]})])})])])],reference:()=>e.createVNode(o.ElButton,{icon:s.Operation,text:!0,size:k.value},null)})])]})])}}});module.exports=oe; //# sourceMappingURL=ToolBar.cjs.map