@aplus-frontend/ui
Version:
2 lines (1 loc) • 7.25 kB
JavaScript
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),q=require("@ant-design/icons-vue"),l=require("@aplus-frontend/antdv");require("../../../../ap-button/index.js");const H=require("../../../../utils/index.js");require("../../../../config-provider/index.js");const J=require("../../../../utils/slot.js"),Q=require("../../../context.js"),W=require("../../../hooks/use-table-column-state.js"),X=require("../../../hooks/use-table-template-storage.js"),Y=require("../../../style/setting.js"),Z=require("../context.js");require("../sorter/index.vue.js");require("../template/edit-form.vue.js");require("../template/index.vue.js");require("../tree-select/index.vue.js");const f=require("../utils.js"),ee=require("../../../../config-provider/hooks/use-locale.js"),w=require("../../../../config-provider/hooks/use-namespace.js"),te=require("../template/index.vue2.js"),ne=require("../tree-select/index.vue2.js"),ae=require("../sorter/index.vue2.js"),le=require("../../../../ap-button/ap-button.vue.js"),oe=require("../template/edit-form.vue2.js"),re={style:{"padding-inline":"8px"}},ue=e.defineComponent({name:"ApTableSetting",__name:"index",props:{config:{default:()=>({persistenceKey:""})}},setup(z){const m=z,{columnsBackup:B,updateSize:D,updateColumns:E}=Q.useInjectApTable(),i=e.ref(),C=e.computed(()=>m.config.persistenceKey),y=`${C.value}__active_key`,v=e.ref(!1),{basicTemplate:A,customizeTemplateList:c,addTemplate:I,deleteTemplate:N,updateTemplate:L}=X.useTableTemplateStorage(m.config,C),{columnState:s,setColumnState:T,isAllSelected:R,toggleSelectAll:K}=W.useTableColumnState([]),o=e.ref(localStorage.getItem(y)??c.value?.[0].key);Z.useProvideApColumnSetting({activeKey:o,cacheConfig:e.toRef(m,"config"),deleteTemplate:F});const{t:r}=ee.useLocale(),{b:p,be:g}=w.useNamespace("ap-column-setting"),{b:O}=w.useNamespace("ap-table"),$=Y.default("ap-column-setting"),d=e.ref(!1),h=e.ref(!1),M=e.useSlots(),V=J.getSingleVNode(M.trigger)||e.createVNode(l.Button,{icon:e.createVNode(q.SettingOutlined,null,null),class:O("setting-trigger-button")},null),k=V?e.cloneVNode(V,{onClick:()=>{d.value=!0}}):null;function P(){T(f.customCloneColumnStates(e.unref(A).columnState))}function x(n,t){E?.(f.default(e.unref(B),n)),D?.(t)}function U(){x(e.unref(s),e.unref(i)),d.value=!1;const n=f.customCloneColumnStates(s.value),t=L(o.value,{columnState:n,size:i.value});localStorage.setItem(y,o.value),m.config?.onChange?.(n,t)}function j(n){const t=H.randomStr();I({key:t,label:n,columnState:s.value,size:i.value}),v.value=!1,o.value=t}function b(n){const t=[...c.value].find(a=>a?.key===n);t&&(T(f.customCloneColumnStates(t.columnState)),i.value=t.size)}function F(n){if(n!==o.value){N(n);return}const t=c.value,a=t.findIndex(S=>S.key===n),u=t[a+1]?.key??t[a-1]?.key;N(n),o.value=u}function G(n){if(h.value=n,!n){const t=localStorage.getItem(y);t&&t!==o.value&&(o.value=t)}}e.watch(()=>o.value,(n,t)=>{if(!t&&n){const a=[...c.value].find(u=>u?.key===n);if(!a)return;x(a.columnState,a.size)}b(n)},{immediate:!0});const _=e.ref(!1);return e.watch([i,s,d],([n,t,a])=>{if(!a)return;const u=c.value.find(S=>S.key===o.value);u&&(u.size!==n||!f.isEqualColumnStateIgnoreLabel(t,u.columnState))?_.value=!0:_.value=!1},{deep:!0}),(n,t)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(k)?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(k)),{key:0})):e.createCommentVNode("",!0),e.createVNode(e.unref(l.Modal),{open:d.value,"onUpdate:open":t[4]||(t[4]=a=>d.value=a),title:e.unref(r)("ap.apTable.setting.title"),width:1e3,centered:!0,"body-style":{padding:"0px !important",height:"516px"},"after-open-change":G,"wrap-class-name":`${e.unref(p)()} ${e.unref($)}`,"ok-text":e.unref(r)("ap.apTable.setting.saveAndApply"),onOk:U},{footer:e.withCtx(({extra:a})=>[e.createVNode(e.unref(l.Flex),{justify:"space-between"},{default:e.withCtx(()=>[e.createVNode(e.unref(l.Space),{size:12},{default:e.withCtx(()=>[e.createVNode(e.unref(l.Popover),{open:v.value,"onUpdate:open":t[3]||(t[3]=u=>v.value=u),trigger:"click",arrow:!1,placement:"topLeft","destroy-tooltip-on-hide":""},{content:e.withCtx(()=>[e.createVNode(oe.default,{onConfirm:j,onCancel:t[2]||(t[2]=()=>v.value=!1)})]),default:e.withCtx(()=>[e.createVNode(e.unref(le.default),{type:"borderLink",disabled:!n.config.persistenceKey},{icon:e.withCtx(()=>[e.createVNode(e.unref(q.SaveOutlined))]),default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)("ap.apTable.setting.saveAsTemplate"))+" ",1)]),_:1},8,["disabled"])]),_:1},8,["open"]),_.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(p)("modify-tip"))},e.toDisplayString(e.unref(r)("ap.apTable.setting.modifyNotification")),3)):e.createCommentVNode("",!0)]),_:1}),e.createVNode(e.unref(l.Space),{size:10},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(a.cancelBtn))),(e.openBlock(),e.createBlock(e.resolveDynamicComponent(a.okBtn)))]),_:2},1024)]),_:2},1024)]),default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",{class:e.normalizeClass(e.unref(p)("wrapper"))},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(p)("left"))},[e.createVNode(te.default,{"customize-template-list":e.unref(c),"persistence-key":C.value,onActiveChange:b},null,8,["customize-template-list","persistence-key"])],2),e.createVNode(e.unref(l.Divider),{type:"vertical",style:{height:"100%",margin:"0px"}}),e.createElementVNode("div",{class:e.normalizeClass(e.unref(p)("center"))},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(g)("center","header"))},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(g)("center","tip-wrapper"))},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(g)("center","header-tips"))},e.toDisplayString(e.unref(r)("ap.apTable.setting.selectAllTip")),3),e.createVNode(e.unref(l.Button),{type:"link",size:"small",onClick:e.unref(K)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(R)?e.unref(r)("ap.apTable.setting.unSelectAll"):e.unref(r)("ap.apTable.setting.selectAll")),1)]),_:1},8,["onClick"])],2),e.createVNode(e.unref(l.RadioGroup),{value:i.value,"onUpdate:value":t[0]||(t[0]=a=>i.value=a)},{default:e.withCtx(()=>[e.createVNode(e.unref(l.RadioButton),{value:"small"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)("ap.apTable.setting.sizeSmall")),1)]),_:1}),e.createVNode(e.unref(l.RadioButton),{value:"middle"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)("ap.apTable.setting.sizeNormal")),1)]),_:1})]),_:1},8,["value"])],2),e.createElementVNode("div",re,[e.createVNode(e.unref(l.Divider),{dashed:"",style:{margin:"0px"}})]),e.createVNode(ne.default,{class:e.normalizeClass(e.unref(g)("center","content")),value:e.unref(s)},null,8,["class","value"])],2),e.createVNode(e.unref(l.Divider),{type:"vertical",style:{height:"100%",margin:"0px"}}),e.createElementVNode("div",{class:e.normalizeClass(e.unref(p)("right"))},[e.createVNode(ae.default,{value:e.unref(s),"onUpdate:value":t[1]||(t[1]=a=>e.isRef(s)?s.value=a:null),onReset:P},null,8,["value"])],2)],2),[[e.vShow,h.value]])]),_:1},8,["open","title","wrap-class-name","ok-text"])],64))}});exports.default=ue;