@gct-paas/v-ben 0.1.6-dev.2 → 0.1.6-dev.20

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 (34) hide show
  1. package/dist/index.min.css +1 -1
  2. package/dist/loader.esm.min.js +2 -1
  3. package/es/components/index.mjs +1 -0
  4. package/es/components/v-ben-button/src/PopConfirmButton.vue_vue_type_script_lang.mjs +1 -1
  5. package/es/components/v-ben-table/index.d.ts +2 -0
  6. package/es/components/v-ben-table/index.mjs +1 -0
  7. package/es/components/v-ben-table/src/BasicTable.vue.d.ts +28 -22
  8. package/es/components/v-ben-table/src/BasicTable.vue.mjs +12 -21
  9. package/es/components/v-ben-table/src/BasicTable.vue_vue_type_script_lang.mjs +84 -14
  10. package/es/components/v-ben-table/src/BasicTable.vue_vue_type_style_index_0_lang.css +50 -0
  11. package/es/components/v-ben-table/src/components/TableAction.vue_vue_type_script_setup_true_lang.mjs +3 -9
  12. package/es/components/v-ben-table/src/components/TableAction.vue_vue_type_style_index_0_lang.css +1 -0
  13. package/es/components/v-ben-table/src/components/TableActionAuto.vue_vue_type_script_setup_true_lang.mjs +3 -9
  14. package/es/components/v-ben-table/src/components/TableActionAuto.vue_vue_type_style_index_0_lang.css +1 -0
  15. package/es/components/v-ben-table/src/const.d.ts +10 -0
  16. package/es/components/v-ben-table/src/const.mjs +14 -0
  17. package/es/components/v-ben-table/src/hooks/useColumns.d.ts +7 -0
  18. package/es/components/v-ben-table/src/hooks/useColumns.mjs +143 -0
  19. package/es/components/v-ben-table/src/hooks/usePagination.d.ts +10 -0
  20. package/es/components/v-ben-table/src/hooks/usePagination.mjs +63 -0
  21. package/es/components/v-ben-table/src/hooks/useTable.d.ts +6 -0
  22. package/es/components/v-ben-table/src/hooks/useTable.mjs +21 -0
  23. package/es/components/v-ben-table/src/hooks/useTableExpand.d.ts +14 -0
  24. package/es/components/v-ben-table/src/hooks/useTableExpand.mjs +54 -0
  25. package/es/components/v-ben-table/src/hooks/useTableScroll.d.ts +17 -0
  26. package/es/components/v-ben-table/src/hooks/useTableScroll.mjs +126 -0
  27. package/es/components/v-ben-table/src/props.d.ts +2 -0
  28. package/es/components/v-ben-table/src/props.mjs +39 -1
  29. package/es/components/v-ben-table/src/types/pagination.d.ts +1 -1
  30. package/es/components/v-ben-table/src/utils/dom-utils.d.ts +13 -0
  31. package/es/components/v-ben-table/src/utils/dom-utils.mjs +36 -0
  32. package/es/hooks/useDesign.mjs +10 -0
  33. package/es/index.mjs +2 -1
  34. package/package.json +7 -7
