UNPKG

@talend/react-forms

Version:

React forms library based on json schema form.

71 lines (70 loc) 1.91 kB
// private function selectAllBetween(min, max, items) { return items.map((item, index) => { if (index >= min && index <= max) { return { ...item, isSelected: true }; } return { ...item, isSelected: false }; }); } export function manageCtrlKey(indexSelected, items) { const itemsList = [...items]; const itemSelected = itemsList[indexSelected] && itemsList[indexSelected].isSelected; if (itemSelected) { itemsList[indexSelected].isSelected = false; } else { itemsList[indexSelected].isSelected = true; } return itemsList; } export function manageShiftKey(indexSelected, items) { const itemSelected = items[indexSelected].isSelected && items[indexSelected].isSelected === true; let firstIndex = 0; let lastIndex = 0; // get first item selected items.find((item, index) => { if (item.isSelected) { firstIndex = index; return true; } return false; }); // get last item selected const itemsReversed = [...items].reverse(); itemsReversed.find((item, index) => { if (item.isSelected && item.isSelected === true) { lastIndex = items.length - index - 1; return true; } return false; }); if (itemSelected) { return selectAllBetween(firstIndex, indexSelected, items); } if (indexSelected < firstIndex) { return selectAllBetween(indexSelected, lastIndex, items); } else if (indexSelected > lastIndex) { return selectAllBetween(firstIndex, indexSelected, items); } return undefined; } export function deleteSelectedItems(items) { return items.filter(item => !item.isSelected); } /** * Need to reset items in their default mode to prevent multiple edition * @param items */ export function resetItems(items) { return items.map(currentItem => ({ ...currentItem, displayMode: 'DISPLAY_MODE_DEFAULT' })); } //# sourceMappingURL=utils.js.map