vxe-table 4.7.54 → 4.7.55

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.
@@ -454,6 +454,18 @@ function handleFilterMethod({
454
454
  /* eslint-disable eqeqeq */
455
455
  return cellValue == data;
456
456
  }
457
+ function handleInputFilterMethod({
458
+ option,
459
+ row,
460
+ column
461
+ }) {
462
+ const {
463
+ data
464
+ } = option;
465
+ const cellValue = _xeUtils.default.get(row, column.property);
466
+ /* eslint-disable eqeqeq */
467
+ return _xeUtils.default.toValueString(cellValue).indexOf(data) > -1;
468
+ }
457
469
  function nativeSelectEditRender(renderOpts, params) {
458
470
  return [(0, _vue.h)('select', Object.assign(Object.assign({
459
471
  class: 'vxe-default-select'
@@ -600,7 +612,7 @@ renderer.mixin({
600
612
  renderEdit: nativeEditRender,
601
613
  renderDefault: nativeEditRender,
602
614
  renderFilter: nativeFilterRender,
603
- defaultFilterMethod: handleFilterMethod
615
+ defaultFilterMethod: handleInputFilterMethod
604
616
  },
605
617
  textarea: {
606
618
  autofocus: 'textarea',
@@ -658,7 +670,7 @@ renderer.mixin({
658
670
  },
659
671
  renderDefault: defaultEditRender,
660
672
  renderFilter: defaultFilterRender,
661
- defaultFilterMethod: handleFilterMethod
673
+ defaultFilterMethod: handleInputFilterMethod
662
674
  },
663
675
  VxeNumberInput: {
664
676
  autofocus: '.vxe-number-input--inner',
@@ -685,7 +697,7 @@ renderer.mixin({
685
697
  },
686
698
  renderDefault: defaultEditRender,
687
699
  renderFilter: defaultFilterRender,
688
- defaultFilterMethod: handleFilterMethod
700
+ defaultFilterMethod: handleInputFilterMethod
689
701
  },
690
702
  VxeDatePicker: {
691
703
  autofocus: '.vxe-date-picker--inner',
@@ -818,7 +830,7 @@ renderer.mixin({
818
830
  },
819
831
  renderDefault: oldEditRender,
820
832
  renderFilter: oldFilterRender,
821
- defaultFilterMethod: handleFilterMethod
833
+ defaultFilterMethod: handleInputFilterMethod
822
834
  },
823
835
  $textarea: {
824
836
  autofocus: '.vxe-textarea--inner'
@@ -1 +1 @@
1
- "use strict";var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("../../table/src/util"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{getConfig,renderer,getI18n}=_ui.VxeUI,componentDefaultModelProp="modelValue",defaultCompProps={transfer:!0};function getModelEvent(e){switch(e.name){case"input":case"textarea":return"input"}return"update:modelValue"}function getChangeEvent(e){switch(e.name){case"input":case"textarea":case"VxeInput":case"VxeTextarea":case"$input":case"$textarea":return"input"}return"change"}function parseDate(e,t){return e&&t.valueFormat?_xeUtils.default.toStringDate(e,t.valueFormat):e}function getFormatDate(e,t,n){var{dateConfig:r={}}=t;return _xeUtils.default.toDateString(parseDate(e,t),r.labelFormat||n)}function getLabelFormatDate(e,t){return getFormatDate(e,t,getI18n("vxe.input.date.labelFormat."+t.type))}function getOldComponentName(e){return"vxe-"+e.replace("$","")}function getDefaultComponent({name:e}){return(0,_vue.resolveComponent)(e)}function getOldComponent({name:e}){return(0,_vue.resolveComponent)(getOldComponentName(e))}function handleConfirmFilter(e,t,n){e=e.$panel;e.changeOption({},t,n)}function getNativeAttrs(e){let{name:t,attrs:n}=e;return n="input"===t?Object.assign({type:"text"},n):n}function getInputImmediateModel(e){var{name:e,immediate:t,props:n}=e;return t||("VxeInput"===e||"$input"===e?(t=(n||{})["type"],!(!t||"text"===t||"number"===t||"integer"===t||"float"===t)):"input"!==e&&"textarea"!==e&&"$textarea"!==e)}function getCellEditProps(e,t,n,r){return _xeUtils.default.assign({immediate:getInputImmediateModel(e)},defaultCompProps,r,e.props,{[componentDefaultModelProp]:n})}function getCellEditFilterProps(e,t,n,r){return _xeUtils.default.assign({},defaultCompProps,r,e.props,{[componentDefaultModelProp]:n})}function isImmediateCell(e,t){return"cell"===t.$type||getInputImmediateModel(e)}function getCellLabelVNs(e,t,n){e=e.placeholder;return[(0,_vue.h)("span",{class:"vxe-cell--label"},e&&(0,_utils.isEmptyValue)(n)?[(0,_vue.h)("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(e),1))]:(0,_utils.formatText)(n,1))]}function getElementOns(e,n,t,r){const l=e["events"],o=getModelEvent(e),i=getChangeEvent(e),a=i===o,u={};return l&&_xeUtils.default.objectEach(l,(t,e)=>{u[(0,_vn.getOnName)(e)]=function(...e){t(n,...e)}}),t&&(u[(0,_vn.getOnName)(o)]=function(e){t(e),a&&r&&r(e),l&&l[o]&&l[o](n,e)}),!a&&r&&(u[(0,_vn.getOnName)(i)]=function(...e){r(...e),l&&l[i]&&l[i](n,...e)}),u}function getComponentOns(e,n,t,r){const l=e["events"],o=getModelEvent(e),i=getChangeEvent(e),a={};return _xeUtils.default.objectEach(l,(t,e)=>{a[(0,_vn.getOnName)(e)]=function(...e){"development"!==process.env.NODE_ENV||_xeUtils.default.isFunction(t)||(0,_log.errLog)("vxe.error.errFunc",[t]),t(n,...e)}}),t&&(a[(0,_vn.getOnName)(o)]=function(e){t(e),l&&l[o]&&l[o](n,e)}),r&&(a[(0,_vn.getOnName)(i)]=function(...e){r(...e),l&&l[i]&&l[i](n,...e)}),a}function getEditOns(e,t){const{$table:n,row:r,column:l}=t,o=e["name"],i=l["model"],a=isImmediateCell(e,t);return getComponentOns(e,t,e=>{a?(0,_util.setCellValue)(r,l,e):(i.update=!0,i.value=e)},e=>{!a&&["VxeInput","VxeTextarea","$input","$textarea"].includes(o)?(e=e.value,i.update=!0,i.value=e,n.updateStatus(t,e)):n.updateStatus(t)})}function getFilterOns(e,t,n){return getComponentOns(e,t,e=>{n.data=e},()=>{handleConfirmFilter(t,!_xeUtils.default.eqNull(n.data),n)})}function getNativeEditOns(t,n){const{$table:r,row:l,column:o}=n,i=o["model"];return getElementOns(t,n,e=>{e=e.target.value;isImmediateCell(t,n)?(0,_util.setCellValue)(l,o,e):(i.update=!0,i.value=e)},e=>{e=e.target.value;r.updateStatus(n,e)})}function getNativeFilterOns(e,t,n){return getElementOns(e,t,e=>{n.data=e.target.value},()=>{handleConfirmFilter(t,!_xeUtils.default.eqNull(n.data),n)})}function nativeEditRender(e,t){var{row:n,column:r}=t,l=e["name"],n=isImmediateCell(e,t)?(0,_util.getCellValue)(n,r):r.model.value;return[(0,_vue.h)(l,Object.assign(Object.assign(Object.assign({class:"vxe-default-"+l},getNativeAttrs(e)),{value:n}),getNativeEditOns(e,t)))]}function buttonCellRender(e,t){return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}function defaultEditRender(e,t){var{row:n,column:r}=t,n=(0,_util.getCellValue)(n,r);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,n)),getEditOns(e,t)))]}function radioAndCheckboxEditRender(e,t){var n=e["options"],{row:r,column:l}=t,r=(0,_util.getCellValue)(r,l);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({options:n},getCellEditProps(e,t,r)),getEditOns(e,t)))]}function oldEditRender(e,t){var{row:n,column:r}=t,n=(0,_util.getCellValue)(n,r);return[(0,_vue.h)(getOldComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,n)),getEditOns(e,t)))]}function oldButtonEditRender(e,t){return[(0,_vue.h)((0,_vue.resolveComponent)("vxe-button"),Object.assign(Object.assign({},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}function oldButtonsEditRender(e,t){return e.children.map(e=>oldButtonEditRender(e,t)[0])}function renderNativeOptgroups(n,r,l){var{optionGroups:e,optionGroupProps:t={}}=n;const o=t.options||"options",i=t.label||"label";return e.map((e,t)=>(0,_vue.h)("optgroup",{key:t,label:e[i]},l(e[o],n,r)))}function renderNativeOptions(e,t,n){var{optionProps:r={}}=t,{row:l,column:o}=n;const i=r.label||"label",a=r.value||"value",u=r.disabled||"disabled",d=isImmediateCell(t,n)?(0,_util.getCellValue)(l,o):o.model.value;return e.map((e,t)=>(0,_vue.h)("option",{key:t,value:e[a],disabled:e[u],selected:e[a]==d},e[i]))}function nativeFilterRender(n,r){var e=r["column"];const l=n["name"],o=getNativeAttrs(n);return e.filters.map((e,t)=>(0,_vue.h)(l,Object.assign(Object.assign(Object.assign({key:t,class:"vxe-default-"+l},o),{value:e.data}),getNativeFilterOns(n,r,e))))}function defaultFilterRender(r,l){var e=l["column"];return e.filters.map((e,t)=>{var n=e.data;return(0,_vue.h)(getDefaultComponent(r),Object.assign(Object.assign({key:t},getCellEditFilterProps(r,r,n)),getFilterOns(r,l,e)))})}function oldFilterRender(r,l){var e=l["column"];return e.filters.map((e,t)=>{var n=e.data;return(0,_vue.h)(getOldComponent(r),Object.assign(Object.assign({key:t},getCellEditFilterProps(r,r,n)),getFilterOns(r,l,e)))})}function handleFilterMethod({option:e,row:t,column:n}){e=e.data;return _xeUtils.default.get(t,n.property)==e}function nativeSelectEditRender(e,t){return[(0,_vue.h)("select",Object.assign(Object.assign({class:"vxe-default-select"},getNativeAttrs(e)),getNativeEditOns(e,t)),e.optionGroups?renderNativeOptgroups(e,t,renderNativeOptions):renderNativeOptions(e.options,e,t))]}function defaultSelectEditRender(e,t){var{row:n,column:r}=t,{options:l,optionProps:o,optionGroups:i,optionGroupProps:a}=e,n=(0,_util.getCellValue)(n,r);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,n,{options:l,optionProps:o,optionGroups:i,optionGroupProps:a})),getEditOns(e,t)))]}function defaultTreeSelectEditRender(e,t){var{row:n,column:r}=t,{options:l,optionProps:o}=e,n=(0,_util.getCellValue)(n,r);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,n,{options:l,optionProps:o})),getEditOns(e,t)))]}function oldSelectEditRender(e,t){var{row:n,column:r}=t,{options:l,optionProps:o,optionGroups:i,optionGroupProps:a}=e,n=(0,_util.getCellValue)(n,r);return[(0,_vue.h)(getOldComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,n,{options:l,optionProps:o,optionGroups:i,optionGroupProps:a})),getEditOns(e,t)))]}function getSelectCellValue(e,{row:t,column:n}){const{options:r,optionGroups:l,optionProps:o={},optionGroupProps:i={}}=e;e=_xeUtils.default.get(t,n.property);let a;const u=o.label||"label",d=o.value||"value";return(0,_utils.isEmptyValue)(e)?"":_xeUtils.default.map(_xeUtils.default.isArray(e)?e:[e],l?t=>{var n=i.options||"options";for(let e=0;e<l.length&&!(a=_xeUtils.default.find(l[e][n],e=>e[d]==t));e++);return a?a[u]:t}:t=>(a=_xeUtils.default.find(r,e=>e[d]==t))?a[u]:t).join(", ")}function handleExportSelectMethod(e){var{row:t,column:n,options:r}=e;return r.original?(0,_util.getCellValue)(t,n):getSelectCellValue(n.editRender||n.cellRender,e)}function getTreeSelectCellValue(e,{row:t,column:n}){var{options:e,optionProps:r={}}=e,t=_xeUtils.default.get(t,n.property);const l=r.label||"label",o=r.value||"value";n=r.children||"children";if((0,_utils.isEmptyValue)(t))return"";{const i={};return _xeUtils.default.eachTree(e,e=>{i[_xeUtils.default.get(e,o)]=e},{children:n}),_xeUtils.default.map(_xeUtils.default.isArray(t)?t:[t],e=>{e=i[e];return e&&_xeUtils.default.get(e,l)}).join(", ")}}function handleExportTreeSelectMethod(e){var{row:t,column:n,options:r}=e;return r.original?(0,_util.getCellValue)(t,n):getTreeSelectCellValue(n.editRender||n.cellRender,e)}renderer.mixin({input:{autofocus:"input",renderEdit:nativeEditRender,renderDefault:nativeEditRender,renderFilter:nativeFilterRender,defaultFilterMethod:handleFilterMethod},textarea:{autofocus:"textarea",renderEdit:nativeEditRender},select:{renderEdit:nativeSelectEditRender,renderDefault:nativeSelectEditRender,renderCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderFilter(n,r){var e=r["column"];return e.filters.map((e,t)=>(0,_vue.h)("select",Object.assign(Object.assign({key:t,class:"vxe-default-select"},getNativeAttrs(n)),getNativeFilterOns(n,r,e)),n.optionGroups?renderNativeOptgroups(n,r,renderNativeOptions):renderNativeOptions(n.options,n,r)))},defaultFilterMethod:handleFilterMethod,exportMethod:handleExportSelectMethod},VxeInput:{autofocus:".vxe-input--inner",renderEdit:defaultEditRender,renderCell(e,t){var n,{props:r={}}=e,{row:l,column:o}=t,i=r.digits||(null==(n=getConfig().input)?void 0:n.digits)||2;let a=_xeUtils.default.get(l,o.property);if(a)switch(r.type){case"date":case"week":case"month":case"quarter":case"year":a=getLabelFormatDate(a,r);break;case"float":a=_xeUtils.default.toFixed(_xeUtils.default.floor(a,i),i)}return getCellLabelVNs(e,t,a)},renderDefault:defaultEditRender,renderFilter:defaultFilterRender,defaultFilterMethod:handleFilterMethod},VxeNumberInput:{autofocus:".vxe-number-input--inner",renderEdit:defaultEditRender,renderCell(e,t){var{props:n={}}=e,{row:r,column:l}=t,o=n.digits||(null==(o=getConfig().numberInput)?void 0:o.digits)||2;let i=_xeUtils.default.get(r,l.property);return getCellLabelVNs(e,t,i=i&&"float"===n.type?_xeUtils.default.toFixed(_xeUtils.default.floor(i,o),o):i)},renderDefault:defaultEditRender,renderFilter:defaultFilterRender,defaultFilterMethod:handleFilterMethod},VxeDatePicker:{autofocus:".vxe-date-picker--inner",renderEdit:defaultEditRender,renderCell(e,t){var{props:n={}}=e,{row:r,column:l}=t;let o=_xeUtils.default.get(r,l.property);if(o)switch(n.type){case"date":case"week":case"month":case"quarter":case"year":o=getLabelFormatDate(o,n)}return getCellLabelVNs(e,t,o)},renderDefault:defaultEditRender,renderFilter:defaultFilterRender,defaultFilterMethod:handleFilterMethod},VxeTextarea:{autofocus:".vxe-textarea--inner"},VxeButton:{renderDefault:buttonCellRender},VxeButtonGroup:{renderDefault(e,t){var n=e["options"];return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({options:n},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}},VxeSelect:{autofocus:".vxe-input--inner",renderEdit:defaultSelectEditRender,renderDefault:defaultSelectEditRender,renderCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderFilter(r,l){var e=l["column"];const{options:o,optionProps:i,optionGroups:a,optionGroupProps:u}=r;return e.filters.map((e,t)=>{var n=e.data;return(0,_vue.h)(getDefaultComponent(r),Object.assign(Object.assign({key:t},getCellEditFilterProps(r,l,n,{options:o,optionProps:i,optionGroups:a,optionGroupProps:u})),getFilterOns(r,l,e)))})},defaultFilterMethod:handleFilterMethod,exportMethod:handleExportSelectMethod},VxeTreeSelect:{autofocus:".vxe-input--inner",renderEdit:defaultTreeSelectEditRender,renderCell(e,t){return getCellLabelVNs(e,t,getTreeSelectCellValue(e,t))},exportMethod:handleExportTreeSelectMethod},VxeRadioGroup:{renderDefault:radioAndCheckboxEditRender},VxeCheckboxGroup:{renderDefault:radioAndCheckboxEditRender},VxeSwitch:{autofocus:".vxe-switch--button",renderEdit:defaultEditRender,renderDefault:defaultEditRender},VxeUpload:{renderDefault:defaultEditRender},$input:{autofocus:".vxe-input--inner",renderEdit:oldEditRender,renderCell(e,t){var n,{props:r={}}=e,{row:l,column:o}=t,i=r.digits||(null==(n=getConfig().input)?void 0:n.digits)||2;let a=_xeUtils.default.get(l,o.property);if(a)switch(r.type){case"date":case"week":case"month":case"year":a=getLabelFormatDate(a,r);break;case"float":a=_xeUtils.default.toFixed(_xeUtils.default.floor(a,i),i)}return getCellLabelVNs(e,t,a)},renderDefault:oldEditRender,renderFilter:oldFilterRender,defaultFilterMethod:handleFilterMethod},$textarea:{autofocus:".vxe-textarea--inner"},$button:{renderDefault:oldButtonEditRender},$buttons:{renderDefault:oldButtonsEditRender},$select:{autofocus:".vxe-input--inner",renderEdit:oldSelectEditRender,renderDefault:oldSelectEditRender,renderCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderFilter(r,l){var e=l["column"];const{options:o,optionProps:i,optionGroups:a,optionGroupProps:u}=r;return e.filters.map((e,t)=>{var n=e.data;return(0,_vue.h)(getOldComponent(r),Object.assign(Object.assign({key:t},getCellEditFilterProps(r,l,n,{options:o,optionProps:i,optionGroups:a,optionGroupProps:u})),getFilterOns(r,l,e)))})},defaultFilterMethod:handleFilterMethod,exportMethod:handleExportSelectMethod},$radio:{autofocus:".vxe-radio--input"},$checkbox:{autofocus:".vxe-checkbox--input"},$switch:{autofocus:".vxe-switch--button",renderEdit:oldEditRender,renderDefault:oldEditRender}});
1
+ "use strict";var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("../../table/src/util"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{getConfig,renderer,getI18n}=_ui.VxeUI,componentDefaultModelProp="modelValue",defaultCompProps={transfer:!0};function getModelEvent(e){switch(e.name){case"input":case"textarea":return"input"}return"update:modelValue"}function getChangeEvent(e){switch(e.name){case"input":case"textarea":case"VxeInput":case"VxeTextarea":case"$input":case"$textarea":return"input"}return"change"}function parseDate(e,t){return e&&t.valueFormat?_xeUtils.default.toStringDate(e,t.valueFormat):e}function getFormatDate(e,t,n){var{dateConfig:r={}}=t;return _xeUtils.default.toDateString(parseDate(e,t),r.labelFormat||n)}function getLabelFormatDate(e,t){return getFormatDate(e,t,getI18n("vxe.input.date.labelFormat."+t.type))}function getOldComponentName(e){return"vxe-"+e.replace("$","")}function getDefaultComponent({name:e}){return(0,_vue.resolveComponent)(e)}function getOldComponent({name:e}){return(0,_vue.resolveComponent)(getOldComponentName(e))}function handleConfirmFilter(e,t,n){e=e.$panel;e.changeOption({},t,n)}function getNativeAttrs(e){let{name:t,attrs:n}=e;return n="input"===t?Object.assign({type:"text"},n):n}function getInputImmediateModel(e){var{name:e,immediate:t,props:n}=e;return t||("VxeInput"===e||"$input"===e?(t=(n||{})["type"],!(!t||"text"===t||"number"===t||"integer"===t||"float"===t)):"input"!==e&&"textarea"!==e&&"$textarea"!==e)}function getCellEditProps(e,t,n,r){return _xeUtils.default.assign({immediate:getInputImmediateModel(e)},defaultCompProps,r,e.props,{[componentDefaultModelProp]:n})}function getCellEditFilterProps(e,t,n,r){return _xeUtils.default.assign({},defaultCompProps,r,e.props,{[componentDefaultModelProp]:n})}function isImmediateCell(e,t){return"cell"===t.$type||getInputImmediateModel(e)}function getCellLabelVNs(e,t,n){e=e.placeholder;return[(0,_vue.h)("span",{class:"vxe-cell--label"},e&&(0,_utils.isEmptyValue)(n)?[(0,_vue.h)("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(e),1))]:(0,_utils.formatText)(n,1))]}function getElementOns(e,n,t,r){const l=e["events"],o=getModelEvent(e),i=getChangeEvent(e),a=i===o,u={};return l&&_xeUtils.default.objectEach(l,(t,e)=>{u[(0,_vn.getOnName)(e)]=function(...e){t(n,...e)}}),t&&(u[(0,_vn.getOnName)(o)]=function(e){t(e),a&&r&&r(e),l&&l[o]&&l[o](n,e)}),!a&&r&&(u[(0,_vn.getOnName)(i)]=function(...e){r(...e),l&&l[i]&&l[i](n,...e)}),u}function getComponentOns(e,n,t,r){const l=e["events"],o=getModelEvent(e),i=getChangeEvent(e),a={};return _xeUtils.default.objectEach(l,(t,e)=>{a[(0,_vn.getOnName)(e)]=function(...e){"development"!==process.env.NODE_ENV||_xeUtils.default.isFunction(t)||(0,_log.errLog)("vxe.error.errFunc",[t]),t(n,...e)}}),t&&(a[(0,_vn.getOnName)(o)]=function(e){t(e),l&&l[o]&&l[o](n,e)}),r&&(a[(0,_vn.getOnName)(i)]=function(...e){r(...e),l&&l[i]&&l[i](n,...e)}),a}function getEditOns(e,t){const{$table:n,row:r,column:l}=t,o=e["name"],i=l["model"],a=isImmediateCell(e,t);return getComponentOns(e,t,e=>{a?(0,_util.setCellValue)(r,l,e):(i.update=!0,i.value=e)},e=>{!a&&["VxeInput","VxeTextarea","$input","$textarea"].includes(o)?(e=e.value,i.update=!0,i.value=e,n.updateStatus(t,e)):n.updateStatus(t)})}function getFilterOns(e,t,n){return getComponentOns(e,t,e=>{n.data=e},()=>{handleConfirmFilter(t,!_xeUtils.default.eqNull(n.data),n)})}function getNativeEditOns(t,n){const{$table:r,row:l,column:o}=n,i=o["model"];return getElementOns(t,n,e=>{e=e.target.value;isImmediateCell(t,n)?(0,_util.setCellValue)(l,o,e):(i.update=!0,i.value=e)},e=>{e=e.target.value;r.updateStatus(n,e)})}function getNativeFilterOns(e,t,n){return getElementOns(e,t,e=>{n.data=e.target.value},()=>{handleConfirmFilter(t,!_xeUtils.default.eqNull(n.data),n)})}function nativeEditRender(e,t){var{row:n,column:r}=t,l=e["name"],n=isImmediateCell(e,t)?(0,_util.getCellValue)(n,r):r.model.value;return[(0,_vue.h)(l,Object.assign(Object.assign(Object.assign({class:"vxe-default-"+l},getNativeAttrs(e)),{value:n}),getNativeEditOns(e,t)))]}function buttonCellRender(e,t){return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}function defaultEditRender(e,t){var{row:n,column:r}=t,n=(0,_util.getCellValue)(n,r);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,n)),getEditOns(e,t)))]}function radioAndCheckboxEditRender(e,t){var n=e["options"],{row:r,column:l}=t,r=(0,_util.getCellValue)(r,l);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({options:n},getCellEditProps(e,t,r)),getEditOns(e,t)))]}function oldEditRender(e,t){var{row:n,column:r}=t,n=(0,_util.getCellValue)(n,r);return[(0,_vue.h)(getOldComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,n)),getEditOns(e,t)))]}function oldButtonEditRender(e,t){return[(0,_vue.h)((0,_vue.resolveComponent)("vxe-button"),Object.assign(Object.assign({},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}function oldButtonsEditRender(e,t){return e.children.map(e=>oldButtonEditRender(e,t)[0])}function renderNativeOptgroups(n,r,l){var{optionGroups:e,optionGroupProps:t={}}=n;const o=t.options||"options",i=t.label||"label";return e.map((e,t)=>(0,_vue.h)("optgroup",{key:t,label:e[i]},l(e[o],n,r)))}function renderNativeOptions(e,t,n){var{optionProps:r={}}=t,{row:l,column:o}=n;const i=r.label||"label",a=r.value||"value",u=r.disabled||"disabled",d=isImmediateCell(t,n)?(0,_util.getCellValue)(l,o):o.model.value;return e.map((e,t)=>(0,_vue.h)("option",{key:t,value:e[a],disabled:e[u],selected:e[a]==d},e[i]))}function nativeFilterRender(n,r){var e=r["column"];const l=n["name"],o=getNativeAttrs(n);return e.filters.map((e,t)=>(0,_vue.h)(l,Object.assign(Object.assign(Object.assign({key:t,class:"vxe-default-"+l},o),{value:e.data}),getNativeFilterOns(n,r,e))))}function defaultFilterRender(r,l){var e=l["column"];return e.filters.map((e,t)=>{var n=e.data;return(0,_vue.h)(getDefaultComponent(r),Object.assign(Object.assign({key:t},getCellEditFilterProps(r,r,n)),getFilterOns(r,l,e)))})}function oldFilterRender(r,l){var e=l["column"];return e.filters.map((e,t)=>{var n=e.data;return(0,_vue.h)(getOldComponent(r),Object.assign(Object.assign({key:t},getCellEditFilterProps(r,r,n)),getFilterOns(r,l,e)))})}function handleFilterMethod({option:e,row:t,column:n}){e=e.data;return _xeUtils.default.get(t,n.property)==e}function handleInputFilterMethod({option:e,row:t,column:n}){e=e.data,t=_xeUtils.default.get(t,n.property);return-1<_xeUtils.default.toValueString(t).indexOf(e)}function nativeSelectEditRender(e,t){return[(0,_vue.h)("select",Object.assign(Object.assign({class:"vxe-default-select"},getNativeAttrs(e)),getNativeEditOns(e,t)),e.optionGroups?renderNativeOptgroups(e,t,renderNativeOptions):renderNativeOptions(e.options,e,t))]}function defaultSelectEditRender(e,t){var{row:n,column:r}=t,{options:l,optionProps:o,optionGroups:i,optionGroupProps:a}=e,n=(0,_util.getCellValue)(n,r);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,n,{options:l,optionProps:o,optionGroups:i,optionGroupProps:a})),getEditOns(e,t)))]}function defaultTreeSelectEditRender(e,t){var{row:n,column:r}=t,{options:l,optionProps:o}=e,n=(0,_util.getCellValue)(n,r);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,n,{options:l,optionProps:o})),getEditOns(e,t)))]}function oldSelectEditRender(e,t){var{row:n,column:r}=t,{options:l,optionProps:o,optionGroups:i,optionGroupProps:a}=e,n=(0,_util.getCellValue)(n,r);return[(0,_vue.h)(getOldComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,n,{options:l,optionProps:o,optionGroups:i,optionGroupProps:a})),getEditOns(e,t)))]}function getSelectCellValue(e,{row:t,column:n}){const{options:r,optionGroups:l,optionProps:o={},optionGroupProps:i={}}=e;e=_xeUtils.default.get(t,n.property);let a;const u=o.label||"label",d=o.value||"value";return(0,_utils.isEmptyValue)(e)?"":_xeUtils.default.map(_xeUtils.default.isArray(e)?e:[e],l?t=>{var n=i.options||"options";for(let e=0;e<l.length&&!(a=_xeUtils.default.find(l[e][n],e=>e[d]==t));e++);return a?a[u]:t}:t=>(a=_xeUtils.default.find(r,e=>e[d]==t))?a[u]:t).join(", ")}function handleExportSelectMethod(e){var{row:t,column:n,options:r}=e;return r.original?(0,_util.getCellValue)(t,n):getSelectCellValue(n.editRender||n.cellRender,e)}function getTreeSelectCellValue(e,{row:t,column:n}){var{options:e,optionProps:r={}}=e,t=_xeUtils.default.get(t,n.property);const l=r.label||"label",o=r.value||"value";n=r.children||"children";if((0,_utils.isEmptyValue)(t))return"";{const i={};return _xeUtils.default.eachTree(e,e=>{i[_xeUtils.default.get(e,o)]=e},{children:n}),_xeUtils.default.map(_xeUtils.default.isArray(t)?t:[t],e=>{e=i[e];return e&&_xeUtils.default.get(e,l)}).join(", ")}}function handleExportTreeSelectMethod(e){var{row:t,column:n,options:r}=e;return r.original?(0,_util.getCellValue)(t,n):getTreeSelectCellValue(n.editRender||n.cellRender,e)}renderer.mixin({input:{autofocus:"input",renderEdit:nativeEditRender,renderDefault:nativeEditRender,renderFilter:nativeFilterRender,defaultFilterMethod:handleInputFilterMethod},textarea:{autofocus:"textarea",renderEdit:nativeEditRender},select:{renderEdit:nativeSelectEditRender,renderDefault:nativeSelectEditRender,renderCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderFilter(n,r){var e=r["column"];return e.filters.map((e,t)=>(0,_vue.h)("select",Object.assign(Object.assign({key:t,class:"vxe-default-select"},getNativeAttrs(n)),getNativeFilterOns(n,r,e)),n.optionGroups?renderNativeOptgroups(n,r,renderNativeOptions):renderNativeOptions(n.options,n,r)))},defaultFilterMethod:handleFilterMethod,exportMethod:handleExportSelectMethod},VxeInput:{autofocus:".vxe-input--inner",renderEdit:defaultEditRender,renderCell(e,t){var n,{props:r={}}=e,{row:l,column:o}=t,i=r.digits||(null==(n=getConfig().input)?void 0:n.digits)||2;let a=_xeUtils.default.get(l,o.property);if(a)switch(r.type){case"date":case"week":case"month":case"quarter":case"year":a=getLabelFormatDate(a,r);break;case"float":a=_xeUtils.default.toFixed(_xeUtils.default.floor(a,i),i)}return getCellLabelVNs(e,t,a)},renderDefault:defaultEditRender,renderFilter:defaultFilterRender,defaultFilterMethod:handleInputFilterMethod},VxeNumberInput:{autofocus:".vxe-number-input--inner",renderEdit:defaultEditRender,renderCell(e,t){var{props:n={}}=e,{row:r,column:l}=t,o=n.digits||(null==(o=getConfig().numberInput)?void 0:o.digits)||2;let i=_xeUtils.default.get(r,l.property);return getCellLabelVNs(e,t,i=i&&"float"===n.type?_xeUtils.default.toFixed(_xeUtils.default.floor(i,o),o):i)},renderDefault:defaultEditRender,renderFilter:defaultFilterRender,defaultFilterMethod:handleInputFilterMethod},VxeDatePicker:{autofocus:".vxe-date-picker--inner",renderEdit:defaultEditRender,renderCell(e,t){var{props:n={}}=e,{row:r,column:l}=t;let o=_xeUtils.default.get(r,l.property);if(o)switch(n.type){case"date":case"week":case"month":case"quarter":case"year":o=getLabelFormatDate(o,n)}return getCellLabelVNs(e,t,o)},renderDefault:defaultEditRender,renderFilter:defaultFilterRender,defaultFilterMethod:handleFilterMethod},VxeTextarea:{autofocus:".vxe-textarea--inner"},VxeButton:{renderDefault:buttonCellRender},VxeButtonGroup:{renderDefault(e,t){var n=e["options"];return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({options:n},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}},VxeSelect:{autofocus:".vxe-input--inner",renderEdit:defaultSelectEditRender,renderDefault:defaultSelectEditRender,renderCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderFilter(r,l){var e=l["column"];const{options:o,optionProps:i,optionGroups:a,optionGroupProps:u}=r;return e.filters.map((e,t)=>{var n=e.data;return(0,_vue.h)(getDefaultComponent(r),Object.assign(Object.assign({key:t},getCellEditFilterProps(r,l,n,{options:o,optionProps:i,optionGroups:a,optionGroupProps:u})),getFilterOns(r,l,e)))})},defaultFilterMethod:handleFilterMethod,exportMethod:handleExportSelectMethod},VxeTreeSelect:{autofocus:".vxe-input--inner",renderEdit:defaultTreeSelectEditRender,renderCell(e,t){return getCellLabelVNs(e,t,getTreeSelectCellValue(e,t))},exportMethod:handleExportTreeSelectMethod},VxeRadioGroup:{renderDefault:radioAndCheckboxEditRender},VxeCheckboxGroup:{renderDefault:radioAndCheckboxEditRender},VxeSwitch:{autofocus:".vxe-switch--button",renderEdit:defaultEditRender,renderDefault:defaultEditRender},VxeUpload:{renderDefault:defaultEditRender},$input:{autofocus:".vxe-input--inner",renderEdit:oldEditRender,renderCell(e,t){var n,{props:r={}}=e,{row:l,column:o}=t,i=r.digits||(null==(n=getConfig().input)?void 0:n.digits)||2;let a=_xeUtils.default.get(l,o.property);if(a)switch(r.type){case"date":case"week":case"month":case"year":a=getLabelFormatDate(a,r);break;case"float":a=_xeUtils.default.toFixed(_xeUtils.default.floor(a,i),i)}return getCellLabelVNs(e,t,a)},renderDefault:oldEditRender,renderFilter:oldFilterRender,defaultFilterMethod:handleInputFilterMethod},$textarea:{autofocus:".vxe-textarea--inner"},$button:{renderDefault:oldButtonEditRender},$buttons:{renderDefault:oldButtonsEditRender},$select:{autofocus:".vxe-input--inner",renderEdit:oldSelectEditRender,renderDefault:oldSelectEditRender,renderCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderFilter(r,l){var e=l["column"];const{options:o,optionProps:i,optionGroups:a,optionGroupProps:u}=r;return e.filters.map((e,t)=>{var n=e.data;return(0,_vue.h)(getOldComponent(r),Object.assign(Object.assign({key:t},getCellEditFilterProps(r,l,n,{options:o,optionProps:i,optionGroups:a,optionGroupProps:u})),getFilterOns(r,l,e)))})},defaultFilterMethod:handleFilterMethod,exportMethod:handleExportSelectMethod},$radio:{autofocus:".vxe-radio--input"},$checkbox:{autofocus:".vxe-checkbox--input"},$switch:{autofocus:".vxe-switch--button",renderEdit:oldEditRender,renderDefault:oldEditRender}});
package/lib/ui/index.js CHANGED
@@ -13,9 +13,9 @@ Object.defineProperty(exports, "VxeUI", {
13
13
  exports.version = exports.validators = exports.use = exports.t = exports.setup = exports.setTheme = exports.setLanguage = exports.setIcon = exports.setI18n = exports.setConfig = exports.saveFile = exports.renderer = exports.readFile = exports.print = exports.modal = exports.menus = exports.log = exports.interceptor = exports.hooks = exports.globalResize = exports.globalEvents = exports.getTheme = exports.getIcon = exports.getI18n = exports.getConfig = exports.formats = exports.default = exports.config = exports.commands = exports.clipboard = exports._t = void 0;
14
14
  var _core = require("@vxe-ui/core");
15
15
  var _utils = require("./src/utils");
16
- const version = exports.version = "4.7.54";
16
+ const version = exports.version = "4.7.55";
17
17
  _core.VxeUI.version = version;
18
- _core.VxeUI.tableVersion = "4.7.54";
18
+ _core.VxeUI.tableVersion = "4.7.55";
19
19
  _core.VxeUI.setConfig({
20
20
  emptyCell: ' ',
21
21
  table: {
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.VXETable=void 0,Object.defineProperty(exports,"VxeUI",{enumerable:!0,get:function(){return _core.VxeUI}}),exports.version=exports.validators=exports.use=exports.t=exports.setup=exports.setTheme=exports.setLanguage=exports.setIcon=exports.setI18n=exports.setConfig=exports.saveFile=exports.renderer=exports.readFile=exports.print=exports.modal=exports.menus=exports.log=exports.interceptor=exports.hooks=exports.globalResize=exports.globalEvents=exports.getTheme=exports.getIcon=exports.getI18n=exports.getConfig=exports.formats=exports.default=exports.config=exports.commands=exports.clipboard=exports._t=void 0;var _core=require("@vxe-ui/core"),_utils=require("./src/utils");const version=exports.version="4.7.54",iconPrefix=(_core.VxeUI.version=version,_core.VxeUI.tableVersion="4.7.54",_core.VxeUI.setConfig({emptyCell:" ",table:{fit:!0,showHeader:!0,animat:!0,delayHover:250,autoResize:!0,minHeight:144,resizeConfig:{refreshDelay:250},radioConfig:{strict:!0},checkboxConfig:{strict:!0},tooltipConfig:{enterable:!0},validConfig:{showMessage:!0,autoClear:!0,autoPos:!0,message:"inline",msgMode:"single"},columnConfig:{maxFixedSize:4},customConfig:{allowVisible:!0,allowResizable:!0,allowFixed:!0,allowSort:!0,showFooter:!0,placement:"top-right",modalOptions:{showMaximize:!0,mask:!0,lockView:!0,resize:!0,escClosable:!0}},sortConfig:{showIcon:!0,iconLayout:"vertical"},filterConfig:{showIcon:!0},treeConfig:{rowField:"id",parentField:"parentId",childrenField:"children",hasChildField:"hasChild",mapChildrenField:"_X_ROW_CHILD",indent:20,showIcon:!0},expandConfig:{showIcon:!0},editConfig:{showIcon:!0,showAsterisk:!0},importConfig:{_typeMaps:{csv:1,html:1,xml:1,txt:1}},exportConfig:{_typeMaps:{csv:1,html:1,xml:1,txt:1}},printConfig:{},mouseConfig:{extension:!0},keyboardConfig:{isEsc:!0},areaConfig:{autoClear:!0,selectCellByHeader:!0},clipConfig:{isCopy:!0,isCut:!0,isPaste:!0},fnrConfig:{isFind:!0,isReplace:!0},scrollX:{gt:60},scrollY:{gt:100}},grid:{formConfig:{enabled:!0},pagerConfig:{enabled:!0},toolbarConfig:{enabled:!0},proxyConfig:{enabled:!0,autoLoad:!0,message:!0,props:{list:null,result:"result",total:"page.total",message:"message"}}},toolbar:{}}),"vxe-table-icon-"),setTheme=(_core.VxeUI.setIcon({TABLE_SORT_ASC:iconPrefix+"caret-up",TABLE_SORT_DESC:iconPrefix+"caret-down",TABLE_FILTER_NONE:iconPrefix+"funnel",TABLE_FILTER_MATCH:iconPrefix+"funnel",TABLE_EDIT:iconPrefix+"edit",TABLE_TITLE_PREFIX:iconPrefix+"question-circle-fill",TABLE_TITLE_SUFFIX:iconPrefix+"question-circle-fill",TABLE_TREE_LOADED:iconPrefix+"spinner roll",TABLE_TREE_OPEN:iconPrefix+"caret-right rotate90",TABLE_TREE_CLOSE:iconPrefix+"caret-right",TABLE_EXPAND_LOADED:iconPrefix+"spinner roll",TABLE_EXPAND_OPEN:iconPrefix+"arrow-right rotate90",TABLE_EXPAND_CLOSE:iconPrefix+"arrow-right",TABLE_CHECKBOX_CHECKED:iconPrefix+"checkbox-checked-fill",TABLE_CHECKBOX_UNCHECKED:iconPrefix+"checkbox-unchecked",TABLE_CHECKBOX_INDETERMINATE:iconPrefix+"checkbox-indeterminate-fill",TABLE_RADIO_CHECKED:iconPrefix+"radio-checked-fill",TABLE_RADIO_UNCHECKED:iconPrefix+"radio-unchecked",TABLE_CUSTOM_SORT:iconPrefix+"drag-handle",TOOLBAR_TOOLS_REFRESH:iconPrefix+"repeat",TOOLBAR_TOOLS_REFRESH_LOADING:iconPrefix+"repeat roll",TOOLBAR_TOOLS_IMPORT:iconPrefix+"upload",TOOLBAR_TOOLS_EXPORT:iconPrefix+"download",TOOLBAR_TOOLS_PRINT:iconPrefix+"print",TOOLBAR_TOOLS_FULLSCREEN:iconPrefix+"fullscreen",TOOLBAR_TOOLS_MINIMIZE:iconPrefix+"minimize",TOOLBAR_TOOLS_CUSTOM:iconPrefix+"custom-column",TOOLBAR_TOOLS_FIXED_LEFT:iconPrefix+"fixed-left",TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE:iconPrefix+"fixed-left-fill",TOOLBAR_TOOLS_FIXED_RIGHT:iconPrefix+"fixed-right",TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE:iconPrefix+"fixed-right-fill"}),exports.setTheme=_core.VxeUI.setTheme),getTheme=exports.getTheme=_core.VxeUI.getTheme,setConfig=exports.setConfig=_core.VxeUI.setConfig,getConfig=exports.getConfig=_core.VxeUI.getConfig,setIcon=exports.setIcon=_core.VxeUI.setIcon,getIcon=exports.getIcon=_core.VxeUI.getIcon,setLanguage=exports.setLanguage=_core.VxeUI.setLanguage,setI18n=exports.setI18n=_core.VxeUI.setI18n,getI18n=exports.getI18n=_core.VxeUI.getI18n,globalEvents=exports.globalEvents=_core.VxeUI.globalEvents,globalResize=exports.globalResize=_core.VxeUI.globalResize,renderer=exports.renderer=_core.VxeUI.renderer,validators=exports.validators=_core.VxeUI.validators,menus=exports.menus=_core.VxeUI.menus,formats=exports.formats=_core.VxeUI.formats,commands=exports.commands=_core.VxeUI.commands,interceptor=exports.interceptor=_core.VxeUI.interceptor,clipboard=exports.clipboard=_core.VxeUI.clipboard,log=exports.log=_core.VxeUI.log,hooks=exports.hooks=_core.VxeUI.hooks,use=exports.use=_core.VxeUI.use,setup=e=>_core.VxeUI.setConfig(e),config=(exports.setup=setup,e=>_core.VxeUI.setConfig(e)),t=(exports.config=config,(e,o)=>_core.VxeUI.getI18n(e,o)),_t=(exports.t=t,(e,o)=>(0,_utils.getFuncText)(e,o)),VXETable=(exports._t=_t,exports.VXETable=_core.VxeUI),saveFile=(VXETable.setup=config,VXETable.config=config,e=>_core.VxeUI.saveFile(e)),readFile=(exports.saveFile=saveFile,e=>_core.VxeUI.readFile(e)),print=(exports.readFile=readFile,e=>_core.VxeUI.print(e)),modal=(exports.print=print,exports.modal={get(e){return _core.VxeUI.modal.get(e)},close(e){return _core.VxeUI.modal.close(e)},open(e){return _core.VxeUI.modal.open(e)},alert(e,o,r){return _core.VxeUI.modal.alert(e,o,r)},confirm(e,o,r){return _core.VxeUI.modal.confirm(e,o,r)},message(e,o){return _core.VxeUI.modal.message(e,o)},notification(e,o,r){return _core.VxeUI.modal.notification(e,o,r)}});var _default=exports.default=_core.VxeUI;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.VXETable=void 0,Object.defineProperty(exports,"VxeUI",{enumerable:!0,get:function(){return _core.VxeUI}}),exports.version=exports.validators=exports.use=exports.t=exports.setup=exports.setTheme=exports.setLanguage=exports.setIcon=exports.setI18n=exports.setConfig=exports.saveFile=exports.renderer=exports.readFile=exports.print=exports.modal=exports.menus=exports.log=exports.interceptor=exports.hooks=exports.globalResize=exports.globalEvents=exports.getTheme=exports.getIcon=exports.getI18n=exports.getConfig=exports.formats=exports.default=exports.config=exports.commands=exports.clipboard=exports._t=void 0;var _core=require("@vxe-ui/core"),_utils=require("./src/utils");const version=exports.version="4.7.55",iconPrefix=(_core.VxeUI.version=version,_core.VxeUI.tableVersion="4.7.55",_core.VxeUI.setConfig({emptyCell:" ",table:{fit:!0,showHeader:!0,animat:!0,delayHover:250,autoResize:!0,minHeight:144,resizeConfig:{refreshDelay:250},radioConfig:{strict:!0},checkboxConfig:{strict:!0},tooltipConfig:{enterable:!0},validConfig:{showMessage:!0,autoClear:!0,autoPos:!0,message:"inline",msgMode:"single"},columnConfig:{maxFixedSize:4},customConfig:{allowVisible:!0,allowResizable:!0,allowFixed:!0,allowSort:!0,showFooter:!0,placement:"top-right",modalOptions:{showMaximize:!0,mask:!0,lockView:!0,resize:!0,escClosable:!0}},sortConfig:{showIcon:!0,iconLayout:"vertical"},filterConfig:{showIcon:!0},treeConfig:{rowField:"id",parentField:"parentId",childrenField:"children",hasChildField:"hasChild",mapChildrenField:"_X_ROW_CHILD",indent:20,showIcon:!0},expandConfig:{showIcon:!0},editConfig:{showIcon:!0,showAsterisk:!0},importConfig:{_typeMaps:{csv:1,html:1,xml:1,txt:1}},exportConfig:{_typeMaps:{csv:1,html:1,xml:1,txt:1}},printConfig:{},mouseConfig:{extension:!0},keyboardConfig:{isEsc:!0},areaConfig:{autoClear:!0,selectCellByHeader:!0},clipConfig:{isCopy:!0,isCut:!0,isPaste:!0},fnrConfig:{isFind:!0,isReplace:!0},scrollX:{gt:60},scrollY:{gt:100}},grid:{formConfig:{enabled:!0},pagerConfig:{enabled:!0},toolbarConfig:{enabled:!0},proxyConfig:{enabled:!0,autoLoad:!0,message:!0,props:{list:null,result:"result",total:"page.total",message:"message"}}},toolbar:{}}),"vxe-table-icon-"),setTheme=(_core.VxeUI.setIcon({TABLE_SORT_ASC:iconPrefix+"caret-up",TABLE_SORT_DESC:iconPrefix+"caret-down",TABLE_FILTER_NONE:iconPrefix+"funnel",TABLE_FILTER_MATCH:iconPrefix+"funnel",TABLE_EDIT:iconPrefix+"edit",TABLE_TITLE_PREFIX:iconPrefix+"question-circle-fill",TABLE_TITLE_SUFFIX:iconPrefix+"question-circle-fill",TABLE_TREE_LOADED:iconPrefix+"spinner roll",TABLE_TREE_OPEN:iconPrefix+"caret-right rotate90",TABLE_TREE_CLOSE:iconPrefix+"caret-right",TABLE_EXPAND_LOADED:iconPrefix+"spinner roll",TABLE_EXPAND_OPEN:iconPrefix+"arrow-right rotate90",TABLE_EXPAND_CLOSE:iconPrefix+"arrow-right",TABLE_CHECKBOX_CHECKED:iconPrefix+"checkbox-checked-fill",TABLE_CHECKBOX_UNCHECKED:iconPrefix+"checkbox-unchecked",TABLE_CHECKBOX_INDETERMINATE:iconPrefix+"checkbox-indeterminate-fill",TABLE_RADIO_CHECKED:iconPrefix+"radio-checked-fill",TABLE_RADIO_UNCHECKED:iconPrefix+"radio-unchecked",TABLE_CUSTOM_SORT:iconPrefix+"drag-handle",TOOLBAR_TOOLS_REFRESH:iconPrefix+"repeat",TOOLBAR_TOOLS_REFRESH_LOADING:iconPrefix+"repeat roll",TOOLBAR_TOOLS_IMPORT:iconPrefix+"upload",TOOLBAR_TOOLS_EXPORT:iconPrefix+"download",TOOLBAR_TOOLS_PRINT:iconPrefix+"print",TOOLBAR_TOOLS_FULLSCREEN:iconPrefix+"fullscreen",TOOLBAR_TOOLS_MINIMIZE:iconPrefix+"minimize",TOOLBAR_TOOLS_CUSTOM:iconPrefix+"custom-column",TOOLBAR_TOOLS_FIXED_LEFT:iconPrefix+"fixed-left",TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE:iconPrefix+"fixed-left-fill",TOOLBAR_TOOLS_FIXED_RIGHT:iconPrefix+"fixed-right",TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE:iconPrefix+"fixed-right-fill"}),exports.setTheme=_core.VxeUI.setTheme),getTheme=exports.getTheme=_core.VxeUI.getTheme,setConfig=exports.setConfig=_core.VxeUI.setConfig,getConfig=exports.getConfig=_core.VxeUI.getConfig,setIcon=exports.setIcon=_core.VxeUI.setIcon,getIcon=exports.getIcon=_core.VxeUI.getIcon,setLanguage=exports.setLanguage=_core.VxeUI.setLanguage,setI18n=exports.setI18n=_core.VxeUI.setI18n,getI18n=exports.getI18n=_core.VxeUI.getI18n,globalEvents=exports.globalEvents=_core.VxeUI.globalEvents,globalResize=exports.globalResize=_core.VxeUI.globalResize,renderer=exports.renderer=_core.VxeUI.renderer,validators=exports.validators=_core.VxeUI.validators,menus=exports.menus=_core.VxeUI.menus,formats=exports.formats=_core.VxeUI.formats,commands=exports.commands=_core.VxeUI.commands,interceptor=exports.interceptor=_core.VxeUI.interceptor,clipboard=exports.clipboard=_core.VxeUI.clipboard,log=exports.log=_core.VxeUI.log,hooks=exports.hooks=_core.VxeUI.hooks,use=exports.use=_core.VxeUI.use,setup=e=>_core.VxeUI.setConfig(e),config=(exports.setup=setup,e=>_core.VxeUI.setConfig(e)),t=(exports.config=config,(e,o)=>_core.VxeUI.getI18n(e,o)),_t=(exports.t=t,(e,o)=>(0,_utils.getFuncText)(e,o)),VXETable=(exports._t=_t,exports.VXETable=_core.VxeUI),saveFile=(VXETable.setup=config,VXETable.config=config,e=>_core.VxeUI.saveFile(e)),readFile=(exports.saveFile=saveFile,e=>_core.VxeUI.readFile(e)),print=(exports.readFile=readFile,e=>_core.VxeUI.print(e)),modal=(exports.print=print,exports.modal={get(e){return _core.VxeUI.modal.get(e)},close(e){return _core.VxeUI.modal.close(e)},open(e){return _core.VxeUI.modal.open(e)},alert(e,o,r){return _core.VxeUI.modal.alert(e,o,r)},confirm(e,o,r){return _core.VxeUI.modal.confirm(e,o,r)},message(e,o){return _core.VxeUI.modal.message(e,o)},notification(e,o,r){return _core.VxeUI.modal.notification(e,o,r)}});var _default=exports.default=_core.VxeUI;
package/lib/ui/src/log.js CHANGED
@@ -8,6 +8,6 @@ var _core = require("@vxe-ui/core");
8
8
  const {
9
9
  log
10
10
  } = _core.VxeUI;
11
- const version = `table v${"4.7.54"}`;
11
+ const version = `table v${"4.7.55"}`;
12
12
  const warnLog = exports.warnLog = log.create('warn', version);
13
13
  const errLog = exports.errLog = log.create('error', version);
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.warnLog=exports.errLog=void 0;var _core=require("@vxe-ui/core");const log=_core.VxeUI["log"],version="table v4.7.54",warnLog=exports.warnLog=log.create("warn",version),errLog=exports.errLog=log.create("error",version);
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.warnLog=exports.errLog=void 0;var _core=require("@vxe-ui/core");const log=_core.VxeUI["log"],version="table v4.7.55",warnLog=exports.warnLog=log.create("warn",version),errLog=exports.errLog=log.create("error",version);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vxe-table",
3
- "version": "4.7.54",
3
+ "version": "4.7.55",
4
4
  "description": "一个基于 vue 的 PC 端表格组件,支持增删改查、虚拟树、列拖拽,懒加载、快捷菜单、数据校验、树形结构、打印、导入导出、自定义模板、渲染器、JSON 配置式...",
5
5
  "scripts": {
6
6
  "update": "npm install --legacy-peer-deps",
@@ -28,7 +28,7 @@
28
28
  "style": "lib/style.css",
29
29
  "typings": "types/index.d.ts",
30
30
  "dependencies": {
31
- "vxe-pc-ui": "^4.0.73"
31
+ "vxe-pc-ui": "^4.0.76"
32
32
  },
33
33
  "devDependencies": {
34
34
  "@types/resize-observer-browser": "^0.1.11",
@@ -9,7 +9,7 @@ import type { TableFilterMethods, TableFilterPrivateMethods } from '../../../../
9
9
 
10
10
  const { renderer, hooks } = VxeUI
11
11
 
12
- const tableFilterMethodKeys: (keyof TableFilterMethods)[] = ['setFilter', 'clearFilter', 'getCheckedFilters']
12
+ const tableFilterMethodKeys: (keyof TableFilterMethods)[] = ['openFilter', 'setFilter', 'clearFilter', 'getCheckedFilters', 'updateFilterOptionStatus']
13
13
 
14
14
  hooks.add('tableFilterModule', {
15
15
  setupTable ($xeTable) {
@@ -17,6 +17,43 @@ hooks.add('tableFilterModule', {
17
17
  const { refTableHeader, refTableBody, refTableFilter } = $xeTable.getRefMaps()
18
18
  const { computeFilterOpts, computeMouseOpts } = $xeTable.getComputeMaps()
19
19
 
20
+ // 确认筛选
21
+ const confirmFilter = (evnt: Event) => {
22
+ const { filterStore } = reactData
23
+ filterStore.options.forEach((option: any) => {
24
+ option.checked = option._checked
25
+ })
26
+ $xeTable.confirmFilterEvent(evnt)
27
+ }
28
+
29
+ // (单选)筛选发生改变
30
+ const changeRadioOption = (evnt: Event, checked: boolean, item: any) => {
31
+ const { filterStore } = reactData
32
+ filterStore.options.forEach((option: any) => {
33
+ option._checked = false
34
+ })
35
+ item._checked = checked
36
+ $xeTable.checkFilterOptions()
37
+ confirmFilter(evnt)
38
+ }
39
+
40
+ // (多选)筛选发生改变
41
+ const changeMultipleOption = (evnt: Event, checked: boolean, item: any) => {
42
+ item._checked = checked
43
+ $xeTable.checkFilterOptions()
44
+ }
45
+
46
+ /**
47
+ * 重置筛选
48
+ * 当筛选面板中的重置按钮被按下时触发
49
+ * @param {Event} evnt 事件
50
+ */
51
+ const resetFilter = (evnt: Event) => {
52
+ const { filterStore } = reactData
53
+ $xeTable.handleClearFilter(filterStore.column)
54
+ $xeTable.confirmFilterEvent(evnt)
55
+ }
56
+
20
57
  const filterPrivateMethods: TableFilterPrivateMethods = {
21
58
  checkFilterOptions () {
22
59
  const { filterStore } = reactData
@@ -187,7 +224,20 @@ hooks.add('tableFilterModule', {
187
224
  // 存在滚动行为未结束情况
188
225
  setTimeout(() => $xeTable.recalculate(), 50)
189
226
  })
190
- }
227
+ },
228
+ handleFilterChangeRadioOption: changeRadioOption,
229
+ handleFilterChangeMultipleOption: changeMultipleOption,
230
+ // 筛选发生改变
231
+ handleFilterChangeOption (evnt: Event, checked: boolean, item: any) {
232
+ const { filterStore } = reactData
233
+ if (filterStore.multiple) {
234
+ changeMultipleOption(evnt, checked, item)
235
+ } else {
236
+ changeRadioOption(evnt, checked, item)
237
+ }
238
+ },
239
+ handleFilterConfirmFilter: confirmFilter,
240
+ handleFilterResetFilter: resetFilter
191
241
  }
192
242
 
193
243
  const filterMethods: TableFilterMethods = {
@@ -277,6 +327,11 @@ hooks.add('tableFilterModule', {
277
327
  }
278
328
  })
279
329
  return filterList
330
+ },
331
+ updateFilterOptionStatus (item: any, checked: boolean) {
332
+ item._checked = checked
333
+ item.checked = checked
334
+ return nextTick()
280
335
  }
281
336
  }
282
337
 
@@ -39,22 +39,12 @@ export default defineComponent({
39
39
  *************************/
40
40
  // 确认筛选
41
41
  const confirmFilter = (evnt: Event) => {
42
- const { filterStore } = props
43
- filterStore.options.forEach((option: any) => {
44
- option.checked = option._checked
45
- })
46
- $xeTable.confirmFilterEvent(evnt)
42
+ $xeTable.handleFilterConfirmFilter(evnt)
47
43
  }
48
44
 
49
45
  // (单选)筛选发生改变
50
46
  const changeRadioOption = (evnt: Event, checked: boolean, item: any) => {
51
- const { filterStore } = props
52
- filterStore.options.forEach((option: any) => {
53
- option._checked = false
54
- })
55
- item._checked = checked
56
- $xeTable.checkFilterOptions()
57
- confirmFilter(evnt)
47
+ $xeTable.handleFilterChangeRadioOption(evnt, checked, item)
58
48
  }
59
49
 
60
50
  /**
@@ -63,25 +53,17 @@ export default defineComponent({
63
53
  * @param {Event} evnt 事件
64
54
  */
65
55
  const resetFilter = (evnt: Event) => {
66
- const { filterStore } = props
67
- $xeTable.handleClearFilter(filterStore.column)
68
- $xeTable.confirmFilterEvent(evnt)
56
+ $xeTable.handleFilterResetFilter(evnt)
69
57
  }
70
58
 
71
59
  // (多选)筛选发生改变
72
60
  const changeMultipleOption = (evnt: Event, checked: boolean, item: any) => {
73
- item._checked = checked
74
- $xeTable.checkFilterOptions()
61
+ $xeTable.handleFilterChangeMultipleOption(evnt, checked, item)
75
62
  }
76
63
 
77
64
  // 筛选发生改变
78
65
  const changeOption = (evnt: Event, checked: boolean, item: any) => {
79
- const { filterStore } = props
80
- if (filterStore.multiple) {
81
- changeMultipleOption(evnt, checked, item)
82
- } else {
83
- changeRadioOption(evnt, checked, item)
84
- }
66
+ $xeTable.handleFilterChangeOption(evnt, checked, item)
85
67
  }
86
68
 
87
69
  const changeAllOption = (evnt: Event, checked: boolean) => {
@@ -441,6 +441,13 @@ function handleFilterMethod ({ option, row, column }: any) {
441
441
  return cellValue == data
442
442
  }
443
443
 
444
+ function handleInputFilterMethod ({ option, row, column }: any) {
445
+ const { data } = option
446
+ const cellValue = XEUtils.get(row, column.property)
447
+ /* eslint-disable eqeqeq */
448
+ return XEUtils.toValueString(cellValue).indexOf(data) > -1
449
+ }
450
+
444
451
  function nativeSelectEditRender (renderOpts: any, params: any) {
445
452
  return [
446
453
  h('select', {
@@ -561,7 +568,7 @@ renderer.mixin({
561
568
  renderEdit: nativeEditRender,
562
569
  renderDefault: nativeEditRender,
563
570
  renderFilter: nativeFilterRender,
564
- defaultFilterMethod: handleFilterMethod
571
+ defaultFilterMethod: handleInputFilterMethod
565
572
  },
566
573
  textarea: {
567
574
  autofocus: 'textarea',
@@ -614,7 +621,7 @@ renderer.mixin({
614
621
  },
615
622
  renderDefault: defaultEditRender,
616
623
  renderFilter: defaultFilterRender,
617
- defaultFilterMethod: handleFilterMethod
624
+ defaultFilterMethod: handleInputFilterMethod
618
625
  },
619
626
  VxeNumberInput: {
620
627
  autofocus: '.vxe-number-input--inner',
@@ -635,7 +642,7 @@ renderer.mixin({
635
642
  },
636
643
  renderDefault: defaultEditRender,
637
644
  renderFilter: defaultFilterRender,
638
- defaultFilterMethod: handleFilterMethod
645
+ defaultFilterMethod: handleInputFilterMethod
639
646
  },
640
647
  VxeDatePicker: {
641
648
  autofocus: '.vxe-date-picker--inner',
@@ -750,7 +757,7 @@ renderer.mixin({
750
757
  },
751
758
  renderDefault: oldEditRender,
752
759
  renderFilter: oldFilterRender,
753
- defaultFilterMethod: handleFilterMethod
760
+ defaultFilterMethod: handleInputFilterMethod
754
761
  },
755
762
  $textarea: {
756
763
  autofocus: '.vxe-textarea--inner'