@@ -1,2 +1,2 @@
1
- .vben-basic-table-action{align-items:center;display:flex}.vben-basic-table-action .action-divider{display:table}.vben-basic-table-action.left{justify-content:flex-start}.vben-basic-table-action.center{justify-content:center}.vben-basic-table-action.right{justify-content:flex-end}.vben-basic-table-action button{align-items:center;display:flex}.vben-basic-table-action button span{margin-left:0!important}.vben-basic-table-action button.ant-btn-circle span{margin:auto!important}.vben-basic-table-action .ant-divider,.vben-basic-table-action .ant-divider-vertical{margin:0 10px}.vben-basic-table-action .icon-more{transform:rotate(90deg)}.vben-basic-table-action .icon-more svg{font-size:1.1em;font-weight:700}.custom-btn-container[data-v-305f4090]{white-space:nowrap;text-align:center;cursor:pointer;user-select:none;touch-action:manipulation;color:#fff;border:1px solid #0000;border-color:var(--ant-primary-color);background-image:none;background:var(--ant-primary-color);text-shadow:0 -1px #0000001f;vertical-align:top;border-radius:4px;justify-content:center;align-items:center;height:32px;font-size:14px;font-weight:400;line-height:1.5715;transition:all .3s cubic-bezier(.645,.045,.355,1);display:inline-flex;position:relative;box-shadow:0 2px #0000000b}.custom-btn-container .btn-left[data-v-305f4090]{justify-content:center;align-items:center;height:32px;margin-right:1px;padding:4px 12px;display:flex}.custom-btn-container .btn-left-title[data-v-305f4090]{margin-left:4px;line-height:22px}.custom-btn-container .btn-left[data-v-305f4090]:hover{color:#fff;border-color:var(--ant-primary-color-hover);background:var(--ant-primary-color-hover)}.custom-btn-container .btn-right[data-v-305f4090]{justify-content:center;align-items:center;height:32px;margin-left:2px;padding:4px 12px;display:flex;position:relative}.custom-btn-container .btn-right[data-v-305f4090]:before{content:"";background-color:#fff;width:1px;height:14px;position:absolute;left:-2px}.custom-btn-container .btn-right[data-v-305f4090]:hover{color:#fff;border-color:var(--ant-primary-color-hover);background:var(--ant-primary-color-hover)}
1
+ .vben-basic-table{max-width:100%;height:100%}.vben-basic-table .ant-table-tbody>tr>td,.vben-basic-table .ant-table-thead>tr>td,.vben-basic-table .ant-table-tbody>tr>th,.vben-basic-table .ant-table-thead>tr>th{border-right:1px solid #0000!important}.vben-basic-table-form-container{padding:16px}.vben-basic-table-form-container .ant-form{border-radius:2px;width:100%;margin-bottom:16px;padding:12px 10px 6px}.vben-basic-table .ant-table-cell .ant-tag{margin-right:0}.vben-basic-table .ant-table-wrapper{border-radius:2px;padding:6px}.vben-basic-table .ant-table-wrapper .ant-table-title{padding:0 0 8px!important}.vben-basic-table .ant-table-wrapper .ant-table.ant-table-bordered .ant-table-title{border:none!important}.vben-basic-table .empty-basic-table-wrapper.ant-table-wrapper:has(div.ant-spin-nested-loading>div.ant-spin-container>div.ant-table-empty) .ant-spin-nested-loading>div.ant-spin-container>div.ant-table-empty>div.ant-table-container>div.ant-table-body{max-height:none!important}.vben-basic-table .ant-table{width:100%;overflow-x:hidden}.vben-basic-table .ant-pagination{margin:10px 0 0!important}.vben-basic-table--inset .ant-table-wrapper{padding:0}.ant-table-thead th{background-color:#f5f5f5}.vben-basic-table-action{align-items:center;display:flex}.vben-basic-table-action .action-divider{display:table}.vben-basic-table-action.left{justify-content:flex-start}.vben-basic-table-action.center{justify-content:center}.vben-basic-table-action.right{justify-content:flex-end}.vben-basic-table-action button{align-items:center;display:flex}.vben-basic-table-action button span{font-size:14px;margin-left:0!important}.vben-basic-table-action button.ant-btn-circle span{margin:auto!important}.vben-basic-table-action .ant-divider,.vben-basic-table-action .ant-divider-vertical{margin:0 10px}.vben-basic-table-action .icon-more{transform:rotate(90deg)}.vben-basic-table-action .icon-more svg{font-size:1.1em;font-weight:700}.custom-btn-container[data-v-305f4090]{white-space:nowrap;text-align:center;cursor:pointer;user-select:none;touch-action:manipulation;color:#fff;border:1px solid #0000;border-color:var(--ant-primary-color);background-image:none;background:var(--ant-primary-color);text-shadow:0 -1px #0000001f;vertical-align:top;border-radius:4px;justify-content:center;align-items:center;height:32px;font-size:14px;font-weight:400;line-height:1.5715;transition:all .3s cubic-bezier(.645,.045,.355,1);display:inline-flex;position:relative;box-shadow:0 2px #0000000b}.custom-btn-container .btn-left[data-v-305f4090]{justify-content:center;align-items:center;height:32px;margin-right:1px;padding:4px 12px;display:flex}.custom-btn-container .btn-left-title[data-v-305f4090]{margin-left:4px;line-height:22px}.custom-btn-container .btn-left[data-v-305f4090]:hover{color:#fff;border-color:var(--ant-primary-color-hover);background:var(--ant-primary-color-hover)}.custom-btn-container .btn-right[data-v-305f4090]{justify-content:center;align-items:center;height:32px;margin-left:2px;padding:4px 12px;display:flex;position:relative}.custom-btn-container .btn-right[data-v-305f4090]:before{content:"";background-color:#fff;width:1px;height:14px;position:absolute;left:-2px}.custom-btn-container .btn-right[data-v-305f4090]:hover{color:#fff;border-color:var(--ant-primary-color-hover);background:var(--ant-primary-color-hover)}
2
2
  /*$vite$:1*/
@@ -1 +1,2 @@
1
- import{cssLoader as e,permission as t,t as n,useNamespace as o}from"@gct-paas/core";import{Fragment as l,computed as a,createBlock as r,createCommentVNode as i,createElementBlock as u,createElementVNode as s,createSlots as c,createTextVNode as p,createVNode as d,defineComponent as f,guardReactiveProps as y,h as m,mergeProps as b,normalizeClass as v,normalizeProps as g,openBlock as h,ref as C,renderList as k,renderSlot as B,resolveComponent as x,toDisplayString as _,toRaw as w,unref as S,useAttrs as T,vShow as A,withCtx as $,withDirectives as D,withModifiers as O}from"vue";import{omit as F}from"lodash-es";import{MoreOutlined as P}from"@ant-design/icons-vue";import{Button as j,Divider as I,Dropdown as N,Menu as R,Popconfirm as K,Tooltip as z}from"ant-design-vue";var L=Object.prototype.toString;function E(e,t){return L.call(e)===`[object ${t}]`}function M(e){return void 0!==e}function H(e){return!M(e)}function U(e){return null!==e&&E(e,"Object")}function V(e){return ne(e)||Y(e)?0===e.length:e instanceof Map||e instanceof Set?0===e.size:!!U(e)&&0===Object.keys(e).length}function W(e){return E(e,"Date")}function q(e){return null===e}function G(e){return H(e)&&q(e)}function J(e){return H(e)||q(e)}function Q(e){return E(e,"Number")}function X(e){return E(e,"Promise")&&U(e)&&Z(e.then)&&Z(e.then)}function Y(e){return E(e,"String")}function Z(e){return"function"==typeof e}function ee(e){return E(e,"Boolean")}function te(e){return E(e,"RegExp")}function ne(e){return!!e&&Array.isArray(e)}function oe(e){return"undefined"!=typeof window&&E(e,"Window")}function le(e){return U(e)&&!!e.tagName}function ae(e){return E(e,"Map")}function re(e){return/^http(s)?:\/\/([\w-]+\.)+[\w-]+(\/[\w- ./?%&=]*)?/.test(e)}function ie(e){return void 0===e||!e&&0!==e&&"0"!==e||!/[^\s]/.test(e+"")}var ue=f({name:"TableHeaderCell",components:{},props:{column:{type:Object,default:()=>({})}},setup:e=>({getTitle:a(()=>{var t,n;return(null===(t=e.column)||void 0===t?void 0:t.customTitle)||(null===(n=e.column)||void 0===n?void 0:n.title)})})}),se=(e,t)=>{const n=e.__vccOpts||e;for(const[o,l]of t)n[o]=l;return n},ce=f({name:"BasicTable",components:{HeaderCell:/* @__PURE__ */se(ue,[["render",function(e,t,n,o,l,a){return h(),u("span",null,_(e.getTitle),1)}]])},props:{clickToRowSelect:{type:Boolean,default:!0},isTreeTable:Boolean,tableSetting:{type:Object,default:{}},inset:Boolean,showTableSetting:Boolean,autoCreateKey:{type:Boolean,default:!0},striped:{type:Boolean,default:!0},showSummary:Boolean,summaryFunc:{type:[Function,Array],default:null},summaryData:{type:Array,default:null},indentSize:{type:Number,default:24},canColDrag:{type:Boolean,default:!0},api:{type:Function,default:null},beforeFetch:{type:Function,default:null},afterFetch:{type:Function,default:null},handleSearchInfoFn:{type:Function,default:null},immediate:{type:Boolean,default:!0},emptyDataIsShowTable:{type:Boolean,default:!0},searchInfo:{type:Object,default:null},defSort:{type:Object,default:null},useSearchForm:Boolean,columns:{type:Array,default:()=>[]},showIndexColumn:{type:Boolean,default:!0},indexColumnProps:{type:Object,default:null},actionColumn:{type:Object,default:null},ellipsis:{type:Boolean,default:!0},isCanResizeParent:{type:Boolean,default:!1},canResize:{type:Boolean,default:!0},clearSelectOnPageChange:Boolean,resizeHeightOffset:{type:Number,default:0},rowSelection:{type:Object,default:null},title:{type:[String,Function],default:null},titleHelpMessage:{type:[String,Array]},maxHeight:Number,dataSource:{type:Array,default:null},rowKey:{type:[String,Function],default:""},bordered:Boolean,pagination:{type:[Object,Boolean],default:null},loading:Boolean,rowClassName:{type:Function},scroll:{type:Object,default:null},beforeEditSubmit:{type:Function},rowDraggable:{type:Boolean,default:!1},supportSameLevel:{type:Boolean,default:!1},rowDragApi:{type:Function,default:null},expandedRowKeys:{type:Array,default:()=>[]},emptyFull:{type:Boolean,default:!1}},emits:["change"],setup(e,{attrs:t,emit:n}){const o=C(null),l=C([]);return{formRef:C(null),tableElRef:o,getBindValues:a(()=>{let e={...t};return e=F(e,["class","onChange"]),e}),handleTableChange:function(...e){n("change",...e)},expandKeysList:l,getEmptyDataIsShowTable:a(()=>{const{emptyDataIsShowTable:t,useSearchForm:n,dataSource:o}=e;return!(!t&&n&&!o.length)})}},mounted(){this.expandKeysList=this.getBindValues.expandedRowKeys}}),pe={ref:"wrapRef"},de={key:0,class:"pr26px"},fe={key:1,class:"pr8px"},ye=/* @__PURE__ */se(ce,[["render",function(e,t,n,o,a,i){const s=x("HeaderCell"),p=x("a-table");return h(),u("div",pe,[B(e.$slots,"beforeTable"),D(d(p,b({ref:"tableElRef"},e.getBindValues,{"expanded-row-keys":e.expandKeysList,"onUpdate:expandedRowKeys":t[0]||(t[0]=t=>e.expandKeysList=t),onChange:e.handleTableChange}),c({headerCell:$(({column:t})=>[e.rowDraggable&&(null==t?void 0:t.dataIndex)===e.getBindValues.columns[0].dataIndex?(h(),u(l,{key:0},[e.isTreeTable?(h(),u("span",de)):(h(),u("span",fe)),d(s,{column:t},null,8,["column"])],64)):(h(),r(s,{key:1,column:t},null,8,["column"]))]),bodyCell:$(t=>[B(e.$slots,"bodyCell",g(y(t||{})))]),_:2},[k(Object.keys(e.$slots),t=>({name:t,fn:$(n=>[B(e.$slots,t,g(y(n||{})))])}))]),1040,["expanded-row-keys","onChange"]),[[A,e.getEmptyDataIsShowTable]])],512)}]]),me={key:0,class:"text-14px"},be={key:0,class:"text-14px"},ve=/* @__PURE__ */f({__name:"TableAction",props:{actions:{type:Array,default:null},dropDownActions:{type:Array,default:null},divider:{type:Boolean,default:!0},outside:Boolean,stopButtonPropagation:{type:Boolean,default:!1}},setup(e){const n=e,s=o("basic-table-action"),c=t.has;function p(e){const t=e.ifShow;let n=!0;return ee(t)&&(n=t),Z(t)&&(n=t(e)),n}const f=a(()=>(w(n.actions)||[]).filter(e=>c(e.auth)&&p(e)).map(e=>{const{popConfirm:t}=e;return{getPopupContainer:()=>document.body,type:"link",size:"small",...e,...t||{},onConfirm:null==t?void 0:t.confirm,onCancel:null==t?void 0:t.cancel,enable:!!t}})),y=a(()=>{const e=(w(n.dropDownActions)||[]).filter(e=>c(e.auth)&&p(e));return e.map((t,o)=>{const{label:l,popConfirm:a}=t;return{...t,...a,onConfirm:null==a?void 0:a.confirm,onCancel:null==a?void 0:a.cancel,text:l,divider:o<e.length-1&&n.divider}})}),m=a(()=>"left");function g(e){n.stopButtonPropagation&&e.composedPath().find(e=>{var t;return"BUTTON"===(null===(t=e.tagName)||void 0===t?void 0:t.toUpperCase())})&&e.stopPropagation()}return(t,n)=>{const o=x("a-button");return h(),u("div",{class:v([S(s).b(),m.value]),onClick:g},[(h(!0),u(l,null,k(f.value,(t,n)=>{return h(),u(l,{key:`${n}-${t.label}`},[t.tooltip?(h(),r(S(z),b({key:0,placement:"bottom"},{ref_for:!0},(o=t.tooltip,{getPopupContainer:()=>document.body,...Y(o)?{title:o}:o})),{default:$(()=>[d(S(De),b({ref_for:!0},t),{default:$(()=>[t.label?(h(),u("span",me,_(t.label),1)):i("",!0)]),_:2},1040)]),_:2},1040)):(h(),r(S(De),b({key:1,ref_for:!0},t),{default:$(()=>[t.label?(h(),u("span",be,_(t.label),1)):i("",!0)]),_:2},1040)),e.divider&&n<f.value.length-1?(h(),r(S(I),{key:2,type:"vertical",class:"action-divider"})):i("",!0)],64);var o}),128)),e.dropDownActions&&y.value.length>0?(h(),r(S(Pe),{key:0,trigger:["hover"],"drop-menu-list":y.value,popconfirm:""},{default:$(()=>[B(t.$slots,"more"),t.$slots.more?i("",!0):(h(),r(o,{key:0,type:"link",size:"small"},{default:$(()=>[d(S(P),{class:"icon-more"})]),_:1}))]),_:3},8,["drop-menu-list"])):i("",!0)],2)}}}),ge={key:0,class:"text-14px"},he={key:0,class:"text-14px"},Ce=/* @__PURE__ */f({__name:"TableActionAuto",props:{actions:{type:Array,default:null},divider:{type:Boolean,default:!0},outside:Boolean,stopButtonPropagation:{type:Boolean,default:!1},maxDispalyCount:{type:Number,default:4}},setup(e){const n=e,s=o("basic-table-action"),c=t.has,p=a(()=>[...w(n.actions)||[]].filter(e=>c(e.auth)&&function(e){const t=e.ifShow??!0;return Z(t)?t(e):!!t}(e))),f=a(()=>{let e=[];return e=n.maxDispalyCount>=p.value.length?[...p.value]:p.value.slice(0,n.maxDispalyCount),e.map(e=>{const{popConfirm:t}=e;return{getPopupContainer:()=>document.body,type:"link",size:"small",...e,...t||{},onConfirm:null==t?void 0:t.confirm,onCancel:null==t?void 0:t.cancel,enable:!!t}})}),y=a(()=>{let e=[];return n.maxDispalyCount>=p.value.length?[]:(e=p.value.slice(n.maxDispalyCount),e.map((t,o)=>{const{label:l,popConfirm:a}=t;return{...t,...a,onConfirm:null==a?void 0:a.confirm,onCancel:null==a?void 0:a.cancel,text:l,divider:o<e.length-1&&n.divider}}))}),m=a(()=>"left");function g(e){n.stopButtonPropagation&&e.composedPath().find(e=>{var t;return"BUTTON"===(null===(t=e.tagName)||void 0===t?void 0:t.toUpperCase())})&&e.stopPropagation()}return(t,n)=>{const o=x("a-button");return h(),u("div",{class:v([S(s).b(),m.value]),onClick:O(g,["stop"])},[(h(!0),u(l,null,k(f.value,(t,n)=>{return h(),u(l,{key:`${n}-${t.label}`},[t.tooltip?(h(),r(S(z),b({key:0,ref_for:!0},(o=t.tooltip,{getPopupContainer:()=>document.body,placement:"bottom",...Y(o)?{title:o}:o})),{default:$(()=>[d(S(De),b({ref_for:!0},t),{default:$(()=>[t.label?(h(),u("span",ge,_(t.label),1)):i("",!0)]),_:2},1040)]),_:2},1040)):(h(),r(S(De),b({key:1,ref_for:!0},t),{default:$(()=>[t.label?(h(),u("span",he,_(t.label),1)):i("",!0)]),_:2},1040)),e.divider&&n<f.value.length-1?(h(),r(S(I),{key:2,type:"vertical",class:"action-divider"})):i("",!0)],64);var o}),128)),y.value.length>0?(h(),r(S(Pe),{key:0,trigger:["hover"],"drop-menu-list":y.value,popconfirm:""},{default:$(()=>[B(t.$slots,"more"),t.$slots.more?i("",!0):(h(),r(o,{key:0,type:"link",size:"small"},{default:$(()=>[d(S(P),{class:"icon-more"})]),_:1}))]),_:3},8,["drop-menu-list"])):i("",!0)],2)}}}),ke=["primary","error","warning","success",""],Be={color:{type:String,validator:e=>ke.includes(e),default:""},loading:{type:Boolean},disabled:{type:Boolean},preIcon:{type:String},postIcon:{type:String},iconSize:{type:Number,default:14},onClick:{type:Function,default:null}},xe=/* @__PURE__ */f({name:"AButton",extends:j,inheritAttrs:!1,__name:"BasicButton",props:Be,setup(e){const t=e,n=T(),o=a(()=>{const{color:e,disabled:n}=t;return[{[`ant-btn-${e}`]:!!e,"is-disabled":n}]}),l=a(()=>({...S(n),...t}));return(e,t)=>(h(),r(S(j),b(l.value,{class:o.value,onClick:e.onClick}),{default:$(t=>[B(e.$slots,"default",g(y(t||{})))]),_:3},16,["class","onClick"]))}}),_e=f({name:"PopButton",inheritAttrs:!1,props:{enable:{type:Boolean,default:!0}},setup(e,{slots:t}){const o=T(),l=a(()=>Object.assign({okText:n("sys.okText"),cancelText:n("sys.cancelText"),overlayStyle:{}},{...e,...S(o)}));return()=>{const n=F(S(l),"icon"),o=F(n,"title");o.disabled&&(o.color="");const a=m(xe,o,t);return e.enable?m(K,n,{default:()=>a}):a}}}),we=_e,Se={class:"custom-btn-container"},Te={class:"btn-left-title"},Ae=/* @__PURE__ */se(/* @__PURE__ */f({__name:"custom-button",props:{title:{}},emits:["btn-left-click","btn-right-click"],setup:e=>(t,n)=>(h(),u("div",Se,[s("div",{class:"btn-left",onClick:n[0]||(n[0]=O(e=>t.$emit("btn-left-click"),["stop"]))},[B(t.$slots,"left-icon",{},void 0,!0),s("div",Te,_(e.title),1)]),s("div",{class:"btn-right",onClick:n[1]||(n[1]=O(e=>t.$emit("btn-right-click"),["stop"]))},[B(t.$slots,"right-icon",{},void 0,!0)])]))}),[["__scopeId","data-v-305f4090"]]),$e=xe,De=we,Oe={class:"ml-1"},Fe={key:1,class:"ml-1"},Pe=/* @__PURE__ */f({name:"VDropdown",__name:"Dropdown",props:{popconfirm:Boolean,trigger:{type:Array,default:()=>["contextmenu"]},dropMenuList:{type:Array,default:()=>[]},selectedKeys:{type:Array,default:()=>[]}},emits:["menuEvent"],setup(e,{emit:t}){const n=N,o=R,a=R.Item,c=R.Divider,f=K,y=e,m=t;function v(e){const t=F(e,["confirm","cancel","icon"]);return!e.onConfirm&&e.confirm&&Z(e.confirm)&&(t.onConfirm=e.confirm),!e.onCancel&&e.cancel&&Z(e.cancel)&&(t.onCancel=e.cancel),t}return(t,g)=>(h(),r(S(n),b({trigger:e.trigger},t.$attrs),{overlay:$(()=>[d(S(o),{"selected-keys":e.selectedKeys},{default:$(()=>[(h(!0),u(l,null,k(e.dropMenuList,t=>{return h(),u(l,{key:`${t.event}`},[d(S(a),b({class:t.class},{ref_for:!0},(n=t.event,{key:n}),{disabled:t.disabled,onClick:e=>function(e){var t;const{event:n}=e;m("menuEvent",y.dropMenuList.find(e=>`${e.event}`==`${n}`)),null===(t=e.onClick)||void 0===t||t.call(e)}(t)}),{default:$(()=>[e.popconfirm&&t.popConfirm?(h(),r(S(f),b({key:0,ref_for:!0},v(t.popConfirm)),{default:$(()=>[s("div",null,[s("span",Oe,_(t.text),1)])]),_:2},1040)):(h(),u("span",Fe,_(t.text),1))]),_:2},1040,["class","disabled","onClick"]),t.divider?(h(),r(S(c),{key:`d-${t.event}`})):i("",!0)],64);var n}),128))]),_:1},8,["selected-keys"])]),default:$(()=>[s("span",null,[B(t.$slots,"default")]),p(" "+_(e.dropMenuList)+" ",1)]),_:3},16,["trigger"]))}});function je(){}var Ie=new URL("./index.min.css",import.meta.url);e.load(Ie.href);export{ye as BasicTable,$e as Button,Ae as CustomButton,Pe as Dropdown,De as PopConfirmButton,ve as TableAction,Ce as TableActionAuto,E as is,ne as isArray,ee as isBoolean,W as isDate,M as isDef,le as isElement,V as isEmpty,ie as isEmptyStr,Z as isFunction,ae as isMap,q as isNull,G as isNullAndUnDef,J as isNullOrUnDef,Q as isNumber,U as isObject,X as isPromise,te as isRegExp,Y as isString,H as isUnDef,re as isUrl,oe as isWindow,je as run};
1
+ /*! @gct-paas/v-ben v0.1.6-dev.20 */
2
+ import{cssLoader as e,permission as t,t as n,useNamespace as o}from"@gct-paas/core";import{Fragment as l,computed as a,createBlock as r,createCommentVNode as i,createElementBlock as s,createElementVNode as u,createSlots as c,createTextVNode as d,createVNode as f,defineComponent as p,guardReactiveProps as m,h as g,mergeProps as y,nextTick as h,normalizeClass as v,normalizeProps as b,onActivated as C,onMounted as w,onUnmounted as S,openBlock as x,ref as k,renderList as B,renderSlot as T,resolveComponent as A,toDisplayString as P,toRaw as _,toValue as O,unref as $,useAttrs as R,vShow as F,watch as I,withCtx as D,withDirectives as E,withModifiers as H}from"vue";import{cloneDeep as z,omit as j}from"lodash-es";import{LeftOutlined as L,MoreOutlined as N,RightOutlined as W}from"@ant-design/icons-vue";import{Button as K,Divider as M,Dropdown as V,Menu as q,Popconfirm as U,Tooltip as G}from"ant-design-vue";var X=Object.prototype.toString;function Y(e,t){return X.call(e)===`[object ${t}]`}function J(e){return void 0!==e}function Q(e){return!J(e)}function Z(e){return null!==e&&Y(e,"Object")}function ee(e){return de(e)||ie(e)?0===e.length:e instanceof Map||e instanceof Set?0===e.size:!!Z(e)&&0===Object.keys(e).length}function te(e){return Y(e,"Date")}function ne(e){return null===e}function oe(e){return Q(e)&&ne(e)}function le(e){return Q(e)||ne(e)}function ae(e){return Y(e,"Number")}function re(e){return Y(e,"Promise")&&Z(e)&&se(e.then)&&se(e.then)}function ie(e){return Y(e,"String")}function se(e){return"function"==typeof e}function ue(e){return Y(e,"Boolean")}function ce(e){return Y(e,"RegExp")}function de(e){return!!e&&Array.isArray(e)}function fe(e){return"undefined"!=typeof window&&Y(e,"Window")}function pe(e){return Z(e)&&!!e.tagName}function me(e){return Y(e,"Map")}function ge(e){return/^http(s)?:\/\/([\w-]+\.)+[\w-]+(\/[\w- ./?%&=]*)?/.test(e)}function ye(e){return void 0===e||!e&&0!==e&&"0"!==e||!/[^\s]/.test(e+"")}var he=(e,t)=>{const n=e.__vccOpts||e;for(const[o,l]of t)n[o]=l;return n},ve=/* @__PURE__ */he(p({name:"TableHeaderCell",components:{},props:{column:{type:Object,default:()=>({})}},setup:e=>({getTitle:a(()=>{var t,n;return(null===(t=e.column)||void 0===t?void 0:t.customTitle)||(null===(n=e.column)||void 0===n?void 0:n.title)})})}),[["render",function(e,t,n,o,l,a){return x(),s("span",null,P(e.getTitle),1)}]]),be={clickToRowSelect:{type:Boolean,default:!0},isTreeTable:Boolean,tableSetting:{type:Object,default:{}},inset:Boolean,showTableSetting:Boolean,autoCreateKey:{type:Boolean,default:!0},striped:{type:Boolean,default:!0},showSummary:Boolean,summaryFunc:{type:[Function,Array],default:null},summaryData:{type:Array,default:null},indentSize:{type:Number,default:24},canColDrag:{type:Boolean,default:!0},api:{type:Function,default:null},beforeFetch:{type:Function,default:null},afterFetch:{type:Function,default:null},handleSearchInfoFn:{type:Function,default:null},immediate:{type:Boolean,default:!0},emptyDataIsShowTable:{type:Boolean,default:!0},searchInfo:{type:Object,default:null},defSort:{type:Object,default:null},useSearchForm:Boolean,columns:{type:Array,default:()=>[]},showIndexColumn:{type:Boolean,default:!0},indexColumnProps:{type:Object,default:null},actionColumn:{type:Object,default:null},ellipsis:{type:Boolean,default:!0},isCanResizeParent:{type:Boolean,default:!1},canResize:{type:Boolean,default:!0},clearSelectOnPageChange:Boolean,resizeHeightOffset:{type:Number,default:0},rowSelection:{type:Object,default:null},title:{type:[String,Function],default:null},titleHelpMessage:{type:[String,Array]},maxHeight:Number,dataSource:{type:Array,default:null},rowKey:{type:[String,Function],default:""},bordered:Boolean,pagination:{type:[Object,Boolean],default:null},loading:Boolean,rowClassName:{type:Function},scroll:{type:Object,default:null},beforeEditSubmit:{type:Function},rowDraggable:{type:Boolean,default:!1},supportSameLevel:{type:Boolean,default:!1},rowDragApi:{type:Function,default:null},expandedRowKeys:{type:Array,default:()=>[]},emptyFull:{type:Boolean,default:!1}},Ce=["clickToRowSelect","isTreeTable","tableSetting","inset","showTableSetting","autoCreateKey","striped","showSummary","summaryFunc","summaryData","indentSize","canColDrag","api","beforeFetch","afterFetch","handleSearchInfoFn","immediate","emptyDataIsShowTable","searchInfo","defSort","useSearchForm","showIndexColumn","indexColumnProps","actionColumn","ellipsis","isCanResizeParent","canResize","clearSelectOnPageChange","resizeHeightOffset","titleHelpMessage","beforeEditSubmit","rowDraggable","supportSameLevel","rowDragApi","emptyFull"],we="INDEX",Se="ACTION",xe=["20","50","80","100"];function ke(e,t){const{key:n,dataIndex:o,children:l}=e;e.align=e.align||"left",t&&(n||void 0===o||(e.key=Array.isArray(o)?o.join("."):String(o)),ue(e.ellipsis)||Object.assign(e,{ellipsis:{showTitle:!1}})),l&&l.length&&Be(l,!!t);const a=e.customCell;e.customCell=(t,n)=>({...a&&a(t,n),onMouseenter(t){if(!e.ellipsis)return;const n=t.target;n.scrollWidth>n.clientWidth&&n.setAttribute("title",n.textContent??"")}})}function Be(e,t){e&&e.forEach(e=>{const{children:n}=e;ke(e,t),Be(n,t)})}function Te({page:e,type:t,originalElement:n}){return"prev"===t?0===e?null:g(L):"next"===t?1===e?null:g(W):n}var Ae="undefined"!=typeof window&&"undefined"!=typeof document,Pe=("undefined"!=typeof WorkerGlobalScope&&(globalThis,WorkerGlobalScope),Object.prototype.toString),_e=()=>{};function Oe(e){return Array.isArray(e)?e:[e]}function $e(e){const t=Object.create(null);return n=>t[n]||(t[n]=e(n))}var Re=/\B([A-Z])/g,Fe=($e(e=>e.replace(Re,"-$1").toLowerCase()),/-(\w)/g);function Ie(e,t=200,n={}){return function(e,t){return function(...n){return new Promise((o,l)=>{Promise.resolve(e(()=>t.apply(this,n),{fn:t,thisArg:this,args:n})).then(o).catch(l)})}}(function(e,t={}){let n,o,l=_e;const a=e=>{clearTimeout(e),l(),l=_e};let r;return i=>{const s=O(e),u=O(t.maxWait);return n&&a(n),s<=0||void 0!==u&&u<=0?(o&&(a(o),o=void 0),Promise.resolve(i())):new Promise((e,c)=>{l=t.rejectOnCancel?c:e,r=i,u&&!o&&(o=setTimeout(()=>{n&&a(n),o=void 0,e(r())},u)),n=setTimeout(()=>{o&&a(o),o=void 0,e(i())},s)})}}(t,n),e)}$e(e=>e.replace(Fe,(e,t)=>t?t.toUpperCase():""));var De=Ae?window:void 0;function Ee(e,t,n,o,l,r,i,s){const u=k(215),c=Ie(f,100),d=a(()=>{const{canResize:t,scroll:n}=$(e);return t&&!(n||{}).y});function f(){h(()=>{y()})}I(()=>{var e;return[$(d),null===(e=$(r))||void 0===e?void 0:e.length]},()=>{c()},{flush:"post"});let p=null,m=null,g=null;async function y(){const{resizeHeightOffset:n,maxHeight:o,isCanResizeParent:a,useSearchForm:c}=$(e),f=$(l),y=$(r),v=$(t);if(!v)return;const b=v.$el;if(!b)return;if(!g&&(g=b.querySelector(".ant-table-body"),!g))return;const C=g.scrollHeight>g.clientHeight,w=g.scrollWidth>g.clientWidth;if(C?b.classList.contains("hide-scrollbar-y")&&b.classList.remove("hide-scrollbar-y"):b.classList.contains("hide-scrollbar-y")||b.classList.add("hide-scrollbar-y"),w?b.classList.contains("hide-scrollbar-x")&&b.classList.remove("hide-scrollbar-x"):b.classList.contains("hide-scrollbar-x")||b.classList.add("hide-scrollbar-x"),g.style.height="unset",!$(d)||!$(y)||0===y.length)return;await h();const S=b.querySelector(".ant-table-thead ");if(!S)return;let x=32,k=12;ue(f)?k=-8:(p=b.querySelector(".ant-pagination"),k+=p?p.offsetHeight||0:24);let B=0;ue(f)||(m?B+=m.offsetHeight||0:m=b.querySelector(".ant-table-footer"));let T=0;S&&(T=S.offsetHeight);let A=0;if($(i)&&a){var P,_,O;const e=12,t=16;let n=10;const o=(null===(P=$(i))||void 0===P?void 0:P.offsetHeight)??0;let l=(null===(_=$(s))||void 0===_?void 0:_.$el.offsetHeight)??0;l&&(l+=t),ue(f)&&!f&&(n=0),ue(c)&&!c&&(x=0),A=o-l-((null===(O=b.querySelector(".ant-table-title"))||void 0===O?void 0:O.offsetHeight)??0)-e-n}else A=function(e){const t=document.documentElement,n=t.scrollLeft,o=t.scrollTop,l=t.clientLeft,a=t.clientTop,r=window.pageXOffset,i=window.pageYOffset,{left:s,top:u,width:c,height:d}=function(e){return e&&e.getBoundingClientRect?e.getBoundingClientRect():0}(e),f=s+r-((r||n)-(l||0)),p=u+i-((i||o)-(a||0)),m=window.document.documentElement.clientWidth,g=window.document.documentElement.clientHeight;return{left:f,top:p,right:m-c-f,bottom:g-d-p,rightIncludeBody:m-f,bottomIncludeBody:g-p}}(S).bottomIncludeBody;let R=A-(n||0)-x-k-B-T;if(R=(R>o?o:R)??R,function(e){u.value=e}(R),f&&!ue(f)){const e=b.querySelector(".ant-table-body");e&&(e.style.height=`${R}px`)}}function v(){y(),h(()=>{c()})}(function(...e){const t=a(()=>{const t=Oe(O(e[0])).filter(e=>null!=e);return t.every(e=>"string"!=typeof e)?t:void 0});return n=([e,t,n,o],l,a)=>{if(!(null==e?void 0:e.length)||!(null==t?void 0:t.length)||!(null==n?void 0:n.length))return;const r=(i=o,"[object Object]"===Pe.call(i)?{...o}:o);var i;const s=e.flatMap(e=>t.flatMap(t=>n.map(n=>((e,t,n,o)=>(e.addEventListener(t,n,o),()=>e.removeEventListener(t,n,o)))(e,t,n,r))));a(()=>{s.forEach(e=>e())})},o={flush:"post"},I(()=>{var n,o;return[null!==(n=null===(o=t.value)||void 0===o?void 0:o.map(e=>function(e){var t;const n=O(e);return null!==(t=null==n?void 0:n.$el)&&void 0!==t?t:n}(e)))&&void 0!==n?n:[De].filter(e=>null!=e),Oe(O(t.value?e[1]:e[0])),Oe($(t.value?e[2]:e[1])),O(t.value?e[3]:e[2])]},n,{...o,immediate:!0});var n,o})(window,"resize",Ie(y,280)),w(v),C(v);const b=a(()=>{var e;let l=0;$(o)&&(l+=60);const a=$(n).filter(e=>!e.defaultHidden);a.forEach(e=>{l+=Number.parseFloat(String(e.width))||0});const r=a.filter(e=>!Reflect.has(e,"width")).length;0!==r&&(l+=150*r);const i=$(t);return((null==i||null===(e=i.$el)||void 0===e?void 0:e.offsetWidth)??0)>l?void 0:l});return{getScrollRef:a(()=>{const t=$(u),{canResize:n,scroll:o}=$(e);return{x:$(b),y:n?t:null,scrollToFirstRowOnChange:!1,...o}}),redoHeight:f}}function He(e,t,n){const{expandedRowKeys:o=[]}=$(e),l=k([...o]),r=a(()=>$(e).autoCreateKey&&!$(e).rowKey),i=a(()=>{const{rowKey:t}=$(e);return $(r)?"key":t});function s(n){const o=[],{childrenColumnName:l}=$(e),a=l||"children";return _(n||$(t)).forEach(e=>{o.push(String(e[$(i)]));const t=e[a];(null==t?void 0:t.length)&&o.push(...s(t))}),o}return{getExpandOption:a(()=>{const{isTreeTable:t}=$(e);return t?{expandedRowKeys:$(l),onExpandedRowsChange:e=>{l.value=e,n("expanded-rows-change",e)}}:{}}),expandAll:function(){l.value=s()},expandRows:function(t){const{isTreeTable:n}=$(e);n&&(l.value=[...l.value,...t])},collapseAll:function(){l.value=[]}}}Ae&&window.document,Ae&&window.navigator,Ae&&window.location,Number.POSITIVE_INFINITY;var ze="vben";function je(e){return{prefixCls:`${ze}-${e}`,prefixVar:ze}}var Le=["headerCell","bodyCell"],Ne=p({name:"BasicTable",components:{HeaderCell:ve},props:be,emits:["change","register","expanded-rows-change"],setup(e,{attrs:o,emit:l,slots:r,expose:i}){const s=k(null),u=k(null),c=k(null),{prefixCls:d}=je("basic-table"),f=a(()=>({...e,...o})),{getPaginationInfo:p,setPagination:m,getPagination:g,getShowPagination:y,setShowPagination:h}=function(e){const t=k({}),o=k(!0);I(()=>$(e).pagination,e=>{!ue(e)&&e&&(t.value={...$(t),...e})},{deep:!0});const l=a(()=>{const{pagination:l}=$(e);return!(!$(o)||ue(l)&&!l)&&{current:1,pageSize:20,size:"small",defaultPageSize:20,showTotal:e=>n("sys.component.table.total",{total:e}),showSizeChanger:!0,pageSizeOptions:xe,itemRender:Te,showQuickJumper:!0,...ue(l)?{}:l??{},...$(t)}});return{getPagination:function(){return $(l)},getPaginationInfo:l,setShowPagination:async function(e){o.value=e},getShowPagination:function(){return $(o)},setPagination:function(e){const n=$(l);t.value={...ue(n)?{}:n,...e}}}}(f),v=a(()=>$(p)),b=a(()=>$(f).rowSelection??null),C=a(()=>$(f).dataSource??[]),{getViewColumns:w,getColumnsRef:S}=function(e,o){const l=k($(e).columns),r=a(()=>{const t=z($(l));if(function(e,t,o){const{showIndexColumn:l,indexColumnProps:a,isTreeTable:r}=$(e);let i=!1;if($(r))return;if(o.forEach(()=>{const e=o.findIndex(e=>e.flag===we);l?i=-1===e:l||-1===e||o.splice(e,1)}),!i)return;const s=o.some(e=>"left"===e.fixed);o.unshift({flag:we,width:70,title:n("sys.component.table.index"),align:"center",customRender:({index:e})=>{const n=$(t);if(ue(n))return`${e+1}`;const{current:o=1,pageSize:l=20}=n;return((o<1?1:o)-1)*l+e+1},...s?{fixed:"left"}:{},...a})}(e,o,t),function(e,t){const{actionColumn:n}=$(e);if(!n)return;const o=t.findIndex(e=>e.flag===Se);-1===o&&t.push({...t[o],fixed:"right",...n,flag:Se})}(e,t),!t)return[];const{ellipsis:a}=$(e);return t.forEach(e=>{const{customRender:t,slots:n}=e;ke(e,Reflect.has(e,"ellipsis")?!!e.ellipsis:!!a&&!t&&!n)}),t}),i=a(()=>{const e=function(e){const t=[],n=[],o=[];for(const l of e)"left"!==l.fixed?"right"!==l.fixed?o.push(l):n.push(l):t.push(l);return[...t,...o,...n].filter(e=>!e.defaultHidden)}($(r)),n=e=>{const{slots:t}=e;return t&&(null==t?void 0:t.title)||(e.customTitle=e.title,Reflect.deleteProperty(e,"title")),e};return z(e).filter(e=>{return(!(n=e.auth)||(Array.isArray(n)?n.some(e=>t.has(String(e))):t.has(String(n))))&&function(e){const t=e.ifShow;return ue(t)?t:!se(t)||t(e)}(e);var n}).map(e=>{var t;return(null===(t=e.children)||void 0===t?void 0:t.length)&&(e.children=e.children.map(n)),n(e)})});return I(()=>$(e).columns,e=>{l.value=e}),{getColumnsRef:r,getViewColumns:i}}(f,v),{getScrollRef:x,redoHeight:B}=Ee(f,s,S,b,v,C,u,c),{getExpandOption:T,expandAll:A}=He(f,C,l),P=a(()=>{let e={...o,...$(f),scroll:$(x),tableLayout:"fixed",columns:_($(w)),pagination:_($(p)),rowSelection:$(b),dataSource:$(C),...$(T)};return e=j(e,[...Ce,"class","onChange"]),e}),O=a(()=>{const e=$(P);return[d,o.class,{[`${d}-form-container`]:e.useSearchForm,[`${d}--inset`]:e.inset}]}),R=a(()=>{const{emptyDataIsShowTable:t,useSearchForm:n,dataSource:o}=e;return!(!t&&n&&!(null==o?void 0:o.length))}),F=a(()=>Object.keys(r).filter(e=>!Le.includes(e)));return i({expandAll:A,redoHeight:B,setPagination:m,getPagination:g,getShowPagination:y,setShowPagination:h}),l("register",{expandAll:A}),{formRef:c,tableElRef:s,wrapRef:u,getBindValues:P,getWrapperClass:O,handleTableChange:function(...e){l("change",...e);const{onChange:t}=$(f);t&&"function"==typeof t&&t(...e)},getEmptyDataIsShowTable:R,slotNames:F,emptyFull:e.emptyFull,redoHeight:B}},mounted(){this.redoHeight()}}),We=/* @__PURE__ */he(Ne,[["render",function(e,t,n,o,l,a){const r=A("HeaderCell"),i=A("a-table");return x(),s("div",{ref:"wrapRef",class:v(e.getWrapperClass)},[T(e.$slots,"beforeTable"),E(f(i,y({ref:"tableElRef"},e.getBindValues,{class:e.emptyFull?"empty-basic-table-wrapper":"",onChange:e.handleTableChange}),c({headerCell:D(({column:e})=>[f(r,{column:e},null,8,["column"])]),bodyCell:D(t=>[T(e.$slots,"bodyCell",b(m(t||{})))]),_:2},[B(e.slotNames,t=>({name:t,fn:D(n=>[T(e.$slots,t,b(m(n||{})))])}))]),1040,["class","onChange"]),[[F,e.getEmptyDataIsShowTable]])],2)}]]),Ke={key:0},Me={key:0},Ve=/* @__PURE__ */p({__name:"TableAction",props:{actions:{type:Array,default:null},dropDownActions:{type:Array,default:null},divider:{type:Boolean,default:!0},outside:Boolean,stopButtonPropagation:{type:Boolean,default:!1}},setup(e){const n=e,u=o("basic-table-action"),c=t.has;function d(e){const t=e.ifShow;let n=!0;return ue(t)&&(n=t),se(t)&&(n=t(e)),n}const p=a(()=>(_(n.actions)||[]).filter(e=>c(e.auth)&&d(e)).map(e=>{const{popConfirm:t}=e;return{getPopupContainer:()=>document.body,type:"link",size:"small",...e,...t||{},onConfirm:null==t?void 0:t.confirm,onCancel:null==t?void 0:t.cancel,enable:!!t}})),m=a(()=>{const e=(_(n.dropDownActions)||[]).filter(e=>c(e.auth)&&d(e));return e.map((t,o)=>{const{label:l,popConfirm:a}=t;return{...t,...a,onConfirm:null==a?void 0:a.confirm,onCancel:null==a?void 0:a.cancel,text:l,divider:o<e.length-1&&n.divider}})}),g=a(()=>"left");function h(e){n.stopButtonPropagation&&e.composedPath().find(e=>{var t;return"BUTTON"===(null===(t=e.tagName)||void 0===t?void 0:t.toUpperCase())})&&e.stopPropagation()}return(t,n)=>{const o=A("a-button");return x(),s("div",{class:v([$(u).b(),g.value]),onClick:h},[(x(!0),s(l,null,B(p.value,(t,n)=>{return x(),s(l,{key:`${n}-${t.label}`},[t.tooltip?(x(),r($(G),y({key:0,placement:"bottom"},{ref_for:!0},(o=t.tooltip,{getPopupContainer:()=>document.body,...ie(o)?{title:o}:o})),{default:D(()=>[f($(at),y({ref_for:!0},t),{default:D(()=>[t.label?(x(),s("span",Ke,P(t.label),1)):i("",!0)]),_:2},1040)]),_:2},1040)):(x(),r($(at),y({key:1,ref_for:!0},t),{default:D(()=>[t.label?(x(),s("span",Me,P(t.label),1)):i("",!0)]),_:2},1040)),e.divider&&n<p.value.length-1?(x(),r($(M),{key:2,type:"vertical",class:"action-divider"})):i("",!0)],64);var o}),128)),e.dropDownActions&&m.value.length>0?(x(),r($(st),{key:0,trigger:["hover"],"drop-menu-list":m.value,popconfirm:""},{default:D(()=>[T(t.$slots,"more"),t.$slots.more?i("",!0):(x(),r(o,{key:0,type:"link",size:"small"},{default:D(()=>[f($(N),{class:"icon-more"})]),_:1}))]),_:3},8,["drop-menu-list"])):i("",!0)],2)}}}),qe={key:0},Ue={key:0},Ge=/* @__PURE__ */p({__name:"TableActionAuto",props:{actions:{type:Array,default:null},divider:{type:Boolean,default:!0},outside:Boolean,stopButtonPropagation:{type:Boolean,default:!1},maxDispalyCount:{type:Number,default:4}},setup(e){const n=e,u=o("basic-table-action"),c=t.has,d=a(()=>[..._(n.actions)||[]].filter(e=>c(e.auth)&&function(e){const t=e.ifShow??!0;return se(t)?t(e):!!t}(e))),p=a(()=>{let e=[];return e=n.maxDispalyCount>=d.value.length?[...d.value]:d.value.slice(0,n.maxDispalyCount),e.map(e=>{const{popConfirm:t}=e;return{getPopupContainer:()=>document.body,type:"link",size:"small",...e,...t||{},onConfirm:null==t?void 0:t.confirm,onCancel:null==t?void 0:t.cancel,enable:!!t}})}),m=a(()=>{let e=[];return n.maxDispalyCount>=d.value.length?[]:(e=d.value.slice(n.maxDispalyCount),e.map((t,o)=>{const{label:l,popConfirm:a}=t;return{...t,...a,onConfirm:null==a?void 0:a.confirm,onCancel:null==a?void 0:a.cancel,text:l,divider:o<e.length-1&&n.divider}}))}),g=a(()=>"left");function h(e){n.stopButtonPropagation&&e.composedPath().find(e=>{var t;return"BUTTON"===(null===(t=e.tagName)||void 0===t?void 0:t.toUpperCase())})&&e.stopPropagation()}return(t,n)=>{const o=A("a-button");return x(),s("div",{class:v([$(u).b(),g.value]),onClick:H(h,["stop"])},[(x(!0),s(l,null,B(p.value,(t,n)=>{return x(),s(l,{key:`${n}-${t.label}`},[t.tooltip?(x(),r($(G),y({key:0,ref_for:!0},(o=t.tooltip,{getPopupContainer:()=>document.body,placement:"bottom",...ie(o)?{title:o}:o})),{default:D(()=>[f($(at),y({ref_for:!0},t),{default:D(()=>[t.label?(x(),s("span",qe,P(t.label),1)):i("",!0)]),_:2},1040)]),_:2},1040)):(x(),r($(at),y({key:1,ref_for:!0},t),{default:D(()=>[t.label?(x(),s("span",Ue,P(t.label),1)):i("",!0)]),_:2},1040)),e.divider&&n<p.value.length-1?(x(),r($(M),{key:2,type:"vertical",class:"action-divider"})):i("",!0)],64);var o}),128)),m.value.length>0?(x(),r($(st),{key:0,trigger:["hover"],"drop-menu-list":m.value,popconfirm:""},{default:D(()=>[T(t.$slots,"more"),t.$slots.more?i("",!0):(x(),r(o,{key:0,type:"link",size:"small"},{default:D(()=>[f($(N),{class:"icon-more"})]),_:1}))]),_:3},8,["drop-menu-list"])):i("",!0)],2)}}});function Xe(){const e=k(null);return[function(t,n){S(()=>{e.value=null}),e.value=t},{expandAll:()=>{(function(){const t=$(e);return t||console.error("The table instance has not been obtained yet, please make sure the table is presented when performing the table operation!"),t})().expandAll()}}]}var Ye=["primary","error","warning","success",""],Je={color:{type:String,validator:e=>Ye.includes(e),default:""},loading:{type:Boolean},disabled:{type:Boolean},preIcon:{type:String},postIcon:{type:String},iconSize:{type:Number,default:14},onClick:{type:Function,default:null}},Qe=/* @__PURE__ */p({name:"AButton",extends:K,inheritAttrs:!1,__name:"BasicButton",props:Je,setup(e){const t=e,n=R(),o=a(()=>{const{color:e,disabled:n}=t;return[{[`ant-btn-${e}`]:!!e,"is-disabled":n}]}),l=a(()=>({...$(n),...t}));return(e,t)=>(x(),r($(K),y(l.value,{class:o.value,onClick:e.onClick}),{default:D(t=>[T(e.$slots,"default",b(m(t||{})))]),_:3},16,["class","onClick"]))}}),Ze=p({name:"PopButton",inheritAttrs:!1,props:{enable:{type:Boolean,default:!0}},setup(e,{slots:t}){const o=R(),l=a(()=>Object.assign({okText:n("sys.okText"),cancelText:n("sys.cancelText"),overlayStyle:{}},{...e,...$(o)}));return()=>{const n=j($(l),"icon"),o=j(n,"title");o.disabled&&(o.color="");const a=g(Qe,o,t);return e.enable?g(U,n,{default:()=>a}):a}}}),et=Ze,tt={class:"custom-btn-container"},nt={class:"btn-left-title"},ot=/* @__PURE__ */he(/* @__PURE__ */p({__name:"custom-button",props:{title:{}},emits:["btn-left-click","btn-right-click"],setup:e=>(t,n)=>(x(),s("div",tt,[u("div",{class:"btn-left",onClick:n[0]||(n[0]=H(e=>t.$emit("btn-left-click"),["stop"]))},[T(t.$slots,"left-icon",{},void 0,!0),u("div",nt,P(e.title),1)]),u("div",{class:"btn-right",onClick:n[1]||(n[1]=H(e=>t.$emit("btn-right-click"),["stop"]))},[T(t.$slots,"right-icon",{},void 0,!0)])]))}),[["__scopeId","data-v-305f4090"]]),lt=Qe,at=et,rt={class:"ml-1"},it={key:1,class:"ml-1"},st=/* @__PURE__ */p({name:"VDropdown",__name:"Dropdown",props:{popconfirm:Boolean,trigger:{type:Array,default:()=>["contextmenu"]},dropMenuList:{type:Array,default:()=>[]},selectedKeys:{type:Array,default:()=>[]}},emits:["menuEvent"],setup(e,{emit:t}){const n=V,o=q,a=q.Item,c=q.Divider,p=U,m=e,g=t;function h(e){const t=j(e,["confirm","cancel","icon"]);return!e.onConfirm&&e.confirm&&se(e.confirm)&&(t.onConfirm=e.confirm),!e.onCancel&&e.cancel&&se(e.cancel)&&(t.onCancel=e.cancel),t}return(t,v)=>(x(),r($(n),y({trigger:e.trigger},t.$attrs),{overlay:D(()=>[f($(o),{"selected-keys":e.selectedKeys},{default:D(()=>[(x(!0),s(l,null,B(e.dropMenuList,t=>{return x(),s(l,{key:`${t.event}`},[f($(a),y({class:t.class},{ref_for:!0},(n=t.event,{key:n}),{disabled:t.disabled,onClick:e=>function(e){var t;const{event:n}=e;g("menuEvent",m.dropMenuList.find(e=>`${e.event}`==`${n}`)),null===(t=e.onClick)||void 0===t||t.call(e)}(t)}),{default:D(()=>[e.popconfirm&&t.popConfirm?(x(),r($(p),y({key:0,ref_for:!0},h(t.popConfirm)),{default:D(()=>[u("div",null,[u("span",rt,P(t.text),1)])]),_:2},1040)):(x(),s("span",it,P(t.text),1))]),_:2},1040,["class","disabled","onClick"]),t.divider?(x(),r($(c),{key:`d-${t.event}`})):i("",!0)],64);var n}),128))]),_:1},8,["selected-keys"])]),default:D(()=>[u("span",null,[T(t.$slots,"default")]),d(" "+P(e.dropMenuList)+" ",1)]),_:3},16,["trigger"]))}});function ut(){}var ct=new URL("./index.min.css",import.meta.url);e.load(ct.href);export{We as BasicTable,lt as Button,ot as CustomButton,st as Dropdown,at as PopConfirmButton,Ve as TableAction,Ge as TableActionAuto,Y as is,de as isArray,ue as isBoolean,te as isDate,J as isDef,pe as isElement,ee as isEmpty,ye as isEmptyStr,se as isFunction,me as isMap,ne as isNull,oe as isNullAndUnDef,le as isNullOrUnDef,ae as isNumber,Z as isObject,re as isPromise,ce as isRegExp,ie as isString,Q as isUnDef,ge as isUrl,fe as isWindow,ut as run,Xe as useTable};
@@ -1,6 +1,7 @@
1
1
  import "./v-ben-table/src/BasicTable.vue.mjs";
2
2
  import "./v-ben-table/src/components/TableAction.vue.mjs";
3
3
  import "./v-ben-table/src/components/TableActionAuto.vue.mjs";
4
+ import "./v-ben-table/src/hooks/useTable.mjs";
4
5
  import "./v-ben-table/index.mjs";
5
6
  import "./v-ben-button/src/custom-button.vue.mjs";
6
7
  import "./v-ben-button/index.mjs";
@@ -1,8 +1,8 @@
1
1
  import BasicButton_default from "./BasicButton.vue.mjs";
2
2
  import { computed, defineComponent, h, unref, useAttrs } from "vue";
3
3
  import { omit } from "lodash-es";
4
- import { Popconfirm } from "ant-design-vue";
5
4
  import { t } from "@gct-paas/core";
5
+ import { Popconfirm } from "ant-design-vue";
6
6
  var PopConfirmButton_vue_vue_type_script_lang_default = defineComponent({
7
7
  name: "PopButton",
8
8
  inheritAttrs: false,
@@ -1,3 +1,5 @@
1
1
  export { default as BasicTable } from './src/BasicTable.vue';
2
2
  export { default as TableAction } from './src/components/TableAction.vue';
3
3
  export { default as TableActionAuto } from './src/components/TableActionAuto.vue';
4
+ export * from './src/types/table';
5
+ export { useTable } from './src/hooks/useTable';
@@ -1,3 +1,4 @@
1
1
  import "./src/BasicTable.vue.mjs";
2
2
  import "./src/components/TableAction.vue.mjs";
3
3
  import "./src/components/TableActionAuto.vue.mjs";
4
+ import "./src/hooks/useTable.mjs";
@@ -5,7 +5,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
5
5
  };
6
6
  isTreeTable: BooleanConstructor;
7
7
  tableSetting: {
8
- type: import('vue').PropType<import('./types/table').TableSetting>;
8
+ type: import('vue').PropType<import('..').TableSetting>;
9
9
  default: {};
10
10
  };
11
11
  inset: BooleanConstructor;
@@ -69,7 +69,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
69
69
  };
70
70
  useSearchForm: BooleanConstructor;
71
71
  columns: {
72
- type: import('vue').PropType<import('./types/table').BasicColumn[]>;
72
+ type: import('vue').PropType<import('..').BasicColumn[]>;
73
73
  default: () => never[];
74
74
  };
75
75
  showIndexColumn: {
@@ -77,11 +77,11 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
77
77
  default: boolean;
78
78
  };
79
79
  indexColumnProps: {
80
- type: import('vue').PropType<import('./types/table').BasicColumn>;
80
+ type: import('vue').PropType<import('..').BasicColumn>;
81
81
  default: null;
82
82
  };
83
83
  actionColumn: {
84
- type: import('vue').PropType<import('./types/table').BasicColumn>;
84
+ type: import('vue').PropType<import('..').BasicColumn>;
85
85
  default: null;
86
86
  };
87
87
  ellipsis: {
@@ -102,7 +102,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
102
102
  default: number;
103
103
  };
104
104
  rowSelection: {
105
- type: import('vue').PropType<import('./types/table').TableRowSelection | null>;
105
+ type: import('vue').PropType<import('..').TableRowSelection | null>;
106
106
  default: null;
107
107
  };
108
108
  title: {
@@ -128,7 +128,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
128
128
  };
129
129
  loading: BooleanConstructor;
130
130
  rowClassName: {
131
- type: import('vue').PropType<(record: import('./types/table').TableCustomRecord<unknown>, index: number) => string>;
131
+ type: import('vue').PropType<(record: import('..').TableCustomRecord<unknown>, index: number) => string>;
132
132
  };
133
133
  scroll: {
134
134
  type: import('vue').PropType<{
@@ -168,18 +168,22 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
168
168
  }>, {
169
169
  formRef: import('vue').Ref<null, null>;
170
170
  tableElRef: import('vue').Ref<null, null>;
171
+ wrapRef: import('vue').Ref<HTMLElement | null, HTMLElement | null>;
171
172
  getBindValues: import('vue').ComputedRef<IObject>;
173
+ getWrapperClass: import('vue').ComputedRef<import('vue').ClassValue[]>;
172
174
  handleTableChange: (...args: unknown[]) => void;
173
- expandKeysList: import('vue').Ref<never[], never[]>;
174
175
  getEmptyDataIsShowTable: import('vue').ComputedRef<boolean>;
175
- }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, "change"[], "change", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
176
+ slotNames: import('vue').ComputedRef<string[]>;
177
+ emptyFull: boolean;
178
+ redoHeight: () => void;
179
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, ("change" | "expanded-rows-change" | "register")[], "change" | "expanded-rows-change" | "register", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
176
180
  clickToRowSelect: {
177
181
  type: BooleanConstructor;
178
182
  default: boolean;
179
183
  };
180
184
  isTreeTable: BooleanConstructor;
181
185
  tableSetting: {
182
- type: import('vue').PropType<import('./types/table').TableSetting>;
186
+ type: import('vue').PropType<import('..').TableSetting>;
183
187
  default: {};
184
188
  };
185
189
  inset: BooleanConstructor;
@@ -243,7 +247,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
243
247
  };
244
248
  useSearchForm: BooleanConstructor;
245
249
  columns: {
246
- type: import('vue').PropType<import('./types/table').BasicColumn[]>;
250
+ type: import('vue').PropType<import('..').BasicColumn[]>;
247
251
  default: () => never[];
248
252
  };
249
253
  showIndexColumn: {
@@ -251,11 +255,11 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
251
255
  default: boolean;
252
256
  };
253
257
  indexColumnProps: {
254
- type: import('vue').PropType<import('./types/table').BasicColumn>;
258
+ type: import('vue').PropType<import('..').BasicColumn>;
255
259
  default: null;
256
260
  };
257
261
  actionColumn: {
258
- type: import('vue').PropType<import('./types/table').BasicColumn>;
262
+ type: import('vue').PropType<import('..').BasicColumn>;
259
263
  default: null;
260
264
  };
261
265
  ellipsis: {
@@ -276,7 +280,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
276
280
  default: number;
277
281
  };
278
282
  rowSelection: {
279
- type: import('vue').PropType<import('./types/table').TableRowSelection | null>;
283
+ type: import('vue').PropType<import('..').TableRowSelection | null>;
280
284
  default: null;
281
285
  };
282
286
  title: {
@@ -302,7 +306,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
302
306
  };
303
307
  loading: BooleanConstructor;
304
308
  rowClassName: {
305
- type: import('vue').PropType<(record: import('./types/table').TableCustomRecord<unknown>, index: number) => string>;
309
+ type: import('vue').PropType<(record: import('..').TableCustomRecord<unknown>, index: number) => string>;
306
310
  };
307
311
  scroll: {
308
312
  type: import('vue').PropType<{
@@ -341,10 +345,12 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
341
345
  };
342
346
  }>> & Readonly<{
343
347
  onChange?: ((...args: any[]) => any) | undefined;
348
+ "onExpanded-rows-change"?: ((...args: any[]) => any) | undefined;
349
+ onRegister?: ((...args: any[]) => any) | undefined;
344
350
  }>, {
345
351
  clickToRowSelect: boolean;
346
352
  isTreeTable: boolean;
347
- tableSetting: import('./types/table').TableSetting;
353
+ tableSetting: import('..').TableSetting;
348
354
  inset: boolean;
349
355
  showTableSetting: boolean;
350
356
  autoCreateKey: boolean;
@@ -363,16 +369,16 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
363
369
  searchInfo: Recordable<unknown>;
364
370
  defSort: Recordable<unknown>;
365
371
  useSearchForm: boolean;
366
- columns: import('./types/table').BasicColumn[];
372
+ columns: import('..').BasicColumn[];
367
373
  showIndexColumn: boolean;
368
- indexColumnProps: import('./types/table').BasicColumn;
369
- actionColumn: import('./types/table').BasicColumn;
374
+ indexColumnProps: import('..').BasicColumn;
375
+ actionColumn: import('..').BasicColumn;
370
376
  ellipsis: boolean;
371
377
  isCanResizeParent: boolean;
372
378
  canResize: boolean;
373
379
  clearSelectOnPageChange: boolean;
374
380
  resizeHeightOffset: number;
375
- rowSelection: import('./types/table').TableRowSelection<unknown> | null;
381
+ rowSelection: import('..').TableRowSelection<unknown> | null;
376
382
  title: string | ((data: Recordable) => string);
377
383
  dataSource: Recordable<unknown>[];
378
384
  rowKey: string | ((record: Recordable) => string);
@@ -391,18 +397,18 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
391
397
  }, {}, {
392
398
  HeaderCell: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
393
399
  column: {
394
- type: import('vue').PropType<import('./types/table').BasicColumn>;
400
+ type: import('vue').PropType<import('..').BasicColumn>;
395
401
  default: () => {};
396
402
  };
397
403
  }>, {
398
404
  getTitle: import('vue').ComputedRef<void | string | number | boolean | JSX.Element | import('vue').VNodeArrayChildren | ((props: import('ant-design-vue/lib/table/interface').ColumnTitleProps<Recordable<unknown>>) => import('ant-design-vue/lib/_util/type').VueNode) | null>;
399
405
  }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
400
406
  column: {
401
- type: import('vue').PropType<import('./types/table').BasicColumn>;
407
+ type: import('vue').PropType<import('..').BasicColumn>;
402
408
  default: () => {};
403
409
  };
404
410
  }>> & Readonly<{}>, {
405
- column: import('./types/table').BasicColumn;
411
+ column: import('..').BasicColumn;
406
412
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
407
413
  }, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
408
414
  export default _default;
@@ -1,36 +1,27 @@
1
1
  import _plugin_vue_export_helper_default from "../../../_virtual/_plugin-vue_export-helper.mjs";
2
2
  import BasicTable_vue_vue_type_script_lang_default from "./BasicTable.vue_vue_type_script_lang.mjs";
3
- import { Fragment, createBlock, createElementBlock, createSlots, createVNode, guardReactiveProps, mergeProps, normalizeProps, openBlock, renderList, renderSlot, resolveComponent, vShow, withCtx, withDirectives } from "vue";
3
+ import './BasicTable.vue_vue_type_style_index_0_lang.css';/* empty css */
4
+ import { createElementBlock, createSlots, createVNode, guardReactiveProps, mergeProps, normalizeClass, normalizeProps, openBlock, renderList, renderSlot, resolveComponent, vShow, withCtx, withDirectives } from "vue";
4
5
  //#region src/components/v-ben-table/src/BasicTable.vue
5
- var _hoisted_1 = { ref: "wrapRef" };
6
- var _hoisted_2 = {
7
- key: 0,
8
- class: "pr26px"
9
- };
10
- var _hoisted_3 = {
11
- key: 1,
12
- class: "pr8px"
13
- };
14
6
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
15
7
  const _component_HeaderCell = resolveComponent("HeaderCell");
16
8
  const _component_a_table = resolveComponent("a-table");
17
- return openBlock(), createElementBlock("div", _hoisted_1, [renderSlot(_ctx.$slots, "beforeTable"), withDirectives(createVNode(_component_a_table, mergeProps({ ref: "tableElRef" }, _ctx.getBindValues, {
18
- "expanded-row-keys": _ctx.expandKeysList,
19
- "onUpdate:expandedRowKeys": _cache[0] || (_cache[0] = ($event) => _ctx.expandKeysList = $event),
9
+ return openBlock(), createElementBlock("div", {
10
+ ref: "wrapRef",
11
+ class: normalizeClass(_ctx.getWrapperClass)
12
+ }, [renderSlot(_ctx.$slots, "beforeTable"), withDirectives(createVNode(_component_a_table, mergeProps({ ref: "tableElRef" }, _ctx.getBindValues, {
13
+ class: _ctx.emptyFull ? "empty-basic-table-wrapper" : "",
20
14
  onChange: _ctx.handleTableChange
21
15
  }), createSlots({
22
- headerCell: withCtx(({ column }) => [_ctx.rowDraggable && column?.dataIndex === _ctx.getBindValues.columns[0].dataIndex ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [_ctx.isTreeTable ? (openBlock(), createElementBlock("span", _hoisted_2)) : (openBlock(), createElementBlock("span", _hoisted_3)), createVNode(_component_HeaderCell, { column }, null, 8, ["column"])], 64)) : (openBlock(), createBlock(_component_HeaderCell, {
23
- key: 1,
24
- column
25
- }, null, 8, ["column"]))]),
16
+ headerCell: withCtx(({ column }) => [createVNode(_component_HeaderCell, { column }, null, 8, ["column"])]),
26
17
  bodyCell: withCtx((data) => [renderSlot(_ctx.$slots, "bodyCell", normalizeProps(guardReactiveProps(data || {})))]),
27
18
  _: 2
28
- }, [renderList(Object.keys(_ctx.$slots), (item) => {
19
+ }, [renderList(_ctx.slotNames, (slotName) => {
29
20
  return {
30
- name: item,
31
- fn: withCtx((data) => [renderSlot(_ctx.$slots, item, normalizeProps(guardReactiveProps(data || {})))])
21
+ name: slotName,
22
+ fn: withCtx((data) => [renderSlot(_ctx.$slots, slotName, normalizeProps(guardReactiveProps(data || {})))])
32
23
  };
33
- })]), 1040, ["expanded-row-keys", "onChange"]), [[vShow, _ctx.getEmptyDataIsShowTable]])], 512);
24
+ })]), 1040, ["class", "onChange"]), [[vShow, _ctx.getEmptyDataIsShowTable]])], 2);
34
25
  }
35
26
  var BasicTable_default = /* @__PURE__ */ _plugin_vue_export_helper_default(BasicTable_vue_vue_type_script_lang_default, [["render", _sfc_render]]);
36
27
  //#endregion
@@ -1,40 +1,110 @@
1
1
  import HeaderCell_default from "./components/HeaderCell.vue.mjs";
2
- import { basicProps } from "./props.mjs";
3
- import { computed, defineComponent, ref } from "vue";
2
+ import { basicProps, basicTableInternalPropKeys } from "./props.mjs";
3
+ import { useColumns } from "./hooks/useColumns.mjs";
4
+ import { usePagination } from "./hooks/usePagination.mjs";
5
+ import { useTableScroll } from "./hooks/useTableScroll.mjs";
6
+ import { useTableExpand } from "./hooks/useTableExpand.mjs";
7
+ import { useDesign } from "../../../hooks/useDesign.mjs";
8
+ import { computed, defineComponent, ref, toRaw, unref } from "vue";
4
9
  import { omit } from "lodash-es";
5
10
  //#region src/components/v-ben-table/src/BasicTable.vue?vue&type=script&lang.ts
11
+ var RESERVED_SLOT_NAMES = ["headerCell", "bodyCell"];
6
12
  var BasicTable_vue_vue_type_script_lang_default = defineComponent({
7
13
  name: "BasicTable",
8
14
  components: { HeaderCell: HeaderCell_default },
9
15
  props: basicProps,
10
- emits: ["change"],
11
- setup(props, { attrs, emit }) {
16
+ emits: [
17
+ "change",
18
+ "register",
19
+ "expanded-rows-change"
20
+ ],
21
+ setup(props, { attrs, emit, slots, expose }) {
12
22
  const tableElRef = ref(null);
13
- const expandKeysList = ref([]);
23
+ const wrapRef = ref(null);
14
24
  const formRef = ref(null);
25
+ const { prefixCls } = useDesign("basic-table");
26
+ const getProps = computed(() => {
27
+ return {
28
+ ...props,
29
+ ...attrs
30
+ };
31
+ });
32
+ const { getPaginationInfo, setPagination, getPagination, getShowPagination, setShowPagination } = usePagination(getProps);
33
+ const getPaginationRef = computed(() => unref(getPaginationInfo));
34
+ const getRowSelectionRef = computed(() => {
35
+ return unref(getProps).rowSelection ?? null;
36
+ });
37
+ const getDataSourceRef = computed(() => {
38
+ return unref(getProps).dataSource ?? [];
39
+ });
40
+ const { getViewColumns, getColumnsRef } = useColumns(getProps, getPaginationRef);
41
+ const { getScrollRef, redoHeight } = useTableScroll(getProps, tableElRef, getColumnsRef, getRowSelectionRef, getPaginationRef, getDataSourceRef, wrapRef, formRef);
42
+ const { getExpandOption, expandAll } = useTableExpand(getProps, getDataSourceRef, emit);
15
43
  const getBindValues = computed(() => {
16
- let propsData = { ...attrs };
17
- propsData = omit(propsData, ["class", "onChange"]);
44
+ let propsData = {
45
+ ...attrs,
46
+ ...unref(getProps),
47
+ scroll: unref(getScrollRef),
48
+ tableLayout: "fixed",
49
+ columns: toRaw(unref(getViewColumns)),
50
+ pagination: toRaw(unref(getPaginationInfo)),
51
+ rowSelection: unref(getRowSelectionRef),
52
+ dataSource: unref(getDataSourceRef),
53
+ ...unref(getExpandOption)
54
+ };
55
+ propsData = omit(propsData, [
56
+ ...basicTableInternalPropKeys,
57
+ "class",
58
+ "onChange"
59
+ ]);
18
60
  return propsData;
19
61
  });
62
+ const getWrapperClass = computed(() => {
63
+ const values = unref(getBindValues);
64
+ return [
65
+ prefixCls,
66
+ attrs.class,
67
+ {
68
+ [`${prefixCls}-form-container`]: values.useSearchForm,
69
+ [`${prefixCls}--inset`]: values.inset
70
+ }
71
+ ];
72
+ });
20
73
  function handleTableChange(...args) {
21
74
  emit("change", ...args);
75
+ const { onChange } = unref(getProps);
76
+ if (onChange && typeof onChange === "function") onChange(...args);
22
77
  }
78
+ const getEmptyDataIsShowTable = computed(() => {
79
+ const { emptyDataIsShowTable, useSearchForm, dataSource } = props;
80
+ if (emptyDataIsShowTable || !useSearchForm) return true;
81
+ return !!dataSource?.length;
82
+ });
83
+ const slotNames = computed(() => Object.keys(slots).filter((name) => !RESERVED_SLOT_NAMES.includes(name)));
84
+ expose({
85
+ expandAll,
86
+ redoHeight,
87
+ setPagination,
88
+ getPagination,
89
+ getShowPagination,
90
+ setShowPagination
91
+ });
92
+ emit("register", { expandAll });
23
93
  return {
24
94
  formRef,
25
95
  tableElRef,
96
+ wrapRef,
26
97
  getBindValues,
98
+ getWrapperClass,
27
99
  handleTableChange,
28
- expandKeysList,
29
- getEmptyDataIsShowTable: computed(() => {
30
- const { emptyDataIsShowTable, useSearchForm, dataSource } = props;
31
- if (emptyDataIsShowTable || !useSearchForm) return true;
32
- return !!dataSource.length;
33
- })
100
+ getEmptyDataIsShowTable,
101
+ slotNames,
102
+ emptyFull: props.emptyFull,
103
+ redoHeight
34
104
  };
35
105
  },
36
106
  mounted() {
37
- this.expandKeysList = this.getBindValues.expandedRowKeys;
107
+ this.redoHeight();
38
108
  }
39
109
  });
40
110
  //#endregion
@@ -0,0 +1,50 @@
1
+ .vben-basic-table {
2
+ max-width: 100%;
3
+ height: 100%;
4
+ }
5
+ .vben-basic-table .ant-table-tbody > tr > td,
6
+ .vben-basic-table .ant-table-thead > tr > td,
7
+ .vben-basic-table .ant-table-tbody > tr > th,
8
+ .vben-basic-table .ant-table-thead > tr > th {
9
+ border-right: 1px solid transparent !important;
10
+ }
11
+ .vben-basic-table-form-container {
12
+ padding: 16px;
13
+ }
14
+ .vben-basic-table-form-container .ant-form {
15
+ width: 100%;
16
+ margin-bottom: 16px;
17
+ padding: 12px 10px 6px;
18
+ border-radius: 2px;
19
+ }
20
+ .vben-basic-table .ant-table-cell .ant-tag {
21
+ margin-right: 0;
22
+ }
23
+ .vben-basic-table .ant-table-wrapper {
24
+ padding: 6px;
25
+ border-radius: 2px;
26
+ }
27
+ .vben-basic-table .ant-table-wrapper .ant-table-title {
28
+ padding: 0 0 8px !important;
29
+ }
30
+ .vben-basic-table .ant-table-wrapper .ant-table.ant-table-bordered .ant-table-title {
31
+ border: none !important;
32
+ }
33
+ .vben-basic-table .empty-basic-table-wrapper.ant-table-wrapper:has(
34
+ div.ant-spin-nested-loading > div.ant-spin-container > div.ant-table-empty
35
+ ) .ant-spin-nested-loading > div.ant-spin-container > div.ant-table-empty > div.ant-table-container > div.ant-table-body {
36
+ max-height: none !important;
37
+ }
38
+ .vben-basic-table .ant-table {
39
+ width: 100%;
40
+ overflow-x: hidden;
41
+ }
42
+ .vben-basic-table .ant-pagination {
43
+ margin: 10px 0 0 !important;
44
+ }
45
+ .vben-basic-table--inset .ant-table-wrapper {
46
+ padding: 0;
47
+ }
48
+ .ant-table-thead th {
49
+ background-color: #f5f5f5;
50
+ }
@@ -3,18 +3,12 @@ import { PopConfirmButton } from "../../../v-ben-button/index.mjs";
3
3
  import { Dropdown as Dropdown$1 } from "../../../v-ben-dropdown/index.mjs";
4
4
  import "../../../index.mjs";
5
5
  import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createVNode, defineComponent, mergeProps, normalizeClass, openBlock, renderList, renderSlot, resolveComponent, toDisplayString, toRaw, unref, withCtx } from "vue";
