@atlaskit/dynamic-table
Version:
A dynamic table displays rows of data with built-in pagination, sorting, and re-ordering functionality.
26 lines (25 loc) • 1.13 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.reorderRows = void 0;
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
var _computeIndex = require("./compute-index");
var reorderRows = exports.reorderRows = function reorderRows(rankEnd, rows) {
var page = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
var rowsPerPage = arguments.length > 3 ? arguments[3] : undefined;
var destination = rankEnd.destination,
sourceIndex = rankEnd.sourceIndex;
if (!destination) {
return rows;
}
var fromIndex = (0, _computeIndex.computeIndex)(sourceIndex, page, rowsPerPage);
var toIndex = (0, _computeIndex.computeIndex)(destination.index, page, rowsPerPage);
var reordered = rows.slice();
var _reordered$splice = reordered.splice(fromIndex, 1),
_reordered$splice2 = (0, _slicedToArray2.default)(_reordered$splice, 1),
removed = _reordered$splice2[0];
reordered.splice(toIndex, 0, removed);
return reordered;
};