UNPKG

@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
"use strict"; 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; };