@wx-design/components 0.8.24 → 0.8.25
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.
|
@@ -1,8 +1,36 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* 单元格-Boolean
|
|
3
3
|
*/
|
|
4
|
-
import { CheckboxProps } from "element-plus";
|
|
5
4
|
import type { SabColumnProps } from "../../../../types/table";
|
|
6
|
-
declare const SabCellBoolean: import("vue").DefineComponent<
|
|
5
|
+
declare const SabCellBoolean: import("vue").DefineComponent<Readonly<{
|
|
6
|
+
onChange?: any;
|
|
7
|
+
disabled?: any;
|
|
8
|
+
modelValue?: any;
|
|
9
|
+
column?: any;
|
|
10
|
+
showType?: any;
|
|
11
|
+
valueTrue?: any;
|
|
12
|
+
valueFalse?: any;
|
|
13
|
+
row?: any;
|
|
14
|
+
}>, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:modelValue"[], "update:modelValue", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<Readonly<{
|
|
15
|
+
onChange?: any;
|
|
16
|
+
disabled?: any;
|
|
17
|
+
modelValue?: any;
|
|
18
|
+
column?: any;
|
|
19
|
+
showType?: any;
|
|
20
|
+
valueTrue?: any;
|
|
21
|
+
valueFalse?: any;
|
|
22
|
+
row?: any;
|
|
23
|
+
}>>> & {
|
|
24
|
+
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
|
25
|
+
}, {
|
|
26
|
+
readonly onChange?: any;
|
|
27
|
+
readonly disabled?: any;
|
|
28
|
+
readonly modelValue?: any;
|
|
29
|
+
readonly column?: any;
|
|
30
|
+
readonly showType?: any;
|
|
31
|
+
readonly valueTrue?: any;
|
|
32
|
+
readonly valueFalse?: any;
|
|
33
|
+
readonly row?: any;
|
|
34
|
+
}, {}>;
|
|
7
35
|
export default SabCellBoolean;
|
|
8
36
|
export declare const config: Partial<SabColumnProps>;
|
package/lib/index.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
Copyright (c) 2018 Jed Watson.
|
|
3
3
|
Licensed under the MIT License (MIT), see
|
|
4
4
|
http://jedwatson.github.io/classnames
|
|
5
|
-
*/(function(e){(function(){var t={}.hasOwnProperty;function r(){for(var o="",l=0;l<arguments.length;l++){var s=arguments[l];s&&(o=a(o,n(s)))}return o}function n(o){if(typeof o=="string"||typeof o=="number")return o;if(typeof o!="object")return"";if(Array.isArray(o))return r.apply(null,o);if(o.toString!==Object.prototype.toString&&!o.toString.toString().includes("[native code]"))return o.toString();var l="";for(var s in o)t.call(o,s)&&o[s]&&(l=a(l,s));return l}function a(o,l){return l?o?o+" "+l:o+l:o}e.exports?(r.default=r,e.exports=r):window.classNames=r})()})(Lr);var D1=Lr.exports;const H1=B(D1);var U1=function(t){return K1(t)&&!G1(t)};function K1(e){return!!e&&typeof e=="object"}function G1(e){var t=Object.prototype.toString.call(e);return t==="[object RegExp]"||t==="[object Date]"||W1(e)}var z1=typeof Symbol=="function"&&Symbol.for,q1=z1?Symbol.for("react.element"):60103;function W1(e){return e.$$typeof===q1}function Y1(e){return Array.isArray(e)?[]:{}}function Y(e,t){return t.clone!==!1&&t.isMergeableObject(e)?R(Y1(e),e,t):e}function X1(e,t,r){return e.concat(t).map(function(n){return Y(n,r)})}function J1(e,t){if(!t.customMerge)return R;var r=t.customMerge(e);return typeof r=="function"?r:R}function Z1(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter(function(t){return Object.propertyIsEnumerable.call(e,t)}):[]}function Yt(e){return Object.keys(e).concat(Z1(e))}function kr(e,t){try{return t in e}catch{return!1}}function Q1(e,t){return kr(e,t)&&!(Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))}function eh(e,t,r){var n={};return r.isMergeableObject(e)&&Yt(e).forEach(function(a){n[a]=Y(e[a],r)}),Yt(t).forEach(function(a){Q1(e,a)||(kr(e,a)&&r.isMergeableObject(t[a])?n[a]=J1(a,r)(e[a],t[a],r):n[a]=Y(t[a],r))}),n}function R(e,t,r){r=r||{},r.arrayMerge=r.arrayMerge||X1,r.isMergeableObject=r.isMergeableObject||U1,r.cloneUnlessOtherwiseSpecified=Y;var n=Array.isArray(t),a=Array.isArray(e),o=n===a;return o?n?r.arrayMerge(e,t,r):eh(e,t,r):Y(t,r)}R.all=function(t,r){if(!Array.isArray(t))throw new Error("first argument should be an array");return t.reduce(function(n,a){return R(n,a,r)},{})};var th=R,rh=th;const O=B(rh);var m=(e=>(e.Input="input",e.InputNumber="input-number",e.Select="select",e.DatePciker="date-picker",e.Image="image",e.Color="color",e.Boolean="boolean",e.Popover="popover",e.Dynamic="dynamic",e))(m||{});const F=(e,t)=>{var n,a,o,l;const{column:r}=e;return t||r.editorProps||((n=r.editRender)==null?void 0:n.editorProps)||((a=r.getEditorProps)==null?void 0:a.call(r,e))||((l=(o=r.editRender)==null?void 0:o.getEditorProps)==null?void 0:l.call(o,e))},Dr=i.defineComponent({name:"SabCellEditInput",emits:["update:modelValue"],setup(e,{attrs:t,emit:r}){const n=a=>{r("update:modelValue",a)};return()=>i.createVNode(w.ElInput,i.mergeProps({size:"small",modelValue:e.modelValue,onInput:n},t),null)}}),Hr={sabCellType:m.Input,editRender:{autofocus:".el-input__inner"},slots:{edit:(e,t)=>{const{row:r,column:n}=e,a=F(e,t);return i.createVNode(Dr,i.mergeProps({modelValue:r[n.field],"onUpdate:modelValue":o=>r[n.field]=o},a),null)}}},Ur=i.defineComponent({name:"SabCellEditInput",emits:["update:modelValue"],setup(e,{attrs:t,emit:r}){const n=(a,o)=>{r("update:modelValue",a,o)};return()=>i.createVNode(w.ElInputNumber,i.mergeProps({size:"small",modelValue:e.modelValue,controlsPosition:"right","onUpdate:modelValue":n},t),null)}}),Kr={cellType:"number",sabCellType:m.InputNumber,editRender:{autofocus:".el-input__inner"},slots:{edit:(e,t)=>{const{row:r,column:n}=e,a=F(e,t);return i.createVNode(Ur,i.mergeProps({modelValue:r[n.field],"onUpdate:modelValue":o=>r[n.field]=o},a),null)}}},Gr=i.defineComponent({name:"SabCellEditInput",emits:["update:modelValue"],setup(e,{attrs:t,emit:r}){const n=a=>{r("update:modelValue",a)};return()=>i.createVNode(w.ElDatePicker,i.mergeProps({size:"small",format:"YYYY-MM-DD HH:mm:ss",valueFormat:"YYYY-MM-DD HH:mm:ss",modelValue:e.modelValue,"onUpdate:modelValue":n},t),null)}}),zr={sabCellType:m.DatePciker,editRender:{autofocus:".el-input__inner"},slots:{edit:(e,t)=>{const{row:r,column:n}=e,a=F(e,t);return i.createVNode(Gr,i.mergeProps({modelValue:r[n.field],"onUpdate:modelValue":o=>r[n.field]=o},a),null)}}},Me=i.defineComponent({props:{options:Array,modelValue:{type:String||Number||Array,default:""},labelKey:{type:String,default:"label"},valueKey:{type:String,default:"value"},disabledKey:{type:String,default:"disabled"},dynamicOptions:Function,dynamicDebounce:Object,remote:Boolean,onChange:Function},name:"SabCellEditSelect",emits:["update:modelValue","update:label"],setup(e,{attrs:t,emit:r}){var f;const{renderOption:n,renderOptionLabel:a,scope:o,...l}=t,s=i.ref([]),c=i.computed(()=>e.options||s.value||[]),u=i.ref(""),v=i.computed(()=>u.value&&!e.remote?c.value.filter(d=>`${d[e.labelKey]}${d[e.valueKey]}`.toLowerCase().includes(u.value.toLowerCase())):c.value),g=d=>{var b,y;if(r("update:modelValue",d),Array.isArray(d)){const C=d.map(A=>{var T;return(T=c.value.find(P=>P[e.valueKey]===A))==null?void 0:T[e.labelKey]});r("update:label",C)}else{const C=(b=c.value.find(A=>A[e.valueKey]===d))==null?void 0:b[e.labelKey];r("update:label",C)}(y=e==null?void 0:e.onChange)==null||y.call(e,d,{options:c.value})},p=i.ref(!1),h=Er(async d=>{var b;try{p.value=!0;const y=await((b=e.dynamicOptions)==null?void 0:b.call(e,{...o,keywords:d}));s.value=y}finally{p.value=!1}},((f=e.dynamicDebounce)==null?void 0:f.delay)??300,{leading:!1,trailing:!0,...e.dynamicDebounce});return i.onMounted(()=>{typeof e.dynamicOptions=="function"&&h()}),()=>i.createVNode(w.ElSelect,i.mergeProps({size:"small",filterable:!0,modelValue:e.modelValue,loading:p.value,teleported:!1,filterMethod:d=>u.value=d,remote:e.remote,remoteMethod:h},l,{onChange:g}),{default:()=>{var d;return[(d=v.value)==null?void 0:d.map(b=>{const y=typeof a=="function"?a(b):b[e.labelKey];return i.createVNode(w.ElOption,{key:b[e.valueKey],value:b[e.valueKey],label:y,disabled:b[e.disabledKey]},{default:()=>[typeof n=="function"?n(b):i.createVNode("span",{style:{fontWeight:"normal"}},[b[e.labelKey]])]})})]}})}}),qr={sabCellType:m.Input,editRender:{autofocus:".el-input__inner"},slots:{edit:(e,t)=>{const{row:r,column:n}=e,a=F(e,t);return a!=null&&a.effectValueField?i.createVNode(Me,i.mergeProps({automaticDropdown:!0,modelValue:r[a.effectValueField],"onUpdate:modelValue":o=>r[a.effectValueField]=o,label:r[n.field],"onUpdate:label":o=>r[n.field]=o},a,{scope:e}),null):i.createVNode(Me,i.mergeProps({automaticDropdown:!0,modelValue:r[n.field],"onUpdate:modelValue":o=>r[n.field]=o},a,{scope:e}),null)}}},Wr=i.defineComponent({name:"SabCellBoolean",emits:["update:modelValue"],setup(e,{emit:t,attrs:r}){const n=a=>{t("update:modelValue",a)};return()=>i.createVNode(w.ElCheckbox,i.mergeProps({style:{lineHieght:1},modelValue:e.modelValue,onChange:n},r),null)}}),Yr={sabCellType:m.Color,className:"sab-cell-boolean",align:"center",showOverflow:!1,slots:{default:(e,t)=>{const{row:r,column:n}=e,a=F(e,t);return i.createVNode(Wr,i.mergeProps({modelValue:r[n.field],"onUpdate:modelValue":o=>r[n.field]=o},a),null)}}},nh=i.defineComponent({props:{column:Object,headerFilterModel:Object},setup(e,{emit:t}){const r=e.column,n=r.headerFilterConfig,a=(n==null?void 0:n.sabCellType)||r.sabCellType,o=i.computed(()=>{var s;return n!=null&&n.extendFromColumnEditor?O(r.editorProps||((s=r.editRender)==null?void 0:s.editorProps)||{},(n==null?void 0:n.editorProps)||{}):n==null?void 0:n.editorProps}),l=i.ref(e.headerFilterModel[r.field]);return()=>a===m.InputNumber?i.createVNode(Ur,i.mergeProps({modelValue:e.headerFilterModel[r.field],"onUpdate:modelValue":s=>e.headerFilterModel[r.field]=s},o.value),null):a===m.Boolean?i.createVNode(Wr,i.mergeProps({modelValue:e.headerFilterModel[r.field],"onUpdate:modelValue":s=>e.headerFilterModel[r.field]=s},o.value,{disabled:r.type!=="checkbox"}),null):a===m.DatePciker?i.createVNode(Gr,i.mergeProps({format:"YYYY-MM-DD HH:mm:ss",modelValue:e.headerFilterModel[r.field],"onUpdate:modelValue":s=>e.headerFilterModel[r.field]=s},o.value,{type:"datetimerange",prefixIcon:i.createVNode("span",null,null)}),null):a===m.Select?i.createVNode(Me,i.mergeProps({modelValue:e.headerFilterModel[r.field],"onUpdate:modelValue":s=>e.headerFilterModel[r.field]=s},o.value,{teleported:!0,clearable:!0,"collapse-tags":!0,"collapse-tags-tooltip":!0}),null):a===m.Image||a===m.Dynamic||!r.field?null:i.createVNode(Dr,i.mergeProps({modelValue:l.value,"onUpdate:modelValue":s=>l.value=s},o.value,{onChange:s=>{var c;e.headerFilterModel[r.field]=s,t("update:headerFilterModel",{...e.headerFilterModel,[r.field]:s}),(c=o==null?void 0:o.onChange)==null||c.call(o,s)}}),null)}}),ah=i.defineComponent({props:{column:Object,headerFilterModel:Object},setup(e,{slots:t}){const{column:r}=e;return()=>{var n,a;return i.createVNode("div",{class:"sab-table-header"},[i.createVNode("div",{class:"sab-table-header-title"},[(n=t.default)==null?void 0:n.call(t)]),((a=r==null?void 0:r.headerFilterConfig)==null?void 0:a.enable)&&i.createVNode("div",{onClick:o=>o.stopPropagation()},[i.createVNode("div",{class:"sab-table-header-filter"},[i.createVNode(nh,{headerFilterModel:e.headerFilterModel,"onUpdate:headerFilterModel":o=>e.headerFilterModel=o,column:e.column},null)])])])}}}),oh=e=>{const{column:t,headerFilterModel:r,xTable:n}=e,a=i.ref([{data:""}]),o=({option:l,row:s,...c})=>{var g,p,h;if(typeof((g=t.headerFilterConfig)==null?void 0:g.filterMethod)=="function")return t.headerFilterConfig.filterMethod({option:l,row:s,...c});if(typeof t.filterMethod=="function")return t.filterMethod({option:l,row:s,...c});const u=i.computed(()=>{var f,d,b,y;return(f=t==null?void 0:t.headerFilterConfig)!=null&&f.extendFromColumnEditor?O(t.editorProps||((d=t.editRender)==null?void 0:d.editorProps)||{},((b=t.headerFilterConfig)==null?void 0:b.editorProps)||{}):(y=t==null?void 0:t.headerFilterConfig)==null?void 0:y.editorProps}),v=l.data??l.value;if(v&&t.field){let f=((h=s[((p=u.value)==null?void 0:p.effectValueField)||t.field])==null?void 0:h.toString().toLowerCase())||"";if(Array.isArray(v)){for(let d of v)if(f.includes(d==null?void 0:d.toString().toLowerCase()))return!0;if(v.length===2){let[d,b]=v;return t.sabCellType===m.DatePciker&&(d=new Date(d),b=new Date(b),f=new Date(f)),f>=d&&f<=b}}return f.includes(v==null?void 0:v.toString().toLowerCase())}return!0};return i.watch(()=>r[t.field],l=>{var c,u,v;if(!((c=t.headerFilterConfig)!=null&&c.enable))return;const s=n.value;if(s){const g=s.getColumnByField(t.field);if(g){const p=g.filters[0];p.data=l,l===""||l===null||typeof l>"u"||Array.isArray(l)&&l.length===0?p.checked=!1:p.checked=!0,s.updateData();const h=(u=n.value)==null?void 0:u.getCheckedFilters();(v=e.onFilter)==null||v.call(e,{$table:n.value,column:t,field:t.field,values:Array.isArray(l)?l:[l],filters:h,filterList:h})}}}),{filters:a,filterMethod:o}},ih=i.defineComponent({props:{xTable:Object},setup(e,{attrs:t,slots:r,emit:n}){const{slots:a,editorProps:o,title:l,headerFilterModel:s,...c}=t,u=i.computed(()=>{const f={};return Object.keys(a||{}).forEach(d=>{f[d]=b=>typeof a[d]=="string"?r[a[d]](b):typeof a[d]=="function"?a[d](b,o):null}),f}),v=i.computed(()=>e.xTable),{filters:g,filterMethod:p}=oh({column:c,headerFilterModel:s,xTable:v,onFilter:f=>n("filter-change",f)}),h=i.computed(()=>{var f;return H1(c.headerClassName,{"sab-table-header-filter-column":(f=c.headerFilterConfig)==null?void 0:f.enable})});return()=>{var f,d;return i.createVNode(Fe.Column,i.mergeProps({filters:(f=c.headerFilterConfig)!=null&&f.enable?g.value:void 0},c,{headerClassName:h.value,filterMethod:p}),{...u.value,header:(d=c.headerFilterConfig)!=null&&d.enable&&c.type!="checkbox"&&c.type!="radio"&&c.type!="seq"?b=>i.createVNode(ah,{column:t,headerFilterModel:s},{default:()=>{var y,C;return((C=(y=u.value).header)==null?void 0:C.call(y,b))??l}}):void 0})}}});var ae=(e=>(e.Shift="shift",e.Control="control",e.Meta="meta",e))(ae||{});let Xt=!1,W=new Set;function lh(){Xt||(Xt=!0,document.addEventListener("keydown",e=>{var t;W.add((t=e.key)==null?void 0:t.toLowerCase())}),document.addEventListener("keyup",e=>{var t;W.delete((t=e.key)==null?void 0:t.toLowerCase())}))}const Xr={fit:!0,border:!0,showHeader:!0,size:"mini",showOverflow:!0,height:"auto",minHeight:"0px",withSeq:!0,mouseConfig:{selected:!0},seqConfig:{clearOtherSelectedWhenClick:!0},headerFilterConfig:{enable:!1},autoResize:!0,keepSource:!0,showHeaderOverflow:!0,autoColumnWidth:!0,checkboxConfig:{trigger:"cell",range:!0,highlight:!0,isShiftKey:!0},editable:!0,editConfig:{trigger:"click",mode:"cell",autoClear:!0,showStatus:!0,showIcon:!0},rowConfig:{useKey:!0,isCurrent:!0,isHover:!0},keyboardConfig:{isArrow:!0,isEsc:!0,isTab:!0,isEnter:!1,isEdit:!0},columnConfig:{resizable:!0},sortConfig:{trigger:"cell",orders:["desc","asc",null]},scrollY:{enabled:!0,gt:100},scrollX:{enabled:!1,gt:50},rowBackgroundHighlight:!0,rowBorderHighlight:!0},sh=(e,t={})=>{var n,a,o,l;let r=O(Xr,e);return r=O(r,t),r.editable===!1?delete r.editConfig:r.editable===!0&&(r.editConfig=O({},r.editConfig||{})),r.withCheckbox===!0&&!((n=r.columns)!=null&&n.some(s=>s.field==="sab-table-checkbox"))&&((a=r.columns)==null||a.unshift({type:"checkbox",fixed:"left",field:"sab-table-checkbox",width:40})),r.withSeq===!0&&!((o=r.columns)!=null&&o.some(s=>s.field==="sab-table-seq"))&&((l=r.columns)==null||l.unshift({type:"checkbox",fixed:"left",field:"sab-table-seq",width:50,className:"sab-table-seq",headerClassName:"sab-table-seq-header",slots:{header:()=>null,checkbox:({seq:s})=>s}})),r.rowBackgroundHighlight===!1&&(r.checkboxConfig&&(r.checkboxConfig.highlight=!1),r.rowConfig&&(r.rowConfig.isCurrent=!1,r.rowConfig.isHover=!1)),r},ch=(e,t,r)=>{const n={"cell-click":async o=>{var u,v,g,p,h,f,d,b,y,C,A;const{row:l,column:s}=o,c=(u=r.value)==null?void 0:u.isCheckedByCheckboxRow(l);if(W.has(ae.Shift)&&s.field=="sab-table-seq"){const T=(v=r.value)==null?void 0:v.getCheckboxRecords();e("checkbox-change",{...o,records:T});return}if((W.has(ae.Control)||W.has(ae.Meta))&&s.field=="sab-table-seq"){c||await((g=r.value)==null?void 0:g.setCheckboxRow(l,!1));return}if(!c&&s.field!=="sab-table-seq"){let T=!1;if(t.value.selectWhenClickRow&&(await((p=r.value)==null?void 0:p.setCheckboxRow(l,!0)),await((h=r.value)==null?void 0:h.setCurrentRow(l)),T=!0),T){const P=(f=r.value)==null?void 0:f.getCheckboxRecords();e("checkbox-change",{...o,records:P})}}if(s.field==="sab-table-seq"&&((d=t.value.seqConfig)!=null&&d.clearOtherSelectedWhenClick&&await((b=r.value)==null?void 0:b.clearCheckboxRow()),await((y=r.value)==null?void 0:y.setCheckboxRow(l,!0)),(C=r.value)==null||C.setCurrentRow(l),c)){const T=(A=r.value)==null?void 0:A.getCheckboxRecords();e("checkbox-change",{...o,records:T})}e("cell-click",o)},"checkbox-change":async o=>{o.column.field==="sab-table-seq"||e("checkbox-change",o)}},a={};return["keydown-start","keydown","keydown-end","current-change","radio-change","checkbox-change","checkbox-all","checkbox-range-start","checkbox-range-change","checkbox-range-end","cell-click","cell-dblclick","cell-menu","cell-mouseenter","cell-mouseleave","header-cell-click","header-cell-dblclick","header-cell-menu","footer-cell-click","footer-cell-dblclick","footer-cell-menu","clear-merge","sort-change","clear-sort","filter-change","filter-visible","clear-filter","resizable-change","toggle-row-expand","toggle-tree-expand","menu-click","cell-selected","edit-closed","edit-actived","edit-disabled","valid-error","scroll","custom"].map(o=>{a[o]=(...l)=>{typeof n[o]=="function"?n[o](...l):e(o,...l)}}),a},uh=i.defineComponent({name:"SabCellImage",props:{src:String,preview:Boolean},setup(e,{attrs:t}){return e.src?e.preview?()=>i.createVNode(w.ElImage,i.mergeProps({lazy:!0,fit:"contain",src:e.src,style:{verticalAlign:"middle",height:"40px",width:"40px"},"preview-src-list":[e.src],hideOnClickModal:!0,previewTeleported:!0},t),null):()=>i.createVNode(w.ElPopover,{transition:"el-zoom-in-top",trigger:"click",persistent:!1},{reference:()=>i.createVNode(w.ElIcon,{size:17,style:{cursor:"pointer",verticalAlign:"middle"}},{default:()=>[i.createVNode(Nt,null,null)]}),default:()=>i.createVNode(w.ElImage,i.mergeProps({lazy:!0,src:e.src,style:{verticalAlign:"middle"},"preview-src-list":[e.src]},t),null)}):()=>i.createVNode(w.ElIcon,{size:17,style:{cursor:"not-allowed",verticalAlign:"middle",opacity:"0.5"}},{default:()=>[i.createVNode(Nt,null,null)]})}}),Jr={sabCellType:m.Image,showOverflow:!1,align:"center",slots:{default:({row:e,column:t})=>i.createVNode(uh,{src:e[t.field]},null)}},fh=i.defineComponent({props:{color:String},name:"SabCellColor",setup(e){const t=i.computed(()=>{var r,n;return((r=e.color)==null?void 0:r.length)===6?`#${e.color}`:((n=e.color)==null?void 0:n.length)===9?`rgb(${e.color.substring(0,3)},${e.color.substring(3,6)},${e.color.substring(6,9)})`:e.color});return()=>i.createVNode("div",{class:"sab-cell-color__inner",style:{background:t.value}},[i.createVNode("span",null,[e.color])])}}),Zr={sabCellType:m.Color,className:"sab-cell-color",slots:{default:({row:e,column:t})=>i.createVNode(fh,{color:e[t.field]},null)}},dh=i.defineComponent({props:{column:Object,scope:Object,popover:Object},name:"SabCellEditPopover",setup(e,{slots:t}){const{scope:r,popover:n}=e,a=i.ref();return()=>{var o;return i.createVNode("div",null,[i.createVNode("div",{class:"sab-cell-popover-inner",style:{overflow:"hidden",textOverflow:"ellipsis"},ref:a},[i.createVNode("span",{class:"sab-cell-popover-inner-ctx"},[(o=t.default)==null?void 0:o.call(t)]),!(n!=null&&n.hideButton)&&i.createVNode(w.ElButton,{round:!1,class:"sab-cell-popover-inner-btn",size:"small",icon:i.createVNode(ep,null,null)},null)]),i.createVNode(w.ElPopover,i.mergeProps({persistent:!1,"virtual-ref":a,"virtual-triggering":!0,trigger:"click",transition:"el-zoom-in-top"},n),{default:()=>{var l;return[(l=t.popover)==null?void 0:l.call(t,r)]}})])}}}),Qr={sabCellType:m.Popover,className:"sab-cell-popover",editRender:{enabled:!1},slots:{default:(e,t)=>{const{row:r,column:n}=e,a=F(e,t);return i.createVNode(dh,{scope:e,popover:a},{default:()=>r[n.field],popover:n.slots.popover})}}},en={sabCellType:m.Dynamic,editRender:{autofocus:".el-input__inner"},slots:{default:(e,t)=>{var u;const r=F(e,t),{getSabCellType:n,getEditorProps:a}=r||{},o=n==null?void 0:n(e),l=Jt(o),s=a==null?void 0:a(e),c=(u=l==null?void 0:l.slots)==null?void 0:u.default;return typeof c=="function"?c(e,s):e.row[e.column.field]},edit:(e,t)=>{var v,g;const r=F(e,t),{getSabCellType:n,getEditorProps:a}=r||{},o=n==null?void 0:n(e),l=Jt(o),s=a==null?void 0:a(e),c=(v=l==null?void 0:l.slots)==null?void 0:v.edit;if(typeof c=="function")return c(e,s);const u=(g=l==null?void 0:l.slots)==null?void 0:g.default;return typeof u=="function"?u(e,s):c}}},gh=14,ph=6,bh=20,Se=26;function vh(e){const t=/[a-z,\.\_\|\`\!\^\*\(\)\·]/g,r=e.match(t);return r?r.length:0}const hh=e=>{const t=e.title||"",r=vh(t),n=t.length-r;let a=r*ph+n*gh+bh;return(e.editable||typeof e.editable>"u"&&e.editRender)&&(a+=Se),e.sortable&&(a+=Se),e.filters&&(a+=Se),a},yh={},Jt=e=>{if(e===m.Input)return Hr;if(e===m.InputNumber)return Kr;if(e===m.DatePciker)return zr;if(e===m.Select)return qr;if(e===m.Image)return Jr;if(e===m.Color)return Zr;if(e===m.Boolean)return Yr;if(e===m.Popover)return Qr;if(e===m.Dynamic)return en},mh=(e,t)=>{var r;return e.sabCellType===m.Input?e=O(Hr,e):e.sabCellType===m.InputNumber?e=O(Kr,e):e.sabCellType===m.DatePciker?e=O(zr,e):e.sabCellType===m.Select?e=O(qr,e):e.sabCellType===m.Image?e=O(Jr,e):e.sabCellType===m.Color?e=O(Zr,e):e.sabCellType===m.Boolean?e=O(Yr,e):e.sabCellType===m.Popover?e=O(Qr,e):e.sabCellType===m.Dynamic&&(e=O(en,e)),(e.editorProps||e.getEditorProps)&&(e.editRender=Object.assign({},e.editRender,{editorProps:e.editorProps,getEditorProps:e.getEditorProps})),e.editable===!1?delete e.editRender:e.editable===!0&&(e.editRender=O({},e.editRender||{})),t!=null&&t.headerFilterConfig&&(e.headerFilterConfig=O((t==null?void 0:t.headerFilterConfig)||{},e.headerFilterConfig||{})),e.headerFilterConfig&&(e.headerFilterConfig.sabCellType=e.headerFilterConfig.sabCellType??e.sabCellType),(r=t==null?void 0:t.sortConfig)!=null&&r.enableAll&&(e.sortable=e.sortable??!0),e},$h=(e,t)=>(t.autoColumnWidth===!0&&typeof e.width>"u"&&(e.width=hh(e)),e),_h=(e,t)=>e.map(r=>$h(O(yh,mh(r,t)),t)),Ch={class:"sab-table-inner"},oe=i.defineComponent({name:"SabTable",__name:"index",props:i.mergeDefaults({size:{},id:{},data:{},height:{},minHeight:{},maxHeight:{},stripe:{type:Boolean},round:{type:Boolean},border:{type:[Boolean,String]},loading:{type:Boolean},align:{},headerAlign:{},footerAlign:{},showHeader:{type:Boolean},showFooter:{type:Boolean},footerMethod:{type:Function},rowClassName:{type:[String,Function]},cellClassName:{type:[String,Function]},headerRowClassName:{type:[String,Function]},headerCellClassName:{type:[String,Function]},footerRowClassName:{type:[String,Function]},footerCellClassName:{type:[String,Function]},cellStyle:{type:[Object,Function]},rowStyle:{type:[Object,Function]},headerCellStyle:{type:[Object,Function]},headerRowStyle:{type:[Object,Function]},footerRowStyle:{type:[Object,Function]},footerCellStyle:{type:[Object,Function]},mergeCells:{},mergeFooterItems:{},spanMethod:{type:Function},footerSpanMethod:{type:Function},showOverflow:{type:[Boolean,String,null]},showHeaderOverflow:{type:[Boolean,String,null]},showFooterOverflow:{type:[Boolean,String,null]},keepSource:{type:Boolean},autoResize:{type:Boolean},syncResize:{type:[Boolean,String,Number]},columnConfig:{},rowConfig:{},customConfig:{},resizeConfig:{},resizableConfig:{},seqConfig:{},sortConfig:{},filterConfig:{},radioConfig:{},checkboxConfig:{},tooltipConfig:{},exportConfig:{},importConfig:{},printConfig:{},expandConfig:{},treeConfig:{},menuConfig:{},mouseConfig:{},areaConfig:{},fnrConfig:{},keyboardConfig:{},clipConfig:{},editConfig:{},validConfig:{},editRules:{},emptyText:{},emptyRender:{},loadingConfig:{},scrollX:{},scrollY:{},params:{},resizable:{type:Boolean},highlightCurrentRow:{type:Boolean},highlightHoverRow:{type:Boolean},highlightCurrentColumn:{type:Boolean},highlightHoverColumn:{type:Boolean},highlightCell:{type:Boolean},columnKey:{type:Boolean},rowKey:{type:Boolean},rowId:{},fit:{type:Boolean},animat:{type:Boolean},delayHover:{},name:{},class:{},wrapClassName:{},columns:{},editable:{type:Boolean},withSeq:{type:Boolean},withCheckbox:{type:Boolean},headerFilterConfig:{},headerFilterModel:{},showToolbar:{type:Boolean},autoClearSelected:{type:Boolean},autoColumnWidth:{type:Boolean},selectWhenClickRow:{type:Boolean},rowBackgroundHighlight:{type:Boolean},rowBorderHighlight:{type:Boolean},tableSetConfig:{}},Xr),setup(e,{expose:t,emit:r}){const n=e,a=i.ref(),{locale:o}=Pr(),l=i.computed(()=>{const f=sh({keyboardConfig:{editMethod({row:d,column:b}){return a.value.setEditCell(d,b),!0}}},Et(n,"data"));return f.columns=_h(f.columns||[],f),f}),s=i.computed(()=>{var f;return Hn((f=l.value.columns)==null?void 0:f.map(d=>d.slots?Object.values(d.slots).filter(b=>typeof b=="string"):[]))}),c=r,u=ch(c,l,a),v=i.computed(()=>Et(l.value,"columns","data")),g=i.ref(!0);i.watch(()=>{var f;return(f=l.value.columns)==null?void 0:f.filter(d=>d.visible!=!1).map(d=>d.field).join(",")},()=>{var f,d;(f=n.headerFilterConfig)!=null&&f.enable?(g.value=!1,i.nextTick(()=>{g.value=!0})):(d=a.value)==null||d.reloadColumn(l.value.columns),c("checkbox-all",{checked:!1,records:[]})});const p=i.computed(()=>n.showToolbar||!!n.tableSetConfig),h=i.ref(n.headerFilterModel||{});return t({getInstance:()=>a.value,reloadRow:f=>{var d;Array.isArray(f)?f.forEach(async b=>{var y;return await((y=a.value)==null?void 0:y.reloadRow(b))}):(d=a.value)==null||d.reloadRow(f)},getCheckedFilters(){var f;return(f=a.value)==null?void 0:f.getCheckedFilters()}}),(f,d)=>{var b,y,C;return i.openBlock(),i.createElementBlock("div",{class:i.normalizeClass(["sab-table-wrap",n.wrapClassName])},[p.value?(i.openBlock(),i.createBlock(k1,{key:0,"table-ref":a.value,columns:n.columns,name:n.name,tableSetConfig:f.tableSetConfig,"onUpdate:columns":d[0]||(d[0]=A=>c("update:columns",A))},{"toolbar-right":i.withCtx(()=>[i.renderSlot(f.$slots,"toolbar-right")]),default:i.withCtx(()=>[i.renderSlot(f.$slots,"toolbar")]),_:3},8,["table-ref","columns","name","tableSetConfig"])):i.createCommentVNode("",!0),i.createElementVNode("div",Ch,[g.value?(i.openBlock(),i.createBlock(i.unref(Fe.Table),i.mergeProps({key:0,ref_key:"xTable",ref:a,data:n.data},v.value,i.toHandlers(i.unref(u)),{"empty-text":(b=i.unref(o))==null?void 0:b.sabDesign.table.emptyText,"loading-config":{text:(y=i.unref(o))==null?void 0:y.sabDesign.table.loadingText},class:["sab-table",l.value.class,{"sab-table-row-no-bg-highlight":l.value.rowBackgroundHighlight===!1,"sab-table-header-filters":((C=f.headerFilterConfig)==null?void 0:C.enable)!=!1}]}),{default:i.withCtx(()=>[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(l.value.columns,A=>(i.openBlock(),i.createBlock(i.unref(ih),i.mergeProps({key:A.field},A,{xTable:a.value,visible:A.visible!=!1,headerFilterModel:h.value,"onUpdate:headerFilterModel":d[1]||(d[1]=T=>h.value=T),onFilterChange:i.unref(u)["filter-change"]}),i.createSlots({_:2},[i.renderList(s.value,T=>({name:T,fn:i.withCtx(P=>[i.renderSlot(f.$slots,T,i.normalizeProps(i.guardReactiveProps(P)))])}))]),1040,["xTable","visible","headerFilterModel","onFilterChange"]))),128))]),_:3},16,["data","empty-text","loading-config","class"])):i.createCommentVNode("",!0)]),i.renderSlot(f.$slots,"table-footer")],2)}}});const wh=()=>{const e=i.ref(),t=i.computed(()=>{var a;return(a=e.value)==null?void 0:a.getInstance()});return{tableRef:e,clearCheckboxRow:()=>{var a;(a=t.value)==null||a.clearCheckboxRow()},getCheckboxRecords:()=>{var a;return(a=t.value)==null?void 0:a.getCheckboxRecords()}}};oe.install=e=>{e.component(oe.name,oe),e.use(Fe),lh()};const Th=i.defineComponent({__name:"index",props:{lang:{}},setup(e){const t=e,r=i.computed(()=>t.lang||""),{locale:n}=xg(r);return i.provide(Or,n),(a,o)=>i.renderSlot(a.$slots,"default")}});exports.SabCellType=m;exports.SabDesignConfigProvider=Th;exports.SabTable=oe;exports.SabTableSet=Rr;exports.useSabTable=wh;
|
|
5
|
+
*/(function(e){(function(){var t={}.hasOwnProperty;function r(){for(var o="",l=0;l<arguments.length;l++){var s=arguments[l];s&&(o=a(o,n(s)))}return o}function n(o){if(typeof o=="string"||typeof o=="number")return o;if(typeof o!="object")return"";if(Array.isArray(o))return r.apply(null,o);if(o.toString!==Object.prototype.toString&&!o.toString.toString().includes("[native code]"))return o.toString();var l="";for(var s in o)t.call(o,s)&&o[s]&&(l=a(l,s));return l}function a(o,l){return l?o?o+" "+l:o+l:o}e.exports?(r.default=r,e.exports=r):window.classNames=r})()})(Lr);var D1=Lr.exports;const H1=B(D1);var U1=function(t){return K1(t)&&!G1(t)};function K1(e){return!!e&&typeof e=="object"}function G1(e){var t=Object.prototype.toString.call(e);return t==="[object RegExp]"||t==="[object Date]"||W1(e)}var z1=typeof Symbol=="function"&&Symbol.for,q1=z1?Symbol.for("react.element"):60103;function W1(e){return e.$$typeof===q1}function Y1(e){return Array.isArray(e)?[]:{}}function Y(e,t){return t.clone!==!1&&t.isMergeableObject(e)?R(Y1(e),e,t):e}function X1(e,t,r){return e.concat(t).map(function(n){return Y(n,r)})}function J1(e,t){if(!t.customMerge)return R;var r=t.customMerge(e);return typeof r=="function"?r:R}function Z1(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter(function(t){return Object.propertyIsEnumerable.call(e,t)}):[]}function Yt(e){return Object.keys(e).concat(Z1(e))}function kr(e,t){try{return t in e}catch{return!1}}function Q1(e,t){return kr(e,t)&&!(Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))}function eh(e,t,r){var n={};return r.isMergeableObject(e)&&Yt(e).forEach(function(a){n[a]=Y(e[a],r)}),Yt(t).forEach(function(a){Q1(e,a)||(kr(e,a)&&r.isMergeableObject(t[a])?n[a]=J1(a,r)(e[a],t[a],r):n[a]=Y(t[a],r))}),n}function R(e,t,r){r=r||{},r.arrayMerge=r.arrayMerge||X1,r.isMergeableObject=r.isMergeableObject||U1,r.cloneUnlessOtherwiseSpecified=Y;var n=Array.isArray(t),a=Array.isArray(e),o=n===a;return o?n?r.arrayMerge(e,t,r):eh(e,t,r):Y(t,r)}R.all=function(t,r){if(!Array.isArray(t))throw new Error("first argument should be an array");return t.reduce(function(n,a){return R(n,a,r)},{})};var th=R,rh=th;const O=B(rh);var m=(e=>(e.Input="input",e.InputNumber="input-number",e.Select="select",e.DatePciker="date-picker",e.Image="image",e.Color="color",e.Boolean="boolean",e.Popover="popover",e.Dynamic="dynamic",e))(m||{});const F=(e,t)=>{var n,a,o,l;const{column:r}=e;return t||r.editorProps||((n=r.editRender)==null?void 0:n.editorProps)||((a=r.getEditorProps)==null?void 0:a.call(r,e))||((l=(o=r.editRender)==null?void 0:o.getEditorProps)==null?void 0:l.call(o,e))},Dr=i.defineComponent({name:"SabCellEditInput",emits:["update:modelValue"],setup(e,{attrs:t,emit:r}){const n=a=>{r("update:modelValue",a)};return()=>i.createVNode(w.ElInput,i.mergeProps({size:"small",modelValue:e.modelValue,onInput:n},t),null)}}),Hr={sabCellType:m.Input,editRender:{autofocus:".el-input__inner"},slots:{edit:(e,t)=>{const{row:r,column:n}=e,a=F(e,t);return i.createVNode(Dr,i.mergeProps({modelValue:r[n.field],"onUpdate:modelValue":o=>r[n.field]=o},a),null)}}},Ur=i.defineComponent({name:"SabCellEditInput",emits:["update:modelValue"],setup(e,{attrs:t,emit:r}){const n=(a,o)=>{r("update:modelValue",a,o)};return()=>i.createVNode(w.ElInputNumber,i.mergeProps({size:"small",modelValue:e.modelValue,controlsPosition:"right","onUpdate:modelValue":n},t),null)}}),Kr={cellType:"number",sabCellType:m.InputNumber,editRender:{autofocus:".el-input__inner"},slots:{edit:(e,t)=>{const{row:r,column:n}=e,a=F(e,t);return i.createVNode(Ur,i.mergeProps({modelValue:r[n.field],"onUpdate:modelValue":o=>r[n.field]=o},a),null)}}},Gr=i.defineComponent({name:"SabCellEditInput",emits:["update:modelValue"],setup(e,{attrs:t,emit:r}){const n=a=>{r("update:modelValue",a)};return()=>i.createVNode(w.ElDatePicker,i.mergeProps({size:"small",format:"YYYY-MM-DD HH:mm:ss",valueFormat:"YYYY-MM-DD HH:mm:ss",modelValue:e.modelValue,"onUpdate:modelValue":n},t),null)}}),zr={sabCellType:m.DatePciker,editRender:{autofocus:".el-input__inner"},slots:{edit:(e,t)=>{const{row:r,column:n}=e,a=F(e,t);return i.createVNode(Gr,i.mergeProps({modelValue:r[n.field],"onUpdate:modelValue":o=>r[n.field]=o},a),null)}}},Me=i.defineComponent({props:{options:Array,modelValue:{type:String||Number||Array,default:""},labelKey:{type:String,default:"label"},valueKey:{type:String,default:"value"},disabledKey:{type:String,default:"disabled"},dynamicOptions:Function,dynamicDebounce:Object,remote:Boolean,onChange:Function},name:"SabCellEditSelect",emits:["update:modelValue","update:label"],setup(e,{attrs:t,emit:r}){var f;const{renderOption:n,renderOptionLabel:a,scope:o,...l}=t,s=i.ref([]),c=i.computed(()=>e.options||s.value||[]),u=i.ref(""),v=i.computed(()=>u.value&&!e.remote?c.value.filter(d=>`${d[e.labelKey]}${d[e.valueKey]}`.toLowerCase().includes(u.value.toLowerCase())):c.value),g=d=>{var b,y;if(r("update:modelValue",d),Array.isArray(d)){const C=d.map(A=>{var T;return(T=c.value.find(P=>P[e.valueKey]===A))==null?void 0:T[e.labelKey]});r("update:label",C)}else{const C=(b=c.value.find(A=>A[e.valueKey]===d))==null?void 0:b[e.labelKey];r("update:label",C)}(y=e==null?void 0:e.onChange)==null||y.call(e,d,{options:c.value})},p=i.ref(!1),h=Er(async d=>{var b;try{p.value=!0;const y=await((b=e.dynamicOptions)==null?void 0:b.call(e,{...o,keywords:d}));s.value=y}finally{p.value=!1}},((f=e.dynamicDebounce)==null?void 0:f.delay)??300,{leading:!1,trailing:!0,...e.dynamicDebounce});return i.onMounted(()=>{typeof e.dynamicOptions=="function"&&h()}),()=>i.createVNode(w.ElSelect,i.mergeProps({size:"small",filterable:!0,modelValue:e.modelValue,loading:p.value,teleported:!1,filterMethod:d=>u.value=d,remote:e.remote,remoteMethod:h},l,{onChange:g}),{default:()=>{var d;return[(d=v.value)==null?void 0:d.map(b=>{const y=typeof a=="function"?a(b):b[e.labelKey];return i.createVNode(w.ElOption,{key:b[e.valueKey],value:b[e.valueKey],label:y,disabled:b[e.disabledKey]},{default:()=>[typeof n=="function"?n(b):i.createVNode("span",{style:{fontWeight:"normal"}},[b[e.labelKey]])]})})]}})}}),qr={sabCellType:m.Input,editRender:{autofocus:".el-input__inner"},slots:{edit:(e,t)=>{const{row:r,column:n}=e,a=F(e,t);return a!=null&&a.effectValueField?i.createVNode(Me,i.mergeProps({automaticDropdown:!0,modelValue:r[a.effectValueField],"onUpdate:modelValue":o=>r[a.effectValueField]=o,label:r[n.field],"onUpdate:label":o=>r[n.field]=o},a,{scope:e}),null):i.createVNode(Me,i.mergeProps({automaticDropdown:!0,modelValue:r[n.field],"onUpdate:modelValue":o=>r[n.field]=o},a,{scope:e}),null)}}},Wr=i.defineComponent({name:"SabCellBoolean",emits:["update:modelValue"],props:["modelValue","showType","valueTrue","valueFalse","row","column","onChange","disabled"],setup(e,{emit:t,attrs:r}){const n=(l,s)=>{const c=l?s.valueTrue:s.valueFalse;return typeof c=="function"?c({row:s.row}):c},a=i.computed({get(){return typeof e.valueTrue=="function"?e.modelValue===e.valueTrue({row:e.row,column:e.column}):e.modelValue===(e.valueTrue??!0)},set(l){const s=n(l,e)??l;t("update:modelValue",s)}}),o=l=>{a.value=!!l,i.nextTick(()=>{var s;(s=e.onChange)==null||s.call(e,{value:a.value,row:e.row,column:e.column})})};return e.showType==="switch"?()=>i.createVNode(w.ElSwitch,i.mergeProps({size:"small",style:{lineHieght:1},modelValue:a.value,onChange:o},r),null):()=>i.createVNode(w.ElCheckbox,i.mergeProps({style:{lineHieght:1},modelValue:e.modelValue,onChange:o},r),null)}}),Yr={sabCellType:m.Boolean,className:"sab-cell-boolean",align:"center",showOverflow:!1,editable:!1,slots:{default:(e,t)=>{const{row:r,column:n}=e,a=F(e,t);return i.createVNode(Wr,i.mergeProps({modelValue:r[n.field],"onUpdate:modelValue":o=>r[n.field]=o,showType:"checkbox",row:r,column:n},a),null)}}},nh=i.defineComponent({props:{column:Object,headerFilterModel:Object},setup(e,{emit:t}){const r=e.column,n=r.headerFilterConfig,a=(n==null?void 0:n.sabCellType)||r.sabCellType,o=i.computed(()=>{var s;return n!=null&&n.extendFromColumnEditor?O(r.editorProps||((s=r.editRender)==null?void 0:s.editorProps)||{},(n==null?void 0:n.editorProps)||{}):n==null?void 0:n.editorProps}),l=i.ref(e.headerFilterModel[r.field]);return()=>a===m.InputNumber?i.createVNode(Ur,i.mergeProps({modelValue:e.headerFilterModel[r.field],"onUpdate:modelValue":s=>e.headerFilterModel[r.field]=s},o.value),null):a===m.Boolean?i.createVNode(Wr,i.mergeProps({modelValue:e.headerFilterModel[r.field],"onUpdate:modelValue":s=>e.headerFilterModel[r.field]=s},o.value,{disabled:r.type!=="checkbox"}),null):a===m.DatePciker?i.createVNode(Gr,i.mergeProps({format:"YYYY-MM-DD HH:mm:ss",modelValue:e.headerFilterModel[r.field],"onUpdate:modelValue":s=>e.headerFilterModel[r.field]=s},o.value,{type:"datetimerange",prefixIcon:i.createVNode("span",null,null)}),null):a===m.Select?i.createVNode(Me,i.mergeProps({modelValue:e.headerFilterModel[r.field],"onUpdate:modelValue":s=>e.headerFilterModel[r.field]=s},o.value,{teleported:!0,clearable:!0,"collapse-tags":!0,"collapse-tags-tooltip":!0}),null):a===m.Image||a===m.Dynamic||!r.field?null:i.createVNode(Dr,i.mergeProps({modelValue:l.value,"onUpdate:modelValue":s=>l.value=s},o.value,{onChange:s=>{var c;e.headerFilterModel[r.field]=s,t("update:headerFilterModel",{...e.headerFilterModel,[r.field]:s}),(c=o==null?void 0:o.onChange)==null||c.call(o,s)}}),null)}}),ah=i.defineComponent({props:{column:Object,headerFilterModel:Object},setup(e,{slots:t}){const{column:r}=e;return()=>{var n,a;return i.createVNode("div",{class:"sab-table-header"},[i.createVNode("div",{class:"sab-table-header-title"},[(n=t.default)==null?void 0:n.call(t)]),((a=r==null?void 0:r.headerFilterConfig)==null?void 0:a.enable)&&i.createVNode("div",{onClick:o=>o.stopPropagation()},[i.createVNode("div",{class:"sab-table-header-filter"},[i.createVNode(nh,{headerFilterModel:e.headerFilterModel,"onUpdate:headerFilterModel":o=>e.headerFilterModel=o,column:e.column},null)])])])}}}),oh=e=>{const{column:t,headerFilterModel:r,xTable:n}=e,a=i.ref([{data:""}]),o=({option:l,row:s,...c})=>{var g,p,h;if(typeof((g=t.headerFilterConfig)==null?void 0:g.filterMethod)=="function")return t.headerFilterConfig.filterMethod({option:l,row:s,...c});if(typeof t.filterMethod=="function")return t.filterMethod({option:l,row:s,...c});const u=i.computed(()=>{var f,d,b,y;return(f=t==null?void 0:t.headerFilterConfig)!=null&&f.extendFromColumnEditor?O(t.editorProps||((d=t.editRender)==null?void 0:d.editorProps)||{},((b=t.headerFilterConfig)==null?void 0:b.editorProps)||{}):(y=t==null?void 0:t.headerFilterConfig)==null?void 0:y.editorProps}),v=l.data??l.value;if(v&&t.field){let f=((h=s[((p=u.value)==null?void 0:p.effectValueField)||t.field])==null?void 0:h.toString().toLowerCase())||"";if(Array.isArray(v)){for(let d of v)if(f.includes(d==null?void 0:d.toString().toLowerCase()))return!0;if(v.length===2){let[d,b]=v;return t.sabCellType===m.DatePciker&&(d=new Date(d),b=new Date(b),f=new Date(f)),f>=d&&f<=b}}return f.includes(v==null?void 0:v.toString().toLowerCase())}return!0};return i.watch(()=>r[t.field],l=>{var c,u,v;if(!((c=t.headerFilterConfig)!=null&&c.enable))return;const s=n.value;if(s){const g=s.getColumnByField(t.field);if(g){const p=g.filters[0];p.data=l,l===""||l===null||typeof l>"u"||Array.isArray(l)&&l.length===0?p.checked=!1:p.checked=!0,s.updateData();const h=(u=n.value)==null?void 0:u.getCheckedFilters();(v=e.onFilter)==null||v.call(e,{$table:n.value,column:t,field:t.field,values:Array.isArray(l)?l:[l],filters:h,filterList:h})}}}),{filters:a,filterMethod:o}},ih=i.defineComponent({props:{xTable:Object},setup(e,{attrs:t,slots:r,emit:n}){const{slots:a,editorProps:o,title:l,headerFilterModel:s,...c}=t,u=i.computed(()=>{const f={};return Object.keys(a||{}).forEach(d=>{f[d]=b=>typeof a[d]=="string"?r[a[d]](b):typeof a[d]=="function"?a[d](b,o):null}),f}),v=i.computed(()=>e.xTable),{filters:g,filterMethod:p}=oh({column:c,headerFilterModel:s,xTable:v,onFilter:f=>n("filter-change",f)}),h=i.computed(()=>{var f;return H1(c.headerClassName,{"sab-table-header-filter-column":(f=c.headerFilterConfig)==null?void 0:f.enable})});return()=>{var f,d;return i.createVNode(Fe.Column,i.mergeProps({filters:(f=c.headerFilterConfig)!=null&&f.enable?g.value:void 0},c,{headerClassName:h.value,filterMethod:p}),{...u.value,header:(d=c.headerFilterConfig)!=null&&d.enable&&c.type!="checkbox"&&c.type!="radio"&&c.type!="seq"?b=>i.createVNode(ah,{column:t,headerFilterModel:s},{default:()=>{var y,C;return((C=(y=u.value).header)==null?void 0:C.call(y,b))??l}}):void 0})}}});var ae=(e=>(e.Shift="shift",e.Control="control",e.Meta="meta",e))(ae||{});let Xt=!1,W=new Set;function lh(){Xt||(Xt=!0,document.addEventListener("keydown",e=>{var t;W.add((t=e.key)==null?void 0:t.toLowerCase())}),document.addEventListener("keyup",e=>{var t;W.delete((t=e.key)==null?void 0:t.toLowerCase())}))}const Xr={fit:!0,border:!0,showHeader:!0,size:"mini",showOverflow:!0,height:"auto",minHeight:"0px",withSeq:!0,mouseConfig:{selected:!0},seqConfig:{clearOtherSelectedWhenClick:!0},headerFilterConfig:{enable:!1},autoResize:!0,keepSource:!0,showHeaderOverflow:!0,autoColumnWidth:!0,checkboxConfig:{trigger:"cell",range:!0,highlight:!0,isShiftKey:!0},editable:!0,editConfig:{trigger:"click",mode:"cell",autoClear:!0,showStatus:!0,showIcon:!0},rowConfig:{useKey:!0,isCurrent:!0,isHover:!0},keyboardConfig:{isArrow:!0,isEsc:!0,isTab:!0,isEnter:!1,isEdit:!0},columnConfig:{resizable:!0},sortConfig:{trigger:"cell",orders:["desc","asc",null]},scrollY:{enabled:!0,gt:100},scrollX:{enabled:!1,gt:50},rowBackgroundHighlight:!0,rowBorderHighlight:!0},sh=(e,t={})=>{var n,a,o,l;let r=O(Xr,e);return r=O(r,t),r.editable===!1?delete r.editConfig:r.editable===!0&&(r.editConfig=O({},r.editConfig||{})),r.withCheckbox===!0&&!((n=r.columns)!=null&&n.some(s=>s.field==="sab-table-checkbox"))&&((a=r.columns)==null||a.unshift({type:"checkbox",fixed:"left",field:"sab-table-checkbox",width:40})),r.withSeq===!0&&!((o=r.columns)!=null&&o.some(s=>s.field==="sab-table-seq"))&&((l=r.columns)==null||l.unshift({type:"checkbox",fixed:"left",field:"sab-table-seq",width:50,className:"sab-table-seq",headerClassName:"sab-table-seq-header",slots:{header:()=>null,checkbox:({seq:s})=>s}})),r.rowBackgroundHighlight===!1&&(r.checkboxConfig&&(r.checkboxConfig.highlight=!1),r.rowConfig&&(r.rowConfig.isCurrent=!1,r.rowConfig.isHover=!1)),r},ch=(e,t,r)=>{const n={"cell-click":async o=>{var u,v,g,p,h,f,d,b,y,C,A;const{row:l,column:s}=o,c=(u=r.value)==null?void 0:u.isCheckedByCheckboxRow(l);if(W.has(ae.Shift)&&s.field=="sab-table-seq"){const T=(v=r.value)==null?void 0:v.getCheckboxRecords();e("checkbox-change",{...o,records:T});return}if((W.has(ae.Control)||W.has(ae.Meta))&&s.field=="sab-table-seq"){c||await((g=r.value)==null?void 0:g.setCheckboxRow(l,!1));return}if(!c&&s.field!=="sab-table-seq"){let T=!1;if(t.value.selectWhenClickRow&&(await((p=r.value)==null?void 0:p.setCheckboxRow(l,!0)),await((h=r.value)==null?void 0:h.setCurrentRow(l)),T=!0),T){const P=(f=r.value)==null?void 0:f.getCheckboxRecords();e("checkbox-change",{...o,records:P})}}if(s.field==="sab-table-seq"&&((d=t.value.seqConfig)!=null&&d.clearOtherSelectedWhenClick&&await((b=r.value)==null?void 0:b.clearCheckboxRow()),await((y=r.value)==null?void 0:y.setCheckboxRow(l,!0)),(C=r.value)==null||C.setCurrentRow(l),c)){const T=(A=r.value)==null?void 0:A.getCheckboxRecords();e("checkbox-change",{...o,records:T})}e("cell-click",o)},"checkbox-change":async o=>{o.column.field==="sab-table-seq"||e("checkbox-change",o)}},a={};return["keydown-start","keydown","keydown-end","current-change","radio-change","checkbox-change","checkbox-all","checkbox-range-start","checkbox-range-change","checkbox-range-end","cell-click","cell-dblclick","cell-menu","cell-mouseenter","cell-mouseleave","header-cell-click","header-cell-dblclick","header-cell-menu","footer-cell-click","footer-cell-dblclick","footer-cell-menu","clear-merge","sort-change","clear-sort","filter-change","filter-visible","clear-filter","resizable-change","toggle-row-expand","toggle-tree-expand","menu-click","cell-selected","edit-closed","edit-actived","edit-disabled","valid-error","scroll","custom"].map(o=>{a[o]=(...l)=>{typeof n[o]=="function"?n[o](...l):e(o,...l)}}),a},uh=i.defineComponent({name:"SabCellImage",props:{src:String,preview:Boolean},setup(e,{attrs:t}){return e.src?e.preview?()=>i.createVNode(w.ElImage,i.mergeProps({lazy:!0,fit:"contain",src:e.src,style:{verticalAlign:"middle",height:"40px",width:"40px"},"preview-src-list":[e.src],hideOnClickModal:!0,previewTeleported:!0},t),null):()=>i.createVNode(w.ElPopover,{transition:"el-zoom-in-top",trigger:"click",persistent:!1},{reference:()=>i.createVNode(w.ElIcon,{size:17,style:{cursor:"pointer",verticalAlign:"middle"}},{default:()=>[i.createVNode(Nt,null,null)]}),default:()=>i.createVNode(w.ElImage,i.mergeProps({lazy:!0,src:e.src,style:{verticalAlign:"middle"},"preview-src-list":[e.src]},t),null)}):()=>i.createVNode(w.ElIcon,{size:17,style:{cursor:"not-allowed",verticalAlign:"middle",opacity:"0.5"}},{default:()=>[i.createVNode(Nt,null,null)]})}}),Jr={sabCellType:m.Image,showOverflow:!1,align:"center",slots:{default:({row:e,column:t})=>i.createVNode(uh,{src:e[t.field]},null)}},fh=i.defineComponent({props:{color:String},name:"SabCellColor",setup(e){const t=i.computed(()=>{var r,n;return((r=e.color)==null?void 0:r.length)===6?`#${e.color}`:((n=e.color)==null?void 0:n.length)===9?`rgb(${e.color.substring(0,3)},${e.color.substring(3,6)},${e.color.substring(6,9)})`:e.color});return()=>i.createVNode("div",{class:"sab-cell-color__inner",style:{background:t.value}},[i.createVNode("span",null,[e.color])])}}),Zr={sabCellType:m.Color,className:"sab-cell-color",slots:{default:({row:e,column:t})=>i.createVNode(fh,{color:e[t.field]},null)}},dh=i.defineComponent({props:{column:Object,scope:Object,popover:Object},name:"SabCellEditPopover",setup(e,{slots:t}){const{scope:r,popover:n}=e,a=i.ref();return()=>{var o;return i.createVNode("div",null,[i.createVNode("div",{class:"sab-cell-popover-inner",style:{overflow:"hidden",textOverflow:"ellipsis"},ref:a},[i.createVNode("span",{class:"sab-cell-popover-inner-ctx"},[(o=t.default)==null?void 0:o.call(t)]),!(n!=null&&n.hideButton)&&i.createVNode(w.ElButton,{round:!1,class:"sab-cell-popover-inner-btn",size:"small",icon:i.createVNode(ep,null,null)},null)]),i.createVNode(w.ElPopover,i.mergeProps({persistent:!1,"virtual-ref":a,"virtual-triggering":!0,trigger:"click",transition:"el-zoom-in-top"},n),{default:()=>{var l;return[(l=t.popover)==null?void 0:l.call(t,r)]}})])}}}),Qr={sabCellType:m.Popover,className:"sab-cell-popover",editRender:{enabled:!1},slots:{default:(e,t)=>{const{row:r,column:n}=e,a=F(e,t);return i.createVNode(dh,{scope:e,popover:a},{default:()=>r[n.field],popover:n.slots.popover})}}},en={sabCellType:m.Dynamic,editRender:{autofocus:".el-input__inner"},slots:{default:(e,t)=>{var u;const r=F(e,t),{getSabCellType:n,getEditorProps:a}=r||{},o=n==null?void 0:n(e),l=Jt(o),s=a==null?void 0:a(e),c=(u=l==null?void 0:l.slots)==null?void 0:u.default;return typeof c=="function"?c(e,s):e.row[e.column.field]},edit:(e,t)=>{var v,g;const r=F(e,t),{getSabCellType:n,getEditorProps:a}=r||{},o=n==null?void 0:n(e),l=Jt(o),s=a==null?void 0:a(e),c=(v=l==null?void 0:l.slots)==null?void 0:v.edit;if(typeof c=="function")return c(e,s);const u=(g=l==null?void 0:l.slots)==null?void 0:g.default;return typeof u=="function"?u(e,s):c}}},gh=14,ph=6,bh=20,Se=26;function vh(e){const t=/[a-z,\.\_\|\`\!\^\*\(\)\·]/g,r=e.match(t);return r?r.length:0}const hh=e=>{const t=e.title||"",r=vh(t),n=t.length-r;let a=r*ph+n*gh+bh;return(e.editable||typeof e.editable>"u"&&e.editRender)&&(a+=Se),e.sortable&&(a+=Se),e.filters&&(a+=Se),a},yh={},Jt=e=>{if(e===m.Input)return Hr;if(e===m.InputNumber)return Kr;if(e===m.DatePciker)return zr;if(e===m.Select)return qr;if(e===m.Image)return Jr;if(e===m.Color)return Zr;if(e===m.Boolean)return Yr;if(e===m.Popover)return Qr;if(e===m.Dynamic)return en},mh=(e,t)=>{var r;return e.sabCellType===m.Input?e=O(Hr,e):e.sabCellType===m.InputNumber?e=O(Kr,e):e.sabCellType===m.DatePciker?e=O(zr,e):e.sabCellType===m.Select?e=O(qr,e):e.sabCellType===m.Image?e=O(Jr,e):e.sabCellType===m.Color?e=O(Zr,e):e.sabCellType===m.Boolean?e=O(Yr,e):e.sabCellType===m.Popover?e=O(Qr,e):e.sabCellType===m.Dynamic&&(e=O(en,e)),(e.editorProps||e.getEditorProps)&&(e.editRender=Object.assign({},e.editRender,{editorProps:e.editorProps,getEditorProps:e.getEditorProps})),e.editable===!1?delete e.editRender:e.editable===!0&&(e.editRender=O({},e.editRender||{})),t!=null&&t.headerFilterConfig&&(e.headerFilterConfig=O((t==null?void 0:t.headerFilterConfig)||{},e.headerFilterConfig||{})),e.headerFilterConfig&&(e.headerFilterConfig.sabCellType=e.headerFilterConfig.sabCellType??e.sabCellType),(r=t==null?void 0:t.sortConfig)!=null&&r.enableAll&&(e.sortable=e.sortable??!0),e},$h=(e,t)=>(t.autoColumnWidth===!0&&typeof e.width>"u"&&(e.width=hh(e)),e),_h=(e,t)=>e.map(r=>$h(O(yh,mh(r,t)),t)),Ch={class:"sab-table-inner"},oe=i.defineComponent({name:"SabTable",__name:"index",props:i.mergeDefaults({size:{},id:{},data:{},height:{},minHeight:{},maxHeight:{},stripe:{type:Boolean},round:{type:Boolean},border:{type:[Boolean,String]},loading:{type:Boolean},align:{},headerAlign:{},footerAlign:{},showHeader:{type:Boolean},showFooter:{type:Boolean},footerMethod:{type:Function},rowClassName:{type:[String,Function]},cellClassName:{type:[String,Function]},headerRowClassName:{type:[String,Function]},headerCellClassName:{type:[String,Function]},footerRowClassName:{type:[String,Function]},footerCellClassName:{type:[String,Function]},cellStyle:{type:[Object,Function]},rowStyle:{type:[Object,Function]},headerCellStyle:{type:[Object,Function]},headerRowStyle:{type:[Object,Function]},footerRowStyle:{type:[Object,Function]},footerCellStyle:{type:[Object,Function]},mergeCells:{},mergeFooterItems:{},spanMethod:{type:Function},footerSpanMethod:{type:Function},showOverflow:{type:[Boolean,String,null]},showHeaderOverflow:{type:[Boolean,String,null]},showFooterOverflow:{type:[Boolean,String,null]},keepSource:{type:Boolean},autoResize:{type:Boolean},syncResize:{type:[Boolean,String,Number]},columnConfig:{},rowConfig:{},customConfig:{},resizeConfig:{},resizableConfig:{},seqConfig:{},sortConfig:{},filterConfig:{},radioConfig:{},checkboxConfig:{},tooltipConfig:{},exportConfig:{},importConfig:{},printConfig:{},expandConfig:{},treeConfig:{},menuConfig:{},mouseConfig:{},areaConfig:{},fnrConfig:{},keyboardConfig:{},clipConfig:{},editConfig:{},validConfig:{},editRules:{},emptyText:{},emptyRender:{},loadingConfig:{},scrollX:{},scrollY:{},params:{},resizable:{type:Boolean},highlightCurrentRow:{type:Boolean},highlightHoverRow:{type:Boolean},highlightCurrentColumn:{type:Boolean},highlightHoverColumn:{type:Boolean},highlightCell:{type:Boolean},columnKey:{type:Boolean},rowKey:{type:Boolean},rowId:{},fit:{type:Boolean},animat:{type:Boolean},delayHover:{},name:{},class:{},wrapClassName:{},columns:{},editable:{type:Boolean},withSeq:{type:Boolean},withCheckbox:{type:Boolean},headerFilterConfig:{},headerFilterModel:{},showToolbar:{type:Boolean},autoClearSelected:{type:Boolean},autoColumnWidth:{type:Boolean},selectWhenClickRow:{type:Boolean},rowBackgroundHighlight:{type:Boolean},rowBorderHighlight:{type:Boolean},tableSetConfig:{}},Xr),setup(e,{expose:t,emit:r}){const n=e,a=i.ref(),{locale:o}=Pr(),l=i.computed(()=>{const f=sh({keyboardConfig:{editMethod({row:d,column:b}){return a.value.setEditCell(d,b),!0}}},Et(n,"data"));return f.columns=_h(f.columns||[],f),f}),s=i.computed(()=>{var f;return Hn((f=l.value.columns)==null?void 0:f.map(d=>d.slots?Object.values(d.slots).filter(b=>typeof b=="string"):[]))}),c=r,u=ch(c,l,a),v=i.computed(()=>Et(l.value,"columns","data")),g=i.ref(!0);i.watch(()=>{var f;return(f=l.value.columns)==null?void 0:f.filter(d=>d.visible!=!1).map(d=>d.field).join(",")},()=>{var f,d;(f=n.headerFilterConfig)!=null&&f.enable?(g.value=!1,i.nextTick(()=>{g.value=!0})):(d=a.value)==null||d.reloadColumn(l.value.columns),c("checkbox-all",{checked:!1,records:[]})});const p=i.computed(()=>n.showToolbar||!!n.tableSetConfig),h=i.ref(n.headerFilterModel||{});return t({getInstance:()=>a.value,reloadRow:f=>{var d;Array.isArray(f)?f.forEach(async b=>{var y;return await((y=a.value)==null?void 0:y.reloadRow(b))}):(d=a.value)==null||d.reloadRow(f)},getCheckedFilters(){var f;return(f=a.value)==null?void 0:f.getCheckedFilters()}}),(f,d)=>{var b,y,C;return i.openBlock(),i.createElementBlock("div",{class:i.normalizeClass(["sab-table-wrap",n.wrapClassName])},[p.value?(i.openBlock(),i.createBlock(k1,{key:0,"table-ref":a.value,columns:n.columns,name:n.name,tableSetConfig:f.tableSetConfig,"onUpdate:columns":d[0]||(d[0]=A=>c("update:columns",A))},{"toolbar-right":i.withCtx(()=>[i.renderSlot(f.$slots,"toolbar-right")]),default:i.withCtx(()=>[i.renderSlot(f.$slots,"toolbar")]),_:3},8,["table-ref","columns","name","tableSetConfig"])):i.createCommentVNode("",!0),i.createElementVNode("div",Ch,[g.value?(i.openBlock(),i.createBlock(i.unref(Fe.Table),i.mergeProps({key:0,ref_key:"xTable",ref:a,data:n.data},v.value,i.toHandlers(i.unref(u)),{"empty-text":(b=i.unref(o))==null?void 0:b.sabDesign.table.emptyText,"loading-config":{text:(y=i.unref(o))==null?void 0:y.sabDesign.table.loadingText},class:["sab-table",l.value.class,{"sab-table-row-no-bg-highlight":l.value.rowBackgroundHighlight===!1,"sab-table-header-filters":((C=f.headerFilterConfig)==null?void 0:C.enable)!=!1}]}),{default:i.withCtx(()=>[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(l.value.columns,A=>(i.openBlock(),i.createBlock(i.unref(ih),i.mergeProps({key:A.field},A,{xTable:a.value,visible:A.visible!=!1,headerFilterModel:h.value,"onUpdate:headerFilterModel":d[1]||(d[1]=T=>h.value=T),onFilterChange:i.unref(u)["filter-change"]}),i.createSlots({_:2},[i.renderList(s.value,T=>({name:T,fn:i.withCtx(P=>[i.renderSlot(f.$slots,T,i.normalizeProps(i.guardReactiveProps(P)))])}))]),1040,["xTable","visible","headerFilterModel","onFilterChange"]))),128))]),_:3},16,["data","empty-text","loading-config","class"])):i.createCommentVNode("",!0)]),i.renderSlot(f.$slots,"table-footer")],2)}}});const wh=()=>{const e=i.ref(),t=i.computed(()=>{var a;return(a=e.value)==null?void 0:a.getInstance()});return{tableRef:e,clearCheckboxRow:()=>{var a;(a=t.value)==null||a.clearCheckboxRow()},getCheckboxRecords:()=>{var a;return(a=t.value)==null?void 0:a.getCheckboxRecords()}}};oe.install=e=>{e.component(oe.name,oe),e.use(Fe),lh()};const Th=i.defineComponent({__name:"index",props:{lang:{}},setup(e){const t=e,r=i.computed(()=>t.lang||""),{locale:n}=xg(r);return i.provide(Or,n),(a,o)=>i.renderSlot(a.$slots,"default")}});exports.SabCellType=m;exports.SabDesignConfigProvider=Th;exports.SabTable=oe;exports.SabTableSet=Rr;exports.useSabTable=wh;
|
package/package.json
CHANGED
package/types/table/column.d.ts
CHANGED
|
@@ -1,12 +1,18 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
VxeTableDataRow,
|
|
3
|
+
VxeColumnProps,
|
|
4
|
+
VxeColumnSlotTypes,
|
|
5
|
+
VxeTableInstance,
|
|
6
|
+
} from "vxe-table";
|
|
2
7
|
import type {
|
|
3
8
|
InputProps,
|
|
4
9
|
InputNumberProps,
|
|
5
10
|
DatePickerProps,
|
|
6
11
|
PopoverProps,
|
|
7
12
|
CheckboxProps,
|
|
13
|
+
SwitchProps,
|
|
8
14
|
} from "element-plus";
|
|
9
|
-
import type { SabHeaderFilterProps } from
|
|
15
|
+
import type { SabHeaderFilterProps } from "./";
|
|
10
16
|
|
|
11
17
|
export interface SabColumnSlots<D = VxeTableDataRow> {
|
|
12
18
|
/**
|
|
@@ -100,7 +106,7 @@ export type SabCellSelectProps<D = VxeTableDataRow> = {
|
|
|
100
106
|
// 动态获取单元格选项
|
|
101
107
|
dynamicOptions?: (
|
|
102
108
|
params: VxeColumnSlotTypes.DefaultSlotParams & {
|
|
103
|
-
keywords?: string
|
|
109
|
+
keywords?: string;
|
|
104
110
|
}
|
|
105
111
|
) => Promise<any[]>;
|
|
106
112
|
// 动态获取方法的防抖配置
|
|
@@ -113,7 +119,7 @@ export type SabCellSelectProps<D = VxeTableDataRow> = {
|
|
|
113
119
|
trailing?: boolean;
|
|
114
120
|
// 最大等待时间
|
|
115
121
|
maxWait?: number;
|
|
116
|
-
}
|
|
122
|
+
};
|
|
117
123
|
// 渲染选项展示
|
|
118
124
|
renderOption?(option: D): any;
|
|
119
125
|
// 渲染选项的label
|
|
@@ -138,6 +144,22 @@ export type DynamicCellProps<D = VxeTableDataRow> = {
|
|
|
138
144
|
): Partial<SabCellEditorParams>;
|
|
139
145
|
};
|
|
140
146
|
|
|
147
|
+
// Boolean 类型参数
|
|
148
|
+
export type BooleanEditorProps<D = VxeTableDataRow> = Partial<SwitchProps> &
|
|
149
|
+
Partial<CheckboxProps> & {
|
|
150
|
+
// 展示的类型,默认 checkbox
|
|
151
|
+
showType?: "checkbox" | "switch";
|
|
152
|
+
// 自定义 boolean 值
|
|
153
|
+
valueTrue?: any | ((param: { row: D; column: SabColumnProps<D> }) => any);
|
|
154
|
+
valueFalse?: any | ((param: { row: D; column: SabColumnProps<D> }) => any);
|
|
155
|
+
// 值变动
|
|
156
|
+
onChange?(params: {
|
|
157
|
+
value: boolean;
|
|
158
|
+
row: D;
|
|
159
|
+
column: SabColumnProps<D>;
|
|
160
|
+
}): void;
|
|
161
|
+
};
|
|
162
|
+
|
|
141
163
|
// 单元格编辑器参数
|
|
142
164
|
export type SabCellEditorParams =
|
|
143
165
|
| Partial<InputProps>
|
|
@@ -145,9 +167,9 @@ export type SabCellEditorParams =
|
|
|
145
167
|
| Partial<DatePickerProps>
|
|
146
168
|
| Partial<SabCellSelectProps>
|
|
147
169
|
| Partial<PopoverProps>
|
|
148
|
-
| Partial<CheckboxProps>
|
|
149
170
|
| Partial<SabPopoverParams>
|
|
150
|
-
| Partial<DynamicCellProps
|
|
171
|
+
| Partial<DynamicCellProps>
|
|
172
|
+
| Partial<BooleanEditorProps>;
|
|
151
173
|
|
|
152
174
|
// 弹出层配置
|
|
153
175
|
export type SabPopoverParams = Partial<PopoverProps> & {
|
|
@@ -164,13 +186,13 @@ export type SabPopoverParams = Partial<PopoverProps> & {
|
|
|
164
186
|
export type SabColumnFilterParams = SabHeaderFilterProps & {
|
|
165
187
|
// 默认从 column.sabCellType 继承
|
|
166
188
|
// 只支持 input, input-number, date-picker
|
|
167
|
-
// 其他默认当做 input
|
|
168
|
-
sabCellType?: string
|
|
189
|
+
// 其他默认当做 input
|
|
190
|
+
sabCellType?: string;
|
|
169
191
|
// 附加给头部筛选的参数
|
|
170
192
|
editorProps?: Partial<SabCellEditorParams>;
|
|
171
193
|
//继承 column 的 editorProps
|
|
172
194
|
extendFromColumnEditor?: boolean;
|
|
173
|
-
}
|
|
195
|
+
};
|
|
174
196
|
|
|
175
197
|
// 表格列设置
|
|
176
198
|
export type SabColumnProps<D = VxeTableDataRow> = VxeColumnProps<D> & {
|
|
@@ -213,5 +235,5 @@ export type SabColumnProps<D = VxeTableDataRow> = VxeColumnProps<D> & {
|
|
|
213
235
|
// 自定义头部的筛选
|
|
214
236
|
headerFilterConfig?: SabColumnFilterParams;
|
|
215
237
|
// vxe-table 实例
|
|
216
|
-
xTable?: VxeTableInstance
|
|
238
|
+
xTable?: VxeTableInstance;
|
|
217
239
|
};
|