mirror of
https://github.com/lidarr/lidarr.git
synced 2025-07-31 04:00:18 -07:00
Misc UI Fixes
This commit is contained in:
parent
52f4f1de03
commit
f3e55a236c
16 changed files with 118 additions and 98 deletions
|
@ -163,7 +163,6 @@ export const SET_QUEUE_SORT = 'SET_QUEUE_SORT';
|
|||
export const SET_QUEUE_TABLE_OPTION = 'SET_QUEUE_TABLE_OPTION';
|
||||
export const CLEAR_QUEUE = 'CLEAR_QUEUE';
|
||||
|
||||
export const SET_QUEUE_EPISODES = 'SET_QUEUE_EPISODES';
|
||||
export const GRAB_QUEUE_ITEM = 'GRAB_QUEUE_ITEM';
|
||||
export const GRAB_QUEUE_ITEMS = 'GRAB_QUEUE_ITEMS';
|
||||
export const REMOVE_QUEUE_ITEM = 'REMOVE_QUEUE_ITEM';
|
||||
|
@ -398,6 +397,10 @@ export const ADD_RECENT_FOLDER = 'ADD_RECENT_FOLDER';
|
|||
export const REMOVE_RECENT_FOLDER = 'REMOVE_RECENT_FOLDER';
|
||||
export const SET_INTERACTIVE_IMPORT_MODE = 'SET_INTERACTIVE_IMPORT_MODE';
|
||||
|
||||
export const FETCH_INTERACTIVE_IMPORT_ALBUMS = 'FETCH_INTERACTIVE_IMPORT_ALBUMS';
|
||||
export const SET_INTERACTIVE_IMPORT_ALBUMS_SORT = 'SET_INTERACTIVE_IMPORT_ALBUMS_SORT';
|
||||
export const CLEAR_INTERACTIVE_IMPORT_ALBUMS = 'CLEAR_INTERACTIVE_IMPORT_ALBUMS';
|
||||
|
||||
//
|
||||
// Root Folders
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
import $ from 'jquery';
|
||||
import { batchActions } from 'redux-batched-actions';
|
||||
import createFetchHandler from './Creators/createFetchHandler';
|
||||
import * as types from './actionTypes';
|
||||
import { set, update } from './baseActions';
|
||||
|
||||
|
@ -42,7 +43,9 @@ const interactiveImportActionHandlers = {
|
|||
}));
|
||||
});
|
||||
};
|
||||
}
|
||||
},
|
||||
|
||||
[types.FETCH_INTERACTIVE_IMPORT_ALBUMS]: createFetchHandler('interactiveImportAlbums', '/album')
|
||||
};
|
||||
|
||||
export default interactiveImportActionHandlers;
|
||||
|
|
|
@ -9,3 +9,7 @@ export const clearInteractiveImport = createAction(types.CLEAR_INTERACTIVE_IMPOR
|
|||
export const addRecentFolder = createAction(types.ADD_RECENT_FOLDER);
|
||||
export const removeRecentFolder = createAction(types.REMOVE_RECENT_FOLDER);
|
||||
export const setInteractiveImportMode = createAction(types.SET_INTERACTIVE_IMPORT_MODE);
|
||||
|
||||
export const fetchInteractiveImportAlbums = interactiveImportActionHandlers[types.FETCH_INTERACTIVE_IMPORT_ALBUMS];
|
||||
export const setInteractiveImportAlbumsSort = createAction(types.SET_INTERACTIVE_IMPORT_ALBUMS_SORT);
|
||||
export const clearInteractiveImportAlbums = createAction(types.CLEAR_INTERACTIVE_IMPORT_ALBUMS);
|
||||
|
|
|
@ -17,7 +17,6 @@ export const setQueueSort = queueActionHandlers[types.SET_QUEUE_SORT];
|
|||
export const setQueueTableOption = createAction(types.SET_QUEUE_TABLE_OPTION);
|
||||
export const clearQueue = createAction(types.CLEAR_QUEUE);
|
||||
|
||||
export const setQueueEpisodes = createAction(types.SET_QUEUE_EPISODES);
|
||||
export const grabQueueItem = queueActionHandlers[types.GRAB_QUEUE_ITEM];
|
||||
export const grabQueueItems = queueActionHandlers[types.GRAB_QUEUE_ITEMS];
|
||||
export const removeQueueItem = queueActionHandlers[types.REMOVE_QUEUE_ITEM];
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
import _ from 'lodash';
|
||||
import moment from 'moment';
|
||||
import { handleActions } from 'redux-actions';
|
||||
import updateSectionState from 'Utilities/State/updateSectionState';
|
||||
import * as types from 'Store/Actions/actionTypes';
|
||||
import { sortDirections } from 'Helpers/Props';
|
||||
import createSetReducer from './Creators/createSetReducer';
|
||||
import createUpdateReducer from './Creators/createUpdateReducer';
|
||||
import createReducers from './Creators/createReducers';
|
||||
import createSetClientSideCollectionSortReducer from './Creators/createSetClientSideCollectionSortReducer';
|
||||
|
||||
export const defaultState = {
|
||||
|
@ -26,6 +28,15 @@ export const defaultState = {
|
|||
quality: function(item, direction) {
|
||||
return item.quality.qualityWeight;
|
||||
}
|
||||
},
|
||||
|
||||
interactiveImportAlbums: {
|
||||
isFetching: false,
|
||||
isPopulated: false,
|
||||
error: null,
|
||||
sortKey: 'albumTitle',
|
||||
sortDirection: sortDirections.DESCENDING,
|
||||
items: []
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -35,11 +46,12 @@ export const persistState = [
|
|||
];
|
||||
|
||||
const reducerSection = 'interactiveImport';
|
||||
const episodesSection = 'interactiveImportAlbums';
|
||||
|
||||
const interactiveImportReducers = handleActions({
|
||||
|
||||
[types.SET]: createSetReducer(reducerSection),
|
||||
[types.UPDATE]: createUpdateReducer(reducerSection),
|
||||
[types.SET]: createReducers([reducerSection, episodesSection], createSetReducer),
|
||||
[types.UPDATE]: createReducers([reducerSection, episodesSection], createUpdateReducer),
|
||||
|
||||
[types.UPDATE_INTERACTIVE_IMPORT_ITEM]: (state, { payload }) => {
|
||||
const id = payload.id;
|
||||
|
@ -90,6 +102,16 @@ const interactiveImportReducers = handleActions({
|
|||
|
||||
[types.SET_INTERACTIVE_IMPORT_MODE]: function(state, { payload }) {
|
||||
return Object.assign({}, state, { importMode: payload.importMode });
|
||||
},
|
||||
|
||||
[types.SET_INTERACTIVE_IMPORT_ALBUMS_SORT]: createSetClientSideCollectionSortReducer(episodesSection),
|
||||
|
||||
[types.CLEAR_INTERACTIVE_IMPORT_ALBUMS]: (state) => {
|
||||
const section = episodesSection;
|
||||
|
||||
return updateSectionState(state, section, {
|
||||
...defaultState.interactiveImportAlbums
|
||||
});
|
||||
}
|
||||
|
||||
}, defaultState);
|
||||
|
|
|
@ -135,25 +135,7 @@ const queueReducers = handleActions({
|
|||
isPopulated: false,
|
||||
error: null,
|
||||
items: []
|
||||
}),
|
||||
|
||||
[types.SET_QUEUE_EPISODES]: function(state, { payload }) {
|
||||
const section = 'queueEpisodes';
|
||||
|
||||
return updateSectionState(state, section, {
|
||||
isPopulated: true,
|
||||
items: payload.episodes
|
||||
});
|
||||
},
|
||||
|
||||
[types.CLEAR_EPISODES]: (state) => {
|
||||
const section = 'queueEpisodes';
|
||||
|
||||
return updateSectionState(state, section, {
|
||||
isPopulated: false,
|
||||
items: []
|
||||
});
|
||||
}
|
||||
})
|
||||
|
||||
}, defaultState);
|
||||
|
||||
|
|
|
@ -97,8 +97,8 @@ function sort(items, state) {
|
|||
|
||||
function createClientSideCollectionSelector() {
|
||||
return createSelector(
|
||||
(state, { section }) => state[section],
|
||||
(state, { uiSection }) => state[uiSection],
|
||||
(state, { section }) => _.get(state, section),
|
||||
(state, { uiSection }) => _.get(state, uiSection),
|
||||
(sectionState, uiSectionState = {}) => {
|
||||
const state = Object.assign({}, sectionState, uiSectionState);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue