fast-element-plus 1.0.7 → 1.0.10
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.
- package/dist/index.full.js +894 -757
- package/dist/index.full.js.map +1 -1
- package/dist/index.full.min.js +1 -1
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +1 -1
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +894 -757
- package/dist/index.full.mjs.map +1 -1
- package/dist/styles/index.css +41 -23
- package/dist/styles/index.css.map +1 -1
- package/es/components/avatar/src/avatar.d.ts +4 -4
- package/es/components/avatar/src/avatar.mjs +1 -1
- package/es/components/avatar/src/avatar.mjs.map +1 -1
- package/es/components/button/src/button.mjs.map +1 -1
- package/es/components/carNumber/src/carNumber.d.ts +13 -5
- package/es/components/carNumber/src/carNumber.mjs +1 -1
- package/es/components/carNumber/src/carNumber.mjs.map +1 -1
- package/es/components/contextMenu/src/contextMenu.mjs +1 -1
- package/es/components/contextMenu/src/contextMenu.mjs.map +1 -1
- package/es/components/dialog/src/dialog.d.ts +4 -4
- package/es/components/dialog/src/dialog.mjs +1 -1
- package/es/components/dialog/src/dialog.mjs.map +1 -1
- package/es/components/drawer/src/drawer.d.ts +12 -4
- package/es/components/drawer/src/drawer.mjs +1 -1
- package/es/components/drawer/src/drawer.mjs.map +1 -1
- package/es/components/form/src/form.mjs +1 -1
- package/es/components/form/src/form.mjs.map +1 -1
- package/es/components/form/src/formItem.mjs +1 -1
- package/es/components/form/src/formItem.mjs.map +1 -1
- package/es/components/formItemTip/src/formItemTip.mjs +1 -1
- package/es/components/formItemTip/src/formItemTip.mjs.map +1 -1
- package/es/components/icon/src/icon.mjs +1 -1
- package/es/components/icon/src/icon.mjs.map +1 -1
- package/es/components/iconSelector/src/iconSelector.mjs +1 -1
- package/es/components/iconSelector/src/iconSelector.mjs.map +1 -1
- package/es/components/image/src/image.mjs +1 -1
- package/es/components/image/src/image.mjs.map +1 -1
- package/es/components/index.d.ts +1 -0
- package/es/components/index.mjs +1 -1
- package/es/components/inputDialogPage/index.d.ts +14 -0
- package/es/components/inputDialogPage/index.mjs +2 -0
- package/es/components/inputDialogPage/index.mjs.map +1 -0
- package/es/components/inputDialogPage/src/inputDialogPage.d.ts +131 -0
- package/es/components/inputDialogPage/src/inputDialogPage.mjs +2 -0
- package/es/components/inputDialogPage/src/inputDialogPage.mjs.map +1 -0
- package/es/components/layoutGrid/src/layoutGrid.mjs +1 -1
- package/es/components/layoutGrid/src/layoutGrid.mjs.map +1 -1
- package/es/components/layoutGrid/src/layoutGridItem.d.ts +6 -6
- package/es/components/layoutGrid/src/layoutGridItem.mjs +1 -1
- package/es/components/layoutGrid/src/layoutGridItem.mjs.map +1 -1
- package/es/components/select/src/select.d.ts +39 -34
- package/es/components/select/src/select.mjs +1 -1
- package/es/components/select/src/select.mjs.map +1 -1
- package/es/components/select/src/selectOption.mjs +1 -1
- package/es/components/select/src/selectOption.mjs.map +1 -1
- package/es/components/selectPage/src/selectPage.d.ts +39 -25
- package/es/components/selectPage/src/selectPage.mjs +1 -1
- package/es/components/selectPage/src/selectPage.mjs.map +1 -1
- package/es/components/selectV2/src/selectV2.d.ts +36 -44
- package/es/components/selectV2/src/selectV2.mjs +1 -1
- package/es/components/selectV2/src/selectV2.mjs.map +1 -1
- package/es/components/table/src/table.d.ts +6 -6
- package/es/components/table/src/table.mjs +1 -1
- package/es/components/table/src/table.mjs.map +1 -1
- package/es/components/table/src/table.type.d.ts +1 -1
- package/es/components/table/src/table.type.mjs.map +1 -1
- package/es/components/table/src/tableColumn.mjs +1 -1
- package/es/components/table/src/tableColumn.mjs.map +1 -1
- package/es/components/table/src/tableColumnSettingDialog.mjs +1 -1
- package/es/components/table/src/tableColumnSettingDialog.mjs.map +1 -1
- package/es/components/table/src/useTable.mjs +1 -1
- package/es/components/table/src/useTable.mjs.map +1 -1
- package/es/components/table/utils/table.mjs +1 -1
- package/es/components/table/utils/table.mjs.map +1 -1
- package/es/components/tree/src/tree.d.ts +68 -174
- package/es/components/tree/src/tree.mjs +1 -1
- package/es/components/tree/src/tree.mjs.map +1 -1
- package/es/components/treeSelect/src/treeSelect.d.ts +123 -221
- package/es/components/treeSelect/src/treeSelect.mjs +1 -1
- package/es/components/treeSelect/src/treeSelect.mjs.map +1 -1
- package/es/directives/click-copy/index.mjs.map +1 -1
- package/es/directives/click-debounce/index.mjs.map +1 -1
- package/es/directives/click-draggable/index.mjs.map +1 -1
- package/es/directives/click-icon-copy/index.mjs.map +1 -1
- package/es/directives/click-longpress/index.mjs.map +1 -1
- package/es/directives/click-throttle/index.mjs.map +1 -1
- package/es/index.mjs +1 -1
- package/es/index.mjs.map +1 -1
- package/es/make-installer.mjs +1 -1
- package/es/make-installer.mjs.map +1 -1
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/avatar/src/avatar.d.ts +4 -4
- package/lib/components/avatar/src/avatar.js +1 -1
- package/lib/components/avatar/src/avatar.js.map +1 -1
- package/lib/components/button/src/button.js.map +1 -1
- package/lib/components/carNumber/src/carNumber.d.ts +13 -5
- package/lib/components/carNumber/src/carNumber.js +1 -1
- package/lib/components/carNumber/src/carNumber.js.map +1 -1
- package/lib/components/contextMenu/src/contextMenu.js +1 -1
- package/lib/components/contextMenu/src/contextMenu.js.map +1 -1
- package/lib/components/dialog/src/dialog.d.ts +4 -4
- package/lib/components/dialog/src/dialog.js +1 -1
- package/lib/components/dialog/src/dialog.js.map +1 -1
- package/lib/components/drawer/src/drawer.d.ts +12 -4
- package/lib/components/drawer/src/drawer.js +1 -1
- package/lib/components/drawer/src/drawer.js.map +1 -1
- package/lib/components/form/src/form.js +1 -1
- package/lib/components/form/src/form.js.map +1 -1
- package/lib/components/form/src/formItem.js +1 -1
- package/lib/components/form/src/formItem.js.map +1 -1
- package/lib/components/formItemTip/src/formItemTip.js +1 -1
- package/lib/components/formItemTip/src/formItemTip.js.map +1 -1
- package/lib/components/icon/src/icon.js +1 -1
- package/lib/components/icon/src/icon.js.map +1 -1
- package/lib/components/iconSelector/src/iconSelector.js +1 -1
- package/lib/components/iconSelector/src/iconSelector.js.map +1 -1
- package/lib/components/image/src/image.js +1 -1
- package/lib/components/image/src/image.js.map +1 -1
- package/lib/components/index.d.ts +1 -0
- package/lib/components/index.js +1 -1
- package/lib/components/inputDialogPage/index.d.ts +14 -0
- package/lib/components/inputDialogPage/index.js +2 -0
- package/lib/components/inputDialogPage/index.js.map +1 -0
- package/lib/components/inputDialogPage/src/inputDialogPage.d.ts +131 -0
- package/lib/components/inputDialogPage/src/inputDialogPage.js +2 -0
- package/lib/components/inputDialogPage/src/inputDialogPage.js.map +1 -0
- package/lib/components/layoutGrid/src/layoutGrid.js +1 -1
- package/lib/components/layoutGrid/src/layoutGrid.js.map +1 -1
- package/lib/components/layoutGrid/src/layoutGridItem.d.ts +6 -6
- package/lib/components/layoutGrid/src/layoutGridItem.js +1 -1
- package/lib/components/layoutGrid/src/layoutGridItem.js.map +1 -1
- package/lib/components/select/src/select.d.ts +39 -34
- package/lib/components/select/src/select.js +1 -1
- package/lib/components/select/src/select.js.map +1 -1
- package/lib/components/select/src/selectOption.js +1 -1
- package/lib/components/select/src/selectOption.js.map +1 -1
- package/lib/components/selectPage/src/selectPage.d.ts +39 -25
- package/lib/components/selectPage/src/selectPage.js +1 -1
- package/lib/components/selectPage/src/selectPage.js.map +1 -1
- package/lib/components/selectV2/src/selectV2.d.ts +36 -44
- package/lib/components/selectV2/src/selectV2.js +1 -1
- package/lib/components/selectV2/src/selectV2.js.map +1 -1
- package/lib/components/table/src/table.d.ts +6 -6
- package/lib/components/table/src/table.js +1 -1
- package/lib/components/table/src/table.js.map +1 -1
- package/lib/components/table/src/table.type.d.ts +1 -1
- package/lib/components/table/src/table.type.js.map +1 -1
- package/lib/components/table/src/tableColumn.js +1 -1
- package/lib/components/table/src/tableColumn.js.map +1 -1
- package/lib/components/table/src/tableColumnSettingDialog.js +1 -1
- package/lib/components/table/src/tableColumnSettingDialog.js.map +1 -1
- package/lib/components/table/src/useTable.js.map +1 -1
- package/lib/components/table/utils/table.js +1 -1
- package/lib/components/table/utils/table.js.map +1 -1
- package/lib/components/tree/src/tree.d.ts +68 -174
- package/lib/components/tree/src/tree.js +1 -1
- package/lib/components/tree/src/tree.js.map +1 -1
- package/lib/components/treeSelect/src/treeSelect.d.ts +123 -221
- package/lib/components/treeSelect/src/treeSelect.js +1 -1
- package/lib/components/treeSelect/src/treeSelect.js.map +1 -1
- package/lib/directives/click-copy/index.js.map +1 -1
- package/lib/directives/click-debounce/index.js.map +1 -1
- package/lib/directives/click-draggable/index.js.map +1 -1
- package/lib/directives/click-icon-copy/index.js.map +1 -1
- package/lib/directives/click-longpress/index.js.map +1 -1
- package/lib/directives/click-throttle/index.js.map +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/make-installer.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +3 -3
- package/styles/components/dialog.scss +1 -1
- package/styles/components/select.scss +35 -0
- package/styles/components/selectPage.scss +0 -30
- package/styles/components/table.scss +1 -1
- package/styles/components/tree.scss +17 -2
- package/styles/index.scss +1 -0
- package/types/components.d.ts +110 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),t=require("element-plus"),l=require("@element-plus/icons-vue"),r=require("../../image/index.js"),a=require("@fast-china/utils"),o=require("lodash-unified"),
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),t=require("element-plus"),l=require("@element-plus/icons-vue"),r=require("../../image/index.js"),a=require("@fast-china/utils"),o=require("lodash-unified"),n=require("../images/artwork.png.js"),i=require("../images/notImage.png.js"),d=require("../utils/table.js"),s=require("./table.type.js"),u=require("./useTable.js");function c(t){return"function"==typeof t||"[object Object]"===Object.prototype.toString.call(t)&&!e.isVNode(t)}const m={type:{type:String,default:"default"},label:String,className:String,labelClassName:String,property:String,prop:String,width:{type:[String,Number],default:""},minWidth:{type:[String,Number],default:""},renderHeader:Function,sortable:{type:[Boolean,String],default:!1},sortMethod:Function,sortBy:[String,Function,Array],resizable:{type:Boolean,default:!0},columnKey:String,align:String,headerAlign:String,showOverflowTooltip:{type:[Boolean,Object],default:void 0},fixed:[Boolean,String],formatter:Function,selectable:Function,reserveSelection:Boolean,filterMethod:Function,filteredValue:Array,filters:Array,filterPlacement:String,filterMultiple:{type:Boolean,default:!0},filterClassName:String,index:[Number,Function],sortOrders:{type:Array,default:()=>["ascending","descending",null],validator:e=>e.every(e=>["ascending","descending",null].includes(e))}},p=e.defineComponent({name:"FaTableColumn",props:{...m,type:{type:a.definePropType(String),default:"default"},width:{type:[String,Number],default:"auto"},align:{type:String,default:"left"},headerAlign:{type:String,default:"left"},show:Boolean,smallWidth:{type:[String,Number]},autoWidth:Boolean,slot:String,headerSlot:String,headerRender:{type:a.definePropType(Function)},render:{type:a.definePropType(Function)},_children:{type:a.definePropType(Array)},hideImage:Boolean,copy:Boolean,link:Boolean,spanProp:String,click:{type:a.definePropType(Function)},clickEmit:String,originalImage:Boolean,dateFix:Boolean,dateFormat:{type:a.definePropType(String)},tag:Boolean,enum:{type:a.definePropType([Array,Function])},dataDeleteField:String,timeInfoField:{type:a.definePropType(Object),default:()=>({userName:"createdUserName",time:"createdTime"})}},emits:{imagePreview:e=>o.isString(e),customCellClick:(e,{row:t,column:l,$index:r})=>(o.isNil(e)||o.isString(e))&&o.isObject(t)&&o.isObject(l)&&o.isNumber(r)},slots:a.makeSlots(),setup(p,{slots:g,emit:f}){const y=t.useGlobalSize(),h=e.inject(u.tableStateKey),b=e.inject(u.enumMapKey),S=e.computed(()=>p),w=()=>{let e="";return"timeInfo"===p.type&&(e+="fa-table__line-height-normal-column"),"date"!==p.type&&"time"!==p.type&&"dateTime"!==p.type||p.dateFix&&(e+="fa-table__line-height-normal-column"),p.className?`${e} ${p.className}`:e||void 0},N=t=>p.autoWidth?e.computed(()=>{const e=h.autoColumnWidth.find(e=>e.prop===p.prop);return e?`${e.width}px`:"auto"}).value:"small"===y.value?p.smallWidth??p.width??p.minWidth??t??"auto":p.width??p.minWidth??t??"auto",T=t=>p.autoWidth?e.createVNode("div",{class:["fa-table__auto-width-column__cell-header",`__fa-table__auto-width-column__cell-header__${p.prop}`]},[t]):t,x=t=>p.autoWidth?e.createVNode("div",{class:["fa-table__auto-width-column__cell",`__fa-table__auto-width-column__cell__${p.prop}`]},[t]):t,_=({column:t,$index:l})=>p.headerRender?T(p.headerRender({column:t,$index:l,...s.getTableDefaultSlots(h)})):p.headerSlot?T(g[p.headerSlot]&&g[p.headerSlot]({column:t,$index:l,...s.getTableDefaultSlots(h)})):T(e.createVNode("span",null,[p.label])),v=(r,o)=>(p.copy||o)&&r&&e.createVNode(t.ElIcon,{class:"fa__copy-icon",title:"复制",onClick:async()=>{try{await a.stringUtil.copy(String(r)),t.ElMessage({type:"success",message:"复制成功"})}catch(e){a.consoleError("FaTableColumn",e),t.ElMessage({type:"error",message:"复制失败"})}}},{default:()=>[e.createVNode(l.CopyDocument,null,null)]}),F=(e,t,l,r)=>t.formatter?t.formatter(e,t,l,r):l,V=(l,r,a)=>{const n=F(l,r,(({row:e})=>{const t=d.tableUtil.handleRowAccordingToProp(e,p.prop);let l,r=p.prop;return o.isString(p.enum)?(r=p.enum,l=b.get(r)):o.isArray(p.enum)?l=p.enum:o.isFunction(p.enum)&&(l=p.enum({row:e})),l?d.tableUtil.filterEnum(t,l):d.tableUtil.formatValue(t)})({row:l}),a);let i=p.prop;o.isString(p.enum)&&(i=p.enum);const s=b.get(i),u=d.tableUtil.filterEnum(d.tableUtil.handleRowAccordingToProp(l,p.prop),s,null,"tag");return e.createVNode(e.Fragment,null,[v(n),n?e.createVNode(t.ElTag,{type:u},c(n)?n:{default:()=>[n]}):null])},O=({row:l,column:r,$index:n})=>{if("timeInfo"===p.type)return(l=>{let r;const o=l[p.timeInfoField?.userName??"createdUserName"],n=l[p.timeInfoField?.time??"createdTime"];return e.createVNode(e.Fragment,null,[e.createVNode("div",{style:"white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",title:n},[o&&e.createVNode("span",{style:"margin-right: 5px;"},[o]),e.createVNode("span",null,[n])]),n&&e.createVNode(t.ElTag,{type:"info",round:!0,effect:"light",size:"small"},c(r=a.dateUtil.dateTimeFix(String(n)))?r:{default:()=>[r]})])})(l);if(p.tag)return V(l,r,n);if("date"===p.type||"time"===p.type||"dateTime"===p.type)return((l,r,o)=>{let n,i;switch(p.type){case"date":i="YYYY-MM-DD";break;case"time":i="HH:mm:ss";break;case"dateTime":i="YYYY-MM-DD HH:mm:ss"}const d=l[p.prop]?F(l,r,t.dayjs(l[p.prop]).format(p.dateFormat??i),o):null;return e.createVNode(e.Fragment,null,[v(d),d,p.dateFix&&d&&e.createVNode(e.Fragment,null,[e.createVNode("br",null,null),e.createVNode(t.ElTag,{type:"info",round:!0,effect:"light",size:"small"},c(n=a.dateUtil.dateTimeFix(String(d)))?n:{default:()=>[n]})])])})(l,r,n);if("d2"===p.type||"d4"===p.type||"d6"===p.type||"gd2"===p.type||"gd4"===p.type||"gd6"===p.type)return((e,t,l)=>{const r=e[p.prop];if(!r||!o.isNumber(r))return F(e,t,r,l);let a,n=!1;switch(p.type){case"d2":a=2;break;case"d4":a=4;break;case"d6":a=6;break;case"gd2":a=2,n=!0;break;case"gd4":a=4,n=!0;break;case"gd6":a=6,n=!0}return F(e,t,r.toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:a,useGrouping:n}),l)})(l,r,n);if(p.link)return((l,r,a)=>{const o=F(l,r,l[p.prop],a);return x(e.createVNode(e.Fragment,null,[v(o),o&&e.createVNode(t.ElText,{class:"el-link is-hover-underline fa-table__link-column__text",onClick:()=>{p.dataDeleteField&&!0===l[p.dataDeleteField]||(p.click?p.click({row:l,$index:a}):f("customCellClick",p.clickEmit,{row:l,column:S.value,$index:a}))}},c(o)?o:{default:()=>[o]})]))})(l,r,n);if(p.render)return x(p.render({row:l,column:S.value,$index:n,...s.getTableDefaultSlots(h)}));if(p.slot)return x(g[p.slot]&&g[p.slot]({row:l,column:S.value,$index:n,...s.getTableDefaultSlots(h)}));const i=F(l,r,l[p.prop],n);return x(e.createVNode(e.Fragment,null,[v(i),i]))};let $=a.useProps(p,m,["type","width","minWidth","sortable","sortOrders","resizable","showOverflowTooltip"]);e.watch(()=>p,()=>{$=a.useProps(p,m,["type","className","minWidth","sortable","sortOrders","resizable","showOverflowTooltip"])}),a.useRender(()=>e.createVNode(e.Fragment,null,[p._children?.length?e.createVNode(t.ElTableColumn,e.mergeProps($.value,{className:w(),minWidth:N("auto"),sortable:!!p.sortable&&"custom",sortOrders:p.sortOrders??["descending","ascending",null],resizable:p.resizable&&!p.autoWidth,showOverflowTooltip:(p.showOverflowTooltip??!0)&&!p.autoWidth&&"default"==p.type}),{header:({column:e,$index:t})=>_({column:e,$index:t}),default:()=>p._children.map(t=>e.h(e.resolveComponent("FaTableColumn"),{...t},g))}):"image"===p.type?e.createVNode(t.ElTableColumn,e.mergeProps($.value,{align:"center",className:"fa-table__image-column",minWidth:"50px",sortable:!1,resizable:!1,showOverflowTooltip:!1}),{header:({column:e,$index:t})=>_({column:e,$index:t}),default:({row:l})=>l[p.prop]?p.hideImage?e.createVNode(t.ElImage,{class:"fa-image",lazy:!0,src:n.default,fit:"cover",previewSrcList:[l[p.prop]],closeOnPressEscape:!0,hideOnClickModal:!0,previewTeleported:!0},null):e.createVNode(r.FaImage,{lazy:!0,src:l[p.prop],fit:"cover",original:p.originalImage,thumb:!0},null):e.createVNode(t.ElImage,{class:"fa-image",lazy:!0,src:i.default,fit:"cover"},null)}):e.createVNode(t.ElTableColumn,e.mergeProps($.value,{className:w(),minWidth:N("auto"),sortable:!!p.sortable&&"custom",sortOrders:p.sortOrders??["descending","ascending",null],resizable:p.resizable&&!p.autoWidth,showOverflowTooltip:(p.showOverflowTooltip??!0)&&!p.autoWidth&&"default"==p.type}),{header:({column:e,$index:t})=>g.header?g.header({column:S.value,$index:t,...s.getTableDefaultSlots(h)}):_({column:e,$index:t}),default:({row:e,column:t,$index:l})=>g.default?g.default({row:e,column:S.value,$index:l,...s.getTableDefaultSlots(h)}):O({row:e,column:t,$index:l}),filterIcon:({filterOpened:e})=>g.filterIcon&&g.filterIcon({filterOpened:e,...s.getTableDefaultSlots(h)}),expand:({expanded:e})=>g.expand&&g.expand({expanded:e,...s.getTableDefaultSlots(h)})})]))}});exports.default=p,exports.tableColumnProps=m;
|
|
2
2
|
//# sourceMappingURL=tableColumn.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tableColumn.js","sources":["../../../../../packages/components/table/src/tableColumn.tsx"],"sourcesContent":["import { Fragment, computed, defineComponent, h, inject, resolveComponent, watch } from \"vue\";\nimport { ElIcon, ElImage, ElMessage, ElTableColumn, ElTag, ElText, dayjs, useGlobalSize } from \"element-plus\";\nimport { CopyDocument } from \"@element-plus/icons-vue\";\nimport FaImage from \"@fast-element-plus/components/image\";\nimport { consoleError, dateUtil, definePropType, makeSlots, stringUtil, useProps, useRender } from \"@fast-china/utils\";\nimport { isNil, isNumber, isObject, isString } from \"lodash-unified\";\nimport artwork from \"../images/artwork.png\";\nimport notImage from \"../images/notImage.png\";\nimport { tableUtil } from \"../utils/table\";\nimport { getTableDefaultSlots } from \"./table.type\";\nimport { enumMapKey, tableStateKey } from \"./useTable\";\nimport type { FaTableColumnCtx, FaTableColumnDateFormat, FaTableColumnType, FaTableDefaultSlotsResult, FaTableEnumColumnType } from \"./table.type\";\nimport type { TableColumnCtx } from \"element-plus\";\nimport type { ComputedRef, PropType, VNode } from \"vue\";\n\ntype DefaultRow = any;\n\nexport const tableColumnProps = {\n\t/**\n\t * @description type of the column. If set to `selection`, the column will display checkbox. If set to `index`, the column will display index of the row (staring from 1). If set to `expand`, the column will display expand icon\n\t */\n\ttype: {\n\t\ttype: String,\n\t\tdefault: \"default\",\n\t},\n\t/**\n\t * @description column label\n\t */\n\tlabel: String,\n\t/**\n\t * @description class name of cells in the column\n\t */\n\tclassName: String,\n\t/**\n\t * @description class name of the label of this column\n\t */\n\tlabelClassName: String,\n\t/**\n\t * @description\n\t */\n\tproperty: String,\n\t/**\n\t * @description field name. You can also use its alias: `property`\n\t */\n\tprop: String,\n\t/**\n\t * @description column width\n\t */\n\twidth: {\n\t\ttype: [String, Number],\n\t\tdefault: \"\",\n\t},\n\t/**\n\t * @description column minimum width. Columns with `width` has a fixed width, while columns with `min-width` has a width that is distributed in proportion\n\t */\n\tminWidth: {\n\t\ttype: [String, Number],\n\t\tdefault: \"\",\n\t},\n\t/**\n\t * @description render function for table header of this column\n\t */\n\trenderHeader: Function as PropType<TableColumnCtx<DefaultRow>[\"renderHeader\"]>,\n\t/**\n\t * @description whether column can be sorted. Remote sorting can be done by setting this attribute to 'custom' and listening to the `sort-change` event of Table\n\t */\n\tsortable: {\n\t\ttype: [Boolean, String],\n\t\tdefault: false,\n\t},\n\t/**\n\t * @description sorting method, works when `sortable` is `true`. Should return a number, just like Array.sort\n\t */\n\tsortMethod: Function as PropType<TableColumnCtx<DefaultRow>[\"sortMethod\"]>,\n\t/**\n\t * @description specify which property to sort by, works when `sortable` is `true` and `sort-method` is `undefined`. If set to an Array, the column will sequentially sort by the next property if the previous one is equal\n\t */\n\tsortBy: [String, Function, Array] as PropType<TableColumnCtx<DefaultRow>[\"sortBy\"]>,\n\t/**\n\t * @description whether column width can be resized, works when `border` of `el-table` is `true`\n\t */\n\tresizable: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * @description column's key. If you need to use the filter-change event, you need this attribute to identify which column is being filtered\n\t */\n\tcolumnKey: String,\n\t/**\n\t * @description alignment, the value should be 'left' \\/ 'center' \\/ 'right'\n\t */\n\talign: String,\n\t/**\n\t * @description alignment of the table header. If omitted, the value of the above `align` attribute will be applied, the value should be 'left' \\/ 'center' \\/ 'right'\n\t */\n\theaderAlign: String,\n\t/**\n\t * @description whether to hide extra content and show them in a tooltip when hovering on the cell\n\t */\n\tshowOverflowTooltip: {\n\t\ttype: [Boolean, Object] as PropType<TableColumnCtx<DefaultRow>[\"showOverflowTooltip\"]>,\n\t\tdefault: undefined,\n\t},\n\t/**\n\t * @description whether column is fixed at left / right. Will be fixed at left if `true`\n\t */\n\tfixed: [Boolean, String],\n\t/**\n\t * @description function that formats cell content\n\t */\n\tformatter: Function as PropType<TableColumnCtx<DefaultRow>[\"formatter\"]>,\n\t/**\n\t * @description function that determines if a certain row can be selected, works when `type` is 'selection'\n\t */\n\tselectable: Function as PropType<TableColumnCtx<DefaultRow>[\"selectable\"]>,\n\t/**\n\t * @description whether to reserve selection after data refreshing, works when `type` is 'selection'. Note that `row-key` is required for this to work\n\t */\n\treserveSelection: Boolean,\n\t/**\n\t * @description data filtering method. If `filter-multiple` is on, this method will be called multiple times for each row, and a row will display if one of the calls returns `true`\n\t */\n\tfilterMethod: Function as PropType<TableColumnCtx<DefaultRow>[\"filterMethod\"]>,\n\t/**\n\t * @description filter value for selected data, might be useful when table header is rendered with `render-header`\n\t */\n\tfilteredValue: Array as PropType<TableColumnCtx<DefaultRow>[\"filteredValue\"]>,\n\t/**\n\t * @description an array of data filtering options. For each element in this array, `text` and `value` are required\n\t */\n\tfilters: Array as PropType<TableColumnCtx<DefaultRow>[\"filters\"]>,\n\t/**\n\t * @description placement for the filter dropdown\n\t */\n\tfilterPlacement: String,\n\t/**\n\t * @description whether data filtering supports multiple options\n\t */\n\tfilterMultiple: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * @description className for the filter dropdown\n\t */\n\tfilterClassName: String,\n\t/**\n\t * @description customize indices for each row, works on columns with `type=index`\n\t */\n\tindex: [Number, Function] as PropType<TableColumnCtx<DefaultRow>[\"index\"]>,\n\t/**\n\t * @description the order of the sorting strategies used when sorting the data, works when `sortable` is `true`. Accepts an array, as the user clicks on the header, the column is sorted in order of the elements in the array\n\t */\n\tsortOrders: {\n\t\ttype: Array as PropType<TableColumnCtx<DefaultRow>[\"sortOrders\"]>,\n\t\tdefault: (): TableColumnCtx<DefaultRow>[\"sortOrders\"] => {\n\t\t\treturn [\"ascending\", \"descending\", null];\n\t\t},\n\t\tvalidator: (val: TableColumnCtx<unknown>[\"sortOrders\"]): boolean => {\n\t\t\treturn val.every((order: string) => [\"ascending\", \"descending\", null].includes(order));\n\t\t},\n\t},\n};\n\ntype FaTableColumnSlotsResult = {\n\t/** @description slots为表格内容的时候才会返回 */\n\trow?: any;\n\t/** @description slot为表头内容的时候返回 'TableColumnCtx<any>' 否则返回 'FaTableColumnCtx' */\n\tcolumn?: TableColumnCtx<any> | FaTableColumnCtx;\n\t$index?: number;\n};\n\ntype FaTableColumnDefaultSlots = {\n\t[key: string]: FaTableDefaultSlotsResult & FaTableColumnSlotsResult;\n};\n\ntype FaTableColumnSlots = {\n\t/** @description 默认内容插槽 */\n\tdefault: FaTableDefaultSlotsResult & { row: any; column: FaTableColumnCtx; $index: number };\n\t/** @description 自定义表头的内容 */\n\theader: FaTableDefaultSlotsResult & { column: FaTableColumnCtx; $index: number };\n\t/** @description 自定义 filter 图标 */\n\tfilterIcon: FaTableDefaultSlotsResult & { filterOpened: boolean };\n\t/** @description 展开列的自定义内容 */\n\texpand: FaTableDefaultSlotsResult & { expanded: boolean };\n} & FaTableColumnDefaultSlots;\n\nexport default defineComponent({\n\tname: \"FaTableColumn\",\n\tprops: {\n\t\t...tableColumnProps,\n\t\t/**\n\t\t * @description type of the column. If set to `selection`, the column will display checkbox. If set to `index`, the column will display index of the row (staring from 1). If set to `expand`, the column will display expand icon\n\t\t */\n\t\ttype: {\n\t\t\ttype: definePropType<FaTableColumnType>(String),\n\t\t\tdefault: \"default\",\n\t\t},\n\t\t/**\n\t\t * @description column width\n\t\t */\n\t\twidth: {\n\t\t\ttype: [String, Number],\n\t\t\tdefault: \"auto\",\n\t\t},\n\t\t/** @description alignment, the value should be 'left' \\/ 'center' \\/ 'right' */\n\t\talign: {\n\t\t\ttype: String,\n\t\t\tdefault: \"left\",\n\t\t},\n\t\t/** @description alignment of the table header. If omitted, the value of the above `align` attribute will be applied, the value should be 'left' \\/ 'center' \\/ 'right' */\n\t\theaderAlign: {\n\t\t\ttype: String,\n\t\t\tdefault: \"left\",\n\t\t},\n\t\t/** @description 是否显示在表格当中 */\n\t\tshow: Boolean,\n\t\t/** @description 小页面的宽度,如果为空,则继承默认宽度 */\n\t\tsmallWidth: {\n\t\t\ttype: [String, Number],\n\t\t},\n\t\t/** @description 自适应宽度 */\n\t\tautoWidth: Boolean,\n\t\t/** @description 插槽名称 */\n\t\tslot: String,\n\t\t/** @description 表格头部插槽名称 */\n\t\theaderSlot: String,\n\t\t/** @description 自定义表头内容渲染(tsx语法) */\n\t\theaderRender: {\n\t\t\ttype: definePropType<({ column, $index }: { column: TableColumnCtx<any>; $index: number } & FaTableDefaultSlotsResult) => VNode[]>(\n\t\t\t\tFunction\n\t\t\t),\n\t\t},\n\t\t/** @description 自定义单元格内容渲染(tsx语法) */\n\t\trender: {\n\t\t\ttype: definePropType<\n\t\t\t\t({ row, column, $index }: { row: any; column: FaTableColumnCtx; $index: number } & FaTableDefaultSlotsResult) => VNode[]\n\t\t\t>(Function),\n\t\t},\n\t\t/** @description 多级表头 */\n\t\t_children: {\n\t\t\ttype: definePropType<FaTableColumnCtx[]>(Array),\n\t\t},\n\t\t/** @description 隐藏图片 */\n\t\thideImage: Boolean,\n\t\t/** @description 复制 */\n\t\tcopy: Boolean,\n\t\t/** @description 是否为 Link Button */\n\t\tlink: Boolean,\n\t\t/** @description 合并行字段 */\n\t\tspanProp: String,\n\t\t/** @description Link 按钮的点击事件,优先级最高 */\n\t\tclick: {\n\t\t\ttype: definePropType<({ row, $index }: { row: any; $index?: number }) => void>(Function),\n\t\t},\n\t\t/** @description 点击Emits事件回调 */\n\t\tclickEmit: String,\n\t\t/** @description 图片列是否显示为原图,默认 false 显示缩略图 */\n\t\toriginalImage: Boolean,\n\t\t/** @description 显示时间格式化字符串 */\n\t\tdateFix: Boolean,\n\t\t/** @description 显示在页面中的日期格式 */\n\t\tdateFormat: {\n\t\t\ttype: definePropType<FaTableColumnDateFormat>(String),\n\t\t},\n\t\t/** @description 是否是标签展示 */\n\t\ttag: Boolean,\n\t\t/** @description 枚举类型(渲染值的字典) */\n\t\tenum: {\n\t\t\ttype: definePropType<FaTableEnumColumnType>([Array, Function]),\n\t\t},\n\t\t/** @description 数据删除字段,如果为 true 会显示遮罩层 */\n\t\tdataDeleteField: String,\n\t\t/** @description 时间信息字段 */\n\t\ttimeInfoField: {\n\t\t\ttype: definePropType<{ userName?: string; time?: string }>(Object),\n\t\t\tdefault: () => ({\n\t\t\t\tuserName: \"createdUserName\",\n\t\t\t\ttime: \"createdTime\",\n\t\t\t}),\n\t\t},\n\t},\n\temits: {\n\t\t/** @description 图片预览 */\n\t\timagePreview: (url: string): boolean => isString(url),\n\t\t/** @description 自定义单元格点击事件 */\n\t\tcustomCellClick: (emitName: string, { row, column, $index }: { row: any; column: FaTableColumnCtx; $index: number }): boolean =>\n\t\t\t(isNil(emitName) || isString(emitName)) && isObject(row) && isObject(column) && isNumber($index),\n\t},\n\tslots: makeSlots<FaTableColumnSlots>(),\n\tsetup(props, { slots, emit }) {\n\t\tconst _globalSize = useGlobalSize();\n\t\tconst tableState = inject(tableStateKey);\n\t\tconst enumMap = inject(enumMapKey);\n\n\t\tconst columnCtx = computed(() => props as unknown as FaTableColumnCtx);\n\n\t\tconst renderCellData = ({ row }: { row: any }): any => {\n\t\t\tlet enumKey = props.prop;\n\t\t\tif (isString(props.enum)) {\n\t\t\t\tenumKey = props.enum;\n\t\t\t}\n\t\t\tconst enumData = enumMap.get(enumKey);\n\t\t\tif (enumData) {\n\t\t\t\treturn tableUtil.filterEnum(tableUtil.handleRowAccordingToProp(row, props.prop), enumData);\n\t\t\t} else {\n\t\t\t\treturn tableUtil.formatValue(tableUtil.handleRowAccordingToProp(row, props.prop));\n\t\t\t}\n\t\t};\n\n\t\tconst getTagType = ({ row }: { row: any }): any => {\n\t\t\tlet enumKey = props.prop;\n\t\t\tif (isString(props.enum)) {\n\t\t\t\tenumKey = props.enum;\n\t\t\t}\n\t\t\tconst enumData = enumMap.get(enumKey);\n\t\t\treturn tableUtil.filterEnum(tableUtil.handleRowAccordingToProp(row, props.prop), enumData, null, \"tag\") as any;\n\t\t};\n\n\t\tconst getWidth = (defAttr: string): string | number => {\n\t\t\tif (props.autoWidth) {\n\t\t\t\treturn computed(() => {\n\t\t\t\t\tconst findInfo = tableState.autoColumnWidth.find((f) => f.prop === props.prop);\n\t\t\t\t\tif (findInfo) {\n\t\t\t\t\t\treturn `${findInfo.width}px`;\n\t\t\t\t\t}\n\t\t\t\t\treturn \"auto\";\n\t\t\t\t}).value;\n\t\t\t}\n\t\t\tif (_globalSize.value === \"small\") {\n\t\t\t\treturn props.smallWidth ?? props.width ?? props.minWidth ?? defAttr ?? \"auto\";\n\t\t\t}\n\t\t\treturn props.width ?? props.minWidth ?? defAttr ?? \"auto\";\n\t\t};\n\n\t\tconst autoWidthHeaderRender = (el: VNode[]): VNode[] => {\n\t\t\tif (props.autoWidth) {\n\t\t\t\treturn (\n\t\t\t\t\t<div class={[\"fa-table__auto-width-column__cell-header\", `__fa-table__auto-width-column__cell-header__${props.prop}`]}>{el}</div>\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\treturn el;\n\t\t\t}\n\t\t};\n\n\t\tconst headerRender = ({ column, $index }: { column: TableColumnCtx<any>; $index: number }): VNode[] => {\n\t\t\tif (props.headerRender) {\n\t\t\t\treturn autoWidthHeaderRender(props.headerRender({ column, $index, ...getTableDefaultSlots(tableState) }));\n\t\t\t} else if (props.headerSlot) {\n\t\t\t\treturn autoWidthHeaderRender(\n\t\t\t\t\tslots[props.headerSlot] && slots[props.headerSlot]({ column, $index, ...getTableDefaultSlots(tableState) })\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\treturn autoWidthHeaderRender(<span>{props.label}</span>);\n\t\t\t}\n\t\t};\n\n\t\tconst autoWidthRender = (el: VNode[]): VNode[] => {\n\t\t\tif (props.autoWidth) {\n\t\t\t\treturn <div class={[\"fa-table__auto-width-column__cell\", `__fa-table__auto-width-column__cell__${props.prop}`]}>{el}</div>;\n\t\t\t} else {\n\t\t\t\treturn el;\n\t\t\t}\n\t\t};\n\n\t\tconst handleCopyClick = async (value): Promise<void> => {\n\t\t\ttry {\n\t\t\t\tawait stringUtil.copy(String(value));\n\t\t\t\tElMessage({\n\t\t\t\t\ttype: \"success\",\n\t\t\t\t\tmessage: \"复制成功\",\n\t\t\t\t});\n\t\t\t} catch (error) {\n\t\t\t\tconsoleError(\"FaTableColumn\", error);\n\t\t\t\tElMessage({\n\t\t\t\t\ttype: \"error\",\n\t\t\t\t\tmessage: \"复制失败\",\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\n\t\tconst copyRender = (value, copy?: boolean): VNode[] => {\n\t\t\treturn (\n\t\t\t\t(props.copy || copy) &&\n\t\t\t\tvalue && (\n\t\t\t\t\t<ElIcon class=\"fa__copy-icon\" title=\"复制\" onClick={() => handleCopyClick(value)}>\n\t\t\t\t\t\t<CopyDocument />\n\t\t\t\t\t</ElIcon>\n\t\t\t\t)\n\t\t\t);\n\t\t};\n\n\t\tconst formatterRender = (row: any, column: TableColumnCtx<any>, cellValue: any, index: number): any => {\n\t\t\tif (column.formatter) {\n\t\t\t\treturn column.formatter(row, column, cellValue, index);\n\t\t\t} else {\n\t\t\t\treturn cellValue;\n\t\t\t}\n\t\t};\n\n\t\tconst defaultRender = ({ row, column, $index }: { row: any; column: TableColumnCtx<any>; $index: number }): VNode[] => {\n\t\t\tif (props.type === \"timeInfo\") {\n\t\t\t\tconst userName = row[props.timeInfoField?.userName ?? \"createdUserName\"];\n\t\t\t\tconst time = row[props.timeInfoField?.time ?? \"createdTime\"];\n\t\t\t\treturn (\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t<div style=\"white-space: nowrap; overflow: hidden; text-overflow: ellipsis;\" title={time}>\n\t\t\t\t\t\t\t{userName && <span style=\"margin-right: 5px;\">{userName}</span>}\n\t\t\t\t\t\t\t<span>{time}</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{time && (\n\t\t\t\t\t\t\t<ElTag type=\"info\" round effect=\"light\" size=\"small\">\n\t\t\t\t\t\t\t\t{dateUtil.dateTimeFix(String(time))}\n\t\t\t\t\t\t\t</ElTag>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Fragment>\n\t\t\t\t);\n\t\t\t} else if (props.tag) {\n\t\t\t\tconst renderValue = formatterRender(row, column, renderCellData({ row }), $index);\n\t\t\t\treturn (\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t{copyRender(renderValue)}\n\t\t\t\t\t\t{renderValue ? <ElTag type={getTagType({ row })}>{renderValue}</ElTag> : null}\n\t\t\t\t\t</Fragment>\n\t\t\t\t);\n\t\t\t} else if (props.type === \"date\" || props.type === \"time\" || props.type === \"dateTime\") {\n\t\t\t\tlet dateFormat;\n\t\t\t\tswitch (props.type) {\n\t\t\t\t\tcase \"date\":\n\t\t\t\t\t\tdateFormat = \"YYYY-MM-DD\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"time\":\n\t\t\t\t\t\tdateFormat = \"HH:mm:ss\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"dateTime\":\n\t\t\t\t\t\tdateFormat = \"YYYY-MM-DD HH:mm:ss\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tconst renderValue = row[props.prop]\n\t\t\t\t\t? formatterRender(row, column, dayjs(row[props.prop]).format(props.dateFormat ?? dateFormat), $index)\n\t\t\t\t\t: null;\n\t\t\t\treturn (\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t{copyRender(renderValue)}\n\t\t\t\t\t\t{renderValue}\n\t\t\t\t\t\t{props.dateFix && renderValue && (\n\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t<ElTag type=\"info\" round effect=\"light\" size=\"small\">\n\t\t\t\t\t\t\t\t\t{dateUtil.dateTimeFix(String(renderValue))}\n\t\t\t\t\t\t\t\t</ElTag>\n\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Fragment>\n\t\t\t\t);\n\t\t\t} else if (\n\t\t\t\tprops.type === \"d2\" ||\n\t\t\t\tprops.type === \"d4\" ||\n\t\t\t\tprops.type === \"d6\" ||\n\t\t\t\tprops.type === \"gd2\" ||\n\t\t\t\tprops.type === \"gd4\" ||\n\t\t\t\tprops.type === \"gd6\"\n\t\t\t) {\n\t\t\t\tconst renderValue = row[props.prop];\n\t\t\t\tif (renderValue) {\n\t\t\t\t\tif (isNumber(renderValue)) {\n\t\t\t\t\t\tlet useGrouping = false;\n\t\t\t\t\t\tlet maximumFractionDigits: number;\n\t\t\t\t\t\tswitch (props.type) {\n\t\t\t\t\t\t\tcase \"d2\":\n\t\t\t\t\t\t\t\tmaximumFractionDigits = 2;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"d4\":\n\t\t\t\t\t\t\t\tmaximumFractionDigits = 4;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"d6\":\n\t\t\t\t\t\t\t\tmaximumFractionDigits = 6;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"gd2\":\n\t\t\t\t\t\t\t\tmaximumFractionDigits = 2;\n\t\t\t\t\t\t\t\tuseGrouping = true;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"gd4\":\n\t\t\t\t\t\t\t\tmaximumFractionDigits = 4;\n\t\t\t\t\t\t\t\tuseGrouping = true;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"gd6\":\n\t\t\t\t\t\t\t\tmaximumFractionDigits = 6;\n\t\t\t\t\t\t\t\tuseGrouping = true;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn renderValue.toLocaleString(\"zh-CN\", {\n\t\t\t\t\t\t\tminimumFractionDigits: 2,\n\t\t\t\t\t\t\tmaximumFractionDigits,\n\t\t\t\t\t\t\tuseGrouping,\n\t\t\t\t\t\t}) as any;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn renderValue;\n\t\t\t} else if (props.link) {\n\t\t\t\tconst renderValue = formatterRender(row, column, row[props.prop], $index);\n\t\t\t\treturn autoWidthRender(\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t{copyRender(renderValue)}\n\t\t\t\t\t\t{renderValue && (\n\t\t\t\t\t\t\t<ElText\n\t\t\t\t\t\t\t\tclass={\"el-link is-hover-underline fa-table__link-column__text\"}\n\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t// 数据删除拦截点击\n\t\t\t\t\t\t\t\t\tif (props.dataDeleteField && row[props.dataDeleteField] === true) return;\n\t\t\t\t\t\t\t\t\tif (props.click) {\n\t\t\t\t\t\t\t\t\t\tprops.click({ row, $index });\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\temit(\"customCellClick\", props.clickEmit, {\n\t\t\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t\t\t\tcolumn: columnCtx.value,\n\t\t\t\t\t\t\t\t\t\t\t$index,\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{renderValue}\n\t\t\t\t\t\t\t</ElText>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Fragment>\n\t\t\t\t);\n\t\t\t} else if (props.render) {\n\t\t\t\treturn autoWidthRender(props.render({ row, column: columnCtx.value, $index, ...getTableDefaultSlots(tableState) }));\n\t\t\t} else if (props.slot) {\n\t\t\t\treturn autoWidthRender(\n\t\t\t\t\tslots[props.slot] && slots[props.slot]({ row, column: columnCtx.value, $index, ...getTableDefaultSlots(tableState) })\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tconst renderValue = formatterRender(row, column, row[props.prop], $index);\n\t\t\t\treturn autoWidthRender(\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t{copyRender(renderValue)}\n\t\t\t\t\t\t{renderValue}\n\t\t\t\t\t</Fragment>\n\t\t\t\t);\n\t\t\t}\n\t\t};\n\n\t\tlet elTableColumnProps: ComputedRef<TableColumnCtx<any>> = useProps(props, tableColumnProps, [\n\t\t\t\"type\",\n\t\t\t\"width\",\n\t\t\t\"minWidth\",\n\t\t\t\"sortable\",\n\t\t\t\"sortOrders\",\n\t\t\t\"resizable\",\n\t\t\t\"showOverflowTooltip\",\n\t\t]) as unknown as ComputedRef<TableColumnCtx<any>>;\n\n\t\twatch(\n\t\t\t() => props,\n\t\t\t() => {\n\t\t\t\telTableColumnProps = useProps(props, tableColumnProps, [\n\t\t\t\t\t\"type\",\n\t\t\t\t\t\"minWidth\",\n\t\t\t\t\t\"sortable\",\n\t\t\t\t\t\"sortOrders\",\n\t\t\t\t\t\"resizable\",\n\t\t\t\t\t\"showOverflowTooltip\",\n\t\t\t\t]) as unknown as ComputedRef<TableColumnCtx<any>>;\n\t\t\t}\n\t\t);\n\n\t\tuseRender(() => (\n\t\t\t<Fragment>\n\t\t\t\t{\n\t\t\t\t\t// 如果有配置多级表头的数据,则递归该组件\n\t\t\t\t\tprops._children?.length ? (\n\t\t\t\t\t\t<ElTableColumn\n\t\t\t\t\t\t\t{...elTableColumnProps.value}\n\t\t\t\t\t\t\tminWidth={getWidth(\"auto\")}\n\t\t\t\t\t\t\tsortable={props.sortable ? \"custom\" : false}\n\t\t\t\t\t\t\tsortOrders={props.sortOrders ?? [\"descending\", \"ascending\", null]}\n\t\t\t\t\t\t\tresizable={props.resizable && !props.autoWidth}\n\t\t\t\t\t\t\tshowOverflowTooltip={(props.showOverflowTooltip ?? true) && !props.autoWidth && props.type == \"default\"}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\theader: ({ column, $index }: { column: TableColumnCtx<any>; $index: number }) => headerRender({ column, $index }),\n\t\t\t\t\t\t\t\tdefault: () =>\n\t\t\t\t\t\t\t\t\tprops._children.map((col: FaTableColumnCtx) =>\n\t\t\t\t\t\t\t\t\t\th(\n\t\t\t\t\t\t\t\t\t\t\tresolveComponent(\"FaTableColumn\"),\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t...col,\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tslots\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t) : props.type === \"image\" ? (\n\t\t\t\t\t\t<ElTableColumn\n\t\t\t\t\t\t\t{...elTableColumnProps.value}\n\t\t\t\t\t\t\talign=\"center\"\n\t\t\t\t\t\t\tclassName=\"fa-table__image-column\"\n\t\t\t\t\t\t\tminWidth=\"50px\"\n\t\t\t\t\t\t\tsortable={false}\n\t\t\t\t\t\t\tresizable={false}\n\t\t\t\t\t\t\tshowOverflowTooltip={false}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\theader: ({ column, $index }: { column: TableColumnCtx<any>; $index: number }) => headerRender({ column, $index }),\n\t\t\t\t\t\t\t\tdefault: ({ row }: { row: any; column: TableColumnCtx<any>; $index: number }) =>\n\t\t\t\t\t\t\t\t\trow[props.prop] ? (\n\t\t\t\t\t\t\t\t\t\tprops.hideImage ? (\n\t\t\t\t\t\t\t\t\t\t\t<ElImage\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"fa-image\"\n\t\t\t\t\t\t\t\t\t\t\t\tlazy\n\t\t\t\t\t\t\t\t\t\t\t\tsrc={artwork}\n\t\t\t\t\t\t\t\t\t\t\t\tfit=\"cover\"\n\t\t\t\t\t\t\t\t\t\t\t\tpreviewSrcList={[row[props.prop]]}\n\t\t\t\t\t\t\t\t\t\t\t\tcloseOnPressEscape\n\t\t\t\t\t\t\t\t\t\t\t\thideOnClickModal\n\t\t\t\t\t\t\t\t\t\t\t\tpreviewTeleported\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t<FaImage lazy src={row[props.prop]} fit=\"cover\" original={props.originalImage} thumb />\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<ElImage class=\"fa-image\" lazy src={notImage} fit=\"cover\" />\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t// 其他正常的列\n\t\t\t\t\t\t<ElTableColumn\n\t\t\t\t\t\t\t{...elTableColumnProps.value}\n\t\t\t\t\t\t\tminWidth={getWidth(\"auto\")}\n\t\t\t\t\t\t\tsortable={props.sortable ? \"custom\" : false}\n\t\t\t\t\t\t\tsortOrders={props.sortOrders ?? [\"descending\", \"ascending\", null]}\n\t\t\t\t\t\t\tresizable={props.resizable && !props.autoWidth}\n\t\t\t\t\t\t\tshowOverflowTooltip={(props.showOverflowTooltip ?? true) && !props.autoWidth && props.type == \"default\"}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\theader: ({ column, $index }: { column: TableColumnCtx<any>; $index: number }) =>\n\t\t\t\t\t\t\t\t\tslots.header\n\t\t\t\t\t\t\t\t\t\t? slots.header({ column: columnCtx.value, $index, ...getTableDefaultSlots(tableState) })\n\t\t\t\t\t\t\t\t\t\t: headerRender({ column, $index }),\n\t\t\t\t\t\t\t\tdefault: ({ row, column, $index }: { row: any; column: TableColumnCtx<any>; $index: number }) =>\n\t\t\t\t\t\t\t\t\tslots.default\n\t\t\t\t\t\t\t\t\t\t? slots.default({ row, column: columnCtx.value, $index, ...getTableDefaultSlots(tableState) })\n\t\t\t\t\t\t\t\t\t\t: defaultRender({ row, column, $index }),\n\t\t\t\t\t\t\t\tfilterIcon: ({ filterOpened }: { filterOpened: boolean }) =>\n\t\t\t\t\t\t\t\t\tslots.filterIcon && slots.filterIcon({ filterOpened, ...getTableDefaultSlots(tableState) }),\n\t\t\t\t\t\t\t\texpand: ({ expanded }: { expanded: boolean }) =>\n\t\t\t\t\t\t\t\t\tslots.expand && slots.expand({ expanded, ...getTableDefaultSlots(tableState) }),\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t</Fragment>\n\t\t));\n\t},\n});\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","tableColumnProps","type","String","default","label","className","labelClassName","property","prop","width","Number","minWidth","renderHeader","Function","sortable","Boolean","sortMethod","sortBy","Array","resizable","columnKey","align","headerAlign","showOverflowTooltip","undefined","fixed","formatter","selectable","reserveSelection","filterMethod","filteredValue","filters","filterPlacement","filterMultiple","filterClassName","index","sortOrders","validator","val","every","order","includes","TableColumn","name","props","definePropType","show","smallWidth","autoWidth","slot","headerSlot","headerRender","render","_children","hideImage","copy","link","spanProp","click","clickEmit","originalImage","dateFix","dateFormat","tag","enum","dataDeleteField","timeInfoField","userName","time","emits","imagePreview","url","isString","customCellClick","emitName","row","column","$index","isNil","isObject","isNumber","slots","makeSlots","setup","emit","_globalSize","useGlobalSize","tableState","inject","tableStateKey","enumMap","enumMapKey","columnCtx","computed","getTagType","enumKey","enumData","get","tableUtil","filterEnum","handleRowAccordingToProp","getWidth","defAttr","findInfo","autoColumnWidth","find","f","value","autoWidthHeaderRender","el","_createVNode","class","getTableDefaultSlots","autoWidthRender","copyRender","ElIcon","title","onClick","async","stringUtil","ElMessage","message","error","consoleError","handleCopyClick","CopyDocument","formatterRender","cellValue","defaultRender","_slot","_Fragment","style","ElTag","round","effect","size","dateUtil","dateTimeFix","renderValue","renderCellData","formatValue","_slot2","dayjs","format","maximumFractionDigits","useGrouping","toLocaleString","minimumFractionDigits","ElText","elTableColumnProps","useProps","watch","useRender","length","ElTableColumn","_mergeProps","header","map","col","h","resolveComponent","ElImage","lazy","src","artwork","fit","previewSrcList","closeOnPressEscape","hideOnClickModal","previewTeleported","FaImage","original","thumb","notImage","filterIcon","filterOpened","expand","expanded"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tableColumn.js","sources":["../../../../../packages/components/table/src/tableColumn.tsx"],"sourcesContent":["import { Fragment, computed, defineComponent, h, inject, resolveComponent, watch } from \"vue\";\nimport { ElIcon, ElImage, ElMessage, ElTableColumn, ElTag, ElText, dayjs, useGlobalSize } from \"element-plus\";\nimport { CopyDocument } from \"@element-plus/icons-vue\";\nimport FaImage from \"@fast-element-plus/components/image\";\nimport { consoleError, dateUtil, definePropType, makeSlots, stringUtil, useProps, useRender } from \"@fast-china/utils\";\nimport { isArray, isFunction, isNil, isNumber, isObject, isString } from \"lodash-unified\";\nimport artwork from \"../images/artwork.png\";\nimport notImage from \"../images/notImage.png\";\nimport { tableUtil } from \"../utils/table\";\nimport { getTableDefaultSlots } from \"./table.type\";\nimport { enumMapKey, tableStateKey } from \"./useTable\";\nimport type {\n\tFaTableColumnCtx,\n\tFaTableColumnDateFormat,\n\tFaTableColumnType,\n\tFaTableDefaultSlotsResult,\n\tFaTableEnumColumnCtx,\n\tFaTableEnumColumnType,\n} from \"./table.type\";\nimport type { TableColumnCtx } from \"element-plus\";\nimport type { ComputedRef, PropType, VNode } from \"vue\";\n\ntype DefaultRow = any;\n\nexport const tableColumnProps = {\n\t/**\n\t * @description type of the column. If set to `selection`, the column will display checkbox. If set to `index`, the column will display index of the row (staring from 1). If set to `expand`, the column will display expand icon\n\t */\n\ttype: {\n\t\ttype: String,\n\t\tdefault: \"default\",\n\t},\n\t/**\n\t * @description column label\n\t */\n\tlabel: String,\n\t/**\n\t * @description class name of cells in the column\n\t */\n\tclassName: String,\n\t/**\n\t * @description class name of the label of this column\n\t */\n\tlabelClassName: String,\n\t/**\n\t * @description\n\t */\n\tproperty: String,\n\t/**\n\t * @description field name. You can also use its alias: `property`\n\t */\n\tprop: String,\n\t/**\n\t * @description column width\n\t */\n\twidth: {\n\t\ttype: [String, Number],\n\t\tdefault: \"\",\n\t},\n\t/**\n\t * @description column minimum width. Columns with `width` has a fixed width, while columns with `min-width` has a width that is distributed in proportion\n\t */\n\tminWidth: {\n\t\ttype: [String, Number],\n\t\tdefault: \"\",\n\t},\n\t/**\n\t * @description render function for table header of this column\n\t */\n\trenderHeader: Function as PropType<TableColumnCtx<DefaultRow>[\"renderHeader\"]>,\n\t/**\n\t * @description whether column can be sorted. Remote sorting can be done by setting this attribute to 'custom' and listening to the `sort-change` event of Table\n\t */\n\tsortable: {\n\t\ttype: [Boolean, String],\n\t\tdefault: false,\n\t},\n\t/**\n\t * @description sorting method, works when `sortable` is `true`. Should return a number, just like Array.sort\n\t */\n\tsortMethod: Function as PropType<TableColumnCtx<DefaultRow>[\"sortMethod\"]>,\n\t/**\n\t * @description specify which property to sort by, works when `sortable` is `true` and `sort-method` is `undefined`. If set to an Array, the column will sequentially sort by the next property if the previous one is equal\n\t */\n\tsortBy: [String, Function, Array] as PropType<TableColumnCtx<DefaultRow>[\"sortBy\"]>,\n\t/**\n\t * @description whether column width can be resized, works when `border` of `el-table` is `true`\n\t */\n\tresizable: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * @description column's key. If you need to use the filter-change event, you need this attribute to identify which column is being filtered\n\t */\n\tcolumnKey: String,\n\t/**\n\t * @description alignment, the value should be 'left' \\/ 'center' \\/ 'right'\n\t */\n\talign: String,\n\t/**\n\t * @description alignment of the table header. If omitted, the value of the above `align` attribute will be applied, the value should be 'left' \\/ 'center' \\/ 'right'\n\t */\n\theaderAlign: String,\n\t/**\n\t * @description whether to hide extra content and show them in a tooltip when hovering on the cell\n\t */\n\tshowOverflowTooltip: {\n\t\ttype: [Boolean, Object] as PropType<TableColumnCtx<DefaultRow>[\"showOverflowTooltip\"]>,\n\t\tdefault: undefined,\n\t},\n\t/**\n\t * @description whether column is fixed at left / right. Will be fixed at left if `true`\n\t */\n\tfixed: [Boolean, String],\n\t/**\n\t * @description function that formats cell content\n\t */\n\tformatter: Function as PropType<TableColumnCtx<DefaultRow>[\"formatter\"]>,\n\t/**\n\t * @description function that determines if a certain row can be selected, works when `type` is 'selection'\n\t */\n\tselectable: Function as PropType<TableColumnCtx<DefaultRow>[\"selectable\"]>,\n\t/**\n\t * @description whether to reserve selection after data refreshing, works when `type` is 'selection'. Note that `row-key` is required for this to work\n\t */\n\treserveSelection: Boolean,\n\t/**\n\t * @description data filtering method. If `filter-multiple` is on, this method will be called multiple times for each row, and a row will display if one of the calls returns `true`\n\t */\n\tfilterMethod: Function as PropType<TableColumnCtx<DefaultRow>[\"filterMethod\"]>,\n\t/**\n\t * @description filter value for selected data, might be useful when table header is rendered with `render-header`\n\t */\n\tfilteredValue: Array as PropType<TableColumnCtx<DefaultRow>[\"filteredValue\"]>,\n\t/**\n\t * @description an array of data filtering options. For each element in this array, `text` and `value` are required\n\t */\n\tfilters: Array as PropType<TableColumnCtx<DefaultRow>[\"filters\"]>,\n\t/**\n\t * @description placement for the filter dropdown\n\t */\n\tfilterPlacement: String,\n\t/**\n\t * @description whether data filtering supports multiple options\n\t */\n\tfilterMultiple: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * @description className for the filter dropdown\n\t */\n\tfilterClassName: String,\n\t/**\n\t * @description customize indices for each row, works on columns with `type=index`\n\t */\n\tindex: [Number, Function] as PropType<TableColumnCtx<DefaultRow>[\"index\"]>,\n\t/**\n\t * @description the order of the sorting strategies used when sorting the data, works when `sortable` is `true`. Accepts an array, as the user clicks on the header, the column is sorted in order of the elements in the array\n\t */\n\tsortOrders: {\n\t\ttype: Array as PropType<TableColumnCtx<DefaultRow>[\"sortOrders\"]>,\n\t\tdefault: (): TableColumnCtx<DefaultRow>[\"sortOrders\"] => {\n\t\t\treturn [\"ascending\", \"descending\", null];\n\t\t},\n\t\tvalidator: (val: TableColumnCtx<unknown>[\"sortOrders\"]): boolean => {\n\t\t\treturn val.every((order: string) => [\"ascending\", \"descending\", null].includes(order));\n\t\t},\n\t},\n};\n\ntype FaTableColumnSlotsResult = {\n\t/** @description slots为表格内容的时候才会返回 */\n\trow?: any;\n\t/** @description slot为表头内容的时候返回 'TableColumnCtx<any>' 否则返回 'FaTableColumnCtx' */\n\tcolumn?: TableColumnCtx<any> | FaTableColumnCtx;\n\t$index?: number;\n};\n\ntype FaTableColumnDefaultSlots = {\n\t[key: string]: FaTableDefaultSlotsResult & FaTableColumnSlotsResult;\n};\n\ntype FaTableColumnSlots = {\n\t/** @description 默认内容插槽 */\n\tdefault: FaTableDefaultSlotsResult & { row: any; column: FaTableColumnCtx; $index: number };\n\t/** @description 自定义表头的内容 */\n\theader: FaTableDefaultSlotsResult & { column: FaTableColumnCtx; $index: number };\n\t/** @description 自定义 filter 图标 */\n\tfilterIcon: FaTableDefaultSlotsResult & { filterOpened: boolean };\n\t/** @description 展开列的自定义内容 */\n\texpand: FaTableDefaultSlotsResult & { expanded: boolean };\n} & FaTableColumnDefaultSlots;\n\nexport default defineComponent({\n\tname: \"FaTableColumn\",\n\tprops: {\n\t\t...tableColumnProps,\n\t\t/**\n\t\t * @description type of the column. If set to `selection`, the column will display checkbox. If set to `index`, the column will display index of the row (staring from 1). If set to `expand`, the column will display expand icon\n\t\t */\n\t\ttype: {\n\t\t\ttype: definePropType<FaTableColumnType>(String),\n\t\t\tdefault: \"default\",\n\t\t},\n\t\t/**\n\t\t * @description column width\n\t\t */\n\t\twidth: {\n\t\t\ttype: [String, Number],\n\t\t\tdefault: \"auto\",\n\t\t},\n\t\t/** @description alignment, the value should be 'left' \\/ 'center' \\/ 'right' */\n\t\talign: {\n\t\t\ttype: String,\n\t\t\tdefault: \"left\",\n\t\t},\n\t\t/** @description alignment of the table header. If omitted, the value of the above `align` attribute will be applied, the value should be 'left' \\/ 'center' \\/ 'right' */\n\t\theaderAlign: {\n\t\t\ttype: String,\n\t\t\tdefault: \"left\",\n\t\t},\n\t\t/** @description 是否显示在表格当中 */\n\t\tshow: Boolean,\n\t\t/** @description 小页面的宽度,如果为空,则继承默认宽度 */\n\t\tsmallWidth: {\n\t\t\ttype: [String, Number],\n\t\t},\n\t\t/** @description 自适应宽度 */\n\t\tautoWidth: Boolean,\n\t\t/** @description 插槽名称 */\n\t\tslot: String,\n\t\t/** @description 表格头部插槽名称 */\n\t\theaderSlot: String,\n\t\t/** @description 自定义表头内容渲染(tsx语法) */\n\t\theaderRender: {\n\t\t\ttype: definePropType<({ column, $index }: { column: TableColumnCtx<any>; $index: number } & FaTableDefaultSlotsResult) => VNode[]>(\n\t\t\t\tFunction\n\t\t\t),\n\t\t},\n\t\t/** @description 自定义单元格内容渲染(tsx语法) */\n\t\trender: {\n\t\t\ttype: definePropType<\n\t\t\t\t({ row, column, $index }: { row: any; column: FaTableColumnCtx; $index: number } & FaTableDefaultSlotsResult) => VNode[]\n\t\t\t>(Function),\n\t\t},\n\t\t/** @description 多级表头 */\n\t\t_children: {\n\t\t\ttype: definePropType<FaTableColumnCtx[]>(Array),\n\t\t},\n\t\t/** @description 隐藏图片 */\n\t\thideImage: Boolean,\n\t\t/** @description 复制 */\n\t\tcopy: Boolean,\n\t\t/** @description 是否为 Link Button */\n\t\tlink: Boolean,\n\t\t/** @description 合并行字段 */\n\t\tspanProp: String,\n\t\t/** @description Link 按钮的点击事件,优先级最高 */\n\t\tclick: {\n\t\t\ttype: definePropType<({ row, $index }: { row: any; $index?: number }) => void>(Function),\n\t\t},\n\t\t/** @description 点击Emits事件回调 */\n\t\tclickEmit: String,\n\t\t/** @description 图片列是否显示为原图,默认 false 显示缩略图 */\n\t\toriginalImage: Boolean,\n\t\t/** @description 显示时间格式化字符串 */\n\t\tdateFix: Boolean,\n\t\t/** @description 显示在页面中的日期格式 */\n\t\tdateFormat: {\n\t\t\ttype: definePropType<FaTableColumnDateFormat>(String),\n\t\t},\n\t\t/** @description 是否是标签展示 */\n\t\ttag: Boolean,\n\t\t/** @description 枚举类型(渲染值的字典) */\n\t\tenum: {\n\t\t\ttype: definePropType<FaTableEnumColumnType>([Array, Function]),\n\t\t},\n\t\t/** @description 数据删除字段,如果为 true 会显示遮罩层 */\n\t\tdataDeleteField: String,\n\t\t/** @description 时间信息字段 */\n\t\ttimeInfoField: {\n\t\t\ttype: definePropType<{ userName?: string; time?: string }>(Object),\n\t\t\tdefault: () => ({\n\t\t\t\tuserName: \"createdUserName\",\n\t\t\t\ttime: \"createdTime\",\n\t\t\t}),\n\t\t},\n\t},\n\temits: {\n\t\t/** @description 图片预览 */\n\t\timagePreview: (url: string): boolean => isString(url),\n\t\t/** @description 自定义单元格点击事件 */\n\t\tcustomCellClick: (emitName: string, { row, column, $index }: { row: any; column: FaTableColumnCtx; $index: number }): boolean =>\n\t\t\t(isNil(emitName) || isString(emitName)) && isObject(row) && isObject(column) && isNumber($index),\n\t},\n\tslots: makeSlots<FaTableColumnSlots>(),\n\tsetup(props, { slots, emit }) {\n\t\tconst _globalSize = useGlobalSize();\n\t\tconst tableState = inject(tableStateKey);\n\t\tconst enumMap = inject(enumMapKey);\n\n\t\tconst columnCtx = computed(() => props as unknown as FaTableColumnCtx);\n\n\t\t/** 获取ClassName */\n\t\tconst getClassName = (): string => {\n\t\t\tlet className = \"\";\n\t\t\tif (props.type === \"timeInfo\") {\n\t\t\t\tclassName += \"fa-table__line-height-normal-column\";\n\t\t\t}\n\t\t\tif (props.type === \"date\" || props.type === \"time\" || props.type === \"dateTime\") {\n\t\t\t\tif (props.dateFix) {\n\t\t\t\t\tclassName += \"fa-table__line-height-normal-column\";\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (props.className) {\n\t\t\t\treturn `${className} ${props.className}`;\n\t\t\t}\n\t\t\treturn className ? className : undefined;\n\t\t};\n\n\t\t/** 获取宽度 */\n\t\tconst getWidth = (defAttr: string): string | number => {\n\t\t\tif (props.autoWidth) {\n\t\t\t\treturn computed(() => {\n\t\t\t\t\tconst findInfo = tableState.autoColumnWidth.find((f) => f.prop === props.prop);\n\t\t\t\t\tif (findInfo) {\n\t\t\t\t\t\treturn `${findInfo.width}px`;\n\t\t\t\t\t}\n\t\t\t\t\treturn \"auto\";\n\t\t\t\t}).value;\n\t\t\t}\n\t\t\tif (_globalSize.value === \"small\") {\n\t\t\t\treturn props.smallWidth ?? props.width ?? props.minWidth ?? defAttr ?? \"auto\";\n\t\t\t}\n\t\t\treturn props.width ?? props.minWidth ?? defAttr ?? \"auto\";\n\t\t};\n\n\t\t/** 表头自动宽度渲染 */\n\t\tconst autoWidthHeaderRender = (el: VNode[]): VNode[] => {\n\t\t\tif (props.autoWidth) {\n\t\t\t\treturn (\n\t\t\t\t\t<div class={[\"fa-table__auto-width-column__cell-header\", `__fa-table__auto-width-column__cell-header__${props.prop}`]}>{el}</div>\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\treturn el;\n\t\t\t}\n\t\t};\n\n\t\t/** 自动宽度渲染 */\n\t\tconst autoWidthRender = (el: VNode[]): VNode[] => {\n\t\t\tif (props.autoWidth) {\n\t\t\t\treturn <div class={[\"fa-table__auto-width-column__cell\", `__fa-table__auto-width-column__cell__${props.prop}`]}>{el}</div>;\n\t\t\t} else {\n\t\t\t\treturn el;\n\t\t\t}\n\t\t};\n\n\t\t/** 表头渲染 */\n\t\tconst headerRender = ({ column, $index }: { column: TableColumnCtx<any>; $index: number }): VNode[] => {\n\t\t\tif (props.headerRender) {\n\t\t\t\treturn autoWidthHeaderRender(props.headerRender({ column, $index, ...getTableDefaultSlots(tableState) }));\n\t\t\t} else if (props.headerSlot) {\n\t\t\t\treturn autoWidthHeaderRender(\n\t\t\t\t\tslots[props.headerSlot] && slots[props.headerSlot]({ column, $index, ...getTableDefaultSlots(tableState) })\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\treturn autoWidthHeaderRender(<span>{props.label}</span>);\n\t\t\t}\n\t\t};\n\n\t\t/** 复制渲染 */\n\t\tconst copyRender = (value, copy?: boolean): VNode[] => {\n\t\t\treturn (\n\t\t\t\t(props.copy || copy) &&\n\t\t\t\tvalue && (\n\t\t\t\t\t<ElIcon\n\t\t\t\t\t\tclass=\"fa__copy-icon\"\n\t\t\t\t\t\ttitle=\"复制\"\n\t\t\t\t\t\tonClick={async () => {\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tawait stringUtil.copy(String(value));\n\t\t\t\t\t\t\t\tElMessage({\n\t\t\t\t\t\t\t\t\ttype: \"success\",\n\t\t\t\t\t\t\t\t\tmessage: \"复制成功\",\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\t\t\tconsoleError(\"FaTableColumn\", error);\n\t\t\t\t\t\t\t\tElMessage({\n\t\t\t\t\t\t\t\t\ttype: \"error\",\n\t\t\t\t\t\t\t\t\tmessage: \"复制失败\",\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<CopyDocument />\n\t\t\t\t\t</ElIcon>\n\t\t\t\t)\n\t\t\t);\n\t\t};\n\n\t\t/** 渲染单元格数据 */\n\t\tconst renderCellData = ({ row }: { row: any }): any => {\n\t\t\tconst cellValue = tableUtil.handleRowAccordingToProp(row, props.prop);\n\n\t\t\tlet enumKey = props.prop;\n\t\t\tlet enumData: FaTableEnumColumnCtx[];\n\n\t\t\tif (isString(props.enum)) {\n\t\t\t\tenumKey = props.enum;\n\t\t\t\tenumData = enumMap.get(enumKey);\n\t\t\t} else if (isArray(props.enum)) {\n\t\t\t\tenumData = props.enum;\n\t\t\t} else if (isFunction(props.enum)) {\n\t\t\t\tenumData = props.enum({ row });\n\t\t\t}\n\n\t\t\tif (enumData) {\n\t\t\t\treturn tableUtil.filterEnum(cellValue, enumData);\n\t\t\t} else {\n\t\t\t\treturn tableUtil.formatValue(cellValue);\n\t\t\t}\n\t\t};\n\n\t\t/** 格式化渲染 */\n\t\tconst formatterRender = (row: any, column: TableColumnCtx<any>, cellValue: any, index: number): any => {\n\t\t\tif (column.formatter) {\n\t\t\t\treturn column.formatter(row, column, cellValue, index);\n\t\t\t} else {\n\t\t\t\treturn cellValue;\n\t\t\t}\n\t\t};\n\n\t\t/** 时间信息列渲染 */\n\t\tconst timeInfoRender = (row: any, column: TableColumnCtx<any>, $index: number): VNode[] => {\n\t\t\tconst userName = row[props.timeInfoField?.userName ?? \"createdUserName\"];\n\t\t\tconst time = row[props.timeInfoField?.time ?? \"createdTime\"];\n\t\t\treturn (\n\t\t\t\t<Fragment>\n\t\t\t\t\t<div style=\"white-space: nowrap; overflow: hidden; text-overflow: ellipsis;\" title={time}>\n\t\t\t\t\t\t{userName && <span style=\"margin-right: 5px;\">{userName}</span>}\n\t\t\t\t\t\t<span>{time}</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t{time && (\n\t\t\t\t\t\t<ElTag type=\"info\" round effect=\"light\" size=\"small\">\n\t\t\t\t\t\t\t{dateUtil.dateTimeFix(String(time))}\n\t\t\t\t\t\t</ElTag>\n\t\t\t\t\t)}\n\t\t\t\t</Fragment>\n\t\t\t);\n\t\t};\n\n\t\t/** 标签列渲染 */\n\t\tconst tagRender = (row: any, column: TableColumnCtx<any>, $index: number): VNode[] => {\n\t\t\tconst renderValue = formatterRender(row, column, renderCellData({ row }), $index);\n\t\t\tlet enumKey = props.prop;\n\t\t\tif (isString(props.enum)) {\n\t\t\t\tenumKey = props.enum;\n\t\t\t}\n\t\t\tconst enumData = enumMap.get(enumKey);\n\t\t\tconst type = tableUtil.filterEnum(tableUtil.handleRowAccordingToProp(row, props.prop), enumData, null, \"tag\");\n\t\t\treturn (\n\t\t\t\t<Fragment>\n\t\t\t\t\t{copyRender(renderValue)}\n\t\t\t\t\t{renderValue ? <ElTag type={type}>{renderValue}</ElTag> : null}\n\t\t\t\t</Fragment>\n\t\t\t);\n\t\t};\n\n\t\t/** 时间列渲染 */\n\t\tconst dateRender = (row: any, column: TableColumnCtx<any>, $index: number): VNode[] => {\n\t\t\tlet dateFormat;\n\t\t\tswitch (props.type) {\n\t\t\t\tcase \"date\":\n\t\t\t\t\tdateFormat = \"YYYY-MM-DD\";\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"time\":\n\t\t\t\t\tdateFormat = \"HH:mm:ss\";\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"dateTime\":\n\t\t\t\t\tdateFormat = \"YYYY-MM-DD HH:mm:ss\";\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tconst renderValue = row[props.prop]\n\t\t\t\t? formatterRender(row, column, dayjs(row[props.prop]).format(props.dateFormat ?? dateFormat), $index)\n\t\t\t\t: null;\n\t\t\treturn (\n\t\t\t\t<Fragment>\n\t\t\t\t\t{copyRender(renderValue)}\n\t\t\t\t\t{renderValue}\n\t\t\t\t\t{props.dateFix && renderValue && (\n\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t<ElTag type=\"info\" round effect=\"light\" size=\"small\">\n\t\t\t\t\t\t\t\t{dateUtil.dateTimeFix(String(renderValue))}\n\t\t\t\t\t\t\t</ElTag>\n\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t)}\n\t\t\t\t</Fragment>\n\t\t\t);\n\t\t};\n\n\t\t/** 数值列渲染 */\n\t\tconst numberRender = (row: any, column: TableColumnCtx<any>, $index: number): VNode[] => {\n\t\t\tconst renderValue = row[props.prop];\n\t\t\tif (!renderValue || !isNumber(renderValue)) {\n\t\t\t\treturn formatterRender(row, column, renderValue, $index);\n\t\t\t}\n\t\t\tlet useGrouping = false;\n\t\t\tlet maximumFractionDigits: number;\n\t\t\tswitch (props.type) {\n\t\t\t\tcase \"d2\":\n\t\t\t\t\tmaximumFractionDigits = 2;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"d4\":\n\t\t\t\t\tmaximumFractionDigits = 4;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"d6\":\n\t\t\t\t\tmaximumFractionDigits = 6;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"gd2\":\n\t\t\t\t\tmaximumFractionDigits = 2;\n\t\t\t\t\tuseGrouping = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"gd4\":\n\t\t\t\t\tmaximumFractionDigits = 4;\n\t\t\t\t\tuseGrouping = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"gd6\":\n\t\t\t\t\tmaximumFractionDigits = 6;\n\t\t\t\t\tuseGrouping = true;\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\treturn formatterRender(\n\t\t\t\trow,\n\t\t\t\tcolumn,\n\t\t\t\trenderValue.toLocaleString(\"zh-CN\", {\n\t\t\t\t\tminimumFractionDigits: 2,\n\t\t\t\t\tmaximumFractionDigits,\n\t\t\t\t\tuseGrouping,\n\t\t\t\t}),\n\t\t\t\t$index\n\t\t\t);\n\t\t};\n\n\t\t/** 链接列渲染 */\n\t\tconst linkRender = (row: any, column: TableColumnCtx<any>, $index: number): VNode[] => {\n\t\t\tconst renderValue = formatterRender(row, column, row[props.prop], $index);\n\t\t\treturn autoWidthRender(\n\t\t\t\t<Fragment>\n\t\t\t\t\t{copyRender(renderValue)}\n\t\t\t\t\t{renderValue && (\n\t\t\t\t\t\t<ElText\n\t\t\t\t\t\t\tclass={\"el-link is-hover-underline fa-table__link-column__text\"}\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t// 数据删除拦截点击\n\t\t\t\t\t\t\t\tif (props.dataDeleteField && row[props.dataDeleteField] === true) return;\n\t\t\t\t\t\t\t\tif (props.click) {\n\t\t\t\t\t\t\t\t\tprops.click({ row, $index });\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\temit(\"customCellClick\", props.clickEmit, {\n\t\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t\t\tcolumn: columnCtx.value,\n\t\t\t\t\t\t\t\t\t\t$index,\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{renderValue}\n\t\t\t\t\t\t</ElText>\n\t\t\t\t\t)}\n\t\t\t\t</Fragment>\n\t\t\t);\n\t\t};\n\n\t\tconst defaultRender = ({ row, column, $index }: { row: any; column: TableColumnCtx<any>; $index: number }): VNode[] => {\n\t\t\tif (props.type === \"timeInfo\") {\n\t\t\t\treturn timeInfoRender(row, column, $index);\n\t\t\t}\n\t\t\tif (props.tag) {\n\t\t\t\treturn tagRender(row, column, $index);\n\t\t\t}\n\t\t\tif (props.type === \"date\" || props.type === \"time\" || props.type === \"dateTime\") {\n\t\t\t\treturn dateRender(row, column, $index);\n\t\t\t}\n\t\t\tif (\n\t\t\t\tprops.type === \"d2\" ||\n\t\t\t\tprops.type === \"d4\" ||\n\t\t\t\tprops.type === \"d6\" ||\n\t\t\t\tprops.type === \"gd2\" ||\n\t\t\t\tprops.type === \"gd4\" ||\n\t\t\t\tprops.type === \"gd6\"\n\t\t\t) {\n\t\t\t\treturn numberRender(row, column, $index);\n\t\t\t}\n\t\t\tif (props.link) {\n\t\t\t\treturn linkRender(row, column, $index);\n\t\t\t}\n\t\t\tif (props.render) {\n\t\t\t\treturn autoWidthRender(props.render({ row, column: columnCtx.value, $index, ...getTableDefaultSlots(tableState) }));\n\t\t\t}\n\t\t\tif (props.slot) {\n\t\t\t\treturn autoWidthRender(\n\t\t\t\t\tslots[props.slot] && slots[props.slot]({ row, column: columnCtx.value, $index, ...getTableDefaultSlots(tableState) })\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst renderValue = formatterRender(row, column, row[props.prop], $index);\n\t\t\treturn autoWidthRender(\n\t\t\t\t<Fragment>\n\t\t\t\t\t{copyRender(renderValue)}\n\t\t\t\t\t{renderValue}\n\t\t\t\t</Fragment>\n\t\t\t);\n\t\t};\n\n\t\tlet elTableColumnProps: ComputedRef<TableColumnCtx<any>> = useProps(props, tableColumnProps, [\n\t\t\t\"type\",\n\t\t\t\"width\",\n\t\t\t\"minWidth\",\n\t\t\t\"sortable\",\n\t\t\t\"sortOrders\",\n\t\t\t\"resizable\",\n\t\t\t\"showOverflowTooltip\",\n\t\t]) as unknown as ComputedRef<TableColumnCtx<any>>;\n\n\t\twatch(\n\t\t\t() => props,\n\t\t\t() => {\n\t\t\t\telTableColumnProps = useProps(props, tableColumnProps, [\n\t\t\t\t\t\"type\",\n\t\t\t\t\t\"className\",\n\t\t\t\t\t\"minWidth\",\n\t\t\t\t\t\"sortable\",\n\t\t\t\t\t\"sortOrders\",\n\t\t\t\t\t\"resizable\",\n\t\t\t\t\t\"showOverflowTooltip\",\n\t\t\t\t]) as unknown as ComputedRef<TableColumnCtx<any>>;\n\t\t\t}\n\t\t);\n\n\t\tuseRender(() => (\n\t\t\t<Fragment>\n\t\t\t\t{\n\t\t\t\t\t// 如果有配置多级表头的数据,则递归该组件\n\t\t\t\t\tprops._children?.length ? (\n\t\t\t\t\t\t<ElTableColumn\n\t\t\t\t\t\t\t{...elTableColumnProps.value}\n\t\t\t\t\t\t\tclassName={getClassName()}\n\t\t\t\t\t\t\tminWidth={getWidth(\"auto\")}\n\t\t\t\t\t\t\tsortable={props.sortable ? \"custom\" : false}\n\t\t\t\t\t\t\tsortOrders={props.sortOrders ?? [\"descending\", \"ascending\", null]}\n\t\t\t\t\t\t\tresizable={props.resizable && !props.autoWidth}\n\t\t\t\t\t\t\tshowOverflowTooltip={(props.showOverflowTooltip ?? true) && !props.autoWidth && props.type == \"default\"}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\theader: ({ column, $index }: { column: TableColumnCtx<any>; $index: number }) => headerRender({ column, $index }),\n\t\t\t\t\t\t\t\tdefault: () =>\n\t\t\t\t\t\t\t\t\tprops._children.map((col: FaTableColumnCtx) =>\n\t\t\t\t\t\t\t\t\t\th(\n\t\t\t\t\t\t\t\t\t\t\tresolveComponent(\"FaTableColumn\"),\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t...col,\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tslots\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t) : props.type === \"image\" ? (\n\t\t\t\t\t\t<ElTableColumn\n\t\t\t\t\t\t\t{...elTableColumnProps.value}\n\t\t\t\t\t\t\talign=\"center\"\n\t\t\t\t\t\t\tclassName=\"fa-table__image-column\"\n\t\t\t\t\t\t\tminWidth=\"50px\"\n\t\t\t\t\t\t\tsortable={false}\n\t\t\t\t\t\t\tresizable={false}\n\t\t\t\t\t\t\tshowOverflowTooltip={false}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\theader: ({ column, $index }: { column: TableColumnCtx<any>; $index: number }) => headerRender({ column, $index }),\n\t\t\t\t\t\t\t\tdefault: ({ row }: { row: any; column: TableColumnCtx<any>; $index: number }) =>\n\t\t\t\t\t\t\t\t\trow[props.prop] ? (\n\t\t\t\t\t\t\t\t\t\tprops.hideImage ? (\n\t\t\t\t\t\t\t\t\t\t\t<ElImage\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"fa-image\"\n\t\t\t\t\t\t\t\t\t\t\t\tlazy\n\t\t\t\t\t\t\t\t\t\t\t\tsrc={artwork}\n\t\t\t\t\t\t\t\t\t\t\t\tfit=\"cover\"\n\t\t\t\t\t\t\t\t\t\t\t\tpreviewSrcList={[row[props.prop]]}\n\t\t\t\t\t\t\t\t\t\t\t\tcloseOnPressEscape\n\t\t\t\t\t\t\t\t\t\t\t\thideOnClickModal\n\t\t\t\t\t\t\t\t\t\t\t\tpreviewTeleported\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t<FaImage lazy src={row[props.prop]} fit=\"cover\" original={props.originalImage} thumb />\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<ElImage class=\"fa-image\" lazy src={notImage} fit=\"cover\" />\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t// 其他正常的列\n\t\t\t\t\t\t<ElTableColumn\n\t\t\t\t\t\t\t{...elTableColumnProps.value}\n\t\t\t\t\t\t\tclassName={getClassName()}\n\t\t\t\t\t\t\tminWidth={getWidth(\"auto\")}\n\t\t\t\t\t\t\tsortable={props.sortable ? \"custom\" : false}\n\t\t\t\t\t\t\tsortOrders={props.sortOrders ?? [\"descending\", \"ascending\", null]}\n\t\t\t\t\t\t\tresizable={props.resizable && !props.autoWidth}\n\t\t\t\t\t\t\tshowOverflowTooltip={(props.showOverflowTooltip ?? true) && !props.autoWidth && props.type == \"default\"}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\theader: ({ column, $index }: { column: TableColumnCtx<any>; $index: number }) =>\n\t\t\t\t\t\t\t\t\tslots.header\n\t\t\t\t\t\t\t\t\t\t? slots.header({ column: columnCtx.value, $index, ...getTableDefaultSlots(tableState) })\n\t\t\t\t\t\t\t\t\t\t: headerRender({ column, $index }),\n\t\t\t\t\t\t\t\tdefault: ({ row, column, $index }: { row: any; column: TableColumnCtx<any>; $index: number }) =>\n\t\t\t\t\t\t\t\t\tslots.default\n\t\t\t\t\t\t\t\t\t\t? slots.default({ row, column: columnCtx.value, $index, ...getTableDefaultSlots(tableState) })\n\t\t\t\t\t\t\t\t\t\t: defaultRender({ row, column, $index }),\n\t\t\t\t\t\t\t\tfilterIcon: ({ filterOpened }: { filterOpened: boolean }) =>\n\t\t\t\t\t\t\t\t\tslots.filterIcon && slots.filterIcon({ filterOpened, ...getTableDefaultSlots(tableState) }),\n\t\t\t\t\t\t\t\texpand: ({ expanded }: { expanded: boolean }) =>\n\t\t\t\t\t\t\t\t\tslots.expand && slots.expand({ expanded, ...getTableDefaultSlots(tableState) }),\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t</Fragment>\n\t\t));\n\t},\n});\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","tableColumnProps","type","String","default","label","className","labelClassName","property","prop","width","Number","minWidth","renderHeader","Function","sortable","Boolean","sortMethod","sortBy","Array","resizable","columnKey","align","headerAlign","showOverflowTooltip","undefined","fixed","formatter","selectable","reserveSelection","filterMethod","filteredValue","filters","filterPlacement","filterMultiple","filterClassName","index","sortOrders","validator","val","every","order","includes","TableColumn","name","props","definePropType","show","smallWidth","autoWidth","slot","headerSlot","headerRender","render","_children","hideImage","copy","link","spanProp","click","clickEmit","originalImage","dateFix","dateFormat","tag","enum","dataDeleteField","timeInfoField","userName","time","emits","imagePreview","url","isString","customCellClick","emitName","row","column","$index","isNil","isObject","isNumber","slots","makeSlots","setup","emit","_globalSize","useGlobalSize","tableState","inject","tableStateKey","enumMap","enumMapKey","columnCtx","computed","getClassName","getWidth","defAttr","findInfo","autoColumnWidth","find","f","value","autoWidthHeaderRender","el","_createVNode","class","autoWidthRender","getTableDefaultSlots","copyRender","ElIcon","title","onClick","async","stringUtil","ElMessage","message","error","consoleError","CopyDocument","formatterRender","cellValue","tagRender","renderValue","renderCellData","tableUtil","handleRowAccordingToProp","enumData","enumKey","get","isArray","isFunction","filterEnum","formatValue","_Fragment","ElTag","defaultRender","timeInfoRender","_slot","style","round","effect","size","dateUtil","dateTimeFix","dateRender","_slot2","dayjs","format","numberRender","maximumFractionDigits","useGrouping","toLocaleString","minimumFractionDigits","linkRender","ElText","elTableColumnProps","useProps","watch","useRender","length","ElTableColumn","_mergeProps","header","map","col","h","resolveComponent","ElImage","lazy","src","artwork","fit","previewSrcList","closeOnPressEscape","hideOnClickModal","previewTeleported","FaImage","original","thumb","notImage","filterIcon","filterOpened","expand","expanded"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),l=require("element-plus"),a=require("../../dialog/index.js"),o=require("@fast-china/utils"),t=require("sortablejs"),d=require("./useTable.js"),r=e.defineComponent({name:"FaTableColumnsSettingDialog",props:{change:{type:o.definePropType(Function)}},setup(r,{expose:n}){const c=e.inject(d.tableStateKey),i=e.reactive({tableKey:o.stringUtil.generateRandomString(8),sortableInstance:void 0,change:!1}),u=e.ref(),s=e=>e+1,m=async()=>{i.change?r.change&&await r.change(c.orgColumns):l.ElMessage.info("列配置未发生变化")},p=()=>{u.value.close(async()=>{await m()})},b=()=>{i.change=!0;let e=c.orgColumns.filter(e=>!e?.pureSearch);e=e.sort((l,a)=>l.order!==a.order?l.order-a.order:e.indexOf(a)-e.indexOf(l)),c.orgColumns=[...e,...c.orgColumns.filter(e=>e?.pureSearch)],c.orgColumns.forEach((e,l)=>{e.order=l+1})},h=()=>{i.change=!0},V=(e,l=!1)=>{const a={modelValue:void 0,disabled:!1,placeholder:void 0};if(e?.type)switch(e?.type){case"expand":a.disabled=!0,a.placeholder="暂不支持宽度配置";break;case"image":a.disabled=!0,a.placeholder="图片列无需配置";break;case"date":case"time":case"dateTime":a.disabled=!0,a.placeholder="时间/日期列无需配置";break;case"timeInfo":a.disabled=!0,a.placeholder="当前列无需配置"}else e?.tag?(a.disabled=!0,a.placeholder="标签列无需配置"):e?.autoWidth&&(a.disabled=!0,a.placeholder="自动列宽无需配置");return a.disabled||(delete a.disabled,delete a.modelValue,delete a.placeholder),l&&delete a.placeholder,a},g=(e,l=!1,a=!1,o=!1)=>{const t={modelValue:void 0,disabled:!1,placeholder:void 0};return e?.pureSearch&&(t.disabled=!0,t.placeholder="搜索列无需配置"),t.disabled?o&&delete t.modelValue:(delete t.disabled,delete t.modelValue,delete t.placeholder),l&&delete t.placeholder,a&&(t.placeholder="999"),t};return o.useRender(()=>e.createVNode(a.FaDialog,{ref:u,class:"fa-table__column-setting-dialog",onConfirmClick:p,showFullscreen:!1,confirmButtonText:i.change?"保存更改":"确认",
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),l=require("element-plus"),a=require("../../dialog/index.js"),o=require("@fast-china/utils"),t=require("sortablejs"),d=require("./useTable.js"),r=e.defineComponent({name:"FaTableColumnsSettingDialog",props:{change:{type:o.definePropType(Function)}},setup(r,{expose:n}){const c=e.inject(d.tableStateKey),i=e.reactive({tableKey:o.stringUtil.generateRandomString(8),sortableInstance:void 0,change:!1}),u=e.ref(),s=e=>e+1,m=async()=>{i.change?r.change&&await r.change(c.orgColumns):l.ElMessage.info("列配置未发生变化")},p=()=>{u.value.close(async()=>{await m()})},b=()=>{i.change=!0;let e=c.orgColumns.filter(e=>!e?.pureSearch);e=e.sort((l,a)=>l.order!==a.order?l.order-a.order:e.indexOf(a)-e.indexOf(l)),c.orgColumns=[...e,...c.orgColumns.filter(e=>e?.pureSearch)],c.orgColumns.forEach((e,l)=>{e.order=l+1})},h=()=>{i.change=!0},V=(e,l=!1)=>{const a={modelValue:void 0,disabled:!1,placeholder:void 0};if(e?.type)switch(e?.type){case"expand":a.disabled=!0,a.placeholder="暂不支持宽度配置";break;case"image":a.disabled=!0,a.placeholder="图片列无需配置";break;case"date":case"time":case"dateTime":a.disabled=!0,a.placeholder="时间/日期列无需配置";break;case"timeInfo":a.disabled=!0,a.placeholder="当前列无需配置"}else e?.tag?(a.disabled=!0,a.placeholder="标签列无需配置"):e?.autoWidth&&(a.disabled=!0,a.placeholder="自动列宽无需配置");return a.disabled||(delete a.disabled,delete a.modelValue,delete a.placeholder),l&&delete a.placeholder,a},g=(e,l=!1,a=!1,o=!1)=>{const t={modelValue:void 0,disabled:!1,placeholder:void 0};return e?.pureSearch&&(t.disabled=!0,t.placeholder="搜索列无需配置"),t.disabled?o&&delete t.modelValue:(delete t.disabled,delete t.modelValue,delete t.placeholder),l&&delete t.placeholder,a&&(t.placeholder="999"),t};return o.useRender(()=>e.createVNode(a.FaDialog,{ref:u,class:"fa-table__column-setting-dialog",onConfirmClick:p,showFullscreen:!1,confirmButtonText:i.change?"保存更改":"确认",fullHeight:!0},{header:()=>e.createVNode(e.Fragment,null,[e.createTextVNode("列表配置(留空则恢复默认配置)"),e.createVNode(e.resolveComponent("el-text"),{type:"info"},{default:()=>[e.createTextVNode("点击保存才会进行数据缓存,点击取消为本此生效")]})]),default:()=>e.createVNode(l.ElTable,{class:["fa-table__column-setting",`fa-table__column-setting-${i.tableKey}`],data:c.orgColumns,rowKey:"prop",border:!0},{default:()=>e.createVNode(e.Fragment,null,[e.createVNode(l.ElTableColumn,{type:"index",fixed:"left",align:"center",width:45,index:s},null),e.createVNode(l.ElTableColumn,{label:"列显示名称",minWidth:200},{default:({row:a})=>"image"===a.type?e.createVNode(l.ElInput,{disabled:!0,readonly:!0,modelValue:a.label,"onUpdate:modelValue":e=>a.label=e,placeholder:"请输入列显示名称",onChange:h},null):e.createVNode(l.ElInput,e.mergeProps({modelValue:a.label,"onUpdate:modelValue":e=>a.label=e,placeholder:"请输入列显示名称"},g(a),{onChange:h}),null)}),e.createVNode(l.ElTableColumn,{label:"固定",width:230},{default:({row:a})=>e.createVNode(l.ElRadioGroup,e.mergeProps({modelValue:a.fixed,"onUpdate:modelValue":e=>a.fixed=e},g(a,!1,!1,!0),{onChange:h}),{default:()=>[e.createVNode(l.ElRadio,{value:!1},{default:()=>[e.createTextVNode("无")]}),e.createVNode(l.ElRadio,{value:"left"},{default:()=>[e.createTextVNode("左侧")]}),e.createVNode(l.ElRadio,{value:"right"},{default:()=>[e.createTextVNode("右侧")]})]})}),e.createVNode(l.ElTableColumn,{label:"宽度",width:200},{default:({row:a})=>e.createVNode(l.ElInputNumber,e.mergeProps({modelValue:a.width,"onUpdate:modelValue":e=>a.width=e,min:1,max:999,stepStrictly:!0,controls:!1,clearable:!0,placeholder:"请输入宽度"},V(a),g(a),{onChange:h}),{suffix:()=>e.createVNode("span",null,[e.createTextVNode("px")])})}),e.createVNode(l.ElTableColumn,{label:"小的宽度",width:200},{default:({row:a})=>e.createVNode(l.ElInputNumber,e.mergeProps({modelValue:a.smallWidth,"onUpdate:modelValue":e=>a.smallWidth=e,min:1,max:999,stepStrictly:!0,controls:!1,clearable:!0,placeholder:"请输入小的宽度"},V(a),g(a),{onChange:h}),{suffix:()=>e.createVNode("span",null,[e.createTextVNode("px")])})}),e.createVNode(l.ElTableColumn,{label:"顺序",width:100},{default:({row:a})=>e.createVNode(l.ElInputNumber,e.mergeProps({style:"width: auto;",modelValue:a.order,"onUpdate:modelValue":e=>a.order=e,min:1,max:999,stepStrictly:!0,controls:!1,clearable:!0,placeholder:"请输入顺序"},g(a,!1,!0),{onChange:b}),null)}),e.createVNode(l.ElTableColumn,{label:"排序",width:65},{default:({row:a})=>e.createVNode(l.ElSwitch,e.mergeProps({modelValue:a.sortable,"onUpdate:modelValue":e=>a.sortable=e,inlinePrompt:!0,activeText:"是",inactiveText:"否",disabled:a.disabledSortable||"image"===a?.type},g(a,!0),{onChange:h}),null)}),e.createVNode(l.ElTableColumn,{label:"复制",width:65},{default:({row:a})=>e.createVNode(l.ElSwitch,e.mergeProps({modelValue:a.copy,"onUpdate:modelValue":e=>a.copy=e,inlinePrompt:!0,activeText:"是",inactiveText:"否",disabled:!!a?.type||!!a?.slot},g(a,!0),{onChange:h}),null)}),e.createVNode(l.ElTableColumn,{label:"自动宽度",width:85},{default:({row:a})=>e.createVNode(l.ElSwitch,e.mergeProps({modelValue:a.autoWidth,"onUpdate:modelValue":e=>a.autoWidth=e,inlinePrompt:!0,activeText:"是",inactiveText:"否",disabled:!!a?.type},g(a,!0),{onChange:h}),null)}),e.createVNode(l.ElTableColumn,{label:"显示",width:75},{default:({row:a})=>e.createVNode(l.ElSwitch,{modelValue:a.show,"onUpdate:modelValue":e=>a.show=e,inlinePrompt:!0,activeText:"显示",inactiveText:"隐藏",onChange:h},null)}),e.createVNode(l.ElTableColumn,{label:"搜索框名称",minWidth:200},{default:({row:a})=>a.search?e.createVNode(l.ElInput,{modelValue:a.search.label,"onUpdate:modelValue":e=>a.search.label=e,placeholder:"请输入搜索框名称",onChange:h},null):e.createVNode(l.ElInput,{disabled:!0,placeholder:"当前列暂无搜索项配置"},null)}),e.createVNode(l.ElTableColumn,{label:"搜索框顺序",width:200},{default:({row:a})=>a.search?e.createVNode(l.ElInputNumber,{modelValue:a.search.order,"onUpdate:modelValue":e=>a.search.order=e,min:1,max:999,stepStrictly:!0,controls:!1,clearable:!0,placeholder:"请输入搜索框顺序",onChange:h},null):e.createVNode(l.ElInputNumber,{disabled:!0,min:1,max:999,stepStrictly:!0,controls:!1,clearable:!0,placeholder:"当前列暂无搜索项配置"},null)})])})})),o.useExpose(n,{open:()=>{u.value.open(()=>{(()=>{const e=document.querySelector(`.fa-table__column-setting-${i.tableKey} .el-table__body-wrapper tbody`);i.sortableInstance&&i.sortableInstance.destroy(),i.sortableInstance=new t(e,{animation:150,delay:0,onEnd(e){const{newIndex:l,oldIndex:a}=e;if(l!==a){i.change=!0;const e=c.orgColumns.splice(a,1)[0];c.orgColumns.splice(l,0,e),c.orgColumns=c.orgColumns.map((e,l)=>({...e,order:l+1}))}}})})(),l.ElNotification({message:"点击保存才会进行数据缓存,点击取消为本此生效",type:"info"})})},change:m})}});exports.default=r;
|
|
2
2
|
//# sourceMappingURL=tableColumnSettingDialog.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tableColumnSettingDialog.js","sources":["../../../../../packages/components/table/src/tableColumnSettingDialog.tsx"],"sourcesContent":["import { Fragment, defineComponent, inject, reactive, ref } from \"vue\";\nimport { ElInput, ElInputNumber, ElMessage, ElNotification, ElRadio, ElRadioGroup, ElSwitch, ElTable, ElTableColumn } from \"element-plus\";\nimport { FaDialog } from \"@fast-element-plus/components/dialog\";\nimport { definePropType, stringUtil, useExpose, useRender } from \"@fast-china/utils\";\nimport Sortable from \"sortablejs\";\nimport { tableStateKey } from \"./useTable\";\nimport type { FaTableColumnCtx } from \"./table.type\";\nimport type { FaDialogInstance } from \"@fast-element-plus/components/dialog\";\nimport type { TableColumnCtx } from \"element-plus\";\n\nexport default defineComponent({\n\tname: \"FaTableColumnsSettingDialog\",\n\tprops: {\n\t\t/** @description 改变 */\n\t\tchange: {\n\t\t\ttype: definePropType<(columns: FaTableColumnCtx[]) => Promise<void>>(Function),\n\t\t},\n\t},\n\tsetup(props, { expose }) {\n\t\tconst tableState = inject(tableStateKey);\n\n\t\tconst state = reactive({\n\t\t\ttableKey: stringUtil.generateRandomString(8),\n\t\t\tsortableInstance: undefined,\n\t\t\tchange: false,\n\t\t});\n\n\t\tconst faDialogRef = ref<FaDialogInstance>();\n\n\t\tconst indexMethod = (index: number): number => {\n\t\t\treturn index + 1;\n\t\t};\n\n\t\t// /**\n\t\t// * 处理固定行ClassName\n\t\t// */\n\t\t// const handleFixedRowClassName = (row: FaTableColumnCtx) => {\n\t\t// \tif (row.fixed) {\n\t\t// \t\treturn \"fa-table__setting-fixed-column\";\n\t\t// \t}\n\t\t// };\n\n\t\tconst tableRowDrop = (): void => {\n\t\t\tconst tBody = document.querySelector(`.fa-table__column-setting-${state.tableKey} .el-table__body-wrapper tbody`) as any;\n\n\t\t\t// 销毁现有Sortable实例(如果存在)\n\t\t\tif (state.sortableInstance) {\n\t\t\t\tstate.sortableInstance.destroy();\n\t\t\t}\n\n\t\t\tstate.sortableInstance = new Sortable(tBody, {\n\t\t\t\t// ms, number 单位:ms,定义排序动画的时间\n\t\t\t\tanimation: 150,\n\t\t\t\tdelay: 0,\n\t\t\t\t// filter: \".fa-table__setting-fixed-column\",\n\t\t\t\t// onMove(evt: any) {\n\t\t\t\t// \tconst { related } = evt;\n\t\t\t\t// \treturn !related.classList.contains(\"fa-table__setting-fixed-column\");\n\t\t\t\t// },\n\t\t\t\tonEnd(evt: any): void {\n\t\t\t\t\tconst { newIndex, oldIndex } = evt;\n\t\t\t\t\tif (newIndex !== oldIndex) {\n\t\t\t\t\t\tstate.change = true;\n\t\t\t\t\t\tconst curRow = tableState.orgColumns.splice(oldIndex, 1)[0];\n\t\t\t\t\t\ttableState.orgColumns.splice(newIndex, 0, curRow);\n\t\t\t\t\t\ttableState.orgColumns = tableState.orgColumns.map((item, index) => {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t...item,\n\t\t\t\t\t\t\t\torder: index + 1,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t});\n\t\t};\n\n\t\tconst open = (): void => {\n\t\t\tfaDialogRef.value.open(() => {\n\t\t\t\ttableRowDrop();\n\t\t\t\tElNotification({\n\t\t\t\t\tmessage: \"点击保存才会进行数据缓存,点击取消为本此生效\",\n\t\t\t\t\ttype: \"info\",\n\t\t\t\t});\n\t\t\t});\n\t\t};\n\n\t\tconst handleChange = async (): Promise<void> => {\n\t\t\tif (state.change) {\n\t\t\t\tprops.change && (await props.change(tableState.orgColumns));\n\t\t\t} else {\n\t\t\t\tElMessage.info(\"列配置未发生变化\");\n\t\t\t}\n\t\t};\n\n\t\tconst handleConfirmClick = (): void => {\n\t\t\tfaDialogRef.value.close(async () => {\n\t\t\t\tawait handleChange();\n\t\t\t});\n\t\t};\n\n\t\tconst handleOrderChange = (): void => {\n\t\t\tstate.change = true;\n\t\t\tlet orderColumns = tableState.orgColumns.filter((f) => !f?.pureSearch);\n\t\t\torderColumns = orderColumns.sort((a, b) => {\n\t\t\t\tif (a.order !== b.order) {\n\t\t\t\t\treturn a.order - b.order;\n\t\t\t\t} else {\n\t\t\t\t\treturn orderColumns.indexOf(b) - orderColumns.indexOf(a);\n\t\t\t\t}\n\t\t\t});\n\t\t\ttableState.orgColumns = [...orderColumns, ...tableState.orgColumns.filter((f) => f?.pureSearch)];\n\t\t\ttableState.orgColumns.forEach((item, index) => {\n\t\t\t\titem.order = index + 1;\n\t\t\t});\n\t\t};\n\n\t\tconst handleColumnChange = (): void => {\n\t\t\tstate.change = true;\n\t\t};\n\n\t\tconst autoWidthDisabled = (\n\t\t\trow: FaTableColumnCtx,\n\t\t\tswitchEl = false\n\t\t): {\n\t\t\tmodelValue: any;\n\t\t\tdisabled: boolean;\n\t\t\tplaceholder: any;\n\t\t} => {\n\t\t\tconst result = { modelValue: undefined, disabled: false, placeholder: undefined };\n\t\t\tif (row?.type) {\n\t\t\t\tswitch (row?.type) {\n\t\t\t\t\tcase \"expand\":\n\t\t\t\t\t\tresult.disabled = true;\n\t\t\t\t\t\tresult.placeholder = \"暂不支持宽度配置\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"image\":\n\t\t\t\t\t\tresult.disabled = true;\n\t\t\t\t\t\tresult.placeholder = \"图片列无需配置\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"date\":\n\t\t\t\t\tcase \"time\":\n\t\t\t\t\tcase \"dateTime\":\n\t\t\t\t\t\tresult.disabled = true;\n\t\t\t\t\t\tresult.placeholder = \"时间/日期列无需配置\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"timeInfo\":\n\t\t\t\t\t\tresult.disabled = true;\n\t\t\t\t\t\tresult.placeholder = \"当前列无需配置\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else if (row?.tag) {\n\t\t\t\tresult.disabled = true;\n\t\t\t\tresult.placeholder = \"标签列无需配置\";\n\t\t\t} else if (row?.autoWidth) {\n\t\t\t\tresult.disabled = true;\n\t\t\t\tresult.placeholder = \"自动列宽无需配置\";\n\t\t\t}\n\t\t\tif (!result.disabled) {\n\t\t\t\tdelete result.disabled;\n\t\t\t\tdelete result.modelValue;\n\t\t\t\tdelete result.placeholder;\n\t\t\t}\n\t\t\tif (switchEl) {\n\t\t\t\tdelete result.placeholder;\n\t\t\t}\n\t\t\treturn result;\n\t\t};\n\n\t\tconst pureSearchDisabled = (\n\t\t\trow: FaTableColumnCtx,\n\t\t\tswitchEl = false,\n\t\t\torderEl = false,\n\t\t\tradioEl = false\n\t\t): {\n\t\t\tmodelValue: any;\n\t\t\tdisabled: boolean;\n\t\t\tplaceholder: any;\n\t\t} => {\n\t\t\tconst result = { modelValue: undefined, disabled: false, placeholder: undefined };\n\t\t\tif (row?.pureSearch) {\n\t\t\t\tresult.disabled = true;\n\t\t\t\tresult.placeholder = \"搜索列无需配置\";\n\t\t\t}\n\t\t\tif (!result.disabled) {\n\t\t\t\tdelete result.disabled;\n\t\t\t\tdelete result.modelValue;\n\t\t\t\tdelete result.placeholder;\n\t\t\t} else {\n\t\t\t\tif (radioEl) {\n\t\t\t\t\tdelete result.modelValue;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (switchEl) {\n\t\t\t\tdelete result.placeholder;\n\t\t\t}\n\t\t\tif (orderEl) {\n\t\t\t\tresult.placeholder = \"999\";\n\t\t\t}\n\t\t\treturn result;\n\t\t};\n\n\t\tuseRender(() => (\n\t\t\t<FaDialog\n\t\t\t\tref={faDialogRef}\n\t\t\t\tclass=\"fa-table__column-setting-dialog\"\n\t\t\t\tonConfirmClick={handleConfirmClick}\n\t\t\t\tshowFullscreen={false}\n\t\t\t\tconfirmButtonText={state.change ? \"保存更改\" : \"确认\"}\n\t\t\t\tfillHeight\n\t\t\t>\n\t\t\t\t{{\n\t\t\t\t\theader: () => (\n\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t列表配置(留空则恢复默认配置)\n\t\t\t\t\t\t\t<el-text type=\"info\">点击保存才会进行数据缓存,点击取消为本此生效</el-text>\n\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t),\n\t\t\t\t\tdefault: () => (\n\t\t\t\t\t\t<ElTable\n\t\t\t\t\t\t\tclass={[\"fa-table__column-setting\", `fa-table__column-setting-${state.tableKey}`]}\n\t\t\t\t\t\t\tdata={tableState.orgColumns}\n\t\t\t\t\t\t\trowKey=\"prop\"\n\t\t\t\t\t\t\tborder\n\t\t\t\t\t\t\t// rowClassName={handleFixedRowClassName}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\tdefault: () => (\n\t\t\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn type=\"index\" fixed=\"left\" align=\"center\" width={45} index={indexMethod} />\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"列显示名称\" minWidth={200}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({ row }: { row: FaTableColumnCtx; column: TableColumnCtx<any>; $index: number }) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\trow.type === \"image\" ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInput\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treadonly\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.label}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"请输入列显示名称\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInput\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.label}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"请输入列显示名称\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...pureSearchDisabled(row)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"固定\" width={230}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({ row }: { row: FaTableColumnCtx; column: TableColumnCtx<any>; $index: number }) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElRadioGroup\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.fixed}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...pureSearchDisabled(row, false, false, true)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElRadio value={false}>无</ElRadio>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElRadio value=\"left\">左侧</ElRadio>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElRadio value=\"right\">右侧</ElRadio>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</ElRadioGroup>\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"宽度\" width={200}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({ row }: { row: FaTableColumnCtx; column: TableColumnCtx<any>; $index: number }) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInputNumber\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.width}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmin={1}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmax={999}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstepStrictly\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontrols={false}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclearable\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"请输入宽度\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...autoWidthDisabled(row)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...pureSearchDisabled(row)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"小的宽度\" width={200}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({ row }: { row: FaTableColumnCtx; column: TableColumnCtx<any>; $index: number }) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInputNumber\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.smallWidth}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmin={1}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmax={999}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstepStrictly\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontrols={false}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclearable\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"请输入小的宽度\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...autoWidthDisabled(row)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...pureSearchDisabled(row)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"顺序\" width={100}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({ row }: { row: FaTableColumnCtx; column: TableColumnCtx<any>; $index: number }) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInputNumber\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.order}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmin={1}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmax={999}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstepStrictly\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontrols={false}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclearable\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"请输入顺序\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...pureSearchDisabled(row, false, true)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleOrderChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"排序\" width={65}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({ row }: { row: FaTableColumnCtx; column: TableColumnCtx<any>; $index: number }) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElSwitch\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.sortable}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinlinePrompt\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tactiveText=\"是\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinactiveText=\"否\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={row.disabledSortable || row?.type === \"image\"}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...pureSearchDisabled(row, true)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"复制\" width={65}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({ row }: { row: FaTableColumnCtx; column: TableColumnCtx<any>; $index: number }) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElSwitch\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.copy}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinlinePrompt\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tactiveText=\"是\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinactiveText=\"否\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={!!row?.type || !!row?.slot}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...pureSearchDisabled(row, true)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"自动宽度\" width={85}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({ row }: { row: FaTableColumnCtx; column: TableColumnCtx<any>; $index: number }) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElSwitch\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.autoWidth}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinlinePrompt\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tactiveText=\"是\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinactiveText=\"否\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={!!row?.type}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...pureSearchDisabled(row, true)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"显示\" width={75}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({ row }: { row: FaTableColumnCtx; column: TableColumnCtx<any>; $index: number }) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElSwitch\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.show}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinlinePrompt\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tactiveText=\"显示\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinactiveText=\"隐藏\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"搜索框名称\" minWidth={200}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({ row }: { row: FaTableColumnCtx; column: TableColumnCtx<any>; $index: number }) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\trow.search ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInput\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.search.label}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"请输入搜索框名称\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInput disabled placeholder=\"当前列暂无搜索项配置\" />\n\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"搜索框顺序\" width={200}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({ row }: { row: FaTableColumnCtx; column: TableColumnCtx<any>; $index: number }) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\trow.search ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInputNumber\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.search.order}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmin={1}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmax={999}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstepStrictly\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontrols={false}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclearable\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"请输入搜索框顺序\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInputNumber\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmin={1}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmax={999}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstepStrictly\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontrols={false}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclearable\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"当前列暂无搜索项配置\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t</ElTable>\n\t\t\t\t\t),\n\t\t\t\t}}\n\t\t\t</FaDialog>\n\t\t));\n\n\t\treturn useExpose(expose, {\n\t\t\t/** @description 打开 */\n\t\t\topen,\n\t\t\t/** @description 列改变 */\n\t\t\tchange: handleChange,\n\t\t});\n\t},\n});\n"],"names":["TableColumnsSettingDialog","name","props","change","type","definePropType","Function","setup","expose","tableState","inject","tableStateKey","state","reactive","tableKey","stringUtil","generateRandomString","sortableInstance","undefined","faDialogRef","ref","indexMethod","index","handleChange","async","orgColumns","ElMessage","info","handleConfirmClick","value","close","handleOrderChange","orderColumns","filter","f","pureSearch","sort","a","b","order","indexOf","forEach","item","handleColumnChange","autoWidthDisabled","row","switchEl","result","modelValue","disabled","placeholder","tag","autoWidth","pureSearchDisabled","orderEl","radioEl","useRender","_createVNode","FaDialog","class","onConfirmClick","showFullscreen","confirmButtonText","fillHeight","header","_Fragment","_createTextVNode","_resolveComponent","default","ElTable","data","rowKey","border","ElTableColumn","fixed","align","width","label","minWidth","ElInput","readonly","$event","onChange","_mergeProps","ElRadioGroup","ElRadio","ElInputNumber","min","max","stepStrictly","controls","clearable","smallWidth","ElSwitch","sortable","inlinePrompt","activeText","inactiveText","disabledSortable","copy","slot","show","search","useExpose","open","tableRowDrop","tBody","document","querySelector","destroy","Sortable","animation","delay","onEnd","evt","newIndex","oldIndex","curRow","splice","map","ElNotification","message"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tableColumnSettingDialog.js","sources":["../../../../../packages/components/table/src/tableColumnSettingDialog.tsx"],"sourcesContent":["import { Fragment, defineComponent, inject, reactive, ref } from \"vue\";\nimport { ElInput, ElInputNumber, ElMessage, ElNotification, ElRadio, ElRadioGroup, ElSwitch, ElTable, ElTableColumn } from \"element-plus\";\nimport { FaDialog } from \"@fast-element-plus/components/dialog\";\nimport { definePropType, stringUtil, useExpose, useRender } from \"@fast-china/utils\";\nimport Sortable from \"sortablejs\";\nimport { tableStateKey } from \"./useTable\";\nimport type { FaTableColumnCtx } from \"./table.type\";\nimport type { FaDialogInstance } from \"@fast-element-plus/components/dialog\";\nimport type { TableColumnCtx } from \"element-plus\";\n\nexport default defineComponent({\n\tname: \"FaTableColumnsSettingDialog\",\n\tprops: {\n\t\t/** @description 改变 */\n\t\tchange: {\n\t\t\ttype: definePropType<(columns: FaTableColumnCtx[]) => Promise<void>>(Function),\n\t\t},\n\t},\n\tsetup(props, { expose }) {\n\t\tconst tableState = inject(tableStateKey);\n\n\t\tconst state = reactive({\n\t\t\ttableKey: stringUtil.generateRandomString(8),\n\t\t\tsortableInstance: undefined,\n\t\t\tchange: false,\n\t\t});\n\n\t\tconst faDialogRef = ref<FaDialogInstance>();\n\n\t\tconst indexMethod = (index: number): number => {\n\t\t\treturn index + 1;\n\t\t};\n\n\t\t// /**\n\t\t// * 处理固定行ClassName\n\t\t// */\n\t\t// const handleFixedRowClassName = (row: FaTableColumnCtx) => {\n\t\t// \tif (row.fixed) {\n\t\t// \t\treturn \"fa-table__setting-fixed-column\";\n\t\t// \t}\n\t\t// };\n\n\t\tconst tableRowDrop = (): void => {\n\t\t\tconst tBody = document.querySelector(`.fa-table__column-setting-${state.tableKey} .el-table__body-wrapper tbody`) as any;\n\n\t\t\t// 销毁现有Sortable实例(如果存在)\n\t\t\tif (state.sortableInstance) {\n\t\t\t\tstate.sortableInstance.destroy();\n\t\t\t}\n\n\t\t\tstate.sortableInstance = new Sortable(tBody, {\n\t\t\t\t// ms, number 单位:ms,定义排序动画的时间\n\t\t\t\tanimation: 150,\n\t\t\t\tdelay: 0,\n\t\t\t\t// filter: \".fa-table__setting-fixed-column\",\n\t\t\t\t// onMove(evt: any) {\n\t\t\t\t// \tconst { related } = evt;\n\t\t\t\t// \treturn !related.classList.contains(\"fa-table__setting-fixed-column\");\n\t\t\t\t// },\n\t\t\t\tonEnd(evt: any): void {\n\t\t\t\t\tconst { newIndex, oldIndex } = evt;\n\t\t\t\t\tif (newIndex !== oldIndex) {\n\t\t\t\t\t\tstate.change = true;\n\t\t\t\t\t\tconst curRow = tableState.orgColumns.splice(oldIndex, 1)[0];\n\t\t\t\t\t\ttableState.orgColumns.splice(newIndex, 0, curRow);\n\t\t\t\t\t\ttableState.orgColumns = tableState.orgColumns.map((item, index) => {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t...item,\n\t\t\t\t\t\t\t\torder: index + 1,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t});\n\t\t};\n\n\t\tconst open = (): void => {\n\t\t\tfaDialogRef.value.open(() => {\n\t\t\t\ttableRowDrop();\n\t\t\t\tElNotification({\n\t\t\t\t\tmessage: \"点击保存才会进行数据缓存,点击取消为本此生效\",\n\t\t\t\t\ttype: \"info\",\n\t\t\t\t});\n\t\t\t});\n\t\t};\n\n\t\tconst handleChange = async (): Promise<void> => {\n\t\t\tif (state.change) {\n\t\t\t\tprops.change && (await props.change(tableState.orgColumns));\n\t\t\t} else {\n\t\t\t\tElMessage.info(\"列配置未发生变化\");\n\t\t\t}\n\t\t};\n\n\t\tconst handleConfirmClick = (): void => {\n\t\t\tfaDialogRef.value.close(async () => {\n\t\t\t\tawait handleChange();\n\t\t\t});\n\t\t};\n\n\t\tconst handleOrderChange = (): void => {\n\t\t\tstate.change = true;\n\t\t\tlet orderColumns = tableState.orgColumns.filter((f) => !f?.pureSearch);\n\t\t\torderColumns = orderColumns.sort((a, b) => {\n\t\t\t\tif (a.order !== b.order) {\n\t\t\t\t\treturn a.order - b.order;\n\t\t\t\t} else {\n\t\t\t\t\treturn orderColumns.indexOf(b) - orderColumns.indexOf(a);\n\t\t\t\t}\n\t\t\t});\n\t\t\ttableState.orgColumns = [...orderColumns, ...tableState.orgColumns.filter((f) => f?.pureSearch)];\n\t\t\ttableState.orgColumns.forEach((item, index) => {\n\t\t\t\titem.order = index + 1;\n\t\t\t});\n\t\t};\n\n\t\tconst handleColumnChange = (): void => {\n\t\t\tstate.change = true;\n\t\t};\n\n\t\tconst autoWidthDisabled = (\n\t\t\trow: FaTableColumnCtx,\n\t\t\tswitchEl = false\n\t\t): {\n\t\t\tmodelValue: any;\n\t\t\tdisabled: boolean;\n\t\t\tplaceholder: any;\n\t\t} => {\n\t\t\tconst result = { modelValue: undefined, disabled: false, placeholder: undefined };\n\t\t\tif (row?.type) {\n\t\t\t\tswitch (row?.type) {\n\t\t\t\t\tcase \"expand\":\n\t\t\t\t\t\tresult.disabled = true;\n\t\t\t\t\t\tresult.placeholder = \"暂不支持宽度配置\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"image\":\n\t\t\t\t\t\tresult.disabled = true;\n\t\t\t\t\t\tresult.placeholder = \"图片列无需配置\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"date\":\n\t\t\t\t\tcase \"time\":\n\t\t\t\t\tcase \"dateTime\":\n\t\t\t\t\t\tresult.disabled = true;\n\t\t\t\t\t\tresult.placeholder = \"时间/日期列无需配置\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"timeInfo\":\n\t\t\t\t\t\tresult.disabled = true;\n\t\t\t\t\t\tresult.placeholder = \"当前列无需配置\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else if (row?.tag) {\n\t\t\t\tresult.disabled = true;\n\t\t\t\tresult.placeholder = \"标签列无需配置\";\n\t\t\t} else if (row?.autoWidth) {\n\t\t\t\tresult.disabled = true;\n\t\t\t\tresult.placeholder = \"自动列宽无需配置\";\n\t\t\t}\n\t\t\tif (!result.disabled) {\n\t\t\t\tdelete result.disabled;\n\t\t\t\tdelete result.modelValue;\n\t\t\t\tdelete result.placeholder;\n\t\t\t}\n\t\t\tif (switchEl) {\n\t\t\t\tdelete result.placeholder;\n\t\t\t}\n\t\t\treturn result;\n\t\t};\n\n\t\tconst pureSearchDisabled = (\n\t\t\trow: FaTableColumnCtx,\n\t\t\tswitchEl = false,\n\t\t\torderEl = false,\n\t\t\tradioEl = false\n\t\t): {\n\t\t\tmodelValue: any;\n\t\t\tdisabled: boolean;\n\t\t\tplaceholder: any;\n\t\t} => {\n\t\t\tconst result = { modelValue: undefined, disabled: false, placeholder: undefined };\n\t\t\tif (row?.pureSearch) {\n\t\t\t\tresult.disabled = true;\n\t\t\t\tresult.placeholder = \"搜索列无需配置\";\n\t\t\t}\n\t\t\tif (!result.disabled) {\n\t\t\t\tdelete result.disabled;\n\t\t\t\tdelete result.modelValue;\n\t\t\t\tdelete result.placeholder;\n\t\t\t} else {\n\t\t\t\tif (radioEl) {\n\t\t\t\t\tdelete result.modelValue;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (switchEl) {\n\t\t\t\tdelete result.placeholder;\n\t\t\t}\n\t\t\tif (orderEl) {\n\t\t\t\tresult.placeholder = \"999\";\n\t\t\t}\n\t\t\treturn result;\n\t\t};\n\n\t\tuseRender(() => (\n\t\t\t<FaDialog\n\t\t\t\tref={faDialogRef}\n\t\t\t\tclass=\"fa-table__column-setting-dialog\"\n\t\t\t\tonConfirmClick={handleConfirmClick}\n\t\t\t\tshowFullscreen={false}\n\t\t\t\tconfirmButtonText={state.change ? \"保存更改\" : \"确认\"}\n\t\t\t\tfullHeight\n\t\t\t>\n\t\t\t\t{{\n\t\t\t\t\theader: () => (\n\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t列表配置(留空则恢复默认配置)\n\t\t\t\t\t\t\t<el-text type=\"info\">点击保存才会进行数据缓存,点击取消为本此生效</el-text>\n\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t),\n\t\t\t\t\tdefault: () => (\n\t\t\t\t\t\t<ElTable\n\t\t\t\t\t\t\tclass={[\"fa-table__column-setting\", `fa-table__column-setting-${state.tableKey}`]}\n\t\t\t\t\t\t\tdata={tableState.orgColumns}\n\t\t\t\t\t\t\trowKey=\"prop\"\n\t\t\t\t\t\t\tborder\n\t\t\t\t\t\t\t// rowClassName={handleFixedRowClassName}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\tdefault: () => (\n\t\t\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn type=\"index\" fixed=\"left\" align=\"center\" width={45} index={indexMethod} />\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"列显示名称\" minWidth={200}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({ row }: { row: FaTableColumnCtx; column: TableColumnCtx<any>; $index: number }) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\trow.type === \"image\" ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInput\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treadonly\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.label}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"请输入列显示名称\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInput\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.label}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"请输入列显示名称\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...pureSearchDisabled(row)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"固定\" width={230}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({ row }: { row: FaTableColumnCtx; column: TableColumnCtx<any>; $index: number }) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElRadioGroup\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.fixed}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...pureSearchDisabled(row, false, false, true)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElRadio value={false}>无</ElRadio>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElRadio value=\"left\">左侧</ElRadio>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElRadio value=\"right\">右侧</ElRadio>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</ElRadioGroup>\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"宽度\" width={200}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({ row }: { row: FaTableColumnCtx; column: TableColumnCtx<any>; $index: number }) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInputNumber\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.width}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmin={1}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmax={999}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstepStrictly\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontrols={false}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclearable\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"请输入宽度\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...autoWidthDisabled(row)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...pureSearchDisabled(row)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsuffix: () => <span>px</span>,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</ElInputNumber>\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"小的宽度\" width={200}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({ row }: { row: FaTableColumnCtx; column: TableColumnCtx<any>; $index: number }) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInputNumber\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.smallWidth}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmin={1}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmax={999}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstepStrictly\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontrols={false}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclearable\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"请输入小的宽度\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...autoWidthDisabled(row)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...pureSearchDisabled(row)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsuffix: () => <span>px</span>,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</ElInputNumber>\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"顺序\" width={100}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({ row }: { row: FaTableColumnCtx; column: TableColumnCtx<any>; $index: number }) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInputNumber\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyle=\"width: auto;\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.order}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmin={1}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmax={999}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstepStrictly\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontrols={false}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclearable\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"请输入顺序\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...pureSearchDisabled(row, false, true)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleOrderChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"排序\" width={65}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({ row }: { row: FaTableColumnCtx; column: TableColumnCtx<any>; $index: number }) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElSwitch\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.sortable}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinlinePrompt\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tactiveText=\"是\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinactiveText=\"否\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={row.disabledSortable || row?.type === \"image\"}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...pureSearchDisabled(row, true)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"复制\" width={65}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({ row }: { row: FaTableColumnCtx; column: TableColumnCtx<any>; $index: number }) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElSwitch\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.copy}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinlinePrompt\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tactiveText=\"是\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinactiveText=\"否\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={!!row?.type || !!row?.slot}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...pureSearchDisabled(row, true)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"自动宽度\" width={85}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({ row }: { row: FaTableColumnCtx; column: TableColumnCtx<any>; $index: number }) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElSwitch\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.autoWidth}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinlinePrompt\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tactiveText=\"是\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinactiveText=\"否\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={!!row?.type}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...pureSearchDisabled(row, true)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"显示\" width={75}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({ row }: { row: FaTableColumnCtx; column: TableColumnCtx<any>; $index: number }) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElSwitch\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.show}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinlinePrompt\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tactiveText=\"显示\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinactiveText=\"隐藏\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"搜索框名称\" minWidth={200}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({ row }: { row: FaTableColumnCtx; column: TableColumnCtx<any>; $index: number }) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\trow.search ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInput\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.search.label}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"请输入搜索框名称\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInput disabled placeholder=\"当前列暂无搜索项配置\" />\n\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"搜索框顺序\" width={200}>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({ row }: { row: FaTableColumnCtx; column: TableColumnCtx<any>; $index: number }) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\trow.search ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInputNumber\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.search.order}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmin={1}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmax={999}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstepStrictly\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontrols={false}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclearable\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"请输入搜索框顺序\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInputNumber\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmin={1}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmax={999}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstepStrictly\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontrols={false}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclearable\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"当前列暂无搜索项配置\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t</ElTable>\n\t\t\t\t\t),\n\t\t\t\t}}\n\t\t\t</FaDialog>\n\t\t));\n\n\t\treturn useExpose(expose, {\n\t\t\t/** @description 打开 */\n\t\t\topen,\n\t\t\t/** @description 列改变 */\n\t\t\tchange: handleChange,\n\t\t});\n\t},\n});\n"],"names":["TableColumnsSettingDialog","name","props","change","type","definePropType","Function","setup","expose","tableState","inject","tableStateKey","state","reactive","tableKey","stringUtil","generateRandomString","sortableInstance","undefined","faDialogRef","ref","indexMethod","index","handleChange","async","orgColumns","ElMessage","info","handleConfirmClick","value","close","handleOrderChange","orderColumns","filter","f","pureSearch","sort","a","b","order","indexOf","forEach","item","handleColumnChange","autoWidthDisabled","row","switchEl","result","modelValue","disabled","placeholder","tag","autoWidth","pureSearchDisabled","orderEl","radioEl","useRender","_createVNode","FaDialog","class","onConfirmClick","showFullscreen","confirmButtonText","fullHeight","header","_Fragment","_createTextVNode","_resolveComponent","default","ElTable","data","rowKey","border","ElTableColumn","fixed","align","width","label","minWidth","ElInput","readonly","$event","onChange","_mergeProps","ElRadioGroup","ElRadio","ElInputNumber","min","max","stepStrictly","controls","clearable","suffix","smallWidth","style","ElSwitch","sortable","inlinePrompt","activeText","inactiveText","disabledSortable","copy","slot","show","search","useExpose","open","tableRowDrop","tBody","document","querySelector","destroy","Sortable","animation","delay","onEnd","evt","newIndex","oldIndex","curRow","splice","map","ElNotification","message"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTable.js","sources":["../../../../../packages/components/table/src/useTable.ts"],"sourcesContent":["import { computed, nextTick, provide, reactive, ref, watch } from \"vue\";\nimport { dayjs, useGlobalSize } from \"element-plus\";\nimport { clickUtil, consoleError, execFunction, type makeSlots } from \"@fast-china/utils\";\nimport { isArray, isFunction } from \"lodash-unified\";\nimport { tableUtil } from \"../utils/table\";\nimport { getTableDefaultSlots } from \"./table.type\";\nimport type { PagedInput, PagedResult } from \"./page.type\";\nimport type { FaTableSlots, faTableEmits, faTableProps } from \"./table\";\nimport type { FaTableState } from \"./table.state\";\nimport type { FaTableColumnCtx, FaTableEnumColumnCtx } from \"./table.type\";\nimport type { TableInstance } from \"element-plus\";\nimport type { ExtractPropTypes, InjectionKey, SetupContext } from \"vue\";\n\nexport const tableStateKey: InjectionKey<FaTableState> = Symbol(\"tableState\");\nexport const enumMapKey: InjectionKey<Map<string, FaTableEnumColumnCtx[]>> = Symbol(\"enumMap\");\n\ntype TableSetupContext = SetupContext<typeof faTableEmits, ReturnType<typeof makeSlots<FaTableSlots>>>;\n\n// eslint-disable-next-line @typescript-eslint/explicit-function-return-type, @typescript-eslint/explicit-module-boundary-types\nexport const useTable = (props: ExtractPropTypes<typeof faTableProps>, slots: TableSetupContext[\"slots\"], emit: TableSetupContext[\"emit\"]) => {\n\tconst _globalSize = useGlobalSize();\n\n\tconst elementRef = ref<HTMLElement>();\n\tconst tableRef = ref<TableInstance>();\n\n\t/**\n\t * 定义 enumMap 存储 enum 值(避免异步请求无法格式化单元格内容 || 无法填充搜索下拉选择)\n\t */\n\tconst enumMap = reactive(new Map<string, FaTableEnumColumnCtx[]>());\n\tprovide(enumMapKey, enumMap);\n\n\tconst state: FaTableState = reactive({\n\t\tloading: false,\n\t\tloadingText: \"加载中...\",\n\t\torgColumns: [],\n\t\ttableColumns: computed(() => state.orgColumns.filter((f) => f.prop && !f.pureSearch)),\n\t\tsearchColumns: computed(() =>\n\t\t\tstate.orgColumns\n\t\t\t\t.filter((f) => f.pureSearch || f.search)\n\t\t\t\t.sort((a, b) => {\n\t\t\t\t\treturn a.search?.order - b.search?.order;\n\t\t\t\t})\n\t\t),\n\t\tspanColumns: computed(() => [\n\t\t\t...state.orgColumns\n\t\t\t\t.filter((f) => f.spanProp)\n\t\t\t\t.map((col) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tprop: col?.prop,\n\t\t\t\t\t\tspanProp: col?.spanProp,\n\t\t\t\t\t};\n\t\t\t\t}),\n\t\t\t...(props.props.span\n\t\t\t\t? [\n\t\t\t\t\t\t{ prop: \"__table-index\", spanProp: props.props.span },\n\t\t\t\t\t\t{ prop: \"__table-selection\", spanProp: props.props.span },\n\t\t\t\t\t\t{ prop: \"__table-operation\", spanProp: props.props.span },\n\t\t\t\t\t]\n\t\t\t\t: []),\n\t\t]),\n\t\ttableData: [],\n\t\ttableSpanData: computed(() => {\n\t\t\tif (state.spanColumns?.length > 0 && state.tableData?.length > 0) {\n\t\t\t\tconst result = [];\n\t\t\t\tstate.spanColumns.forEach((item) => {\n\t\t\t\t\tresult[item.prop] = new Array(state.tableData.length).fill(1, 0, 1).fill(0, 1);\n\t\t\t\t\tresult[`${item.prop}-index`] = 0;\n\t\t\t\t});\n\t\t\t\tfor (let i = 1; i < state.tableData.length; i++) {\n\t\t\t\t\tstate.spanColumns.forEach((item) => {\n\t\t\t\t\t\tif (state.tableData[i][item.spanProp] === state.tableData[i - 1][item.spanProp]) {\n\t\t\t\t\t\t\tresult[item.prop][result[`${item.prop}-index`]]++;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tresult[`${item.prop}-index`] = i;\n\t\t\t\t\t\t\tresult[item.prop][i] = 1;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t}\n\t\t\treturn [];\n\t\t}),\n\t\ttablePagination: {\n\t\t\tpageIndex: 1,\n\t\t\tpageSize: 20,\n\t\t\ttotalRows: 0,\n\t\t},\n\t\tinitParam: {},\n\t\tsearchParam: {},\n\t\tsearchValueUpdate: \"\",\n\t\tsearchForm: props.searchForm,\n\t\tselected: false,\n\t\tselectedList: [],\n\t\tselectedListIds: computed(() => state.selectedList.map((item) => (isFunction(props.rowKey) ? props.rowKey(item) : item[props.rowKey]))),\n\t\tindeterminateSelectedListIds: [],\n\t\tresponseConfig: undefined,\n\t\toperationColumnWidth: computed(() => {\n\t\t\tconst findAutoCol = state.autoColumnWidth.find((f) => f.prop === \"__table-operation\");\n\t\t\tif (findAutoCol) {\n\t\t\t\treturn `${findAutoCol.width}px`;\n\t\t\t}\n\t\t\tswitch (_globalSize.value) {\n\t\t\t\tcase \"large\":\n\t\t\t\tcase \"default\":\n\t\t\t\t\treturn \"54px\";\n\t\t\t\tcase \"small\":\n\t\t\t\t\treturn \"42px\";\n\t\t\t\tdefault:\n\t\t\t\t\treturn \"auto\";\n\t\t\t}\n\t\t}),\n\t\timagePreview: false,\n\t\tpreviewList: [],\n\t\ttableWidth: undefined,\n\t\ttableHeight: undefined,\n\t\tautoColumnWidth: [],\n\t});\n\n\tprovide(tableStateKey, state);\n\n\tconst handleTableColumnAutoWidth = (): void => {\n\t\tstate.loading = true;\n\t\tstate.loadingText = \"加载中...\";\n\t\tstate.autoColumnWidth = [];\n\t\tconst autoWidthColumns = state.tableColumns.filter((f) => f.autoWidth);\n\t\tif (slots?.operation) {\n\t\t\t// 操作列自动宽度\n\t\t\tautoWidthColumns.push({\n\t\t\t\tprop: \"__table-operation\",\n\t\t\t});\n\t\t}\n\t\tif (autoWidthColumns?.length > 0) {\n\t\t\t// padding24/16 + border1\n\t\t\tconst otherWidth = _globalSize.value === \"default\" ? 25 : 17;\n\t\t\tnextTick(() => {\n\t\t\t\tconst tableDom = document.querySelector(`.fa-table__${props.tableKey}`);\n\t\t\t\tif (tableDom) {\n\t\t\t\t\tautoWidthColumns.forEach((item) => {\n\t\t\t\t\t\tconst headerColumnDom = tableDom.querySelector(`.__fa-table__auto-width-column__cell-header__${item?.prop}`);\n\t\t\t\t\t\tconst cellColumnDoms = tableDom.querySelectorAll(`.__fa-table__auto-width-column__cell__${item?.prop}`);\n\t\t\t\t\t\tlet maxWidth = 0;\n\t\t\t\t\t\tif (headerColumnDom) {\n\t\t\t\t\t\t\tmaxWidth = Math.ceil(headerColumnDom.scrollWidth) + otherWidth;\n\t\t\t\t\t\t\tif (item?.sortable) {\n\t\t\t\t\t\t\t\tmaxWidth += 24;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcellColumnDoms.forEach((cellDom) => {\n\t\t\t\t\t\t\tconst curWidth = Math.ceil(cellDom.scrollWidth) + otherWidth;\n\t\t\t\t\t\t\tif (curWidth > maxWidth) {\n\t\t\t\t\t\t\t\tmaxWidth = curWidth;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t\tconst findInfo = state.autoColumnWidth.find((f) => f.prop === item?.prop);\n\t\t\t\t\t\tif (findInfo) {\n\t\t\t\t\t\t\tfindInfo.width = Math.max(findInfo.width, maxWidth);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tstate.autoColumnWidth.push({\n\t\t\t\t\t\t\t\tprop: item?.prop,\n\t\t\t\t\t\t\t\twidth: maxWidth,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\tstate.loading = false;\n\t};\n\n\tconst handleTableData = (data: any[]): any[] => {\n\t\tif (props.treeData) {\n\t\t\tconst result: any[] = [];\n\t\t\tdata.forEach((row) => {\n\t\t\t\tconst rowList = row[props.props.children];\n\t\t\t\tif (isArray(rowList)) {\n\t\t\t\t\t// 如果 rowList 是数组,遍历并合并每个子项\n\t\t\t\t\trowList.forEach((cRow) => result.push({ ...row, ...cRow }));\n\t\t\t\t} else {\n\t\t\t\t\tresult.push({ ...row, ...(rowList || {}) });\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn result;\n\t\t} else {\n\t\t\treturn data;\n\t\t}\n\t};\n\n\tconst getRequestParam = (): PagedInput => {\n\t\tconst params = { ...state.searchParam, ...(props.pagination ? state.tablePagination : {}) };\n\t\t// 删除总条数\n\t\tdelete params.totalRows;\n\t\treturn params;\n\t};\n\n\tconst loadData = async (): Promise<void> => {\n\t\tstate.loading = true;\n\t\tstate.loadingText = \"加载中...\";\n\t\tif (props.requestApi) {\n\t\t\tconst params = getRequestParam();\n\t\t\temit(\"refresh\", params);\n\t\t\tlet pageData = [];\n\t\t\ttry {\n\t\t\t\tconst resData = await props.requestApi(params);\n\t\t\t\t// 数据回调\n\t\t\t\tprops.dataCallback && props.dataCallback(resData);\n\t\t\t\t// 解析 API 接口返回的分页数据(如果有分页更新分页信息)\n\t\t\t\tif (props.pagination) {\n\t\t\t\t\tconst pageRes = resData as PagedResult;\n\t\t\t\t\tpageData = pageRes.rows;\n\t\t\t\t\t// 更新分页信息\n\t\t\t\t\tObject.assign(state.tablePagination, {\n\t\t\t\t\t\tpageIndex: pageRes.pageIndex,\n\t\t\t\t\t\tpageSize: pageRes.pageSize,\n\t\t\t\t\t\ttotalRows: pageRes.totalRows,\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tpageData = resData as any[];\n\t\t\t\t\t// 更新分页信息\n\t\t\t\t\tObject.assign(state.tablePagination, {\n\t\t\t\t\t\tpageIndex: 1,\n\t\t\t\t\t\tpageSize: 0,\n\t\t\t\t\t\ttotalRows: pageData.length,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tstate.tableData = handleTableData(pageData);\n\t\t\t} catch (error) {\n\t\t\t\tconsoleError(\"FaTable\", error);\n\t\t\t\tstate.tableData = [];\n\t\t\t} finally {\n\t\t\t\tstate.loading = false;\n\t\t\t}\n\t\t} else {\n\t\t\temit(\"refresh\", { searchValue: state.searchParam.searchValue });\n\t\t\tlet _value = handleTableData(props.data);\n\t\t\t_value = _value.filter((f) => {\n\t\t\t\tif (!state.searchParam.searchValue) return true;\n\t\t\t\treturn state.tableColumns.some((col) => {\n\t\t\t\t\treturn f[col.prop]?.toString()?.toLowerCase().includes(state.searchParam.searchValue?.toLowerCase());\n\t\t\t\t});\n\t\t\t});\n\t\t\tif (state.searchParam.sortList?.length > 0) {\n\t\t\t\t_value = _value.sort(tableUtil.arrayDynamicSort(state.searchParam.sortList));\n\t\t\t}\n\t\t\tif (props.pagination) {\n\t\t\t\t// 更新分页信息\n\t\t\t\tObject.assign(state.tablePagination, {\n\t\t\t\t\ttotalRows: _value.length,\n\t\t\t\t});\n\t\t\t\tconst pageStart = (state.tablePagination.pageIndex - 1) * state.tablePagination.pageSize;\n\t\t\t\tconst pageEnd = pageStart + state.tablePagination.pageSize;\n\t\t\t\tstate.tableData = _value.slice(pageStart, pageEnd);\n\t\t\t} else {\n\t\t\t\tstate.tableData = _value;\n\t\t\t\t// 更新分页信息\n\t\t\t\tObject.assign(state.tablePagination, {\n\t\t\t\t\tpageIndex: 1,\n\t\t\t\t\tpageSize: 0,\n\t\t\t\t\ttotalRows: _value.length,\n\t\t\t\t});\n\t\t\t}\n\t\t\tstate.loading = false;\n\t\t}\n\t\thandleTableColumnAutoWidth();\n\t};\n\n\tconst loadTableColumns = (): void => {\n\t\tlet columns: FaTableColumnCtx[] = props.columns ? props.columns : [];\n\t\t// 默认值处理\n\t\tcolumns.forEach((col) => {\n\t\t\t// 处理搜索项的 key 和 label\n\t\t\tif (col.pureSearch || col.search) {\n\t\t\t\tcol.search.key ??= col.prop;\n\t\t\t\tcol.search.label ??= col.label;\n\t\t\t\t// 处理默认值\n\t\t\t\tif (col.search.defaultValue) {\n\t\t\t\t\tstate.searchParam[col.search.key] = col.search.defaultValue;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\t// 排序\n\t\tcolumns = columns.sort((a, b) => {\n\t\t\treturn a?.order - b?.order;\n\t\t});\n\n\t\t// TODO:这里的扁平化暂时没用到\n\t\tstate.orgColumns = tableUtil.flatColumns(columns, enumMap);\n\t};\n\n\tconst handleSizeChange = (pageSize: number): void => {\n\t\tstate.tablePagination.pageIndex = 1;\n\t\tstate.tablePagination.pageSize = pageSize;\n\t\temit(\"sizeChange\", pageSize);\n\t\temit(\"paginationChange\", 1, pageSize);\n\t\tloadData();\n\t};\n\tconst handlePaginationChange = (val: number): void => {\n\t\tstate.tablePagination.pageIndex = val;\n\t\temit(\"sizeChange\", state.tablePagination.pageSize);\n\t\temit(\"paginationChange\", val, state.tablePagination.pageSize);\n\t\tloadData();\n\t};\n\n\tconst updatedTotalParam = (): void => {\n\t\t// 处理查询参数,可以给查询参数加自定义前缀操作\n\t\tconst newSearchParam = {};\n\t\t// 防止手动清空输入框携带参数(这里可以自定义查询参数前缀)\n\t\tfor (const key in state.searchParam) {\n\t\t\t// * 某些情况下参数为 false/0 也应该携带参数\n\t\t\tif (state.searchParam[key] || state.searchParam[key] === false || state.searchParam[key] === 0) {\n\t\t\t\tnewSearchParam[key] = state.searchParam[key];\n\t\t\t}\n\t\t\t// 处理某些情况下如果为空字符串,其实是不需要传到后端的\n\t\t\telse if (!state.searchParam[key]) {\n\t\t\t\tdelete state.searchParam[key];\n\t\t\t}\n\t\t}\n\t\tObject.assign(state.searchParam, newSearchParam);\n\t};\n\n\tconst defaultSearchTime = (): void => {\n\t\tif (props.hideSearchTime) {\n\t\t\tstate.searchParam.searchTimeList = undefined;\n\t\t} else {\n\t\t\tconst end = new Date();\n\t\t\tconst start = new Date();\n\t\t\tswitch (props.dataSearchRange) {\n\t\t\t\tcase \"Past1D\":\n\t\t\t\t\tstart.setDate(start.getDate() - 1);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"Past3D\":\n\t\t\t\t\tstart.setDate(start.getDate() - 3);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"Past1W\":\n\t\t\t\t\tstart.setDate(start.getDate() - 7);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"Past1M\":\n\t\t\t\t\tstart.setMonth(start.getMonth() - 1);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"Past3M\":\n\t\t\t\t\tstart.setMonth(start.getMonth() - 3);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"Past6M\":\n\t\t\t\t\tstart.setMonth(start.getMonth() - 6);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"Past1Y\":\n\t\t\t\t\tstart.setFullYear(start.getFullYear() - 1);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"Past3Y\":\n\t\t\t\t\tstart.setFullYear(start.getFullYear() - 3);\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tstate.searchParam.searchTimeList = [dayjs(start).format(\"YYYY-MM-DD 00:00:00\"), dayjs(end).format(\"YYYY-MM-DD 23:59:59\")];\n\t\t}\n\t};\n\n\tconst tableSearch = async (): Promise<void> => {\n\t\t// 重置到第一页\n\t\tstate.tablePagination.pageIndex = 1;\n\t\tupdatedTotalParam();\n\t\tawait loadData();\n\t};\n\n\tconst tableReset = async (): Promise<void> => {\n\t\t// 重置到第一页\n\t\tstate.tablePagination.pageIndex = 1;\n\t\t// 清除搜索条件\n\t\tstate.searchParam = {};\n\t\tdefaultSearchTime();\n\t\t// 重置搜索表单的时候,如果有默认搜索参数,则重置默认的搜索参数\n\t\tObject.keys(state.initParam ?? {}).forEach((key) => {\n\t\t\tstate.searchParam[key] = state.initParam[key];\n\t\t});\n\t\temit(\"reset\", state.searchParam);\n\t\tawait loadData();\n\t};\n\n\tconst doRender = async (): Promise<void> => {\n\t\tstate.orgColumns = [];\n\t\tstate.autoColumnWidth = [];\n\t\tstate.tableData = [];\n\t\tawait clickUtil.debounceAsync(async () => {\n\t\t\tloadTableColumns();\n\t\t\tawait tableSearch();\n\t\t}, 300);\n\t};\n\n\tconst doLoading = (loadingFunction: () => void | Promise<void>, loadingText = \"加载中...\"): void => {\n\t\tstate.loading = true;\n\t\tstate.loadingText = loadingText;\n\t\texecFunction(loadingFunction)\n\t\t\t.then()\n\t\t\t.catch((error) => {\n\t\t\t\tconsoleError(\"FaTable\", error);\n\t\t\t})\n\t\t\t.finally(() => {\n\t\t\t\tstate.loading = false;\n\t\t\t});\n\t};\n\n\tconst handleCustomCellClick = (emitName: string, { row, column, $index }: { row: any; column: FaTableColumnCtx; $index: number }): void => {\n\t\temit(\"customCellClick\", emitName, { row, column, $index, ...getTableDefaultSlots(state) });\n\t};\n\n\twatch(\n\t\t() => props.tableKey,\n\t\tasync () => {\n\t\t\tawait doRender();\n\t\t}\n\t);\n\n\twatch(\n\t\t() => props.searchForm,\n\t\t(newValue) => {\n\t\t\tstate.searchForm = newValue;\n\t\t}\n\t);\n\n\treturn {\n\t\t_globalSize,\n\t\tstate,\n\t\telementRef,\n\t\ttableRef,\n\t\thandleTableColumnAutoWidth,\n\t\tgetRequestParam,\n\t\tloadTableColumns,\n\t\thandleSizeChange,\n\t\thandlePaginationChange,\n\t\tdefaultSearchTime,\n\t\ttableSearch,\n\t\ttableReset,\n\t\tdoRender,\n\t\tdoLoading,\n\t\thandleCustomCellClick,\n\t};\n};\n"],"names":["tableStateKey","Symbol","enumMapKey","props","slots","emit","_globalSize","useGlobalSize","elementRef","ref","tableRef","enumMap","reactive","Map","provide","state","loading","loadingText","orgColumns","tableColumns","computed","filter","f","prop","pureSearch","searchColumns","search","sort","a","b","order","spanColumns","spanProp","map","col","span","tableData","tableSpanData","length","result","forEach","item","Array","fill","i","tablePagination","pageIndex","pageSize","totalRows","initParam","searchParam","searchValueUpdate","searchForm","selected","selectedList","selectedListIds","isFunction","rowKey","indeterminateSelectedListIds","responseConfig","operationColumnWidth","findAutoCol","autoColumnWidth","find","width","value","imagePreview","previewList","tableWidth","tableHeight","handleTableColumnAutoWidth","autoWidthColumns","autoWidth","operation","push","otherWidth","nextTick","tableDom","document","querySelector","tableKey","headerColumnDom","cellColumnDoms","querySelectorAll","maxWidth","Math","ceil","scrollWidth","sortable","cellDom","curWidth","findInfo","max","handleTableData","data","treeData","row","rowList","children","isArray","cRow","getRequestParam","params","pagination","loadData","async","requestApi","pageData","resData","dataCallback","pageRes","rows","Object","assign","error","consoleError","searchValue","_value","some","toString","toLowerCase","includes","sortList","tableUtil","arrayDynamicSort","pageStart","pageEnd","slice","loadTableColumns","columns","key","label","defaultValue","flatColumns","defaultSearchTime","hideSearchTime","searchTimeList","end","Date","start","dataSearchRange","setDate","getDate","setMonth","getMonth","setFullYear","getFullYear","dayjs","format","tableSearch","newSearchParam","updatedTotalParam","doRender","clickUtil","debounceAsync","watch","newValue","handleSizeChange","handlePaginationChange","val","tableReset","keys","doLoading","loadingFunction","execFunction","then","catch","finally","handleCustomCellClick","emitName","column","$index","getTableDefaultSlots"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useTable.js","sources":["../../../../../packages/components/table/src/useTable.ts"],"sourcesContent":["import { computed, nextTick, provide, reactive, ref, watch } from \"vue\";\nimport { dayjs, useGlobalSize } from \"element-plus\";\nimport { clickUtil, consoleError, execFunction, type makeSlots } from \"@fast-china/utils\";\nimport { isArray, isFunction } from \"lodash-unified\";\nimport { tableUtil } from \"../utils/table\";\nimport { getTableDefaultSlots } from \"./table.type\";\nimport type { PagedInput, PagedResult } from \"./page.type\";\nimport type { FaTableSlots, faTableEmits, faTableProps } from \"./table\";\nimport type { FaTableState } from \"./table.state\";\nimport type { FaTableColumnCtx, FaTableEnumColumnCtx } from \"./table.type\";\nimport type { TableInstance } from \"element-plus\";\nimport type { ExtractPropTypes, InjectionKey, SetupContext } from \"vue\";\n\nexport const tableStateKey: InjectionKey<FaTableState> = Symbol(\"tableState\");\nexport const enumMapKey: InjectionKey<Map<string, FaTableEnumColumnCtx[]>> = Symbol(\"enumMap\");\n\ntype TableSetupContext = SetupContext<typeof faTableEmits, ReturnType<typeof makeSlots<FaTableSlots>>>;\n\n// eslint-disable-next-line @typescript-eslint/explicit-function-return-type, @typescript-eslint/explicit-module-boundary-types\nexport const useTable = (props: ExtractPropTypes<typeof faTableProps>, slots: TableSetupContext[\"slots\"], emit: TableSetupContext[\"emit\"]) => {\n\tconst _globalSize = useGlobalSize();\n\n\tconst elementRef = ref<HTMLElement>();\n\tconst tableRef = ref<TableInstance>();\n\n\t/**\n\t * 定义 enumMap 存储 enum 值(避免异步请求无法格式化单元格内容 || 无法填充搜索下拉选择)\n\t */\n\tconst enumMap = reactive(new Map<string, FaTableEnumColumnCtx[]>());\n\tprovide(enumMapKey, enumMap);\n\n\tconst state: FaTableState = reactive({\n\t\tloading: false,\n\t\tloadingText: \"加载中...\",\n\t\torgColumns: [],\n\t\ttableColumns: computed(() => state.orgColumns.filter((f) => f.prop && !f.pureSearch)),\n\t\tsearchColumns: computed(() =>\n\t\t\tstate.orgColumns\n\t\t\t\t.filter((f) => f.pureSearch || f.search)\n\t\t\t\t.sort((a, b) => {\n\t\t\t\t\treturn a.search?.order - b.search?.order;\n\t\t\t\t})\n\t\t),\n\t\tspanColumns: computed(() => [\n\t\t\t...state.orgColumns\n\t\t\t\t.filter((f) => f.spanProp)\n\t\t\t\t.map((col) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tprop: col?.prop,\n\t\t\t\t\t\tspanProp: col?.spanProp,\n\t\t\t\t\t};\n\t\t\t\t}),\n\t\t\t...(props.props.span\n\t\t\t\t? [\n\t\t\t\t\t\t{ prop: \"__table-index\", spanProp: props.props.span },\n\t\t\t\t\t\t{ prop: \"__table-selection\", spanProp: props.props.span },\n\t\t\t\t\t\t{ prop: \"__table-operation\", spanProp: props.props.span },\n\t\t\t\t\t]\n\t\t\t\t: []),\n\t\t]),\n\t\ttableData: [],\n\t\ttableSpanData: computed(() => {\n\t\t\tif (state.spanColumns?.length > 0 && state.tableData?.length > 0) {\n\t\t\t\tconst result = [];\n\t\t\t\tstate.spanColumns.forEach((item) => {\n\t\t\t\t\tresult[item.prop] = new Array(state.tableData.length).fill(1, 0, 1).fill(0, 1);\n\t\t\t\t\tresult[`${item.prop}-index`] = 0;\n\t\t\t\t});\n\t\t\t\tfor (let i = 1; i < state.tableData.length; i++) {\n\t\t\t\t\tstate.spanColumns.forEach((item) => {\n\t\t\t\t\t\tif (state.tableData[i][item.spanProp] === state.tableData[i - 1][item.spanProp]) {\n\t\t\t\t\t\t\tresult[item.prop][result[`${item.prop}-index`]]++;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tresult[`${item.prop}-index`] = i;\n\t\t\t\t\t\t\tresult[item.prop][i] = 1;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t}\n\t\t\treturn [];\n\t\t}),\n\t\ttablePagination: {\n\t\t\tpageIndex: 1,\n\t\t\tpageSize: 20,\n\t\t\ttotalRows: 0,\n\t\t},\n\t\tinitParam: {},\n\t\tsearchParam: {},\n\t\tsearchValueUpdate: \"\",\n\t\tsearchForm: props.searchForm,\n\t\tselected: false,\n\t\tselectedList: [],\n\t\tselectedListIds: computed(() => state.selectedList.map((item) => (isFunction(props.rowKey) ? props.rowKey(item) : item[props.rowKey]))),\n\t\tindeterminateSelectedListIds: [],\n\t\tresponseConfig: undefined,\n\t\toperationColumnWidth: computed(() => {\n\t\t\tconst findAutoCol = state.autoColumnWidth.find((f) => f.prop === \"__table-operation\");\n\t\t\tif (findAutoCol) {\n\t\t\t\treturn `${findAutoCol.width}px`;\n\t\t\t}\n\t\t\tswitch (_globalSize.value) {\n\t\t\t\tcase \"large\":\n\t\t\t\tcase \"default\":\n\t\t\t\t\treturn \"54px\";\n\t\t\t\tcase \"small\":\n\t\t\t\t\treturn \"42px\";\n\t\t\t\tdefault:\n\t\t\t\t\treturn \"auto\";\n\t\t\t}\n\t\t}),\n\t\timagePreview: false,\n\t\tpreviewList: [],\n\t\ttableWidth: undefined,\n\t\ttableHeight: undefined,\n\t\tautoColumnWidth: [],\n\t});\n\n\tprovide(tableStateKey, state);\n\n\tconst handleTableColumnAutoWidth = (): void => {\n\t\tstate.loading = true;\n\t\tstate.loadingText = \"加载中...\";\n\t\tstate.autoColumnWidth = [];\n\t\tconst autoWidthColumns = state.tableColumns.filter((f) => f.autoWidth);\n\t\tif (slots?.operation) {\n\t\t\t// 操作列自动宽度\n\t\t\tautoWidthColumns.push({\n\t\t\t\tprop: \"__table-operation\",\n\t\t\t});\n\t\t}\n\t\tif (autoWidthColumns?.length > 0) {\n\t\t\t// padding24/16 + border1\n\t\t\tconst otherWidth = _globalSize.value === \"default\" ? 25 : 17;\n\t\t\tnextTick(() => {\n\t\t\t\tconst tableDom = document.querySelector(`.fa-table__${props.tableKey}`);\n\t\t\t\tif (tableDom) {\n\t\t\t\t\tautoWidthColumns.forEach((item) => {\n\t\t\t\t\t\tconst headerColumnDom = tableDom.querySelector(`.__fa-table__auto-width-column__cell-header__${item?.prop}`);\n\t\t\t\t\t\tconst cellColumnDoms = tableDom.querySelectorAll(`.__fa-table__auto-width-column__cell__${item?.prop}`);\n\t\t\t\t\t\tlet maxWidth = 0;\n\t\t\t\t\t\tif (headerColumnDom) {\n\t\t\t\t\t\t\tmaxWidth = Math.ceil(headerColumnDom.scrollWidth) + otherWidth;\n\t\t\t\t\t\t\tif (item?.sortable) {\n\t\t\t\t\t\t\t\tmaxWidth += 24;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcellColumnDoms.forEach((cellDom) => {\n\t\t\t\t\t\t\tconst curWidth = Math.ceil(cellDom.scrollWidth) + otherWidth;\n\t\t\t\t\t\t\tif (curWidth > maxWidth) {\n\t\t\t\t\t\t\t\tmaxWidth = curWidth;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t\tconst findInfo = state.autoColumnWidth.find((f) => f.prop === item?.prop);\n\t\t\t\t\t\tif (findInfo) {\n\t\t\t\t\t\t\tfindInfo.width = Math.max(findInfo.width, maxWidth);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tstate.autoColumnWidth.push({\n\t\t\t\t\t\t\t\tprop: item?.prop,\n\t\t\t\t\t\t\t\twidth: maxWidth,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\tstate.loading = false;\n\t};\n\n\tconst handleTableData = (data: any[]): any[] => {\n\t\tif (props.treeData) {\n\t\t\tconst result: any[] = [];\n\t\t\tdata.forEach((row) => {\n\t\t\t\tconst rowList = row[props.props.children];\n\t\t\t\tif (isArray(rowList)) {\n\t\t\t\t\t// 如果 rowList 是数组,遍历并合并每个子项\n\t\t\t\t\trowList.forEach((cRow) => result.push({ ...row, ...cRow }));\n\t\t\t\t} else {\n\t\t\t\t\tresult.push({ ...row, ...(rowList || {}) });\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn result;\n\t\t} else {\n\t\t\treturn data;\n\t\t}\n\t};\n\n\tconst getRequestParam = (): PagedInput => {\n\t\tconst params = { ...state.searchParam, ...(props.pagination ? state.tablePagination : {}) };\n\t\t// 删除总条数\n\t\tdelete params.totalRows;\n\t\treturn params;\n\t};\n\n\tconst loadData = async (): Promise<void> => {\n\t\tstate.loading = true;\n\t\tstate.loadingText = \"加载中...\";\n\t\tif (props.requestApi) {\n\t\t\tconst params = getRequestParam();\n\t\t\temit(\"refresh\", params);\n\t\t\tlet pageData = [];\n\t\t\ttry {\n\t\t\t\tconst resData = await props.requestApi(params);\n\t\t\t\t// 数据回调\n\t\t\t\tprops.dataCallback && props.dataCallback(resData);\n\t\t\t\t// 解析 API 接口返回的分页数据(如果有分页更新分页信息)\n\t\t\t\tif (props.pagination) {\n\t\t\t\t\tconst pageRes = resData as PagedResult;\n\t\t\t\t\tpageData = pageRes.rows;\n\t\t\t\t\t// 更新分页信息\n\t\t\t\t\tObject.assign(state.tablePagination, {\n\t\t\t\t\t\tpageIndex: pageRes.pageIndex,\n\t\t\t\t\t\tpageSize: pageRes.pageSize,\n\t\t\t\t\t\ttotalRows: pageRes.totalRows,\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tpageData = resData as any[];\n\t\t\t\t\t// 更新分页信息\n\t\t\t\t\tObject.assign(state.tablePagination, {\n\t\t\t\t\t\tpageIndex: 1,\n\t\t\t\t\t\tpageSize: 0,\n\t\t\t\t\t\ttotalRows: pageData.length,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tstate.tableData = handleTableData(pageData);\n\t\t\t} catch (error) {\n\t\t\t\tconsoleError(\"FaTable\", error);\n\t\t\t\tstate.tableData = [];\n\t\t\t} finally {\n\t\t\t\tstate.loading = false;\n\t\t\t}\n\t\t} else {\n\t\t\temit(\"refresh\", { searchValue: state.searchParam.searchValue });\n\t\t\tlet _value = handleTableData(props.data);\n\t\t\t_value = _value.filter((f) => {\n\t\t\t\tif (!state.searchParam.searchValue) return true;\n\t\t\t\treturn state.tableColumns.some((col) => {\n\t\t\t\t\treturn f[col.prop]?.toString()?.toLowerCase().includes(state.searchParam.searchValue?.toLowerCase());\n\t\t\t\t});\n\t\t\t});\n\t\t\tif (state.searchParam.sortList?.length > 0) {\n\t\t\t\t_value = _value.sort(tableUtil.arrayDynamicSort(state.searchParam.sortList));\n\t\t\t}\n\t\t\tif (props.pagination) {\n\t\t\t\t// 更新分页信息\n\t\t\t\tObject.assign(state.tablePagination, {\n\t\t\t\t\ttotalRows: _value.length,\n\t\t\t\t});\n\t\t\t\tconst pageStart = (state.tablePagination.pageIndex - 1) * state.tablePagination.pageSize;\n\t\t\t\tconst pageEnd = pageStart + state.tablePagination.pageSize;\n\t\t\t\tstate.tableData = _value.slice(pageStart, pageEnd);\n\t\t\t} else {\n\t\t\t\tstate.tableData = _value;\n\t\t\t\t// 更新分页信息\n\t\t\t\tObject.assign(state.tablePagination, {\n\t\t\t\t\tpageIndex: 1,\n\t\t\t\t\tpageSize: 0,\n\t\t\t\t\ttotalRows: _value.length,\n\t\t\t\t});\n\t\t\t}\n\t\t\tstate.loading = false;\n\t\t}\n\t\thandleTableColumnAutoWidth();\n\t};\n\n\tconst loadTableColumns = (): void => {\n\t\tlet columns: FaTableColumnCtx[] = props.columns ? props.columns : [];\n\t\t// 默认值处理\n\t\tcolumns.forEach((col) => {\n\t\t\t// 处理搜索项的 key 和 label\n\t\t\tif (col.pureSearch || col.search) {\n\t\t\t\tcol.search.key ??= col.prop;\n\t\t\t\tcol.search.label ??= col.label;\n\t\t\t\t// 处理默认值\n\t\t\t\tif (col.search.defaultValue) {\n\t\t\t\t\tstate.searchParam[col.search.key] = col.search.defaultValue;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\t// 排序\n\t\tcolumns = columns.sort((a, b) => {\n\t\t\treturn a?.order - b?.order;\n\t\t});\n\n\t\t// TODO:这里的扁平化暂时没用到\n\t\tstate.orgColumns = tableUtil.flatColumns(columns, enumMap);\n\t};\n\n\tconst handleSizeChange = (pageSize: number): void => {\n\t\tstate.tablePagination.pageIndex = 1;\n\t\tstate.tablePagination.pageSize = pageSize;\n\t\temit(\"sizeChange\", pageSize);\n\t\temit(\"paginationChange\", 1, pageSize);\n\t\tloadData();\n\t};\n\tconst handlePaginationChange = (val: number): void => {\n\t\tstate.tablePagination.pageIndex = val;\n\t\temit(\"sizeChange\", state.tablePagination.pageSize);\n\t\temit(\"paginationChange\", val, state.tablePagination.pageSize);\n\t\tloadData();\n\t};\n\n\tconst updatedTotalParam = (): void => {\n\t\t// 处理查询参数,可以给查询参数加自定义前缀操作\n\t\tconst newSearchParam = {};\n\t\t// 防止手动清空输入框携带参数(这里可以自定义查询参数前缀)\n\t\tfor (const key in state.searchParam) {\n\t\t\t// * 某些情况下参数为 false/0 也应该携带参数\n\t\t\tif (state.searchParam[key] || state.searchParam[key] === false || state.searchParam[key] === 0) {\n\t\t\t\tnewSearchParam[key] = state.searchParam[key];\n\t\t\t}\n\t\t\t// 处理某些情况下如果为空字符串,其实是不需要传到后端的\n\t\t\telse if (!state.searchParam[key]) {\n\t\t\t\tdelete state.searchParam[key];\n\t\t\t}\n\t\t}\n\t\tObject.assign(state.searchParam, newSearchParam);\n\t};\n\n\tconst defaultSearchTime = (): void => {\n\t\tif (props.hideSearchTime) {\n\t\t\tstate.searchParam.searchTimeList = undefined;\n\t\t} else {\n\t\t\tconst end = new Date();\n\t\t\tconst start = new Date();\n\t\t\tswitch (props.dataSearchRange) {\n\t\t\t\tcase \"Past1D\":\n\t\t\t\t\tstart.setDate(start.getDate() - 1);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"Past3D\":\n\t\t\t\t\tstart.setDate(start.getDate() - 3);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"Past1W\":\n\t\t\t\t\tstart.setDate(start.getDate() - 7);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"Past1M\":\n\t\t\t\t\tstart.setMonth(start.getMonth() - 1);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"Past3M\":\n\t\t\t\t\tstart.setMonth(start.getMonth() - 3);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"Past6M\":\n\t\t\t\t\tstart.setMonth(start.getMonth() - 6);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"Past1Y\":\n\t\t\t\t\tstart.setFullYear(start.getFullYear() - 1);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"Past3Y\":\n\t\t\t\t\tstart.setFullYear(start.getFullYear() - 3);\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tstate.searchParam.searchTimeList = [dayjs(start).format(\"YYYY-MM-DD 00:00:00\"), dayjs(end).format(\"YYYY-MM-DD 23:59:59\")];\n\t\t}\n\t};\n\n\tconst tableSearch = async (): Promise<void> => {\n\t\t// 重置到第一页\n\t\tstate.tablePagination.pageIndex = 1;\n\t\tupdatedTotalParam();\n\t\tawait loadData();\n\t};\n\n\tconst tableReset = async (): Promise<void> => {\n\t\t// 重置到第一页\n\t\tstate.tablePagination.pageIndex = 1;\n\t\t// 清除搜索条件\n\t\tstate.searchParam = {};\n\t\tdefaultSearchTime();\n\t\t// 重置搜索表单的时候,如果有默认搜索参数,则重置默认的搜索参数\n\t\tObject.keys(state.initParam ?? {}).forEach((key) => {\n\t\t\tstate.searchParam[key] = state.initParam[key];\n\t\t});\n\t\temit(\"reset\", state.searchParam);\n\t\tawait loadData();\n\t};\n\n\tconst doRender = async (): Promise<void> => {\n\t\tstate.orgColumns = [];\n\t\tstate.autoColumnWidth = [];\n\t\tstate.tableData = [];\n\t\tawait clickUtil.debounceAsync(async () => {\n\t\t\tloadTableColumns();\n\t\t\tawait tableSearch();\n\t\t}, 300);\n\t};\n\n\tconst doLoading = (loadingFunction: () => void | Promise<void>, loadingText = \"加载中...\"): void => {\n\t\tstate.loading = true;\n\t\tstate.loadingText = loadingText;\n\t\texecFunction(loadingFunction)\n\t\t\t.then()\n\t\t\t.catch((error) => {\n\t\t\t\tconsoleError(\"FaTable\", error);\n\t\t\t})\n\t\t\t.finally(() => {\n\t\t\t\tstate.loading = false;\n\t\t\t});\n\t};\n\n\tconst handleCustomCellClick = (emitName: string, { row, column, $index }: { row: any; column: FaTableColumnCtx; $index: number }): void => {\n\t\temit(\"customCellClick\", emitName, { row, column, $index, ...getTableDefaultSlots(state) });\n\t};\n\n\twatch(\n\t\t() => props.tableKey,\n\t\tasync () => {\n\t\t\tawait doRender();\n\t\t}\n\t);\n\n\twatch(\n\t\t() => props.searchForm,\n\t\t(newValue) => {\n\t\t\tstate.searchForm = newValue;\n\t\t}\n\t);\n\n\treturn {\n\t\t_globalSize,\n\t\tstate,\n\t\telementRef,\n\t\ttableRef,\n\t\thandleTableColumnAutoWidth,\n\t\tgetRequestParam,\n\t\tloadTableColumns,\n\t\thandleSizeChange,\n\t\thandlePaginationChange,\n\t\tdefaultSearchTime,\n\t\ttableSearch,\n\t\ttableReset,\n\t\tdoRender,\n\t\tdoLoading,\n\t\thandleCustomCellClick,\n\t};\n};\n"],"names":["tableStateKey","enumMapKey","props","slots","emit","_globalSize","useGlobalSize","elementRef","ref","tableRef","enumMap","reactive","Map","provide","state","loading","loadingText","orgColumns","tableColumns","computed","filter","f","prop","pureSearch","searchColumns","search","sort","a","b","order","spanColumns","spanProp","map","col","span","tableData","tableSpanData","length","result","forEach","item","Array","fill","i","tablePagination","pageIndex","pageSize","totalRows","initParam","searchParam","searchValueUpdate","searchForm","selected","selectedList","selectedListIds","isFunction","rowKey","indeterminateSelectedListIds","responseConfig","operationColumnWidth","findAutoCol","autoColumnWidth","find","width","value","imagePreview","previewList","tableWidth","tableHeight","handleTableColumnAutoWidth","autoWidthColumns","autoWidth","operation","push","otherWidth","nextTick","tableDom","document","querySelector","tableKey","headerColumnDom","cellColumnDoms","querySelectorAll","maxWidth","Math","ceil","scrollWidth","sortable","cellDom","curWidth","findInfo","max","handleTableData","data","treeData","row","rowList","children","isArray","cRow","getRequestParam","params","pagination","loadData","async","requestApi","pageData","resData","dataCallback","pageRes","rows","Object","assign","error","consoleError","searchValue","_value","some","toString","toLowerCase","includes","sortList","tableUtil","arrayDynamicSort","pageStart","pageEnd","slice","loadTableColumns","columns","key","label","defaultValue","flatColumns","defaultSearchTime","hideSearchTime","searchTimeList","end","Date","start","dataSearchRange","setDate","getDate","setMonth","getMonth","setFullYear","getFullYear","dayjs","format","tableSearch","newSearchParam","updatedTotalParam","doRender","clickUtil","debounceAsync","watch","newValue","handleSizeChange","handlePaginationChange","val","tableReset","keys","doLoading","loadingFunction","execFunction","then","catch","finally","handleCustomCellClick","emitName","column","$index","getTableDefaultSlots"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("lodash-unified"),n={formatValue:n=>e.isArray(n)?n.length?n.join(" , "):null:n,handleRowAccordingToProp:(e,n)=>n.includes(".")?(n.split(".").forEach(n=>e=e[n]),e):e[n]??null,handleProp(e){const n=e.split(".");return 1===n.length?e:n[n.length-1]},filterEnum(n,t,r,i){const l=r?.value??"value",s=r?.label??"label";let o={};return e.isArray(t)&&(o=t.find(e=>e[l]===n)),"tag"===i?o?.type??"info":o?o[s]:null},arrayDynamicSort:e=>function(n,t){if(e&&e.length>0)for(const r of e){const e=r.enField,i=r.mode,l=n[e],s=t[e];if("string"==typeof l&&"string"==typeof s){if("ascending"===i){const e=l.localeCompare(s,"zh-CN");if(0!==e)return e}else if("descending"===i){const e=s.localeCompare(l,"zh-CN");if(0!==e)return e}}else if("ascending"===i){if(l<s)return-1;if(l>s)return 1}else if("descending"===i){if(l>s)return-1;if(l<s)return 1}}return 0},setEnumMap(n,t,r){n&&(e.isFunction(n)?
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("lodash-unified"),n={formatValue:n=>e.isArray(n)?n.length?n.join(" , "):null:n,handleRowAccordingToProp:(e,n)=>n.includes(".")?(n.split(".").forEach(n=>e=e[n]),e):e[n]??null,handleProp(e){const n=e.split(".");return 1===n.length?e:n[n.length-1]},filterEnum(n,t,r,i){const l=r?.value??"value",s=r?.label??"label";let o={};return e.isArray(t)&&(o=t.find(e=>e[l]===n)),"tag"===i?o?.type??"info":o?o[s]:null},arrayDynamicSort:e=>function(n,t){if(e&&e.length>0)for(const r of e){const e=r.enField,i=r.mode,l=n[e],s=t[e];if("string"==typeof l&&"string"==typeof s){if("ascending"===i){const e=l.localeCompare(s,"zh-CN");if(0!==e)return e}else if("descending"===i){const e=s.localeCompare(l,"zh-CN");if(0!==e)return e}}else if("ascending"===i){if(l<s)return-1;if(l>s)return 1}else if("descending"===i){if(l>s)return-1;if(l<s)return 1}}return 0},setEnumMap(n,t,r){n&&(e.isFunction(n)?r.set(t,n()):e.isArray(n)&&r.set(t,n))},flatColumns(n,t){const r=[];return n.forEach(n=>{n._children?.length&&r.push(...this.flatColumns(n._children)),r.push(n),n.show=n.show??!0;let i=n.prop??n.search?.key;n.enum&&e.isString(n.enum)&&(i=n.enum),this.setEnumMap(n.enum,i,t)}),r.filter(e=>!e._children?.length)}};exports.tableUtil=n;
|
|
2
2
|
//# sourceMappingURL=table.js.map
|