vxe-table 4.1.8 → 4.1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/es/button/src/button.js +14 -14
  2. package/es/edit/src/hook.js +3 -3
  3. package/es/export/src/hook.js +4 -4
  4. package/es/filter/src/hook.js +20 -1
  5. package/es/table/src/body.js +11 -14
  6. package/es/table/src/cell.js +16 -14
  7. package/es/table/src/table.js +90 -80
  8. package/es/table/src/util.js +3 -0
  9. package/es/tools/dom.js +2 -8
  10. package/lib/button/src/button.js +15 -14
  11. package/lib/button/src/button.min.js +1 -1
  12. package/lib/edit/src/hook.js +3 -0
  13. package/lib/edit/src/hook.min.js +1 -1
  14. package/lib/export/src/hook.js +3 -5
  15. package/lib/export/src/hook.min.js +1 -1
  16. package/lib/filter/src/hook.js +23 -0
  17. package/lib/filter/src/hook.min.js +1 -1
  18. package/lib/index.umd.js +242 -179
  19. package/lib/index.umd.min.js +1 -1
  20. package/lib/table/src/body.js +8 -16
  21. package/lib/table/src/body.min.js +1 -1
  22. package/lib/table/src/cell.js +16 -16
  23. package/lib/table/src/cell.min.js +1 -1
  24. package/lib/table/src/table.js +144 -104
  25. package/lib/table/src/table.min.js +1 -1
  26. package/lib/table/src/util.js +7 -0
  27. package/lib/table/src/util.min.js +1 -1
  28. package/lib/tools/dom.js +2 -9
  29. package/lib/tools/dom.min.js +1 -1
  30. package/package.json +1 -1
  31. package/packages/button/src/button.ts +14 -14
  32. package/packages/edit/src/hook.ts +3 -3
  33. package/packages/export/src/hook.ts +4 -4
  34. package/packages/filter/src/hook.ts +20 -1
  35. package/packages/table/src/body.ts +11 -14
  36. package/packages/table/src/cell.ts +16 -14
  37. package/packages/table/src/table.ts +90 -80
  38. package/packages/table/src/util.ts +4 -0
  39. package/packages/tools/dom.ts +2 -7
  40. package/types/filter.d.ts +5 -0
  41. package/types/plugins/pro.d.ts +5 -0
  42. package/types/table.d.ts +8 -2