6
+ import { permission, useNamespace } from "@gct-paas/core";
6
7
  import { MoreOutlined } from "@ant-design/icons-vue";
7
8
  import { Divider, Tooltip } from "ant-design-vue";
8
- import { permission, useNamespace } from "@gct-paas/core";
9
9
  //#region src/components/v-ben-table/src/components/TableAction.vue?vue&type=script&setup=true&lang.ts
10
- var _hoisted_1 = {
11
- key: 0,
12
- class: "text-14px"
13
- };
14
- var _hoisted_2 = {
15
- key: 0,
16
- class: "text-14px"
17
- };
10
+ var _hoisted_1 = { key: 0 };
11
+ var _hoisted_2 = { key: 0 };
18
12
  var TableAction_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
19
13
  __name: "TableAction",
20
14
  props: {
@@ -20,6 +20,7 @@
20
20
  }
21
21
  .vben-basic-table-action button span {
22
22
  margin-left: 0 !important;
23
+ font-size: 14px;
23
24
  }
24
25
  .vben-basic-table-action button.ant-btn-circle span {
25
26
  margin: auto !important;
@@ -3,18 +3,12 @@ import { PopConfirmButton } from "../../../v-ben-button/index.mjs";
3
3
  import { Dropdown as Dropdown$1 } from "../../../v-ben-dropdown/index.mjs";
4
4
  import "../../../index.mjs";
5
5
  import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createVNode, defineComponent, mergeProps, normalizeClass, openBlock, renderList, renderSlot, resolveComponent, toDisplayString, toRaw, unref, withCtx, withModifiers } from "vue";
