23 lines
712 B
TypeScript
23 lines
712 B
TypeScript
export const moveItemWithinArray = (arr: any, item: any, newIndex: number) => {
|
|
const arrClone = [...arr];
|
|
const oldIndex = arrClone.indexOf(item);
|
|
arrClone.splice(newIndex, 0, arrClone.splice(oldIndex, 1)[0]);
|
|
return arrClone;
|
|
};
|
|
|
|
export const insertItemIntoArray = (arr: any, item: any, index: number) => {
|
|
const arrClone = [...arr];
|
|
arrClone.splice(index, 0, item);
|
|
return arrClone;
|
|
};
|
|
|
|
export const updateArrayItemById = (arr: any, itemId: any, fields: any) => {
|
|
const arrClone = [...arr];
|
|
const item = arrClone.find(({ id }) => id === itemId);
|
|
if (item) {
|
|
const itemIndex = arrClone.indexOf(item);
|
|
arrClone.splice(itemIndex, 1, { ...item, ...fields });
|
|
}
|
|
return arrClone;
|
|
};
|