@@ -175,48 +175,49 @@ var _default2 = (0, _vue.defineComponent)({
175
175
  };
176
176
 
177
177
  var _a = (0, _dom.getAbsolutePos)(targetElem),
178
+ top_1 = _a.top,
179
+ left = _a.left,
178
180
  boundingTop = _a.boundingTop,
179
- boundingLeft = _a.boundingLeft,
180
181
  visibleHeight = _a.visibleHeight,
181
182
  visibleWidth = _a.visibleWidth;
182
183
 
183
184
  var panelPlacement = 'bottom';
184
185
 
185
186
  if (transfer) {
186
- var left = boundingLeft + targetWidth - panelWidth;
187
- var top_1 = boundingTop + targetHeight;
187
+ var btnLeft = left + targetWidth - panelWidth;
188
+ var btnTop = top_1 + targetHeight;
188
189
 
189
190
  if (placement === 'top') {
190
191
  panelPlacement = 'top';
191
- top_1 = boundingTop - panelHeight;
192
+ btnTop = top_1 - panelHeight;
192
193
  } else if (!placement) {
193
194
  // 如果下面不够放,则向上
194
- if (top_1 + panelHeight + marginSize > visibleHeight) {
195
+ if (boundingTop + targetHeight + panelHeight + marginSize > visibleHeight) {
195
196
  panelPlacement = 'top';
196
- top_1 = boundingTop - panelHeight;
197
+ btnTop = top_1 - panelHeight;
197
198
  } // 如果上面不够放,则向下(优先)
198
199
 
199
200
 
200
- if (top_1 < marginSize) {
201
+ if (btnTop < marginSize) {
201
202
  panelPlacement = 'bottom';
202
- top_1 = boundingTop + targetHeight;
203
+ btnTop = top_1 + targetHeight;
203
204
  }
204
205
  } // 如果溢出右边
205
206
 
206
207
 
207
- if (left + panelWidth + marginSize > visibleWidth) {
208
- left -= left + panelWidth + marginSize - visibleWidth;
208
+ if (btnLeft + panelWidth + marginSize > visibleWidth) {
209
+ btnLeft -= btnLeft + panelWidth + marginSize - visibleWidth;
209
210
  } // 如果溢出左边
210
211
 
211
212
 
212
- if (left < marginSize) {
213
- left = marginSize;
213
+ if (btnLeft < marginSize) {
214
+ btnLeft = marginSize;
214
215
  }
215
216
 
216
217
  Object.assign(panelStyle, {
217
- left: left + "px",
218
+ left: btnLeft + "px",
218
219
  right: 'auto',
219
- top: top_1 + "px",
220
+ top: btnTop + "px",
220
221
  minWidth: targetWidth + "px"
221
222
  });
222
223
  } else {
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_conf=_interopRequireDefault(require("../../v-x-e-table/src/conf")),_size=require("../../hooks/size"),_dom=require("../../tools/dom"),_utils=require("../../tools/utils"),_event=require("../../tools/event");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default2=(0,_vue.defineComponent)({name:"VxeButton",props:{type:String,className:String,size:{type:String,default:function(){return _conf.default.button.size||_conf.default.size}},name:[String,Number],content:String,placement:String,status:String,icon:String,round:Boolean,circle:Boolean,disabled:Boolean,loading:Boolean,destroyOnClose:Boolean,transfer:{type:Boolean,default:function(){return _conf.default.button.transfer}}},emits:["click","dropdown-click"],setup:function(m,e){function _(e){u.dispatchEvent("click",{$event:e},e)}function b(e){0===e.button&&e.stopPropagation()}function h(e){var t=e.currentTarget,n=z.value,t=(o=(0,_dom.getEventTargetNode)(e,t,"vxe-button")).flag,o=o.targetElem;t&&(n&&(n.dataset.active="N"),P.showPanel=!1,setTimeout(function(){n&&"Y"===n.dataset.active||(P.animatVisible=!1)},350),u.dispatchEvent("dropdown-click",{name:o.getAttribute("name"),$event:e},e))}function x(){var e=z.value;e&&(e.dataset.active="Y",P.inited||(P.inited=!0),n.showTime=setTimeout(function(){"Y"===e.dataset.active?q():P.animatVisible=!1},250))}function g(){r()}function w(){var e=m.content,t=m.icon,n=[];return m.loading?n.push((0,_vue.h)("i",{class:["vxe-button--loading-icon",_conf.default.icon.BUTTON_LOADING]})):t&&n.push((0,_vue.h)("i",{class:["vxe-button--icon",t]})),T.default?n.push((0,_vue.h)("span",{class:"vxe-button--content"},T.default({}))):e&&n.push((0,_vue.h)("span",{class:"vxe-button--content"},(0,_utils.getFuncText)(e))),n}var T=e.slots,o=e.emit,t=_xeUtils.default.uniqueId(),y=(0,_size.useSize)(m),P=(0,_vue.reactive)({inited:!1,showPanel:!1,animatVisible:!1,panelIndex:0,panelStyle:{},panelPlacement:""}),n={showTime:null},N=(0,_vue.ref)(),k=(0,_vue.ref)(),z=(0,_vue.ref)(),i={refElem:N},a={xID:t,props:m,context:e,reactData:P,internalData:n,getRefMaps:function(){return i}},u={},O=(0,_vue.computed)(function(){var e=m.type;return!!e&&-1<["submit","reset","button"].indexOf(e)}),S=(0,_vue.computed)(function(){var e=m.type;return e&&"text"===e?e:"button"}),s=function(){P.panelIndex<(0,_utils.getLastZIndex)()&&(P.panelIndex=(0,_utils.nextZIndex)())},l=function(){return(0,_vue.nextTick)().then(function(){var e=m.transfer,t=m.placement,n=P.panelIndex,o=k.value,i=z.value;if(i&&o){var a=o.offsetHeight,u=o.offsetWidth,s=i.offsetHeight,l=i.offsetWidth,r={zIndex:n},c=(0,_dom.getAbsolutePos)(o),d=c.boundingTop,i=c.boundingLeft,n=c.visibleHeight,o=c.visibleWidth,c="bottom";return e?(e=d+a,"top"===t?(c="top",e=d-s):t||(n<e+s+5&&(c="top",e=d-s),e<5&&(c="bottom",e=d+a)),o<(i=i+u-l)+l+5&&(i-=i+l+5-o),i<5&&(i=5),Object.assign(r,{left:i+"px",right:"auto",top:e+"px",minWidth:u+"px"})):"top"===t?(c="top",r.bottom=a+"px"):t||n<d+a+s&&5<d-a-s&&(c="top",r.bottom=a+"px"),P.panelStyle=r,P.panelPlacement=c,(0,_vue.nextTick)()}})},q=function(){var e=z.value;e&&(e.dataset.active="Y",P.animatVisible=!0,setTimeout(function(){"Y"===e.dataset.active&&(P.showPanel=!0,s(),l(),setTimeout(function(){P.showPanel&&l()},50))},20))},r=function(){var e=z.value;clearTimeout(n.showTime),e?(e.dataset.active="N",setTimeout(function(){"Y"!==e.dataset.active&&(P.showPanel=!1,setTimeout(function(){"Y"!==e.dataset.active&&(P.animatVisible=!1)},350))},100)):(P.animatVisible=!1,P.showPanel=!1)},u={dispatchEvent:function(e,t,n){o(e,Object.assign({$button:a,$event:n},t))},focus:function(){return k.value.focus(),(0,_vue.nextTick)()},blur:function(){return k.value.blur(),(0,_vue.nextTick)()}};Object.assign(a,u),(0,_vue.onMounted)(function(){_event.GlobalEvent.on(a,"mousewheel",function(e){var t=z.value;P.showPanel&&!(0,_dom.getEventTargetNode)(e,t).flag&&r()})}),(0,_vue.onUnmounted)(function(){_event.GlobalEvent.off(a,"mousewheel")});return a.renderVN=function(){var e=m.className,t=m.transfer,n=m.type,o=m.round,i=m.circle,a=m.destroyOnClose,u=m.status,s=m.name,l=m.disabled,r=m.loading,c=P.inited,d=P.showPanel,v=O.value,f=S.value,p=y.value;return T.dropdowns?(0,_vue.h)("div",{ref:N,class:["vxe-button--dropdown",e,((e={})["size--"+p]=p,e["is--active"]=d,e)]},[(0,_vue.h)("button",{ref:k,class:["vxe-button","type--"+f,((e={})["size--"+p]=p,e["theme--"+u]=u,e["is--round"]=o,e["is--circle"]=i,e["is--disabled"]=l||r,e["is--loading"]=r,e)],name:s,type:v?n:"button",disabled:l||r,onMouseenter:x,onMouseleave:g,onClick:_},w().concat([(0,_vue.h)("i",{class:"vxe-button--dropdown-arrow "+_conf.default.icon.BUTTON_DROPDOWN})])),(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!t||!c},[(0,_vue.h)("div",{ref:z,class:["vxe-button--dropdown-panel",((t={})["size--"+p]=p,t["animat--leave"]=P.animatVisible,t["animat--enter"]=d,t)],placement:P.panelPlacement,style:P.panelStyle},c?[(0,_vue.h)("div",{class:"vxe-button--dropdown-wrapper",onMousedown:b,onClick:h,onMouseenter:q,onMouseleave:g},a&&!d?[]:T.dropdowns({}))]:[])])]):(0,_vue.h)("button",{ref:k,class:["vxe-button","type--"+f,((f={})["size--"+p]=p,f["theme--"+u]=u,f["is--round"]=o,f["is--circle"]=i,f["is--disabled"]=l||r,f["is--loading"]=r,f)],name:s,type:v?n:"button",disabled:l||r,onClick:_},w())},a},render:function(){return this.renderVN()}});exports.default=_default2;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_conf=_interopRequireDefault(require("../../v-x-e-table/src/conf")),_size=require("../../hooks/size"),_dom=require("../../tools/dom"),_utils=require("../../tools/utils"),_event=require("../../tools/event");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default2=(0,_vue.defineComponent)({name:"VxeButton",props:{type:String,className:String,size:{type:String,default:function(){return _conf.default.button.size||_conf.default.size}},name:[String,Number],content:String,placement:String,status:String,icon:String,round:Boolean,circle:Boolean,disabled:Boolean,loading:Boolean,destroyOnClose:Boolean,transfer:{type:Boolean,default:function(){return _conf.default.button.transfer}}},emits:["click","dropdown-click"],setup:function(m,e){function _(e){u.dispatchEvent("click",{$event:e},e)}function b(e){0===e.button&&e.stopPropagation()}function h(e){var t=e.currentTarget,n=z.value,t=(o=(0,_dom.getEventTargetNode)(e,t,"vxe-button")).flag,o=o.targetElem;t&&(n&&(n.dataset.active="N"),P.showPanel=!1,setTimeout(function(){n&&"Y"===n.dataset.active||(P.animatVisible=!1)},350),u.dispatchEvent("dropdown-click",{name:o.getAttribute("name"),$event:e},e))}function x(){var e=z.value;e&&(e.dataset.active="Y",P.inited||(P.inited=!0),n.showTime=setTimeout(function(){"Y"===e.dataset.active?q():P.animatVisible=!1},250))}function g(){r()}function w(){var e=m.content,t=m.icon,n=[];return m.loading?n.push((0,_vue.h)("i",{class:["vxe-button--loading-icon",_conf.default.icon.BUTTON_LOADING]})):t&&n.push((0,_vue.h)("i",{class:["vxe-button--icon",t]})),T.default?n.push((0,_vue.h)("span",{class:"vxe-button--content"},T.default({}))):e&&n.push((0,_vue.h)("span",{class:"vxe-button--content"},(0,_utils.getFuncText)(e))),n}var T=e.slots,o=e.emit,t=_xeUtils.default.uniqueId(),y=(0,_size.useSize)(m),P=(0,_vue.reactive)({inited:!1,showPanel:!1,animatVisible:!1,panelIndex:0,panelStyle:{},panelPlacement:""}),n={showTime:null},N=(0,_vue.ref)(),k=(0,_vue.ref)(),z=(0,_vue.ref)(),i={refElem:N},a={xID:t,props:m,context:e,reactData:P,internalData:n,getRefMaps:function(){return i}},u={},O=(0,_vue.computed)(function(){var e=m.type;return!!e&&-1<["submit","reset","button"].indexOf(e)}),S=(0,_vue.computed)(function(){var e=m.type;return e&&"text"===e?e:"button"}),s=function(){P.panelIndex<(0,_utils.getLastZIndex)()&&(P.panelIndex=(0,_utils.nextZIndex)())},l=function(){return(0,_vue.nextTick)().then(function(){var e=m.transfer,t=m.placement,n=P.panelIndex,o=k.value,i=z.value;if(i&&o){var a=o.offsetHeight,u=o.offsetWidth,s=i.offsetHeight,l=i.offsetWidth,r={zIndex:n},c=(0,_dom.getAbsolutePos)(o),d=c.top,v=c.left,i=c.boundingTop,n=c.visibleHeight,o=c.visibleWidth,c="bottom";return e?(e=d+a,"top"===t?(c="top",e=d-s):t||(n<i+a+s+5&&(c="top",e=d-s),e<5&&(c="bottom",e=d+a)),o<(v=v+u-l)+l+5&&(v-=v+l+5-o),v<5&&(v=5),Object.assign(r,{left:v+"px",right:"auto",top:e+"px",minWidth:u+"px"})):"top"===t?(c="top",r.bottom=a+"px"):t||n<i+a+s&&5<i-a-s&&(c="top",r.bottom=a+"px"),P.panelStyle=r,P.panelPlacement=c,(0,_vue.nextTick)()}})},q=function(){var e=z.value;e&&(e.dataset.active="Y",P.animatVisible=!0,setTimeout(function(){"Y"===e.dataset.active&&(P.showPanel=!0,s(),l(),setTimeout(function(){P.showPanel&&l()},50))},20))},r=function(){var e=z.value;clearTimeout(n.showTime),e?(e.dataset.active="N",setTimeout(function(){"Y"!==e.dataset.active&&(P.showPanel=!1,setTimeout(function(){"Y"!==e.dataset.active&&(P.animatVisible=!1)},350))},100)):(P.animatVisible=!1,P.showPanel=!1)},u={dispatchEvent:function(e,t,n){o(e,Object.assign({$button:a,$event:n},t))},focus:function(){return k.value.focus(),(0,_vue.nextTick)()},blur:function(){return k.value.blur(),(0,_vue.nextTick)()}};Object.assign(a,u),(0,_vue.onMounted)(function(){_event.GlobalEvent.on(a,"mousewheel",function(e){var t=z.value;P.showPanel&&!(0,_dom.getEventTargetNode)(e,t).flag&&r()})}),(0,_vue.onUnmounted)(function(){_event.GlobalEvent.off(a,"mousewheel")});return a.renderVN=function(){var e=m.className,t=m.transfer,n=m.type,o=m.round,i=m.circle,a=m.destroyOnClose,u=m.status,s=m.name,l=m.disabled,r=m.loading,c=P.inited,d=P.showPanel,v=O.value,f=S.value,p=y.value;return T.dropdowns?(0,_vue.h)("div",{ref:N,class:["vxe-button--dropdown",e,((e={})["size--"+p]=p,e["is--active"]=d,e)]},[(0,_vue.h)("button",{ref:k,class:["vxe-button","type--"+f,((e={})["size--"+p]=p,e["theme--"+u]=u,e["is--round"]=o,e["is--circle"]=i,e["is--disabled"]=l||r,e["is--loading"]=r,e)],name:s,type:v?n:"button",disabled:l||r,onMouseenter:x,onMouseleave:g,onClick:_},w().concat([(0,_vue.h)("i",{class:"vxe-button--dropdown-arrow "+_conf.default.icon.BUTTON_DROPDOWN})])),(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!t||!c},[(0,_vue.h)("div",{ref:z,class:["vxe-button--dropdown-panel",((t={})["size--"+p]=p,t["animat--leave"]=P.animatVisible,t["animat--enter"]=d,t)],placement:P.panelPlacement,style:P.panelStyle},c?[(0,_vue.h)("div",{class:"vxe-button--dropdown-wrapper",onMousedown:b,onClick:h,onMouseenter:q,onMouseleave:g},a&&!d?[]:T.dropdowns({}))]:[])])]):(0,_vue.h)("button",{ref:k,class:["vxe-button","type--"+f,((f={})["size--"+p]=p,f["theme--"+u]=u,f["is--round"]=o,f["is--circle"]=i,f["is--disabled"]=l||r,f["is--loading"]=r,f)],name:s,type:v?n:"button",disabled:l||r,onClick:_},w())},a},render:function(){return this.renderVN()}});exports.default=_default2;
@@ -141,6 +141,7 @@ var editHook = {
141
141
  var rest = {
142
142
  row: item,
143
143
  rowid: rowid,
144
+ seq: -1,
144
145
  index: -1,
145
146
  _index: -1,
146
147
  $index: -1,
@@ -162,6 +163,7 @@ var editHook = {
162
163
  var rest = {
163
164
  row: item,
164
165
  rowid: rowid,
166
+ seq: -1,
165
167
  index: -1,
166
168
  _index: -1,
167
169
  $index: -1,
@@ -283,6 +285,7 @@ var editHook = {
283
285
  var rest = {
284
286
  row: item,
285
287
  rowid: rowid,
288
+ seq: -1,
286
289
  index: -1,
287
290
  _index: -1,
288
291
  $index: -1,
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_vXETable=require("../../v-x-e-table"),_utils=require("../../tools/utils"),_util=require("../../table/src/util"),_dom=require("../../tools/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var __assign=function(){return(__assign=Object.assign||function(e){for(var t,r=1,l=arguments.length;r<l;r++)for(var n in t=arguments[r])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e}).apply(this,arguments)},__spreadArray=function(e,t){for(var r=0,l=t.length,n=e.length;r<l;r++,n++)e[n]=t[r];return e},tableEditMethodKeys=["insert","insertAt","remove","removeCheckboxRow","removeRadioRow","removeCurrentRow","getRecordset","getInsertRecords","getRemoveRecords","getUpdateRecords","getActiveRecord","getSelectedCell","clearActived","clearSelected","isActiveByRow","setActiveRow","setActiveCell","setSelectCell"],editHook={setupTable:function(R){function v(e,t){var r=t.model;t.editRender&&(r.value=(0,_util.getCellValue)(e,t),r.update=!1)}function n(e,t){var r=t.model;t.editRender&&r.update&&((0,_util.setCellValue)(e,t,r.value),r.update=!1,r.value=null)}function r(){var e=o.value;!e||(e=e.querySelector(".col--selected"))&&(0,_dom.removeClass)(e,"col--selected")}var _=R.props,C=R.reactData,I=R.internalData,o=R.getRefMaps().refElem,e=R.getComputeMaps(),s=e.computeMouseOpts,p=e.computeEditOpts,m=e.computeCheckboxOpts,b=e.computeSYOpts,S=e.computeTreeOpts,h={},w={};function a(){var e=C.editStore,t=C.tableColumn,r=p.value,e=e.actived,l=e.row,e=e.column;(l||e)&&("row"===r.mode?t.forEach(function(e){return n(l,e)}):n(l,e))}function A(e,t){var a=I.treeFullData,i=I.afterFullData,u=I.fullDataRowIdData,c=I.fullAllDataRowIdData,d=S.value,s=t?"push":"unshift";e.forEach(function(e){var t,r,l=e[d.parentField],n=(0,_util.getRowid)(R,e),o=l?_xeUtils.default.findTree(a,function(e){return l===e[d.rowField]},d):null;e=o?(t=o.item,o=(r=c[(0,_util.getRowid)(R,t)])?r.level:0,r=t[d.children],(r=!_xeUtils.default.isArray(r)?t[d.children]=[]:r)[s](e),{row:e,rowid:n,index:-1,_index:-1,$index:-1,items:r,parent:parent,level:o+1}):("development"===process.env.NODE_ENV&&l&&(0,_utils.warnLog)("vxe.error.unableInsert"),i[s](e),a[s](e),{row:e,rowid:n,index:-1,_index:-1,$index:-1,items:a,parent:null,level:0}),u[n]=e,c[n]=e}),R.updateVirtualTreeData()}return h={insert:function(e){return h.insertAt(e,null)},insertAt:function(e,t){var r=_.treeConfig,l=C.mergeList,n=C.editStore,o=C.scrollYLoad,a=I.treeFullData,i=I.afterFullData,u=I.tableFullData,c=I.fullDataRowIdData,d=I.fullAllDataRowIdData,s=b.value,f=S.value,v=f.transform,p=(e=!_xeUtils.default.isArray(e)?[e]:e).map(function(e){return R.defineField(Object.assign({},e))});if(t)if(-1===t)r&&v?A(p,!0):(i.push.apply(i,p),u.push.apply(u,p),l.forEach(function(e){var t=e.row,r=e.rowspan;t+r>i.length&&(e.rowspan=r+p.length)}));else if(r&&v){var w,g,m,h=_xeUtils.default.findTree(a,function(e){return t[f.rowField]===e[f.rowField]},f);h?(w=h.parent,g=h.items,a=d[(0,_util.getRowid)(R,w)],m=a?a.level:0,p.forEach(function(e,t){var r=(0,_util.getRowid)(R,e);"development"===process.env.NODE_ENV&&e[f.parentField]&&w&&e[f.parentField]!==w[f.rowField]&&(0,_utils.errLog)("vxe.error.errProp",[f.parentField+"="+e[f.parentField],f.parentField+"="+w[f.rowField]]),w&&(e[f.parentField]=w[f.rowField]),g.splice(h.index+t,0,e);e={row:e,rowid:r,index:-1,_index:-1,$index:-1,items:g,parent:w,level:m+1};c[r]=e,d[r]=e}),R.updateVirtualTreeData()):("development"===process.env.NODE_ENV&&(0,_utils.warnLog)("vxe.error.unableInsert"),A(p,!0))}else{if(r)throw new Error((0,_utils.getLog)("vxe.error.noTree",["insert"]));var x=R.findRowIndexOf(i,t);if(-1===x)throw new Error((0,_utils.errLog)("vxe.error.unableInsert"));i.splice.apply(i,__spreadArray([x,0],p)),u.splice.apply(u,__spreadArray([R.findRowIndexOf(u,t),0],p)),l.forEach(function(e){var t=e.row,r=e.rowspan;x<t?e.row=t+p.length:x<t+r&&(e.rowspan=r+p.length)})}else r&&v?A(p,!1):(i.unshift.apply(i,p),u.unshift.apply(u,p),l.forEach(function(e){var t=e.row;0<t&&(e.row=t+p.length)}));return(n=n.insertList).unshift.apply(n,p),C.scrollYLoad=!r&&-1<s.gt&&s.gt<u.length,R.updateFooter(),R.cacheRowMap(),R.handleTableData(v),R.updateAfterDataIndex(),R.checkSelectionStatus(),o&&R.updateScrollYSpace(),(0,_vue.nextTick)().then(function(){return R.updateCellAreas(),R.recalculate()}).then(function(){return{row:p.length?p[p.length-1]:null,rows:p}})},remove:function(e){var t=_.treeConfig,r=C.mergeList,l=C.editStore,n=C.selection,o=C.scrollYLoad,a=I.treeFullData,i=I.afterFullData,u=I.tableFullData,c=m.value,d=b.value,s=S.value,f=s.transform,v=l.actived,p=l.removeList,w=l.insertList,c=c.checkField,g=[];return e?_xeUtils.default.isArray(e)||(e=[e]):e=u,e.forEach(function(e){R.isInsertByRow(e)||p.push(e)}),c||e.forEach(function(e){e=R.findRowIndexOf(n,e);-1<e&&n.splice(e,1)}),u===e?(e=g=u.slice(0),I.tableFullData=[],I.afterFullData=[],R.clearMergeCells()):t&&f?e.forEach(function(e){var t=(0,_util.getRowid)(R,e),r=_xeUtils.default.findTree(a,function(e){return t===(0,_util.getRowid)(R,e)},s);r&&(r=r.items.splice(r.index,1),g.push(r[0]));e=R.findRowIndexOf(i,e);-1<e&&i.splice(e,1),R.updateVirtualTreeData()}):e.forEach(function(e){var t=R.findRowIndexOf(u,e);-1<t&&(t=u.splice(t,1),g.push(t[0]));var l=R.findRowIndexOf(i,e);-1<l&&(r.forEach(function(e){var t=e.row,r=e.rowspan;l<t?e.row=t-1:l<t+r&&(e.rowspan=r-1)}),i.splice(l,1))}),v.row&&-1<R.findRowIndexOf(e,v.row)&&h.clearActived(),e.forEach(function(e){e=R.findRowIndexOf(w,e);-1<e&&w.splice(e,1)}),C.scrollYLoad=!t&&-1<d.gt&&d.gt<u.length,R.updateFooter(),R.cacheRowMap(),R.handleTableData(f),R.updateAfterDataIndex(),R.checkSelectionStatus(),o&&R.updateScrollYSpace(),(0,_vue.nextTick)().then(function(){return R.updateCellAreas(),R.recalculate()}).then(function(){return{row:g.length?g[g.length-1]:null,rows:g}})},removeCheckboxRow:function(){return h.remove(R.getCheckboxRecords()).then(function(e){return R.clearCheckboxRow(),e})},removeRadioRow:function(){var e=R.getRadioRecord();return h.remove(e||[]).then(function(e){return R.clearRadioRow(),e})},removeCurrentRow:function(){var e=R.getCurrentRecord();return h.remove(e||[]).then(function(e){return R.clearCurrentRow(),e})},getRecordset:function(){return{insertRecords:h.getInsertRecords(),removeRecords:h.getRemoveRecords(),updateRecords:h.getUpdateRecords()}},getInsertRecords:function(){var e=_.treeConfig,t=C.editStore,r=I.treeFullData,l=I.tableFullData,n=S.value,t=t.insertList,o=[];return t.length&&(e&&n.transform?t.forEach(function(e){var t=(0,_util.getRowid)(R,e);_xeUtils.default.findTree(r,function(e){return t===(0,_util.getRowid)(R,e)},n)&&o.push(e)}):t.forEach(function(e){-1<R.findRowIndexOf(l,e)&&o.push(e)})),o},getRemoveRecords:function(){return C.editStore.removeList},getUpdateRecords:function(){var e=_.keepSource,t=_.treeConfig,r=I.tableFullData,l=S.value;return e?(a(),t?_xeUtils.default.filterTree(r,function(e){return R.isUpdateByRow(e)},l):r.filter(function(e){return R.isUpdateByRow(e)})):[]},getActiveRecord:function(){var e=C.editStore,t=I.afterFullData,r=o.value,l=e.actived,e=l.args,l=l.row;return e&&-1<R.findRowIndexOf(t,l)&&r.querySelectorAll(".vxe-body--column.col--actived").length?Object.assign({},e):null},getSelectedCell:function(){var e=C.editStore.selected,t=e.args,e=e.column;return t&&e?Object.assign({},t):null},clearActived:function(e){var t=C.editStore.actived,r=t.row,l=t.column;return(r||l)&&(a(),t.args=null,t.row=null,t.column=null,R.updateFooter(),R.dispatchEvent("edit-closed",{row:r,rowIndex:R.getRowIndex(r),$rowIndex:R.getVMRowIndex(r),column:l,columnIndex:R.getColumnIndex(l),$columnIndex:R.getVMColumnIndex(l)},e||null)),(R.clearValidate?R.clearValidate():(0,_vue.nextTick)()).then(function(){return R.recalculate()})},clearSelected:function(){var e=C.editStore.selected;return e.row=null,e.column=null,r(),(0,_vue.nextTick)()},isActiveByRow:function(e){return C.editStore.actived.row===e},setActiveRow:function(e){var t=I.visibleColumn;return R.setActiveCell(e,_xeUtils.default.find(t,function(e){return(0,_utils.isEnableConf)(e.editRender)}))},setActiveCell:function(t,e){var r=_.editConfig,l=_xeUtils.default.isString(e)?R.getColumnByField(e):e;return t&&l&&(0,_utils.isEnableConf)(r)&&(0,_utils.isEnableConf)(l.editRender)?R.scrollToRow(t,l).then(function(){var e=R.getCell(t,l);return e&&(w.handleActived({row:t,rowIndex:R.getRowIndex(t),column:l,columnIndex:R.getColumnIndex(l),cell:e,$table:R}),I._lastCallTime=Date.now()),(0,_vue.nextTick)()}):(0,_vue.nextTick)()},setSelectCell:function(e,t){var r=C.tableData,l=I.visibleColumn,n=p.value,t=_xeUtils.default.isString(t)?R.getColumnByField(t):t;return e&&t&&"manual"!==n.trigger&&(-1<(n=R.findRowIndexOf(r,e))&&t&&(r=R.getCell(e,t),r={row:e,rowIndex:n,column:t,columnIndex:l.indexOf(t),cell:r},R.handleSelected(r,{}))),(0,_vue.nextTick)()}},w={handleActived:function(e,t){var r,l=_.editConfig,n=_.mouseConfig,o=C.editStore,a=C.tableColumn,i=p.value,u=i.mode,c=i.activeMethod,d=o.actived,s=e.row,f=e.column,i=f.editRender,o=e.cell=e.cell||R.getCell(s,f);return(0,_utils.isEnableConf)(l)&&(0,_utils.isEnableConf)(i)&&o&&(d.row!==s||"cell"===u&&d.column!==f?(r="edit-disabled",c&&!c(e)||(n&&(h.clearSelected(),R.clearCellAreas&&(R.clearCellAreas(),R.clearCopyCellArea())),R.closeTooltip(),h.clearActived(t),r="edit-actived",f.renderHeight=o.offsetHeight,d.args=e,d.row=s,d.column=f,"row"===u?a.forEach(function(e){return v(s,e)}):v(s,f),(0,_vue.nextTick)(function(){w.handleFocus(e,t)})),R.dispatchEvent(r,{row:s,rowIndex:R.getRowIndex(s),$rowIndex:R.getVMRowIndex(s),column:f,columnIndex:R.getColumnIndex(f),$columnIndex:R.getVMColumnIndex(f)},t)):(r=d.column,n&&(h.clearSelected(),R.clearCellAreas&&(R.clearCellAreas(),R.clearCopyCellArea())),r!==f&&((n=r.model).update&&(0,_util.setCellValue)(s,r,n.value),R.clearValidate&&R.clearValidate()),f.renderHeight=o.offsetHeight,d.args=e,d.column=f,setTimeout(function(){w.handleFocus(e,t)})),R.focus()),(0,_vue.nextTick)()},handleFocus:function(e){var t,r,l=e.row,n=e.column,o=e.cell,a=n.editRender;(0,_utils.isEnableConf)(a)&&(t=_vXETable.renderer.get(a.name),r=a.autofocus,e=a.autoselect,a=void 0,(a=!(a=r?o.querySelector(r):a)&&t&&t.autofocus?o.querySelector(t.autofocus):a)?(a.focus(),e?a.select():_dom.browse.msie&&((a=a.createTextRange()).collapse(!1),a.select())):R.scrollToRow(l,n))},handleSelected:function(e,t){var r=_.mouseConfig,l=C.editStore,n=s.value,o=p.value,a=l.actived,i=l.selected,u=e.row,c=e.column,d=r&&n.selected;return!d||i.row===u&&i.column===c||(a.row!==u||"cell"===o.mode&&a.column!==c)&&(h.clearActived(t),h.clearSelected(),R.clearCellAreas&&(R.clearCellAreas(),R.clearCopyCellArea()),i.args=e,i.row=u,i.column=c,d&&w.addCellSelectedClass(),R.focus()),(0,_vue.nextTick)()},addCellSelectedClass:function(){var e=C.editStore.selected,t=e.row,e=e.column;r(),t&&e&&((e=R.getCell(t,e))&&(0,_dom.addClass)(e,"col--selected"))}},__assign(__assign({},h),w)},setupGrid:function(e){return e.extendTableMethods(tableEditMethodKeys)}},_default=editHook;exports.default=_default;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_vXETable=require("../../v-x-e-table"),_utils=require("../../tools/utils"),_util=require("../../table/src/util"),_dom=require("../../tools/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var __assign=function(){return(__assign=Object.assign||function(e){for(var t,r=1,l=arguments.length;r<l;r++)for(var n in t=arguments[r])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e}).apply(this,arguments)},__spreadArray=function(e,t){for(var r=0,l=t.length,n=e.length;r<l;r++,n++)e[n]=t[r];return e},tableEditMethodKeys=["insert","insertAt","remove","removeCheckboxRow","removeRadioRow","removeCurrentRow","getRecordset","getInsertRecords","getRemoveRecords","getUpdateRecords","getActiveRecord","getSelectedCell","clearActived","clearSelected","isActiveByRow","setActiveRow","setActiveCell","setSelectCell"],editHook={setupTable:function(R){function v(e,t){var r=t.model;t.editRender&&(r.value=(0,_util.getCellValue)(e,t),r.update=!1)}function n(e,t){var r=t.model;t.editRender&&r.update&&((0,_util.setCellValue)(e,t,r.value),r.update=!1,r.value=null)}function r(){var e=o.value;!e||(e=e.querySelector(".col--selected"))&&(0,_dom.removeClass)(e,"col--selected")}var _=R.props,C=R.reactData,I=R.internalData,o=R.getRefMaps().refElem,e=R.getComputeMaps(),s=e.computeMouseOpts,p=e.computeEditOpts,m=e.computeCheckboxOpts,b=e.computeSYOpts,S=e.computeTreeOpts,h={},w={};function a(){var e=C.editStore,t=C.tableColumn,r=p.value,e=e.actived,l=e.row,e=e.column;(l||e)&&("row"===r.mode?t.forEach(function(e){return n(l,e)}):n(l,e))}function A(e,t){var a=I.treeFullData,i=I.afterFullData,u=I.fullDataRowIdData,c=I.fullAllDataRowIdData,d=S.value,s=t?"push":"unshift";e.forEach(function(e){var t,r,l=e[d.parentField],n=(0,_util.getRowid)(R,e),o=l?_xeUtils.default.findTree(a,function(e){return l===e[d.rowField]},d):null;e=o?(t=o.item,o=(r=c[(0,_util.getRowid)(R,t)])?r.level:0,r=t[d.children],(r=!_xeUtils.default.isArray(r)?t[d.children]=[]:r)[s](e),{row:e,rowid:n,seq:-1,index:-1,_index:-1,$index:-1,items:r,parent:parent,level:o+1}):("development"===process.env.NODE_ENV&&l&&(0,_utils.warnLog)("vxe.error.unableInsert"),i[s](e),a[s](e),{row:e,rowid:n,seq:-1,index:-1,_index:-1,$index:-1,items:a,parent:null,level:0}),u[n]=e,c[n]=e}),R.updateVirtualTreeData()}return h={insert:function(e){return h.insertAt(e,null)},insertAt:function(e,t){var r=_.treeConfig,l=C.mergeList,n=C.editStore,o=C.scrollYLoad,a=I.treeFullData,i=I.afterFullData,u=I.tableFullData,c=I.fullDataRowIdData,d=I.fullAllDataRowIdData,s=b.value,f=S.value,v=f.transform,p=(e=!_xeUtils.default.isArray(e)?[e]:e).map(function(e){return R.defineField(Object.assign({},e))});if(t)if(-1===t)r&&v?A(p,!0):(i.push.apply(i,p),u.push.apply(u,p),l.forEach(function(e){var t=e.row,r=e.rowspan;t+r>i.length&&(e.rowspan=r+p.length)}));else if(r&&v){var w,g,m,h=_xeUtils.default.findTree(a,function(e){return t[f.rowField]===e[f.rowField]},f);h?(w=h.parent,g=h.items,a=d[(0,_util.getRowid)(R,w)],m=a?a.level:0,p.forEach(function(e,t){var r=(0,_util.getRowid)(R,e);"development"===process.env.NODE_ENV&&e[f.parentField]&&w&&e[f.parentField]!==w[f.rowField]&&(0,_utils.errLog)("vxe.error.errProp",[f.parentField+"="+e[f.parentField],f.parentField+"="+w[f.rowField]]),w&&(e[f.parentField]=w[f.rowField]),g.splice(h.index+t,0,e);e={row:e,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,items:g,parent:w,level:m+1};c[r]=e,d[r]=e}),R.updateVirtualTreeData()):("development"===process.env.NODE_ENV&&(0,_utils.warnLog)("vxe.error.unableInsert"),A(p,!0))}else{if(r)throw new Error((0,_utils.getLog)("vxe.error.noTree",["insert"]));var x=R.findRowIndexOf(i,t);if(-1===x)throw new Error((0,_utils.errLog)("vxe.error.unableInsert"));i.splice.apply(i,__spreadArray([x,0],p)),u.splice.apply(u,__spreadArray([R.findRowIndexOf(u,t),0],p)),l.forEach(function(e){var t=e.row,r=e.rowspan;x<t?e.row=t+p.length:x<t+r&&(e.rowspan=r+p.length)})}else r&&v?A(p,!1):(i.unshift.apply(i,p),u.unshift.apply(u,p),l.forEach(function(e){var t=e.row;0<t&&(e.row=t+p.length)}));return(n=n.insertList).unshift.apply(n,p),C.scrollYLoad=!r&&-1<s.gt&&s.gt<u.length,R.updateFooter(),R.cacheRowMap(),R.handleTableData(v),R.updateAfterDataIndex(),R.checkSelectionStatus(),o&&R.updateScrollYSpace(),(0,_vue.nextTick)().then(function(){return R.updateCellAreas(),R.recalculate()}).then(function(){return{row:p.length?p[p.length-1]:null,rows:p}})},remove:function(e){var t=_.treeConfig,r=C.mergeList,l=C.editStore,n=C.selection,o=C.scrollYLoad,a=I.treeFullData,i=I.afterFullData,u=I.tableFullData,c=m.value,d=b.value,s=S.value,f=s.transform,v=l.actived,p=l.removeList,w=l.insertList,c=c.checkField,g=[];return e?_xeUtils.default.isArray(e)||(e=[e]):e=u,e.forEach(function(e){R.isInsertByRow(e)||p.push(e)}),c||e.forEach(function(e){e=R.findRowIndexOf(n,e);-1<e&&n.splice(e,1)}),u===e?(e=g=u.slice(0),I.tableFullData=[],I.afterFullData=[],R.clearMergeCells()):t&&f?e.forEach(function(e){var t=(0,_util.getRowid)(R,e),r=_xeUtils.default.findTree(a,function(e){return t===(0,_util.getRowid)(R,e)},s);r&&(r=r.items.splice(r.index,1),g.push(r[0]));e=R.findRowIndexOf(i,e);-1<e&&i.splice(e,1),R.updateVirtualTreeData()}):e.forEach(function(e){var t=R.findRowIndexOf(u,e);-1<t&&(t=u.splice(t,1),g.push(t[0]));var l=R.findRowIndexOf(i,e);-1<l&&(r.forEach(function(e){var t=e.row,r=e.rowspan;l<t?e.row=t-1:l<t+r&&(e.rowspan=r-1)}),i.splice(l,1))}),v.row&&-1<R.findRowIndexOf(e,v.row)&&h.clearActived(),e.forEach(function(e){e=R.findRowIndexOf(w,e);-1<e&&w.splice(e,1)}),C.scrollYLoad=!t&&-1<d.gt&&d.gt<u.length,R.updateFooter(),R.cacheRowMap(),R.handleTableData(f),R.updateAfterDataIndex(),R.checkSelectionStatus(),o&&R.updateScrollYSpace(),(0,_vue.nextTick)().then(function(){return R.updateCellAreas(),R.recalculate()}).then(function(){return{row:g.length?g[g.length-1]:null,rows:g}})},removeCheckboxRow:function(){return h.remove(R.getCheckboxRecords()).then(function(e){return R.clearCheckboxRow(),e})},removeRadioRow:function(){var e=R.getRadioRecord();return h.remove(e||[]).then(function(e){return R.clearRadioRow(),e})},removeCurrentRow:function(){var e=R.getCurrentRecord();return h.remove(e||[]).then(function(e){return R.clearCurrentRow(),e})},getRecordset:function(){return{insertRecords:h.getInsertRecords(),removeRecords:h.getRemoveRecords(),updateRecords:h.getUpdateRecords()}},getInsertRecords:function(){var e=_.treeConfig,t=C.editStore,r=I.treeFullData,l=I.tableFullData,n=S.value,t=t.insertList,o=[];return t.length&&(e&&n.transform?t.forEach(function(e){var t=(0,_util.getRowid)(R,e);_xeUtils.default.findTree(r,function(e){return t===(0,_util.getRowid)(R,e)},n)&&o.push(e)}):t.forEach(function(e){-1<R.findRowIndexOf(l,e)&&o.push(e)})),o},getRemoveRecords:function(){return C.editStore.removeList},getUpdateRecords:function(){var e=_.keepSource,t=_.treeConfig,r=I.tableFullData,l=S.value;return e?(a(),t?_xeUtils.default.filterTree(r,function(e){return R.isUpdateByRow(e)},l):r.filter(function(e){return R.isUpdateByRow(e)})):[]},getActiveRecord:function(){var e=C.editStore,t=I.afterFullData,r=o.value,l=e.actived,e=l.args,l=l.row;return e&&-1<R.findRowIndexOf(t,l)&&r.querySelectorAll(".vxe-body--column.col--actived").length?Object.assign({},e):null},getSelectedCell:function(){var e=C.editStore.selected,t=e.args,e=e.column;return t&&e?Object.assign({},t):null},clearActived:function(e){var t=C.editStore.actived,r=t.row,l=t.column;return(r||l)&&(a(),t.args=null,t.row=null,t.column=null,R.updateFooter(),R.dispatchEvent("edit-closed",{row:r,rowIndex:R.getRowIndex(r),$rowIndex:R.getVMRowIndex(r),column:l,columnIndex:R.getColumnIndex(l),$columnIndex:R.getVMColumnIndex(l)},e||null)),(R.clearValidate?R.clearValidate():(0,_vue.nextTick)()).then(function(){return R.recalculate()})},clearSelected:function(){var e=C.editStore.selected;return e.row=null,e.column=null,r(),(0,_vue.nextTick)()},isActiveByRow:function(e){return C.editStore.actived.row===e},setActiveRow:function(e){var t=I.visibleColumn;return R.setActiveCell(e,_xeUtils.default.find(t,function(e){return(0,_utils.isEnableConf)(e.editRender)}))},setActiveCell:function(t,e){var r=_.editConfig,l=_xeUtils.default.isString(e)?R.getColumnByField(e):e;return t&&l&&(0,_utils.isEnableConf)(r)&&(0,_utils.isEnableConf)(l.editRender)?R.scrollToRow(t,l).then(function(){var e=R.getCell(t,l);return e&&(w.handleActived({row:t,rowIndex:R.getRowIndex(t),column:l,columnIndex:R.getColumnIndex(l),cell:e,$table:R}),I._lastCallTime=Date.now()),(0,_vue.nextTick)()}):(0,_vue.nextTick)()},setSelectCell:function(e,t){var r=C.tableData,l=I.visibleColumn,n=p.value,t=_xeUtils.default.isString(t)?R.getColumnByField(t):t;return e&&t&&"manual"!==n.trigger&&(-1<(n=R.findRowIndexOf(r,e))&&t&&(r=R.getCell(e,t),r={row:e,rowIndex:n,column:t,columnIndex:l.indexOf(t),cell:r},R.handleSelected(r,{}))),(0,_vue.nextTick)()}},w={handleActived:function(e,t){var r,l=_.editConfig,n=_.mouseConfig,o=C.editStore,a=C.tableColumn,i=p.value,u=i.mode,c=i.activeMethod,d=o.actived,s=e.row,f=e.column,i=f.editRender,o=e.cell=e.cell||R.getCell(s,f);return(0,_utils.isEnableConf)(l)&&(0,_utils.isEnableConf)(i)&&o&&(d.row!==s||"cell"===u&&d.column!==f?(r="edit-disabled",c&&!c(e)||(n&&(h.clearSelected(),R.clearCellAreas&&(R.clearCellAreas(),R.clearCopyCellArea())),R.closeTooltip(),h.clearActived(t),r="edit-actived",f.renderHeight=o.offsetHeight,d.args=e,d.row=s,d.column=f,"row"===u?a.forEach(function(e){return v(s,e)}):v(s,f),(0,_vue.nextTick)(function(){w.handleFocus(e,t)})),R.dispatchEvent(r,{row:s,rowIndex:R.getRowIndex(s),$rowIndex:R.getVMRowIndex(s),column:f,columnIndex:R.getColumnIndex(f),$columnIndex:R.getVMColumnIndex(f)},t)):(r=d.column,n&&(h.clearSelected(),R.clearCellAreas&&(R.clearCellAreas(),R.clearCopyCellArea())),r!==f&&((n=r.model).update&&(0,_util.setCellValue)(s,r,n.value),R.clearValidate&&R.clearValidate()),f.renderHeight=o.offsetHeight,d.args=e,d.column=f,setTimeout(function(){w.handleFocus(e,t)})),R.focus()),(0,_vue.nextTick)()},handleFocus:function(e){var t,r,l=e.row,n=e.column,o=e.cell,a=n.editRender;(0,_utils.isEnableConf)(a)&&(t=_vXETable.renderer.get(a.name),r=a.autofocus,e=a.autoselect,a=void 0,(a=!(a=r?o.querySelector(r):a)&&t&&t.autofocus?o.querySelector(t.autofocus):a)?(a.focus(),e?a.select():_dom.browse.msie&&((a=a.createTextRange()).collapse(!1),a.select())):R.scrollToRow(l,n))},handleSelected:function(e,t){var r=_.mouseConfig,l=C.editStore,n=s.value,o=p.value,a=l.actived,i=l.selected,u=e.row,c=e.column,d=r&&n.selected;return!d||i.row===u&&i.column===c||(a.row!==u||"cell"===o.mode&&a.column!==c)&&(h.clearActived(t),h.clearSelected(),R.clearCellAreas&&(R.clearCellAreas(),R.clearCopyCellArea()),i.args=e,i.row=u,i.column=c,d&&w.addCellSelectedClass(),R.focus()),(0,_vue.nextTick)()},addCellSelectedClass:function(){var e=C.editStore.selected,t=e.row,e=e.column;r(),t&&e&&((e=R.getCell(t,e))&&(0,_dom.addClass)(e,"col--selected"))}},__assign(__assign({},h),w)},setupGrid:function(e){return e.extendTableMethods(tableEditMethodKeys)}},_default=editHook;exports.default=_default;
@@ -372,7 +372,7 @@ var tableExportHook = {
372
372
  return row[treeOpts.children] && row[treeOpts.children].length;
373
373
  };
374
374
 
375
- var getSeq = function getSeq(row, rowIndex, column, columnIndex, paths) {
375
+ var getSeq = function getSeq(row, rowIndex, column, columnIndex, path) {
376
376
  var seqOpts = computeSeqOpts.value;
377
377
  var seqMethod = seqOpts.seqMethod || column.seqMethod;
378
378
 
@@ -385,10 +385,8 @@ var tableExportHook = {
385
385
  });
386
386
  }
387
387
 
388
- if (paths) {
389
- return paths.map(function (num, i) {
390
- return i % 2 === 0 ? Number(num) + 1 : '.';
391
- }).join('');
388
+ if (path) {
389
+ return (0, _util.toTreePathSeq)(path);
392
390
  }
393
391
 
394
392
  return seqOpts.startIndex + rowIndex + 1;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var htmlCellElem,_vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_conf=_interopRequireDefault(require("../../v-x-e-table/src/conf")),_vXETable=require("../../v-x-e-table"),_util=require("../../table/src/util"),_utils=require("../../tools/utils"),_util2=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var csvBOM="\ufeff",enterSymbol="\r\n";function defaultFilterExportColumn(e){return e.property||-1<["seq","checkbox","radio"].indexOf(e.type)}var getConvertColumns=function t(e){var r=[];return e.forEach(function(e){e.childNodes&&e.childNodes.length?(r.push(e),r.push.apply(r,t(e.childNodes))):r.push(e)}),r},convertToRows=function(e){function o(t,e){var r;e&&(t._level=e._level+1,n<t._level&&(n=t._level)),t.childNodes&&t.childNodes.length?(r=0,t.childNodes.forEach(function(e){o(e,t),r+=e._colSpan}),t._colSpan=r):t._colSpan=1}var n=1;e.forEach(function(e){e._level=1,o(e)});for(var t=[],r=0;r<n;r++)t.push([]);return getConvertColumns(e).forEach(function(e){e.childNodes&&e.childNodes.length?e._rowSpan=1:e._rowSpan=n-e._level+1,t[e._level-1].push(e)}),t};function toTableBorder(e){return!0===e?"full":e||"default"}function getBooleanValue(e){return"TRUE"===e||"true"===e||!0===e}function getHeaderTitle(e,t){return(e.original?t.property:t.getTitle())||""}function getFooterData(e,t){var r=e.footerFilterMethod;return r?t.filter(function(e,t){return r({items:e,$rowIndex:t})}):t}function getCsvCellTypeLabel(e,t){if(t){if("seq"===e.type)return"\t"+t;switch(e.cellType){case"string":if(!isNaN(t))return"\t"+t;break;case"number":break;default:if(12<=t.length&&!isNaN(t))return"\t"+t}}return t}function toTxtCellLabel(e){return/[",\s\n]/.test(e)?'"'+e.replace(/"/g,'""')+'"':e}function getElementsByTagName(e,t){return e.getElementsByTagName(t)}function getTxtCellKey(e){return"#"+e+"@"+_xeUtils.default.uniqueId()}function replaceTxtCell(e,t){return e.replace(/#\d+@\d+/g,function(e){return _xeUtils.default.hasOwnProp(t,e)?t[e]:e})}function getTxtCellValue(e,t){return replaceTxtCell(e,t).replace(/^"+$/g,function(e){return'"'.repeat(Math.ceil(e.length/2))})}function parseCsvAndTxt(e,t,o){var n,l,t=t.split(enterSymbol),a=[],i=[];return t.length&&(n={},l=Date.now(),t.forEach(function(e){var r;e&&(r={},e=(e=e.replace(/("")|(\n)/g,function(e,t){var r=getTxtCellKey(l);return n[r]=t?'"':"\n",r}).replace(/"(.*?)"/g,function(e,t){var r=getTxtCellKey(l);return n[r]=replaceTxtCell(t,n),r})).split(o),i.length?(e.forEach(function(e,t){t<i.length&&(r[i[t]]=getTxtCellValue(e.trim(),n))}),a.push(r)):i=e.map(function(e){return getTxtCellValue(e.trim(),n)}))})),{fields:i,rows:a}}function parseCsv(e,t){return parseCsvAndTxt(e,t,",")}function parseTxt(e,t){return parseCsvAndTxt(e,t,"\t")}function parseHTML(e,t){var r=getElementsByTagName((new DOMParser).parseFromString(t,"text/html"),"body"),o=[],n=[];return r.length&&(!(t=getElementsByTagName(r[0],"table")).length||(r=getElementsByTagName(t[0],"thead")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(r[0],"tr"),function(e){_xeUtils.default.arrayEach(getElementsByTagName(e,"th"),function(e){n.push(e.textContent)})}),(t=getElementsByTagName(t[0],"tbody")).length&&_xeUtils.default.arrayEach(getElementsByTagName(t[0],"tr"),function(e){var r={};_xeUtils.default.arrayEach(getElementsByTagName(e,"td"),function(e,t){n[t]&&(r[n[t]]=e.textContent||"")}),o.push(r)}))),{fields:n,rows:o}}function parseXML(e,t){var t=getElementsByTagName((new DOMParser).parseFromString(t,"application/xml"),"Worksheet"),o=[],n=[];return t.length&&(!(t=getElementsByTagName(t[0],"Table")).length||(t=getElementsByTagName(t[0],"Row")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(t[0],"Cell"),function(e){n.push(e.textContent)}),_xeUtils.default.arrayEach(t,function(e,t){var r;t&&(r={},e=getElementsByTagName(e,"Cell"),_xeUtils.default.arrayEach(e,function(e,t){n[t]&&(r[n[t]]=e.textContent)}),o.push(r))}))),{fields:n,rows:o}}function clearColumnConvert(e){_xeUtils.default.eachTree(e,function(e){delete e._level,delete e._colSpan,delete e._rowSpan,delete e._children,delete e.childNodes},{children:"children"})}function checkImportData(e,t){var r=[];return e.forEach(function(e){e=e.property;e&&r.push(e)}),t.some(function(e){return-1<r.indexOf(e)})}var tableExportMethodKeys=["exportData","importByFile","importData","saveFile","readFile","print","openImport","openExport","openPrint"],tableExportHook={setupTable:function(w){function m(e,t,r,o,n){var l=s.value,a=l.seqMethod||r.seqMethod;return a?a({row:e,rowIndex:t,column:r,columnIndex:o}):n?n.map(function(e,t){return t%2==0?Number(e)+1:"."}).join(""):l.startIndex+t+1}function v(e){return _xeUtils.default.isBoolean(e)?e?"TRUE":"FALSE":e}function C(e,t,r){var o=r.editRender||r.cellRender,n=r.footerExportMethod;n||!o||!o.name||(l=_vXETable.VXETable.renderer.get(o.name))&&(n=l.footerExportMethod);var l=w.getVTColumnIndex(r);return n?n({$table:w,items:t,itemIndex:l,_columnIndex:l,column:r,options:e}):_xeUtils.default.toValueString(t[l])}function k(e,t,r){return e=e[t],t=_xeUtils.default.isUndefined(e)||_xeUtils.default.isNull(e)?r:e,r="title"===t||(!0===t||"tooltip"===t)||"ellipsis"===t,e=j.scrollXLoad,t=j.scrollYLoad,r=(e||t)&&!r?!0:r}function b(a){var i=a.remote,s=a.columns,c=a.colgroups,u=a.exportMethod,t=a.afterExportMethod;return new Promise(function(e){var t,r,o,n,l;i?(l={options:a,$table:w,$grid:T},e(u?u(l):l)):(o=(r=a).columns,n=r.dataFilterMethod,l=r.data,n&&(l=l.filter(function(e,t){return n({row:e,$rowIndex:t})})),t=d(r,o,l),e(w.preventEvent(null,"event.export",{options:a,columns:s,colgroups:c,datas:t},function(){return function(e,t){var r=e.filename,o=e.type;if(!e.download){var n=(0,_util2.getExportBlobByContent)(t,e);return Promise.resolve({type:o,content:t,blob:n})}(0,_util2.saveLocalFile)({filename:r,type:o,content:t}).then(function(){!1!==e.message&&("development"===process.env.NODE_ENV&&(_vXETable.VXETable.modal||(0,_utils.errLog)("vxe.error.reqModule",["Modal"])),_vXETable.VXETable.modal.message({content:_conf.default.i18n("vxe.table.expSuccess"),status:"success"}))})}(a,function(e,t,r){if(t.length)switch(e.type){case"csv":return p(e,t,r);case"txt":return f(e,t,r);case"html":return h(e,t,r);case"xml":return g(e,t,r)}return""}(a,s,t))})))}).then(function(e){return clearColumnConvert(s),a.print||t&&t({status:!0,options:a,$table:w,$grid:T}),Object.assign({status:!0},e)}).catch(function(){clearColumnConvert(s),a.print||t&&t({status:!1,options:a,$table:w,$grid:T});return Promise.reject({status:!1})})}function n(a,i){var s=i.importMethod,t=i.afterImportMethod,e=(0,_utils.parseFile)(a),c=e.type,u=e.filename;return s||_xeUtils.default.includes(_vXETable.VXETable.config.importTypes,c)?new Promise(function(t,r){function e(e){t(e),_._importResolve=null,_._importReject=null}function o(e){r(e),_._importResolve=null,_._importReject=null}var n,l;_._importResolve=e,_._importReject=o,window.FileReader?(n=Object.assign({mode:"insert"},i,{type:c,filename:u})).remote?s?Promise.resolve(s({file:a,options:n,$table:w})).then(function(){e({status:!0})}).catch(function(){e({status:!0})}):e({status:!0}):(l=_.tableFullColumn,w.preventEvent(null,"event.import",{file:a,options:n,columns:l},function(){var e=new FileReader;e.onerror=function(){(0,_utils.errLog)("vxe.error.notType",[c]),o({status:!1})},e.onload=function(e){!function(e,t){var r=_.tableFullColumn,o=_._importResolve,n=_._importReject,l={fields:[],rows:[]};switch(t.type){case"csv":l=parseCsv(r,e);break;case"txt":l=parseTxt(r,e);break;case"html":l=parseHTML(r,e);break;case"xml":l=parseXML(r,e)}var a=l.fields,i=l.rows;checkImportData(r,a)?w.createData(i).then(function(e){e="insert"===t.mode?w.insert(e):w.reloadData(e);return!1!==t.message&&("development"===process.env.NODE_ENV&&(_vXETable.VXETable.modal||(0,_utils.errLog)("vxe.error.reqModule",["Modal"])),_vXETable.VXETable.modal.message({content:_conf.default.i18n("vxe.table.impSuccess",[i.length]),status:"success"})),e.then(function(){o&&o({status:!0})})}):!1!==t.message&&("development"===process.env.NODE_ENV&&(_vXETable.VXETable.modal||(0,_utils.errLog)("vxe.error.reqModule",["Modal"])),_vXETable.VXETable.modal.message({content:_conf.default.i18n("vxe.error.impFields"),status:"error"}),n&&n({status:!1}))}(e.target.result,n)},e.readAsText(a,"UTF-8")})):("development"===process.env.NODE_ENV&&(0,_utils.errLog)("vxe.error.notExp"),e({status:!0}))}).then(function(){t&&t({status:!0,options:i,$table:w})}).catch(function(e){return t&&t({status:!1,options:i,$table:w}),Promise.reject(e)}):(!1!==i.message&&("development"===process.env.NODE_ENV&&(_vXETable.VXETable.modal||(0,_utils.errLog)("vxe.error.reqModule",["Modal"])),_vXETable.VXETable.modal.message({content:_conf.default.i18n("vxe.error.notType",[c]),status:"error"})),Promise.reject({status:!1}))}function r(e,t){var r=N.treeConfig,o=N.showHeader,n=N.showFooter,l=j.initStore,a=j.mergeList,i=j.isGroup,s=j.footerTableData,c=j.exportStore,u=j.exportParams,d=_.collectColumn,p=r,f=x.value,h=w.getCheckboxRecords(),r=!!s.length,s=!p&&a.length,o=(a=Object.assign({message:!0,isHeader:o,isFooter:n},e)).types||_vXETable.VXETable.config.exportTypes,n=a.modes,m=f.checkMethod,e=d.slice(0),v=a.columns,f=o.map(function(e){return{value:e,label:"vxe.export.types."+e}}),d=n.map(function(e){return{value:e,label:"vxe.export.modes."+e}});return _xeUtils.default.eachTree(e,function(o,e,t,r,n){(o.children&&o.children.length||defaultFilterExportColumn(o))&&(o.checked=v?v.some(function(e){if((0,_util.isColumnInfo)(e))return o===e;if(_xeUtils.default.isString(e))return o.field===e;var t=e.id||e.colId,r=e.type,e=e.property||e.field;return t?o.id===t:e&&r?o.property===e&&o.type===r:e?o.property===e:r?o.type===r:void 0}):o.visible,o.halfChecked=!1,o.disabled=n&&n.disabled||!!m&&!m({column:o}))}),Object.assign(c,{columns:e,typeList:f,modeList:d,hasFooter:r,hasMerge:s,hasTree:p,isPrint:t,hasColgroup:i,visible:!0}),l.export||Object.assign(u,{mode:h.length?"selected":"current"},a),-1===n.indexOf(u.mode)&&(u.mode=n[0]),-1===o.indexOf(u.type)&&(u.type=o[0]),l.export=!0,(0,_vue.nextTick)()}var N=w.props,j=w.reactData,_=w.internalData,e=w.getComputeMaps(),D=e.computeTreeOpts,o=e.computePrintOpts,y=e.computeExportOpts,i=e.computeImportOpts,x=e.computeCustomOpts,s=e.computeSeqOpts,a=e.computeRadioOpts,c=e.computeCheckboxOpts,T=(0,_vue.inject)("$xegrid",null),d=function(u,n,e){var l=u.isAllExpand,t=N.treeConfig,d=a.value,p=c.value,r=D.value;if(htmlCellElem=htmlCellElem||document.createElement("div"),t){var f=[],h=new Map;return _xeUtils.default.eachTree(e,function(e,a,t,i,r,o){var s,c=e._row||e,e=r&&r._row?r._row:r;(l||!e||h.has(e)&&w.isTreeExpandByRow(e))&&(r=c,e=D.value,e=r[e.children]&&r[e.children].length,s={_row:c,_level:o.length-1,_hasChild:e,_expand:e&&w.isTreeExpandByRow(c)},n.forEach(function(e,t){var r,o="",n=e.editRender||e.cellRender,l=e.exportMethod;if(l||!n||!n.name||(n=_vXETable.VXETable.renderer.get(n.name))&&(l=n.exportMethod),l)o=l({$table:w,row:c,column:e,options:u});else switch(e.type){case"seq":o=m(c,a,e,t,i);break;case"checkbox":o=v(w.isCheckedByCheckboxRow(c)),s._checkboxLabel=p.labelField?_xeUtils.default.get(c,p.labelField):"",s._checkboxDisabled=p.checkMethod&&!p.checkMethod({row:c});break;case"radio":o=v(w.isCheckedByRadioRow(c)),s._radioLabel=d.labelField?_xeUtils.default.get(c,d.labelField):"",s._radioDisabled=d.checkMethod&&!d.checkMethod({row:c});break;default:u.original?o=(0,_util.getCellValue)(c,e):(o=w.getCellLabel(c,e),"html"===e.type?(htmlCellElem.innerHTML=o,o=htmlCellElem.innerText.trim()):(r=w.getCell(c,e))&&(o=r.innerText.trim()))}s[e.id]=_xeUtils.default.toValueString(o)}),h.set(c,1),f.push(Object.assign(s,c)))},r),f}return e.map(function(a,i){var s={_row:a};return n.forEach(function(e,t){var r,o="",n=e.editRender||e.cellRender,l=e.exportMethod;if(l||!n||!n.name||(n=_vXETable.VXETable.renderer.get(n.name))&&(l=n.exportMethod),l)o=l({$table:w,row:a,column:e,options:u});else switch(e.type){case"seq":o=m(a,i,e,t,[]);break;case"checkbox":o=v(w.isCheckedByCheckboxRow(a)),s._checkboxLabel=p.labelField?_xeUtils.default.get(a,p.labelField):"",s._checkboxDisabled=p.checkMethod&&!p.checkMethod({row:a});break;case"radio":o=v(w.isCheckedByRadioRow(a)),s._radioLabel=d.labelField?_xeUtils.default.get(a,d.labelField):"",s._radioDisabled=d.checkMethod&&!d.checkMethod({row:a});break;default:u.original?o=(0,_util.getCellValue)(a,e):(o=w.getCellLabel(a,e),"html"===e.type?(htmlCellElem.innerHTML=o,o=htmlCellElem.innerText.trim()):(r=w.getCell(a,e))&&(o=r.innerText.trim()))}s[e.id]=_xeUtils.default.toValueString(o)}),s})},p=function(r,e,t){var o=csvBOM;return r.isHeader&&(o+=e.map(function(e){return toTxtCellLabel(getHeaderTitle(r,e))}).join(",")+enterSymbol),t.forEach(function(t){o+=e.map(function(e){return toTxtCellLabel(getCsvCellTypeLabel(e,t[e.id]))}).join(",")+enterSymbol}),r.isFooter&&(t=j.footerTableData,getFooterData(r,t).forEach(function(t){o+=e.map(function(e){return toTxtCellLabel(C(r,t,e))}).join(",")+enterSymbol})),o},f=function(r,e,t){var o="";return r.isHeader&&(o+=e.map(function(e){return toTxtCellLabel(getHeaderTitle(r,e))}).join("\t")+enterSymbol),t.forEach(function(t){o+=e.map(function(e){return toTxtCellLabel(t[e.id])}).join("\t")+enterSymbol}),r.isFooter&&(t=j.footerTableData,getFooterData(r,t).forEach(function(t){o+=e.map(function(e){return toTxtCellLabel(C(r,t,e))}).join(",")+enterSymbol})),o},h=function(i,e,t){var c=N.id,r=N.border,o=N.treeConfig,s=N.headerAlign,u=N.align,l=N.footerAlign,d=N.showOverflow,p=N.showHeaderOverflow,f=j.isAllSelected,n=j.isIndeterminate,h=j.mergeList,a=D.value,m=i.print,v=i.isHeader,x=i.isFooter,g=i.isColgroup,b=i.isMerge,_=i.colgroups,y=i.original,T="check-all",E=['<table class="'+["vxe-table","border--"+toTableBorder(r),m?"is--print":"",v?"is--header":""].filter(function(e){return e}).join(" ")+'" border="0" cellspacing="0" cellpadding="0">',"<colgroup>"+e.map(function(e){return'<col style="width:'+e.renderWidth+'px">'}).join("")+"</colgroup>"];return v&&(E.push("<thead>"),g&&!y?_.forEach(function(e){E.push("<tr>"+e.map(function(t){var e=t.headerAlign||t.align||s||u,r=k(t,"showHeaderOverflow",p)?["col--ellipsis"]:[],o=getHeaderTitle(i,t),n=0,l=0;_xeUtils.default.eachTree([t],function(e){e.childNodes&&t.childNodes.length||l++,n+=e.renderWidth},{children:"childNodes"});var a=n-l;return e&&r.push("col--"+e),"checkbox"===t.type?'<th class="'+r.join(" ")+'" colspan="'+t._colSpan+'" rowspan="'+t._rowSpan+'"><div '+(m?"":'style="width: '+a+'px"')+'><input type="checkbox" class="'+T+'" '+(f?"checked":"")+"><span>"+o+"</span></div></th>":'<th class="'+r.join(" ")+'" colspan="'+t._colSpan+'" rowspan="'+t._rowSpan+'" title="'+o+'"><div '+(m?"":'style="width: '+a+'px"')+"><span>"+(0,_utils.formatText)(o,!0)+"</span></div></th>"}).join("")+"</tr>")}):E.push("<tr>"+e.map(function(e){var t=e.headerAlign||e.align||s||u,r=k(e,"showHeaderOverflow",p)?["col--ellipsis"]:[],o=getHeaderTitle(i,e);return t&&r.push("col--"+t),"checkbox"===e.type?'<th class="'+r.join(" ")+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+'><input type="checkbox" class="'+T+'" '+(f?"checked":"")+"><span>"+o+"</span></div></th>":'<th class="'+r.join(" ")+'" title="'+o+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+"><span>"+(0,_utils.formatText)(o,!0)+"</span></div></th>"}).join("")+"</tr>"),E.push("</thead>")),t.length&&(E.push("<tbody>"),o?t.forEach(function(n){E.push("<tr>"+e.map(function(e){var t=e.align||u,r=k(e,"showOverflow",d)?["col--ellipsis"]:[],o=n[e.id];if(t&&r.push("col--"+t),e.treeNode){t="";return n._hasChild&&(t='<i class="'+(n._expand?"vxe-table--tree-fold-icon":"vxe-table--tree-unfold-icon")+'"></i>'),r.push("vxe-table--tree-node"),"radio"===e.type?'<td class="'+r.join(" ")+'" title="'+o+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+'><div class="vxe-table--tree-node-wrapper" style="padding-left: '+n._level*a.indent+'px"><div class="vxe-table--tree-icon-wrapper">'+t+'</div><div class="vxe-table--tree-cell"><input type="radio" name="radio_'+c+'" '+(n._radioDisabled?"disabled ":"")+(getBooleanValue(o)?"checked":"")+"><span>"+n._radioLabel+"</span></div></div></div></td>":"checkbox"===e.type?'<td class="'+r.join(" ")+'" title="'+o+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+'><div class="vxe-table--tree-node-wrapper" style="padding-left: '+n._level*a.indent+'px"><div class="vxe-table--tree-icon-wrapper">'+t+'</div><div class="vxe-table--tree-cell"><input type="checkbox" '+(n._checkboxDisabled?"disabled ":"")+(getBooleanValue(o)?"checked":"")+"><span>"+n._checkboxLabel+"</span></div></div></div></td>":'<td class="'+r.join(" ")+'" title="'+o+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+'><div class="vxe-table--tree-node-wrapper" style="padding-left: '+n._level*a.indent+'px"><div class="vxe-table--tree-icon-wrapper">'+t+'</div><div class="vxe-table--tree-cell">'+o+"</div></div></div></td>"}return"radio"===e.type?'<td class="'+r.join(" ")+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+'><input type="radio" name="radio_'+c+'" '+(n._radioDisabled?"disabled ":"")+(getBooleanValue(o)?"checked":"")+"><span>"+n._radioLabel+"</span></div></td>":"checkbox"===e.type?'<td class="'+r.join(" ")+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+'><input type="checkbox" '+(n._checkboxDisabled?"disabled ":"")+(getBooleanValue(o)?"checked":"")+"><span>"+n._checkboxLabel+"</span></div></td>":'<td class="'+r.join(" ")+'" title="'+o+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+">"+(0,_utils.formatText)(o,!0)+"</div></td>"}).join("")+"</tr>")}):t.forEach(function(s){E.push("<tr>"+e.map(function(e){var t=e.align||u,r=k(e,"showOverflow",d)?["col--ellipsis"]:[],o=s[e.id],n=1,l=1;if(b&&h.length){var a=w.getVTRowIndex(s._row),i=w.getVTColumnIndex(e),a=(0,_util.mergeBodyMethod)(h,a,i);if(a){i=a.rowspan,a=a.colspan;if(!i||!a)return"";1<i&&(n=i),1<a&&(l=a)}}return t&&r.push("col--"+t),"radio"===e.type?'<td class="'+r.join(" ")+'" rowspan="'+n+'" colspan="'+l+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+'><input type="radio" name="radio_'+c+'" '+(s._radioDisabled?"disabled ":"")+(getBooleanValue(o)?"checked":"")+"><span>"+s._radioLabel+"</span></div></td>":"checkbox"===e.type?'<td class="'+r.join(" ")+'" rowspan="'+n+'" colspan="'+l+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+'><input type="checkbox" '+(s._checkboxDisabled?"disabled ":"")+(getBooleanValue(o)?"checked":"")+"><span>"+s._checkboxLabel+"</span></div></td>":'<td class="'+r.join(" ")+'" rowspan="'+n+'" colspan="'+l+'" title="'+o+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+">"+(0,_utils.formatText)(o,!0)+"</div></td>"}).join("")+"</tr>")}),E.push("</tbody>")),x&&(x=j.footerTableData,(x=getFooterData(i,x)).length&&(E.push("<tfoot>"),x.forEach(function(n){E.push("<tr>"+e.map(function(e){var t=e.footerAlign||e.align||l||u,r=k(e,"showOverflow",d)?["col--ellipsis"]:[],o=C(i,n,e);return t&&r.push("col--"+t),'<td class="'+r.join(" ")+'" title="'+o+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+">"+(0,_utils.formatText)(o,!0)+"</div></td>"}).join("")+"</tr>")}),E.push("</tfoot>"))),E.push("</table>",!f&&n?'<script>(function(){var a=document.querySelector(".'+T+'");if(a){a.indeterminate=true}})()<\/script>':""),m?E.join(""):(0,_util2.createHtmlPage)(i,E.join(""))},g=function(r,e,t){var o=['<?xml version="1.0"?>','<?mso-application progid="Excel.Sheet"?>','<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40">','<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">',"<Version>16.00</Version>","</DocumentProperties>",'<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">',"<WindowHeight>7920</WindowHeight>","<WindowWidth>21570</WindowWidth>","<WindowTopX>32767</WindowTopX>","<WindowTopY>32767</WindowTopY>","<ProtectStructure>False</ProtectStructure>","<ProtectWindows>False</ProtectWindows>","</ExcelWorkbook>",'<Worksheet ss:Name="'+r.sheetName+'">',"<Table>",e.map(function(e){return'<Column ss:Width="'+e.renderWidth+'"/>'}).join("")].join("");return r.isHeader&&(o+="<Row>"+e.map(function(e){return'<Cell><Data ss:Type="String">'+getHeaderTitle(r,e)+"</Data></Cell>"}).join("")+"</Row>"),t.forEach(function(t){o+="<Row>"+e.map(function(e){return'<Cell><Data ss:Type="String">'+t[e.id]+"</Data></Cell>"}).join("")+"</Row>"}),r.isFooter&&(t=j.footerTableData,getFooterData(r,t).forEach(function(t){o+="<Row>"+e.map(function(e){return'<Cell><Data ss:Type="String">'+C(r,t,e)+"</Data></Cell>"}).join("")+"</Row>"})),o+"</Table></Worksheet></Workbook>"},l={exportData:function(e){var t=N.treeConfig,r=j.isGroup,o=j.tableGroupColumn,l=_.tableFullColumn,n=_.afterFullData,a=y.value,i=D.value,s=Object.assign({isHeader:!0,isFooter:!0,isColgroup:!0,download:!0,type:"csv",mode:"current"},a,{print:!1},e),c=s.type,u=s.mode,d=s.columns,p=s.original,a=s.beforeExportMethod,e=[],d=d&&d.length?d:null,f=s.columnFilterMethod;d||f||(f=p?function(e){return e.column.property}:function(e){return defaultFilterExportColumn(e.column)});var e=d?_xeUtils.default.searchTree(_xeUtils.default.mapTree(d,function(e){var t,r,o,n;if(e)return(0,_util.isColumnInfo)(e)?t=e:_xeUtils.default.isString(e)?t=w.getColumnByField(e):(r=e.id||e.colId,o=e.type,n=e.property||e.field,r?t=w.getColumnById(r):n&&o?t=l.find(function(e){return e.property===n&&e.type===o}):n?t=w.getColumnByField(n):o&&(t=l.find(function(e){return e.type===o}))),t||{}},{children:"childNodes",mapChildren:"_children"}),function(e,t){return(0,_util.isColumnInfo)(e)&&(!f||f({column:e,$columnIndex:t}))},{children:"_children",mapChildren:"childNodes",original:!0}):_xeUtils.default.searchTree(r?o:l,function(e,t){return e.visible&&(!f||f({column:e,$columnIndex:t}))},{children:"children",mapChildren:"childNodes",original:!0}),h=[];if(_xeUtils.default.eachTree(e,function(e){e.children&&e.children.length||h.push(e)},{children:"childNodes"}),s.columns=h,s.colgroups=convertToRows(e),s.filename||(s.filename=_conf.default.i18n(s.original?"vxe.table.expOriginFilename":"vxe.table.expFilename",[_xeUtils.default.toDateString(Date.now(),"yyyyMMddHHmmss")])),s.sheetName||(s.sheetName=document.title),!s.exportMethod&&!_xeUtils.default.includes(_vXETable.VXETable.config.exportTypes,c)){"development"===process.env.NODE_ENV&&(0,_utils.errLog)("vxe.error.notType",[c]);return Promise.reject({status:!1})}if(s.print||a&&a({options:s,$table:w,$grid:T}),!s.data)if(s.data=n,"selected"===u){var m=w.getCheckboxRecords();-1<["html","pdf"].indexOf(c)&&t?s.data=_xeUtils.default.searchTree(w.getTableData().fullData,function(e){return-1<w.findRowIndexOf(m,e)},Object.assign({},i,{data:"_row"})):s.data=m}else if("all"===u&&("development"===process.env.NODE_ENV&&(T||(0,_utils.warnLog)("vxe.error.errProp",["all","mode=current,selected"])),T&&!s.remote)){var c=T.reactData,t=T.getComputeMaps().computeProxyOpts.value,i=t.beforeQueryAll,v=t.afterQueryAll,u=t.ajax,t=t.props,x=void 0===t?{}:t,u=(void 0===u?{}:u).queryAll;if("development"===process.env.NODE_ENV&&(u||(0,_utils.warnLog)("vxe.error.notFunc",["proxy-config.ajax.queryAll"])),u){var g={$table:w,$grid:T,sort:c.sortData,filters:c.filterData,form:c.formData,target:u,options:s};return Promise.resolve((i||u)(g)).catch(function(e){return e}).then(function(e){return s.data=(x.list?_xeUtils.default.get(e,x.list):e)||[],v&&v(g),b(s)})}}return b(s)},importByFile:function(e,t){var r=Object.assign({},t),t=r.beforeImportMethod;return t&&t({options:r,$table:w}),n(e,r)},importData:function(e){var t=i.value,r=Object.assign({types:_vXETable.VXETable.config.importTypes},t,e),e=r.beforeImportMethod,o=r.afterImportMethod;return e&&e({options:r,$table:w}),(0,_util2.readLocalFile)(r).catch(function(e){return o&&o({status:!1,options:r,$table:w}),Promise.reject(e)}).then(function(e){e=e.file;return n(e,r)})},saveFile:function(e){return(0,_util2.saveLocalFile)(e)},readFile:function(e){return(0,_util2.readLocalFile)(e)},print:function(e){var t=o.value,r=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});return r.sheetName||(r.sheetName=document.title),new Promise(function(e){r.content?e((0,_util2.handlePrint)(w,r,r.content)):e(l.exportData(r).then(function(e){e=e.content;return(0,_util2.handlePrint)(w,r,e)}))})},openImport:function(e){var t=N.treeConfig,r=N.importConfig,o=j.initStore,n=j.importStore,l=j.importParams,a=i.value,e=Object.assign({mode:"insert",message:!0,types:_vXETable.VXETable.config.importTypes},e,a),a=e.types;!t?(r||(0,_utils.errLog)("vxe.error.reqProp",["import-config"]),r=a.map(function(e){return{value:e,label:"vxe.export.types."+e}}),a=e.modes.map(function(e){return{value:e,label:"vxe.import.modes."+e}}),Object.assign(n,{file:null,type:"",filename:"",modeList:a,typeList:r,visible:!0}),Object.assign(l,e),o.import=!0):e.message&&_vXETable.VXETable.modal.message({content:_conf.default.i18n("vxe.error.treeNotImp"),status:"error"})},openExport:function(e){var t=y.value;"development"===process.env.NODE_ENV&&(N.exportConfig||(0,_utils.errLog)("vxe.error.reqProp",["export-config"])),r(Object.assign({},t,e))},openPrint:function(e){var t=o.value;"development"===process.env.NODE_ENV&&(N.printConfig||(0,_utils.errLog)("vxe.error.reqProp",["print-config"])),r(Object.assign({},t,e),!0)}};return l},setupGrid:function(e){return e.extendTableMethods(tableExportMethodKeys)}},_default=tableExportHook;exports.default=_default;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var htmlCellElem,_vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_conf=_interopRequireDefault(require("../../v-x-e-table/src/conf")),_vXETable=require("../../v-x-e-table"),_util=require("../../table/src/util"),_utils=require("../../tools/utils"),_util2=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var csvBOM="\ufeff",enterSymbol="\r\n";function defaultFilterExportColumn(e){return e.property||-1<["seq","checkbox","radio"].indexOf(e.type)}var getConvertColumns=function t(e){var r=[];return e.forEach(function(e){e.childNodes&&e.childNodes.length?(r.push(e),r.push.apply(r,t(e.childNodes))):r.push(e)}),r},convertToRows=function(e){function o(t,e){var r;e&&(t._level=e._level+1,n<t._level&&(n=t._level)),t.childNodes&&t.childNodes.length?(r=0,t.childNodes.forEach(function(e){o(e,t),r+=e._colSpan}),t._colSpan=r):t._colSpan=1}var n=1;e.forEach(function(e){e._level=1,o(e)});for(var t=[],r=0;r<n;r++)t.push([]);return getConvertColumns(e).forEach(function(e){e.childNodes&&e.childNodes.length?e._rowSpan=1:e._rowSpan=n-e._level+1,t[e._level-1].push(e)}),t};function toTableBorder(e){return!0===e?"full":e||"default"}function getBooleanValue(e){return"TRUE"===e||"true"===e||!0===e}function getHeaderTitle(e,t){return(e.original?t.property:t.getTitle())||""}function getFooterData(e,t){var r=e.footerFilterMethod;return r?t.filter(function(e,t){return r({items:e,$rowIndex:t})}):t}function getCsvCellTypeLabel(e,t){if(t){if("seq"===e.type)return"\t"+t;switch(e.cellType){case"string":if(!isNaN(t))return"\t"+t;break;case"number":break;default:if(12<=t.length&&!isNaN(t))return"\t"+t}}return t}function toTxtCellLabel(e){return/[",\s\n]/.test(e)?'"'+e.replace(/"/g,'""')+'"':e}function getElementsByTagName(e,t){return e.getElementsByTagName(t)}function getTxtCellKey(e){return"#"+e+"@"+_xeUtils.default.uniqueId()}function replaceTxtCell(e,t){return e.replace(/#\d+@\d+/g,function(e){return _xeUtils.default.hasOwnProp(t,e)?t[e]:e})}function getTxtCellValue(e,t){return replaceTxtCell(e,t).replace(/^"+$/g,function(e){return'"'.repeat(Math.ceil(e.length/2))})}function parseCsvAndTxt(e,t,o){var n,l,t=t.split(enterSymbol),a=[],i=[];return t.length&&(n={},l=Date.now(),t.forEach(function(e){var r;e&&(r={},e=(e=e.replace(/("")|(\n)/g,function(e,t){var r=getTxtCellKey(l);return n[r]=t?'"':"\n",r}).replace(/"(.*?)"/g,function(e,t){var r=getTxtCellKey(l);return n[r]=replaceTxtCell(t,n),r})).split(o),i.length?(e.forEach(function(e,t){t<i.length&&(r[i[t]]=getTxtCellValue(e.trim(),n))}),a.push(r)):i=e.map(function(e){return getTxtCellValue(e.trim(),n)}))})),{fields:i,rows:a}}function parseCsv(e,t){return parseCsvAndTxt(e,t,",")}function parseTxt(e,t){return parseCsvAndTxt(e,t,"\t")}function parseHTML(e,t){var r=getElementsByTagName((new DOMParser).parseFromString(t,"text/html"),"body"),o=[],n=[];return r.length&&(!(t=getElementsByTagName(r[0],"table")).length||(r=getElementsByTagName(t[0],"thead")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(r[0],"tr"),function(e){_xeUtils.default.arrayEach(getElementsByTagName(e,"th"),function(e){n.push(e.textContent)})}),(t=getElementsByTagName(t[0],"tbody")).length&&_xeUtils.default.arrayEach(getElementsByTagName(t[0],"tr"),function(e){var r={};_xeUtils.default.arrayEach(getElementsByTagName(e,"td"),function(e,t){n[t]&&(r[n[t]]=e.textContent||"")}),o.push(r)}))),{fields:n,rows:o}}function parseXML(e,t){var t=getElementsByTagName((new DOMParser).parseFromString(t,"application/xml"),"Worksheet"),o=[],n=[];return t.length&&(!(t=getElementsByTagName(t[0],"Table")).length||(t=getElementsByTagName(t[0],"Row")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(t[0],"Cell"),function(e){n.push(e.textContent)}),_xeUtils.default.arrayEach(t,function(e,t){var r;t&&(r={},e=getElementsByTagName(e,"Cell"),_xeUtils.default.arrayEach(e,function(e,t){n[t]&&(r[n[t]]=e.textContent)}),o.push(r))}))),{fields:n,rows:o}}function clearColumnConvert(e){_xeUtils.default.eachTree(e,function(e){delete e._level,delete e._colSpan,delete e._rowSpan,delete e._children,delete e.childNodes},{children:"children"})}function checkImportData(e,t){var r=[];return e.forEach(function(e){e=e.property;e&&r.push(e)}),t.some(function(e){return-1<r.indexOf(e)})}var tableExportMethodKeys=["exportData","importByFile","importData","saveFile","readFile","print","openImport","openExport","openPrint"],tableExportHook={setupTable:function(w){function m(e,t,r,o,n){var l=s.value,a=l.seqMethod||r.seqMethod;return a?a({row:e,rowIndex:t,column:r,columnIndex:o}):n?(0,_util.toTreePathSeq)(n):l.startIndex+t+1}function v(e){return _xeUtils.default.isBoolean(e)?e?"TRUE":"FALSE":e}function C(e,t,r){var o=r.editRender||r.cellRender,n=r.footerExportMethod;n||!o||!o.name||(l=_vXETable.VXETable.renderer.get(o.name))&&(n=l.footerExportMethod);var l=w.getVTColumnIndex(r);return n?n({$table:w,items:t,itemIndex:l,_columnIndex:l,column:r,options:e}):_xeUtils.default.toValueString(t[l])}function k(e,t,r){return e=e[t],t=_xeUtils.default.isUndefined(e)||_xeUtils.default.isNull(e)?r:e,r="title"===t||(!0===t||"tooltip"===t)||"ellipsis"===t,e=N.scrollXLoad,t=N.scrollYLoad,r=(e||t)&&!r?!0:r}function b(a){var i=a.remote,s=a.columns,c=a.colgroups,u=a.exportMethod,t=a.afterExportMethod;return new Promise(function(e){var t,r,o,n,l;i?(l={options:a,$table:w,$grid:T},e(u?u(l):l)):(o=(r=a).columns,n=r.dataFilterMethod,l=r.data,n&&(l=l.filter(function(e,t){return n({row:e,$rowIndex:t})})),t=d(r,o,l),e(w.preventEvent(null,"event.export",{options:a,columns:s,colgroups:c,datas:t},function(){return function(e,t){var r=e.filename,o=e.type;if(!e.download){var n=(0,_util2.getExportBlobByContent)(t,e);return Promise.resolve({type:o,content:t,blob:n})}(0,_util2.saveLocalFile)({filename:r,type:o,content:t}).then(function(){!1!==e.message&&("development"===process.env.NODE_ENV&&(_vXETable.VXETable.modal||(0,_utils.errLog)("vxe.error.reqModule",["Modal"])),_vXETable.VXETable.modal.message({content:_conf.default.i18n("vxe.table.expSuccess"),status:"success"}))})}(a,function(e,t,r){if(t.length)switch(e.type){case"csv":return p(e,t,r);case"txt":return f(e,t,r);case"html":return h(e,t,r);case"xml":return g(e,t,r)}return""}(a,s,t))})))}).then(function(e){return clearColumnConvert(s),a.print||t&&t({status:!0,options:a,$table:w,$grid:T}),Object.assign({status:!0},e)}).catch(function(){clearColumnConvert(s),a.print||t&&t({status:!1,options:a,$table:w,$grid:T});return Promise.reject({status:!1})})}function n(a,i){var s=i.importMethod,t=i.afterImportMethod,e=(0,_utils.parseFile)(a),c=e.type,u=e.filename;return s||_xeUtils.default.includes(_vXETable.VXETable.config.importTypes,c)?new Promise(function(t,r){function e(e){t(e),_._importResolve=null,_._importReject=null}function o(e){r(e),_._importResolve=null,_._importReject=null}var n,l;_._importResolve=e,_._importReject=o,window.FileReader?(n=Object.assign({mode:"insert"},i,{type:c,filename:u})).remote?s?Promise.resolve(s({file:a,options:n,$table:w})).then(function(){e({status:!0})}).catch(function(){e({status:!0})}):e({status:!0}):(l=_.tableFullColumn,w.preventEvent(null,"event.import",{file:a,options:n,columns:l},function(){var e=new FileReader;e.onerror=function(){(0,_utils.errLog)("vxe.error.notType",[c]),o({status:!1})},e.onload=function(e){!function(e,t){var r=_.tableFullColumn,o=_._importResolve,n=_._importReject,l={fields:[],rows:[]};switch(t.type){case"csv":l=parseCsv(r,e);break;case"txt":l=parseTxt(r,e);break;case"html":l=parseHTML(r,e);break;case"xml":l=parseXML(r,e)}var a=l.fields,i=l.rows;checkImportData(r,a)?w.createData(i).then(function(e){e="insert"===t.mode?w.insert(e):w.reloadData(e);return!1!==t.message&&("development"===process.env.NODE_ENV&&(_vXETable.VXETable.modal||(0,_utils.errLog)("vxe.error.reqModule",["Modal"])),_vXETable.VXETable.modal.message({content:_conf.default.i18n("vxe.table.impSuccess",[i.length]),status:"success"})),e.then(function(){o&&o({status:!0})})}):!1!==t.message&&("development"===process.env.NODE_ENV&&(_vXETable.VXETable.modal||(0,_utils.errLog)("vxe.error.reqModule",["Modal"])),_vXETable.VXETable.modal.message({content:_conf.default.i18n("vxe.error.impFields"),status:"error"}),n&&n({status:!1}))}(e.target.result,n)},e.readAsText(a,"UTF-8")})):("development"===process.env.NODE_ENV&&(0,_utils.errLog)("vxe.error.notExp"),e({status:!0}))}).then(function(){t&&t({status:!0,options:i,$table:w})}).catch(function(e){return t&&t({status:!1,options:i,$table:w}),Promise.reject(e)}):(!1!==i.message&&("development"===process.env.NODE_ENV&&(_vXETable.VXETable.modal||(0,_utils.errLog)("vxe.error.reqModule",["Modal"])),_vXETable.VXETable.modal.message({content:_conf.default.i18n("vxe.error.notType",[c]),status:"error"})),Promise.reject({status:!1}))}function r(e,t){var r=D.treeConfig,o=D.showHeader,n=D.showFooter,l=N.initStore,a=N.mergeList,i=N.isGroup,s=N.footerTableData,c=N.exportStore,u=N.exportParams,d=_.collectColumn,p=r,f=x.value,h=w.getCheckboxRecords(),r=!!s.length,s=!p&&a.length,o=(a=Object.assign({message:!0,isHeader:o,isFooter:n},e)).types||_vXETable.VXETable.config.exportTypes,n=a.modes,m=f.checkMethod,e=d.slice(0),v=a.columns,f=o.map(function(e){return{value:e,label:"vxe.export.types."+e}}),d=n.map(function(e){return{value:e,label:"vxe.export.modes."+e}});return _xeUtils.default.eachTree(e,function(o,e,t,r,n){(o.children&&o.children.length||defaultFilterExportColumn(o))&&(o.checked=v?v.some(function(e){if((0,_util.isColumnInfo)(e))return o===e;if(_xeUtils.default.isString(e))return o.field===e;var t=e.id||e.colId,r=e.type,e=e.property||e.field;return t?o.id===t:e&&r?o.property===e&&o.type===r:e?o.property===e:r?o.type===r:void 0}):o.visible,o.halfChecked=!1,o.disabled=n&&n.disabled||!!m&&!m({column:o}))}),Object.assign(c,{columns:e,typeList:f,modeList:d,hasFooter:r,hasMerge:s,hasTree:p,isPrint:t,hasColgroup:i,visible:!0}),l.export||Object.assign(u,{mode:h.length?"selected":"current"},a),-1===n.indexOf(u.mode)&&(u.mode=n[0]),-1===o.indexOf(u.type)&&(u.type=o[0]),l.export=!0,(0,_vue.nextTick)()}var D=w.props,N=w.reactData,_=w.internalData,e=w.getComputeMaps(),j=e.computeTreeOpts,o=e.computePrintOpts,y=e.computeExportOpts,i=e.computeImportOpts,x=e.computeCustomOpts,s=e.computeSeqOpts,a=e.computeRadioOpts,c=e.computeCheckboxOpts,T=(0,_vue.inject)("$xegrid",null),d=function(u,n,e){var l=u.isAllExpand,t=D.treeConfig,d=a.value,p=c.value,r=j.value;if(htmlCellElem=htmlCellElem||document.createElement("div"),t){var f=[],h=new Map;return _xeUtils.default.eachTree(e,function(e,a,t,i,r,o){var s,c=e._row||e,e=r&&r._row?r._row:r;(l||!e||h.has(e)&&w.isTreeExpandByRow(e))&&(r=c,e=j.value,e=r[e.children]&&r[e.children].length,s={_row:c,_level:o.length-1,_hasChild:e,_expand:e&&w.isTreeExpandByRow(c)},n.forEach(function(e,t){var r,o="",n=e.editRender||e.cellRender,l=e.exportMethod;if(l||!n||!n.name||(n=_vXETable.VXETable.renderer.get(n.name))&&(l=n.exportMethod),l)o=l({$table:w,row:c,column:e,options:u});else switch(e.type){case"seq":o=m(c,a,e,t,i);break;case"checkbox":o=v(w.isCheckedByCheckboxRow(c)),s._checkboxLabel=p.labelField?_xeUtils.default.get(c,p.labelField):"",s._checkboxDisabled=p.checkMethod&&!p.checkMethod({row:c});break;case"radio":o=v(w.isCheckedByRadioRow(c)),s._radioLabel=d.labelField?_xeUtils.default.get(c,d.labelField):"",s._radioDisabled=d.checkMethod&&!d.checkMethod({row:c});break;default:u.original?o=(0,_util.getCellValue)(c,e):(o=w.getCellLabel(c,e),"html"===e.type?(htmlCellElem.innerHTML=o,o=htmlCellElem.innerText.trim()):(r=w.getCell(c,e))&&(o=r.innerText.trim()))}s[e.id]=_xeUtils.default.toValueString(o)}),h.set(c,1),f.push(Object.assign(s,c)))},r),f}return e.map(function(a,i){var s={_row:a};return n.forEach(function(e,t){var r,o="",n=e.editRender||e.cellRender,l=e.exportMethod;if(l||!n||!n.name||(n=_vXETable.VXETable.renderer.get(n.name))&&(l=n.exportMethod),l)o=l({$table:w,row:a,column:e,options:u});else switch(e.type){case"seq":o=m(a,i,e,t,[]);break;case"checkbox":o=v(w.isCheckedByCheckboxRow(a)),s._checkboxLabel=p.labelField?_xeUtils.default.get(a,p.labelField):"",s._checkboxDisabled=p.checkMethod&&!p.checkMethod({row:a});break;case"radio":o=v(w.isCheckedByRadioRow(a)),s._radioLabel=d.labelField?_xeUtils.default.get(a,d.labelField):"",s._radioDisabled=d.checkMethod&&!d.checkMethod({row:a});break;default:u.original?o=(0,_util.getCellValue)(a,e):(o=w.getCellLabel(a,e),"html"===e.type?(htmlCellElem.innerHTML=o,o=htmlCellElem.innerText.trim()):(r=w.getCell(a,e))&&(o=r.innerText.trim()))}s[e.id]=_xeUtils.default.toValueString(o)}),s})},p=function(r,e,t){var o=csvBOM;return r.isHeader&&(o+=e.map(function(e){return toTxtCellLabel(getHeaderTitle(r,e))}).join(",")+enterSymbol),t.forEach(function(t){o+=e.map(function(e){return toTxtCellLabel(getCsvCellTypeLabel(e,t[e.id]))}).join(",")+enterSymbol}),r.isFooter&&(t=N.footerTableData,getFooterData(r,t).forEach(function(t){o+=e.map(function(e){return toTxtCellLabel(C(r,t,e))}).join(",")+enterSymbol})),o},f=function(r,e,t){var o="";return r.isHeader&&(o+=e.map(function(e){return toTxtCellLabel(getHeaderTitle(r,e))}).join("\t")+enterSymbol),t.forEach(function(t){o+=e.map(function(e){return toTxtCellLabel(t[e.id])}).join("\t")+enterSymbol}),r.isFooter&&(t=N.footerTableData,getFooterData(r,t).forEach(function(t){o+=e.map(function(e){return toTxtCellLabel(C(r,t,e))}).join(",")+enterSymbol})),o},h=function(i,e,t){var c=D.id,r=D.border,o=D.treeConfig,s=D.headerAlign,u=D.align,l=D.footerAlign,d=D.showOverflow,p=D.showHeaderOverflow,f=N.isAllSelected,n=N.isIndeterminate,h=N.mergeList,a=j.value,m=i.print,v=i.isHeader,x=i.isFooter,g=i.isColgroup,b=i.isMerge,_=i.colgroups,y=i.original,T="check-all",E=['<table class="'+["vxe-table","border--"+toTableBorder(r),m?"is--print":"",v?"is--header":""].filter(function(e){return e}).join(" ")+'" border="0" cellspacing="0" cellpadding="0">',"<colgroup>"+e.map(function(e){return'<col style="width:'+e.renderWidth+'px">'}).join("")+"</colgroup>"];return v&&(E.push("<thead>"),g&&!y?_.forEach(function(e){E.push("<tr>"+e.map(function(t){var e=t.headerAlign||t.align||s||u,r=k(t,"showHeaderOverflow",p)?["col--ellipsis"]:[],o=getHeaderTitle(i,t),n=0,l=0;_xeUtils.default.eachTree([t],function(e){e.childNodes&&t.childNodes.length||l++,n+=e.renderWidth},{children:"childNodes"});var a=n-l;return e&&r.push("col--"+e),"checkbox"===t.type?'<th class="'+r.join(" ")+'" colspan="'+t._colSpan+'" rowspan="'+t._rowSpan+'"><div '+(m?"":'style="width: '+a+'px"')+'><input type="checkbox" class="'+T+'" '+(f?"checked":"")+"><span>"+o+"</span></div></th>":'<th class="'+r.join(" ")+'" colspan="'+t._colSpan+'" rowspan="'+t._rowSpan+'" title="'+o+'"><div '+(m?"":'style="width: '+a+'px"')+"><span>"+(0,_utils.formatText)(o,!0)+"</span></div></th>"}).join("")+"</tr>")}):E.push("<tr>"+e.map(function(e){var t=e.headerAlign||e.align||s||u,r=k(e,"showHeaderOverflow",p)?["col--ellipsis"]:[],o=getHeaderTitle(i,e);return t&&r.push("col--"+t),"checkbox"===e.type?'<th class="'+r.join(" ")+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+'><input type="checkbox" class="'+T+'" '+(f?"checked":"")+"><span>"+o+"</span></div></th>":'<th class="'+r.join(" ")+'" title="'+o+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+"><span>"+(0,_utils.formatText)(o,!0)+"</span></div></th>"}).join("")+"</tr>"),E.push("</thead>")),t.length&&(E.push("<tbody>"),o?t.forEach(function(n){E.push("<tr>"+e.map(function(e){var t=e.align||u,r=k(e,"showOverflow",d)?["col--ellipsis"]:[],o=n[e.id];if(t&&r.push("col--"+t),e.treeNode){t="";return n._hasChild&&(t='<i class="'+(n._expand?"vxe-table--tree-fold-icon":"vxe-table--tree-unfold-icon")+'"></i>'),r.push("vxe-table--tree-node"),"radio"===e.type?'<td class="'+r.join(" ")+'" title="'+o+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+'><div class="vxe-table--tree-node-wrapper" style="padding-left: '+n._level*a.indent+'px"><div class="vxe-table--tree-icon-wrapper">'+t+'</div><div class="vxe-table--tree-cell"><input type="radio" name="radio_'+c+'" '+(n._radioDisabled?"disabled ":"")+(getBooleanValue(o)?"checked":"")+"><span>"+n._radioLabel+"</span></div></div></div></td>":"checkbox"===e.type?'<td class="'+r.join(" ")+'" title="'+o+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+'><div class="vxe-table--tree-node-wrapper" style="padding-left: '+n._level*a.indent+'px"><div class="vxe-table--tree-icon-wrapper">'+t+'</div><div class="vxe-table--tree-cell"><input type="checkbox" '+(n._checkboxDisabled?"disabled ":"")+(getBooleanValue(o)?"checked":"")+"><span>"+n._checkboxLabel+"</span></div></div></div></td>":'<td class="'+r.join(" ")+'" title="'+o+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+'><div class="vxe-table--tree-node-wrapper" style="padding-left: '+n._level*a.indent+'px"><div class="vxe-table--tree-icon-wrapper">'+t+'</div><div class="vxe-table--tree-cell">'+o+"</div></div></div></td>"}return"radio"===e.type?'<td class="'+r.join(" ")+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+'><input type="radio" name="radio_'+c+'" '+(n._radioDisabled?"disabled ":"")+(getBooleanValue(o)?"checked":"")+"><span>"+n._radioLabel+"</span></div></td>":"checkbox"===e.type?'<td class="'+r.join(" ")+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+'><input type="checkbox" '+(n._checkboxDisabled?"disabled ":"")+(getBooleanValue(o)?"checked":"")+"><span>"+n._checkboxLabel+"</span></div></td>":'<td class="'+r.join(" ")+'" title="'+o+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+">"+(0,_utils.formatText)(o,!0)+"</div></td>"}).join("")+"</tr>")}):t.forEach(function(s){E.push("<tr>"+e.map(function(e){var t=e.align||u,r=k(e,"showOverflow",d)?["col--ellipsis"]:[],o=s[e.id],n=1,l=1;if(b&&h.length){var a=w.getVTRowIndex(s._row),i=w.getVTColumnIndex(e),a=(0,_util.mergeBodyMethod)(h,a,i);if(a){i=a.rowspan,a=a.colspan;if(!i||!a)return"";1<i&&(n=i),1<a&&(l=a)}}return t&&r.push("col--"+t),"radio"===e.type?'<td class="'+r.join(" ")+'" rowspan="'+n+'" colspan="'+l+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+'><input type="radio" name="radio_'+c+'" '+(s._radioDisabled?"disabled ":"")+(getBooleanValue(o)?"checked":"")+"><span>"+s._radioLabel+"</span></div></td>":"checkbox"===e.type?'<td class="'+r.join(" ")+'" rowspan="'+n+'" colspan="'+l+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+'><input type="checkbox" '+(s._checkboxDisabled?"disabled ":"")+(getBooleanValue(o)?"checked":"")+"><span>"+s._checkboxLabel+"</span></div></td>":'<td class="'+r.join(" ")+'" rowspan="'+n+'" colspan="'+l+'" title="'+o+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+">"+(0,_utils.formatText)(o,!0)+"</div></td>"}).join("")+"</tr>")}),E.push("</tbody>")),x&&(x=N.footerTableData,(x=getFooterData(i,x)).length&&(E.push("<tfoot>"),x.forEach(function(n){E.push("<tr>"+e.map(function(e){var t=e.footerAlign||e.align||l||u,r=k(e,"showOverflow",d)?["col--ellipsis"]:[],o=C(i,n,e);return t&&r.push("col--"+t),'<td class="'+r.join(" ")+'" title="'+o+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+">"+(0,_utils.formatText)(o,!0)+"</div></td>"}).join("")+"</tr>")}),E.push("</tfoot>"))),E.push("</table>",!f&&n?'<script>(function(){var a=document.querySelector(".'+T+'");if(a){a.indeterminate=true}})()<\/script>':""),m?E.join(""):(0,_util2.createHtmlPage)(i,E.join(""))},g=function(r,e,t){var o=['<?xml version="1.0"?>','<?mso-application progid="Excel.Sheet"?>','<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40">','<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">',"<Version>16.00</Version>","</DocumentProperties>",'<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">',"<WindowHeight>7920</WindowHeight>","<WindowWidth>21570</WindowWidth>","<WindowTopX>32767</WindowTopX>","<WindowTopY>32767</WindowTopY>","<ProtectStructure>False</ProtectStructure>","<ProtectWindows>False</ProtectWindows>","</ExcelWorkbook>",'<Worksheet ss:Name="'+r.sheetName+'">',"<Table>",e.map(function(e){return'<Column ss:Width="'+e.renderWidth+'"/>'}).join("")].join("");return r.isHeader&&(o+="<Row>"+e.map(function(e){return'<Cell><Data ss:Type="String">'+getHeaderTitle(r,e)+"</Data></Cell>"}).join("")+"</Row>"),t.forEach(function(t){o+="<Row>"+e.map(function(e){return'<Cell><Data ss:Type="String">'+t[e.id]+"</Data></Cell>"}).join("")+"</Row>"}),r.isFooter&&(t=N.footerTableData,getFooterData(r,t).forEach(function(t){o+="<Row>"+e.map(function(e){return'<Cell><Data ss:Type="String">'+C(r,t,e)+"</Data></Cell>"}).join("")+"</Row>"})),o+"</Table></Worksheet></Workbook>"},l={exportData:function(e){var t=D.treeConfig,r=N.isGroup,o=N.tableGroupColumn,l=_.tableFullColumn,n=_.afterFullData,a=y.value,i=j.value,s=Object.assign({isHeader:!0,isFooter:!0,isColgroup:!0,download:!0,type:"csv",mode:"current"},a,{print:!1},e),c=s.type,u=s.mode,d=s.columns,p=s.original,a=s.beforeExportMethod,e=[],d=d&&d.length?d:null,f=s.columnFilterMethod;d||f||(f=p?function(e){return e.column.property}:function(e){return defaultFilterExportColumn(e.column)});var e=d?_xeUtils.default.searchTree(_xeUtils.default.mapTree(d,function(e){var t,r,o,n;if(e)return(0,_util.isColumnInfo)(e)?t=e:_xeUtils.default.isString(e)?t=w.getColumnByField(e):(r=e.id||e.colId,o=e.type,n=e.property||e.field,r?t=w.getColumnById(r):n&&o?t=l.find(function(e){return e.property===n&&e.type===o}):n?t=w.getColumnByField(n):o&&(t=l.find(function(e){return e.type===o}))),t||{}},{children:"childNodes",mapChildren:"_children"}),function(e,t){return(0,_util.isColumnInfo)(e)&&(!f||f({column:e,$columnIndex:t}))},{children:"_children",mapChildren:"childNodes",original:!0}):_xeUtils.default.searchTree(r?o:l,function(e,t){return e.visible&&(!f||f({column:e,$columnIndex:t}))},{children:"children",mapChildren:"childNodes",original:!0}),h=[];if(_xeUtils.default.eachTree(e,function(e){e.children&&e.children.length||h.push(e)},{children:"childNodes"}),s.columns=h,s.colgroups=convertToRows(e),s.filename||(s.filename=_conf.default.i18n(s.original?"vxe.table.expOriginFilename":"vxe.table.expFilename",[_xeUtils.default.toDateString(Date.now(),"yyyyMMddHHmmss")])),s.sheetName||(s.sheetName=document.title),!s.exportMethod&&!_xeUtils.default.includes(_vXETable.VXETable.config.exportTypes,c)){"development"===process.env.NODE_ENV&&(0,_utils.errLog)("vxe.error.notType",[c]);return Promise.reject({status:!1})}if(s.print||a&&a({options:s,$table:w,$grid:T}),!s.data)if(s.data=n,"selected"===u){var m=w.getCheckboxRecords();-1<["html","pdf"].indexOf(c)&&t?s.data=_xeUtils.default.searchTree(w.getTableData().fullData,function(e){return-1<w.findRowIndexOf(m,e)},Object.assign({},i,{data:"_row"})):s.data=m}else if("all"===u&&("development"===process.env.NODE_ENV&&(T||(0,_utils.warnLog)("vxe.error.errProp",["all","mode=current,selected"])),T&&!s.remote)){var c=T.reactData,t=T.getComputeMaps().computeProxyOpts.value,i=t.beforeQueryAll,v=t.afterQueryAll,u=t.ajax,t=t.props,x=void 0===t?{}:t,u=(void 0===u?{}:u).queryAll;if("development"===process.env.NODE_ENV&&(u||(0,_utils.warnLog)("vxe.error.notFunc",["proxy-config.ajax.queryAll"])),u){var g={$table:w,$grid:T,sort:c.sortData,filters:c.filterData,form:c.formData,target:u,options:s};return Promise.resolve((i||u)(g)).catch(function(e){return e}).then(function(e){return s.data=(x.list?_xeUtils.default.get(e,x.list):e)||[],v&&v(g),b(s)})}}return b(s)},importByFile:function(e,t){var r=Object.assign({},t),t=r.beforeImportMethod;return t&&t({options:r,$table:w}),n(e,r)},importData:function(e){var t=i.value,r=Object.assign({types:_vXETable.VXETable.config.importTypes},t,e),e=r.beforeImportMethod,o=r.afterImportMethod;return e&&e({options:r,$table:w}),(0,_util2.readLocalFile)(r).catch(function(e){return o&&o({status:!1,options:r,$table:w}),Promise.reject(e)}).then(function(e){e=e.file;return n(e,r)})},saveFile:function(e){return(0,_util2.saveLocalFile)(e)},readFile:function(e){return(0,_util2.readLocalFile)(e)},print:function(e){var t=o.value,r=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});return r.sheetName||(r.sheetName=document.title),new Promise(function(e){r.content?e((0,_util2.handlePrint)(w,r,r.content)):e(l.exportData(r).then(function(e){e=e.content;return(0,_util2.handlePrint)(w,r,e)}))})},openImport:function(e){var t=D.treeConfig,r=D.importConfig,o=N.initStore,n=N.importStore,l=N.importParams,a=i.value,e=Object.assign({mode:"insert",message:!0,types:_vXETable.VXETable.config.importTypes},e,a),a=e.types;!t?(r||(0,_utils.errLog)("vxe.error.reqProp",["import-config"]),r=a.map(function(e){return{value:e,label:"vxe.export.types."+e}}),a=e.modes.map(function(e){return{value:e,label:"vxe.import.modes."+e}}),Object.assign(n,{file:null,type:"",filename:"",modeList:a,typeList:r,visible:!0}),Object.assign(l,e),o.import=!0):e.message&&_vXETable.VXETable.modal.message({content:_conf.default.i18n("vxe.error.treeNotImp"),status:"error"})},openExport:function(e){var t=y.value;"development"===process.env.NODE_ENV&&(D.exportConfig||(0,_utils.errLog)("vxe.error.reqProp",["export-config"])),r(Object.assign({},t,e))},openPrint:function(e){var t=o.value;"development"===process.env.NODE_ENV&&(D.printConfig||(0,_utils.errLog)("vxe.error.reqProp",["print-config"])),r(Object.assign({},t,e),!0)}};return l},setupGrid:function(e){return e.extendTableMethods(tableExportMethodKeys)}},_default=tableExportHook;exports.default=_default;
@@ -254,6 +254,29 @@ var tableFilterHook = {
254
254
  }
255
255
  };
256
256
  var filterMethods = {
257
+ /**
258
+ * 手动弹出筛选面板
259
+ * @param column
260
+ */
261
+ openFilter: function openFilter(fieldOrColumn) {
262
+ var column = (0, _util.handleFieldOrColumn)($xetable, fieldOrColumn);
263
+
264
+ if (column && column.filters) {
265
+ var elemStore_1 = internalData.elemStore;
266
+ var fixed_1 = column.fixed;
267
+ return $xetable.scrollToColumn(column).then(function () {
268
+ var headerWrapperElem = elemStore_1[(fixed_1 || 'main') + "-header-wrapper"] || elemStore_1['main-header-wrapper'];
269
+
270
+ if (headerWrapperElem) {
271
+ var filterBtnElem = headerWrapperElem.querySelector(".vxe-header--column." + column.id + " .vxe-filter--btn");
272
+ (0, _dom.triggerEvent)(filterBtnElem, 'click');
273
+ }
274
+ });
275
+ }
276
+
277
+ return (0, _vue.nextTick)();
278
+ },
279
+
257
280
  /**
258
281
  * 修改筛选条件列表
259
282
  * @param {ColumnInfo} fieldOrColumn 列或字段名
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_vXETable=require("../../v-x-e-table"),_util=require("../../table/src/util"),_dom=require("../../tools/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var __assign=function(){return(__assign=Object.assign||function(e){for(var t,l=1,r=arguments.length;l<r;l++)for(var i in t=arguments[l])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)},tableFilterMethodKeys=["setFilter","clearFilter","getCheckedFilters"],tableFilterHook={setupTable:function(s){var u=s.reactData,a=s.internalData,e=s.getRefMaps(),m=e.refTableBody,b=e.refTableFilter,c=s.getComputeMaps().computeFilterOpts,o={checkFilterOptions:function(){var e=u.filterStore;e.isAllSelected=e.options.every(function(e){return e._checked}),e.isIndeterminate=!e.isAllSelected&&e.options.some(function(e){return e._checked})},triggerFilterEvent:function(e,d,t){var h,p,v,l,r,i,o,n=u.initStore,_=u.filterStore;_.column===d&&_.visible?_.visible=!1:(h=e.target,p=e.pageX,v=(0,_dom.getDomNode)().visibleWidth,l=d.filters,r=d.filterMultiple,i=(i=d.filterRender)?_vXETable.VXETable.renderer.get(i.name):null,o=d.filterRecoverMethod||(i?i.filterRecoverMethod:null),a._currFilterParams=t,Object.assign(_,{multiple:r,options:l,column:d,style:null}),_.options.forEach(function(e){var t=e._checked,l=e.checked;(e._checked=l)||t===l||o&&o({option:e,column:d,$table:s})}),this.checkFilterOptions(),_.visible=!0,n.filter=!0,(0,_vue.nextTick)(function(){var e=m.value.$el,t=b.value,l=t?t.$el:null,r=0,i=0,o=null,n=null;l&&(r=l.offsetWidth,i=l.offsetHeight,o=l.querySelector(".vxe-table--filter-header"),n=l.querySelector(".vxe-table--filter-footer"));var a,f,s,u=r/2,c=e.clientWidth-r-10,t={top:h.offsetTop+h.offsetParent.offsetTop+h.offsetHeight+8+"px"},l=null;i>=e.clientHeight&&(l=Math.max(40,e.clientHeight-(n?n.offsetHeight:0)-(o?o.offsetHeight:0))),"left"===d.fixed?a=h.offsetLeft+h.offsetParent.offsetLeft-u:"right"===d.fixed?f=h.offsetParent.offsetWidth-h.offsetLeft+(h.offsetParent.offsetParent.offsetWidth-h.offsetParent.offsetLeft)-d.renderWidth-u:a=h.offsetLeft+h.offsetParent.offsetLeft-u-e.scrollLeft,a?(0<(s=p+r-u+10-v)&&(a-=s),t.left=Math.min(c,Math.max(10,a))+"px"):f&&(0<(s=p+r-u+10-v)&&(f+=s),t.right=Math.max(10,f)+"px"),_.style=t,_.maxHeight=l})),s.dispatchEvent("filter-visible",{column:d,property:d.property,filterList:s.getCheckedFilters(),visible:_.visible},e)},handleClearFilter:function(e){var t,l,r;e&&(t=e.filters,l=e.filterRender,t&&(l=l?_vXETable.VXETable.renderer.get(l.name):null,r=e.filterResetMethod||(l?l.filterResetMethod:null),t.forEach(function(e){e._checked=!1,e.checked=!1,r||(e.data=_xeUtils.default.clone(e.resetValue,!0))}),r&&r({options:t,column:e,$table:s})))},confirmFilterEvent:function(e){var t=u.filterStore,l=u.scrollXLoad,r=u.scrollYLoad,i=c.value,o=t.column,n=o.property,a=[],f=[];o.filters.forEach(function(e){e.checked&&(a.push(e.value),f.push(e.data))});t=s.getCheckedFilters();i.remote||(s.handleTableData(!0),s.checkSelectionStatus(),s.updateFooter(),(l||r)&&(s.clearScroll(),r&&s.updateScrollYSpace())),s.dispatchEvent("filter-change",{column:o,property:n,values:a,datas:f,filters:t,filterList:t},e),s.closeFilter(),(0,_vue.nextTick)(function(){s.recalculate(),s.updateCellAreas()})}};return __assign(__assign({},{setFilter:function(e,t){e=(0,_util.handleFieldOrColumn)(s,e);return e&&e.filters&&t&&(e.filters=(0,_util.toFilters)(t)),(0,_vue.nextTick)()},clearFilter:function(e){var t,l=u.filterStore,r=a.tableFullColumn,i=c.value;return e?(t=(0,_util.handleFieldOrColumn)(s,e))&&o.handleClearFilter(t):r.forEach(o.handleClearFilter),e&&t===l.column||Object.assign(l,{isAllSelected:!1,isIndeterminate:!1,style:null,options:[],column:null,multiple:!1,visible:!1}),i.remote?(0,_vue.nextTick)():s.updateData()},getCheckedFilters:function(){var e=a.tableFullColumn,o=[];return e.filter(function(e){var t=e.property,l=e.filters,r=[],i=[];l&&l.length&&(l.forEach(function(e){e.checked&&(r.push(e.value),i.push(e.data))}),r.length&&o.push({column:e,property:t,values:r,datas:i}))}),o}}),o)},setupGrid:function(e){return e.extendTableMethods(tableFilterMethodKeys)}},_default=tableFilterHook;exports.default=_default;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_vXETable=require("../../v-x-e-table"),_util=require("../../table/src/util"),_dom=require("../../tools/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var __assign=function(){return(__assign=Object.assign||function(e){for(var t,l=1,r=arguments.length;l<r;l++)for(var i in t=arguments[l])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)},tableFilterMethodKeys=["setFilter","clearFilter","getCheckedFilters"],tableFilterHook={setupTable:function(u){var s=u.reactData,a=u.internalData,e=u.getRefMaps(),_=e.refTableBody,b=e.refTableFilter,c=u.getComputeMaps().computeFilterOpts,n={checkFilterOptions:function(){var e=s.filterStore;e.isAllSelected=e.options.every(function(e){return e._checked}),e.isIndeterminate=!e.isAllSelected&&e.options.some(function(e){return e._checked})},triggerFilterEvent:function(e,d,t){var h,p,v,l,r,i,n,o=s.initStore,m=s.filterStore;m.column===d&&m.visible?m.visible=!1:(h=e.target,p=e.pageX,v=(0,_dom.getDomNode)().visibleWidth,l=d.filters,r=d.filterMultiple,i=(i=d.filterRender)?_vXETable.VXETable.renderer.get(i.name):null,n=d.filterRecoverMethod||(i?i.filterRecoverMethod:null),a._currFilterParams=t,Object.assign(m,{multiple:r,options:l,column:d,style:null}),m.options.forEach(function(e){var t=e._checked,l=e.checked;(e._checked=l)||t===l||n&&n({option:e,column:d,$table:u})}),this.checkFilterOptions(),m.visible=!0,o.filter=!0,(0,_vue.nextTick)(function(){var e=_.value.$el,t=b.value,l=t?t.$el:null,r=0,i=0,n=null,o=null;l&&(r=l.offsetWidth,i=l.offsetHeight,n=l.querySelector(".vxe-table--filter-header"),o=l.querySelector(".vxe-table--filter-footer"));var a,f,u,s=r/2,c=e.clientWidth-r-10,t={top:h.offsetTop+h.offsetParent.offsetTop+h.offsetHeight+8+"px"},l=null;i>=e.clientHeight&&(l=Math.max(40,e.clientHeight-(o?o.offsetHeight:0)-(n?n.offsetHeight:0))),"left"===d.fixed?a=h.offsetLeft+h.offsetParent.offsetLeft-s:"right"===d.fixed?f=h.offsetParent.offsetWidth-h.offsetLeft+(h.offsetParent.offsetParent.offsetWidth-h.offsetParent.offsetLeft)-d.renderWidth-s:a=h.offsetLeft+h.offsetParent.offsetLeft-s-e.scrollLeft,a?(0<(u=p+r-s+10-v)&&(a-=u),t.left=Math.min(c,Math.max(10,a))+"px"):f&&(0<(u=p+r-s+10-v)&&(f+=u),t.right=Math.max(10,f)+"px"),m.style=t,m.maxHeight=l})),u.dispatchEvent("filter-visible",{column:d,property:d.property,filterList:u.getCheckedFilters(),visible:m.visible},e)},handleClearFilter:function(e){var t,l,r;e&&(t=e.filters,l=e.filterRender,t&&(l=l?_vXETable.VXETable.renderer.get(l.name):null,r=e.filterResetMethod||(l?l.filterResetMethod:null),t.forEach(function(e){e._checked=!1,e.checked=!1,r||(e.data=_xeUtils.default.clone(e.resetValue,!0))}),r&&r({options:t,column:e,$table:u})))},confirmFilterEvent:function(e){var t=s.filterStore,l=s.scrollXLoad,r=s.scrollYLoad,i=c.value,n=t.column,o=n.property,a=[],f=[];n.filters.forEach(function(e){e.checked&&(a.push(e.value),f.push(e.data))});t=u.getCheckedFilters();i.remote||(u.handleTableData(!0),u.checkSelectionStatus(),u.updateFooter(),(l||r)&&(u.clearScroll(),r&&u.updateScrollYSpace())),u.dispatchEvent("filter-change",{column:n,property:o,values:a,datas:f,filters:t,filterList:t},e),u.closeFilter(),(0,_vue.nextTick)(function(){u.recalculate(),u.updateCellAreas()})}};return __assign(__assign({},{openFilter:function(e){var t=(0,_util.handleFieldOrColumn)(u,e);if(t&&t.filters){var l=a.elemStore,r=t.fixed;return u.scrollToColumn(t).then(function(){var e=l[(r||"main")+"-header-wrapper"]||l["main-header-wrapper"];e&&(e=e.querySelector(".vxe-header--column."+t.id+" .vxe-filter--btn"),(0,_dom.triggerEvent)(e,"click"))})}return(0,_vue.nextTick)()},setFilter:function(e,t){e=(0,_util.handleFieldOrColumn)(u,e);return e&&e.filters&&t&&(e.filters=(0,_util.toFilters)(t)),(0,_vue.nextTick)()},clearFilter:function(e){var t,l=s.filterStore,r=a.tableFullColumn,i=c.value;return e?(t=(0,_util.handleFieldOrColumn)(u,e))&&n.handleClearFilter(t):r.forEach(n.handleClearFilter),e&&t===l.column||Object.assign(l,{isAllSelected:!1,isIndeterminate:!1,style:null,options:[],column:null,multiple:!1,visible:!1}),i.remote?(0,_vue.nextTick)():u.updateData()},getCheckedFilters:function(){var e=a.tableFullColumn,n=[];return e.filter(function(e){var t=e.property,l=e.filters,r=[],i=[];l&&l.length&&(l.forEach(function(e){e.checked&&(r.push(e.value),i.push(e.data))}),r.length&&n.push({column:e,property:t,values:r,datas:i}))}),n}}),n)},setupGrid:function(e){return e.extendTableMethods(tableFilterMethodKeys)}},_default=tableFilterHook;exports.default=_default;