vxe-table 3.13.21 → 3.13.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/grid/src/grid.js +51 -40
- package/es/style.css +1 -1
- package/es/table/module/filter/panel.js +12 -2
- package/es/table/module/keyboard/mixin.js +50 -6
- package/es/table/src/methods.js +2 -2
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/grid/src/grid.js +58 -57
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/index.umd.js +124 -74
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/module/filter/panel.js +8 -2
- package/lib/table/module/filter/panel.min.js +1 -1
- package/lib/table/module/keyboard/mixin.js +52 -9
- package/lib/table/module/keyboard/mixin.min.js +1 -1
- package/lib/table/src/methods.js +3 -2
- package/lib/table/src/methods.min.js +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +2 -2
- package/packages/grid/src/grid.ts +61 -48
- package/packages/table/module/filter/panel.ts +12 -2
- package/packages/table/module/keyboard/mixin.ts +52 -8
- package/packages/table/src/methods.ts +3 -2
- /package/es/{iconfont.1741336846919.ttf → iconfont.1741744075377.ttf} +0 -0
- /package/es/{iconfont.1741336846919.woff → iconfont.1741744075377.woff} +0 -0
- /package/es/{iconfont.1741336846919.woff2 → iconfont.1741744075377.woff2} +0 -0
- /package/lib/{iconfont.1741336846919.ttf → iconfont.1741744075377.ttf} +0 -0
- /package/lib/{iconfont.1741336846919.woff → iconfont.1741744075377.woff} +0 -0
- /package/lib/{iconfont.1741336846919.woff2 → iconfont.1741744075377.woff2} +0 -0
|
@@ -178,15 +178,22 @@ var _default = exports.default = {
|
|
|
178
178
|
},
|
|
179
179
|
// 处理当前行方向键移动
|
|
180
180
|
moveCurrentRow(isUpArrow, isDwArrow, evnt) {
|
|
181
|
+
const $xeTable = this;
|
|
182
|
+
const props = $xeTable;
|
|
183
|
+
const reactData = $xeTable;
|
|
184
|
+
const internalData = $xeTable;
|
|
185
|
+
const {
|
|
186
|
+
treeConfig
|
|
187
|
+
} = props;
|
|
188
|
+
const {
|
|
189
|
+
currentRow
|
|
190
|
+
} = reactData;
|
|
181
191
|
const {
|
|
182
|
-
currentRow,
|
|
183
|
-
treeConfig,
|
|
184
|
-
treeOpts,
|
|
185
192
|
afterFullData
|
|
186
|
-
} =
|
|
193
|
+
} = internalData;
|
|
194
|
+
const treeOpts = $xeTable.computeTreeOpts;
|
|
187
195
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
188
196
|
let targetRow;
|
|
189
|
-
evnt.preventDefault();
|
|
190
197
|
if (currentRow) {
|
|
191
198
|
if (treeConfig) {
|
|
192
199
|
const {
|
|
@@ -201,7 +208,7 @@ var _default = exports.default = {
|
|
|
201
208
|
targetRow = items[index + 1];
|
|
202
209
|
}
|
|
203
210
|
} else {
|
|
204
|
-
const _rowIndex =
|
|
211
|
+
const _rowIndex = $xeTable.getVTRowIndex(currentRow);
|
|
205
212
|
if (isUpArrow && _rowIndex > 0) {
|
|
206
213
|
targetRow = afterFullData[_rowIndex - 1];
|
|
207
214
|
} else if (isDwArrow && _rowIndex < afterFullData.length - 1) {
|
|
@@ -212,11 +219,47 @@ var _default = exports.default = {
|
|
|
212
219
|
targetRow = afterFullData[0];
|
|
213
220
|
}
|
|
214
221
|
if (targetRow) {
|
|
222
|
+
evnt.preventDefault();
|
|
223
|
+
const params = {
|
|
224
|
+
$table: $xeTable,
|
|
225
|
+
row: targetRow,
|
|
226
|
+
rowIndex: $xeTable.getRowIndex(targetRow),
|
|
227
|
+
$rowIndex: $xeTable.getVMRowIndex(targetRow)
|
|
228
|
+
};
|
|
229
|
+
$xeTable.scrollToRow(targetRow).then(() => $xeTable.triggerCurrentRowEvent(evnt, params));
|
|
230
|
+
}
|
|
231
|
+
},
|
|
232
|
+
// 处理当前列方向键移动
|
|
233
|
+
moveCurrentColumn(isLeftArrow, isRightArrow, evnt) {
|
|
234
|
+
const $xeTable = this;
|
|
235
|
+
const reactData = $xeTable;
|
|
236
|
+
const internalData = $xeTable;
|
|
237
|
+
const {
|
|
238
|
+
currentColumn
|
|
239
|
+
} = reactData;
|
|
240
|
+
const {
|
|
241
|
+
visibleColumn
|
|
242
|
+
} = internalData;
|
|
243
|
+
let targetCol = null;
|
|
244
|
+
if (currentColumn) {
|
|
245
|
+
const _columnIndex = $xeTable.getVTColumnIndex(currentColumn);
|
|
246
|
+
if (isLeftArrow && _columnIndex > 0) {
|
|
247
|
+
targetCol = visibleColumn[_columnIndex - 1];
|
|
248
|
+
} else if (isRightArrow && _columnIndex < visibleColumn.length - 1) {
|
|
249
|
+
targetCol = visibleColumn[_columnIndex + 1];
|
|
250
|
+
}
|
|
251
|
+
} else {
|
|
252
|
+
targetCol = visibleColumn[0];
|
|
253
|
+
}
|
|
254
|
+
if (targetCol) {
|
|
255
|
+
evnt.preventDefault();
|
|
215
256
|
const params = {
|
|
216
|
-
$table:
|
|
217
|
-
|
|
257
|
+
$table: $xeTable,
|
|
258
|
+
column: targetCol,
|
|
259
|
+
columnIndex: $xeTable.getColumnIndex(targetCol),
|
|
260
|
+
$columnIndex: $xeTable.getVMColumnIndex(targetCol)
|
|
218
261
|
};
|
|
219
|
-
|
|
262
|
+
$xeTable.scrollToColumn(targetCol).then(() => $xeTable.triggerCurrentColumnEvent(evnt, params));
|
|
220
263
|
}
|
|
221
264
|
},
|
|
222
265
|
// 处理可编辑方向键移动
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_util=require("../../src/util"),_dom=require("../../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function getTargetOffset(e,t){let l=0,o=0;var
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_util=require("../../src/util"),_dom=require("../../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function getTargetOffset(e,t){let l=0,o=0;var n,r,i=!_dom.browse.firefox&&(0,_dom.hasClass)(e,"vxe-checkbox--label");for(i&&(n=getComputedStyle(e),l-=_xeUtils.default.toNumber(n.paddingTop),o-=_xeUtils.default.toNumber(n.paddingLeft));e&&e!==t;)l+=e.offsetTop,o+=e.offsetLeft,e=e.offsetParent,i&&(r=getComputedStyle(e),l-=_xeUtils.default.toNumber(r.paddingTop),o-=_xeUtils.default.toNumber(r.paddingLeft));return{offsetTop:l,offsetLeft:o}}function getCheckboxRangeRows(t,e,l,o,n,r,i){var s=t.showOverflow,{fullAllDataRowIdData:h,isResizeCellHeight:a}=t,d=t.computeRowOpts,u=t.computeCellOpts,c=t.computeDefaultRowHeight,l=l.row;let g=0,f=[],m=0;var x=0<i,p=t.scrollYLoad,v=t.afterFullData;if(m=x?r+i:n.height-r+Math.abs(i),p){n=t.getVTRowIndex(l);if(!(a||u.height||d.height)&&s)f=x?v.slice(n,n+Math.ceil(m/c)):v.slice(n-Math.floor(m/c),n+1);else if(x)for(let e=n;e<v.length;e++){var w=v[e],C=h[t.getRowid(w)]||{};if(g+=C.resizeHeight||u.height||d.height||C.height||c,f.push(w),g>m)return f}else for(let e=n;0<=e;e--){var b=v[e],R=h[t.getRowid(b)]||{};if(g+=R.resizeHeight||u.height||d.height||R.height||c,f.push(b),g>m)return f}}else for(var T=x?"next":"previous";o&&g<m;){var I=t.getRowNode(o);I&&(f.push(I.item),g+=o.offsetHeight,o=o[T+"ElementSibling"])}return f}var _default=exports.default={methods:{moveTabSelected(e,t,l){var{afterFullData:o,visibleColumn:n,editConfig:r,editOpts:i}=this;let s,h,a,d=Object.assign({},e);var e=this.getVTRowIndex(d.row),u=this.getVTColumnIndex(d.column),t=(l.preventDefault(),t?u<=0?0<e&&(h=e-1,s=o[h],a=n.length-1):a=u-1:u>=n.length-1?e<o.length-1&&(h=e+1,s=o[h],a=0):a=u+1,n[a]);t&&(s?(d.rowIndex=h,d.row=s):d.rowIndex=e,d.columnIndex=a,d.column=t,d.cell=this.getCellElement(d.row,d.column),r?"click"!==i.trigger&&"dblclick"!==i.trigger||("row"===i.mode?this.handleEdit(d,l):this.scrollToRow(d.row,d.column).then(()=>this.handleSelected(d,l))):this.scrollToRow(d.row,d.column).then(()=>this.handleSelected(d,l)))},moveCurrentRow(e,t,l){let o=this;var n=o,r=o,i=o,n=n.treeConfig;let s=r.currentRow;var r=i.afterFullData,i=o.computeTreeOpts,i=i.children||i.childrenField;let h;if(s?n?({index:n,items:i}=_xeUtils.default.findTree(r,e=>e===s,{children:i}),e&&0<n?h=i[n-1]:t&&n<i.length-1&&(h=i[n+1])):(i=o.getVTRowIndex(s),e&&0<i?h=r[i-1]:t&&i<r.length-1&&(h=r[i+1])):h=r[0],h){l.preventDefault();let e={$table:o,row:h,rowIndex:o.getRowIndex(h),$rowIndex:o.getVMRowIndex(h)};o.scrollToRow(h).then(()=>o.triggerCurrentRowEvent(l,e))}},moveCurrentColumn(e,t,l){let o=this;var n=o.currentColumn,r=o.visibleColumn;let i=null;if(n?(n=o.getVTColumnIndex(n),e&&0<n?i=r[n-1]:t&&n<r.length-1&&(i=r[n+1])):i=r[0],i){l.preventDefault();let e={$table:o,column:i,columnIndex:o.getColumnIndex(i),$columnIndex:o.getVMColumnIndex(i)};o.scrollToColumn(i).then(()=>o.triggerCurrentColumnEvent(l,e))}},moveSelected(e,t,l,o,n,r){var{afterFullData:i,visibleColumn:s}=this;let h=Object.assign({},e);var e=this.getVTRowIndex(h.row),a=this.getVTColumnIndex(h.column);r.preventDefault(),l&&0<e?(h.rowIndex=e-1,h.row=i[h.rowIndex]):n&&e<i.length-1?(h.rowIndex=e+1,h.row=i[h.rowIndex]):t&&a?(h.columnIndex=a-1,h.column=s[h.columnIndex]):o&&a<s.length-1&&(h.columnIndex=a+1,h.column=s[h.columnIndex]),this.scrollToRow(h.row,h.column).then(()=>{h.cell=this.getCellElement(h.row,h.column),this.handleSelected(h,r)})},handleCellMousedownEvent(e,t){var{editConfig:l,editOpts:o,handleSelected:n,checkboxConfig:r,checkboxOpts:i,mouseConfig:s,mouseOpts:h}=this;if(s&&h.area&&this.handleMousedownCellAreaEvent)return this.handleMousedownCellAreaEvent(e,t);r&&i.range&&this.handleCheckboxRangeEvent(e,t),s&&h.selected&&(l&&"cell"!==o.mode||n(t,e))},handleCheckboxRangeEvent(e,y){let E=this;var t=E.elemStore,l=(0,_util.getRefElem)(t["main-body-scroll"]),o=(0,_util.getRefElem)(t["left-body-scroll"]),t=(0,_util.getRefElem)(t["right-body-scroll"]),{column:n,cell:r}=y;if("checkbox"===n.type){let k=l;if(o&&"left"===n.fixed?k=o:t&&"right"===n.fixed&&(k=t),k){let t=E.$refs.refElem,s=e.clientX,h=e.clientY,a=k.querySelector(".vxe-table--checkbox-range"),d=r.parentNode,u=this.getCheckboxRecords(),c=[],g=1;l=getTargetOffset(e.target,k);let f=l.offsetTop+e.offsetY,m=l.offsetLeft+e.offsetX,x=k.scrollTop,i=d.offsetHeight,p=d.getBoundingClientRect(),v=h-p.y,w=null,C=!1,b=1,R=(e,t)=>{this.emitEvent("checkbox-range-"+e,{records:this.getCheckboxRecords(),reserves:this.getCheckboxReserveRecords()},t)},T=e=>{var{clientX:t,clientY:l}=e,t=t-s,l=l-h+(k.scrollTop-x);let o=Math.abs(l),n=Math.abs(t),r=f,i=m;l<g?(r+=l)<g&&(r=g,o=f):o=Math.min(o,k.scrollHeight-f-g),t<g?(i+=t,n>m&&(i=g,n=m)):n=Math.min(n,k.clientWidth-m-g),a.style.height=o+"px",a.style.width=n+"px",a.style.left=i+"px",a.style.top=r+"px",a.style.display="block";t=getCheckboxRangeRows(this,e,y,d,p,v,l<g?-o:o);10<o&&t.length!==c.length&&(c=t,e.ctrlKey?t.forEach(e=>{E.handleBatchSelectRows([e],-1===u.indexOf(e))}):(this.setAllCheckboxRow(!1),this.handleCheckedCheckboxRow(t,!0,!1)),R("change",e))},I=()=>{clearTimeout(w),w=null},_=r=>{I(),w=setTimeout(()=>{var e,t,l,o,n;w&&({scrollLeft:e,scrollTop:t,clientHeight:l,scrollHeight:o}=k,n=Math.ceil(50*b/i),C?t+l<o?(this.scrollTo(e,t+n),_(r),T(r)):I():t?(this.scrollTo(e,t-n),_(r),T(r)):I())},50)};(0,_dom.addClass)(t,"drag--range"),document.onmousemove=e=>{e.preventDefault(),e.stopPropagation();var t=e.clientY,l=(0,_dom.getAbsolutePos)(k).boundingTop;t<l?(C=!1,b=l-t,w||_(e)):t>l+k.clientHeight?(C=!0,b=t-l-k.clientHeight,w||_(e)):w&&I(),T(e)},document.onmouseup=e=>{I(),(0,_dom.removeClass)(t,"drag--range"),a.removeAttribute("style"),document.onmousemove=null,document.onmouseup=null,R("end",e)},R("start",e)}}}}};
|
package/lib/table/src/methods.js
CHANGED
|
@@ -5840,8 +5840,9 @@ const Methods = {
|
|
|
5840
5840
|
// 如果按下了方向键
|
|
5841
5841
|
if (selected.row && selected.column) {
|
|
5842
5842
|
this.moveSelected(selected.args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow, evnt);
|
|
5843
|
-
}
|
|
5844
|
-
|
|
5843
|
+
}
|
|
5844
|
+
// 当前行按键上下移动
|
|
5845
|
+
if ((isUpArrow || isDwArrow) && (rowOpts.isCurrent || highlightCurrentRow)) {
|
|
5845
5846
|
this.moveCurrentRow(isUpArrow, isDwArrow, evnt);
|
|
5846
5847
|
}
|
|
5847
5848
|
}
|