mirror of
https://github.com/Prowlarr/Prowlarr.git
synced 2025-09-29 05:16:34 +02:00
Refactor Indexer index to use react-window
(cherry picked from commit d022679b7dcbce3cec98e6a1fd0879e3c0d92523)
This commit is contained in:
@@ -1,7 +1,5 @@
|
||||
import _ from 'lodash';
|
||||
|
||||
export default function getIndexOfFirstCharacter(items, character) {
|
||||
return _.findIndex(items, (item) => {
|
||||
return items.findIndex((item) => {
|
||||
const firstCharacter = item.sortTitle.charAt(0);
|
||||
|
||||
if (character === '#') {
|
||||
|
@@ -1,29 +1,29 @@
|
||||
import areAllSelected from './areAllSelected';
|
||||
import getToggledRange from './getToggledRange';
|
||||
|
||||
function toggleSelected(state, items, id, selected, shiftKey, idProp = 'id') {
|
||||
const lastToggled = state.lastToggled;
|
||||
const selectedState = {
|
||||
...state.selectedState,
|
||||
function toggleSelected(selectedState, items, id, selected, shiftKey, idProp = 'id') {
|
||||
const lastToggled = selectedState.lastToggled;
|
||||
const nextSelectedState = {
|
||||
...selectedState.selectedState,
|
||||
[id]: selected
|
||||
};
|
||||
|
||||
if (selected == null) {
|
||||
delete selectedState[id];
|
||||
delete nextSelectedState[id];
|
||||
}
|
||||
|
||||
if (shiftKey && lastToggled) {
|
||||
const { lower, upper } = getToggledRange(items, id, lastToggled);
|
||||
|
||||
for (let i = lower; i < upper; i++) {
|
||||
selectedState[items[i][idProp]] = selected;
|
||||
nextSelectedState[items[i][idProp]] = selected;
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
...areAllSelected(selectedState),
|
||||
...areAllSelected(nextSelectedState),
|
||||
lastToggled: id,
|
||||
selectedState
|
||||
selectedState: nextSelectedState
|
||||
};
|
||||
}
|
||||
|
||||
|
@@ -10,3 +10,7 @@ export function isMobile() {
|
||||
export function isIOS() {
|
||||
return mobileDetect.is('iOS');
|
||||
}
|
||||
|
||||
export function isFirefox() {
|
||||
return window.navigator.userAgent.toLowerCase().indexOf('firefox/') >= 0;
|
||||
}
|
Reference in New Issue
Block a user