@nodeject/ui-components
Version:
UI library for non-trivial components
30 lines (29 loc) • 1.06 kB
JavaScript
var __spreadArrays = (this && this.__spreadArrays) || function () {
for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
for (var r = Array(s), k = 0, i = 0; i < il; i++)
for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
r[k] = a[j];
return r;
};
export var applyDrag = function (arr, dragResult) {
var removedIndex = dragResult.removedIndex, addedIndex = dragResult.addedIndex, payload = dragResult.payload;
if (removedIndex === null && addedIndex === null)
return arr;
var result = __spreadArrays(arr);
var itemToAdd = payload;
if (removedIndex !== null) {
itemToAdd = result.splice(removedIndex, 1)[0];
}
if (addedIndex !== null) {
result.splice(addedIndex, 0, itemToAdd);
}
return result;
};
export var generateItems = function (count, creator) {
var result = [];
for (var i = 0; i < count; i++) {
// @ts-ignore
result.push(creator(i));
}
return result;
};