6
+ import { permission, useNamespace } from "@gct-paas/core";
6
7
  import { MoreOutlined } from "@ant-design/icons-vue";
7
8
  import { Divider, Tooltip } from "ant-design-vue";
8
- import { permission, useNamespace } from "@gct-paas/core";
9
9
  //#region src/components/v-ben-table/src/components/TableActionAuto.vue?vue&type=script&setup=true&lang.ts
10
- var _hoisted_1 = {
11
- key: 0,
12
- class: "text-14px"
13
- };
14
- var _hoisted_2 = {
15
- key: 0,
16
- class: "text-14px"
17
- };
10
+ var _hoisted_1 = { key: 0 };
11
+ var _hoisted_2 = { key: 0 };
18
12
  var TableActionAuto_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
19
13
  __name: "TableActionAuto",
20
14
  props: {
@@ -20,6 +20,7 @@
20
20
  }
21
21
  .vben-basic-table-action button span {
22
22
  margin-left: 0 !important;
23
+ font-size: 14px;
23
24
  }
24
25
  .vben-basic-table-action button.ant-btn-circle span {
25
26
  margin: auto !important;
@@ -0,0 +1,10 @@
1
+ /** 默认列对齐 */
2
+ export declare const DEFAULT_ALIGN: "left";
3
+ /** autoCreateKey 时使用的默认行 key 字段 */
4
+ export declare const ROW_KEY = "key";
5
+ export declare const INDEX_COLUMN_FLAG = "INDEX";
6
+ export declare const ACTION_COLUMN_FLAG = "ACTION";
7
+ /** 可选每页条数 */
8
+ export declare const PAGE_SIZE_OPTIONS: string[];
9
+ /** 默认每页条数 */
10
+ export declare const PAGE_SIZE = 20;
@@ -0,0 +1,14 @@
1
+ //#region src/components/v-ben-table/src/const.ts
2
+ /** 默认列对齐 */
3
+ var DEFAULT_ALIGN = "left";
4
+ var INDEX_COLUMN_FLAG = "INDEX";
5
+ var ACTION_COLUMN_FLAG = "ACTION";
6
+ /** 可选每页条数 */
7
+ var PAGE_SIZE_OPTIONS = [
8
+ "20",
9
+ "50",
10
+ "80",
11
+ "100"
12
+ ];
13
+ //#endregion
14
+ export { ACTION_COLUMN_FLAG, DEFAULT_ALIGN, INDEX_COLUMN_FLAG, PAGE_SIZE_OPTIONS };