mirror of
https://github.com/Radarr/Radarr
synced 2026-01-17 04:53:15 +01:00
(cherry picked from commit 428569106499b5e3a463f1990ae2996d1ae4ab49) Persist page size for Import List Exclusions (cherry picked from commit e81bb3b993adac705fd61dc9e281b040ca2338f5) Clear pending changes for edit import list exclusions on modal close (cherry picked from commit 7b87de2e93c2aa499cff224f84253ba944bb58d4) Fixed actions column width for import list exclusions (cherry picked from commit d691ad8e12ea4f2bc77f0b551c17d22d91c4ba22)
179 lines
6.3 KiB
JavaScript
179 lines
6.3 KiB
JavaScript
import { createAction } from 'redux-actions';
|
|
import { handleThunks } from 'Store/thunks';
|
|
import createHandleActions from './Creators/createHandleActions';
|
|
import autoTaggings from './Settings/autoTaggings';
|
|
import autoTaggingSpecifications from './Settings/autoTaggingSpecifications';
|
|
import customFormats from './Settings/customFormats';
|
|
import customFormatSpecifications from './Settings/customFormatSpecifications';
|
|
import delayProfiles from './Settings/delayProfiles';
|
|
import downloadClientOptions from './Settings/downloadClientOptions';
|
|
import downloadClients from './Settings/downloadClients';
|
|
import general from './Settings/general';
|
|
import importListExclusions from './Settings/importListExclusions';
|
|
import importListOptions from './Settings/importListOptions';
|
|
import importLists from './Settings/importLists';
|
|
import indexerFlags from './Settings/indexerFlags';
|
|
import indexerOptions from './Settings/indexerOptions';
|
|
import indexers from './Settings/indexers';
|
|
import languages from './Settings/languages';
|
|
import mediaManagement from './Settings/mediaManagement';
|
|
import metadata from './Settings/metadata';
|
|
import metadataOptions from './Settings/metadataOptions';
|
|
import naming from './Settings/naming';
|
|
import namingExamples from './Settings/namingExamples';
|
|
import notifications from './Settings/notifications';
|
|
import qualityDefinitions from './Settings/qualityDefinitions';
|
|
import qualityProfiles from './Settings/qualityProfiles';
|
|
import releaseProfiles from './Settings/releaseProfiles';
|
|
import remotePathMappings from './Settings/remotePathMappings';
|
|
import ui from './Settings/ui';
|
|
|
|
export * from './Settings/autoTaggingSpecifications';
|
|
export * from './Settings/autoTaggings';
|
|
export * from './Settings/customFormatSpecifications.js';
|
|
export * from './Settings/customFormats';
|
|
export * from './Settings/delayProfiles';
|
|
export * from './Settings/downloadClients';
|
|
export * from './Settings/downloadClientOptions';
|
|
export * from './Settings/general';
|
|
export * from './Settings/importListOptions';
|
|
export * from './Settings/importLists';
|
|
export * from './Settings/importListExclusions';
|
|
export * from './Settings/indexerFlags';
|
|
export * from './Settings/indexerOptions';
|
|
export * from './Settings/indexers';
|
|
export * from './Settings/languages';
|
|
export * from './Settings/mediaManagement';
|
|
export * from './Settings/metadata';
|
|
export * from './Settings/metadataOptions';
|
|
export * from './Settings/naming';
|
|
export * from './Settings/namingExamples';
|
|
export * from './Settings/notifications';
|
|
export * from './Settings/qualityDefinitions';
|
|
export * from './Settings/qualityProfiles';
|
|
export * from './Settings/releaseProfiles';
|
|
export * from './Settings/remotePathMappings';
|
|
export * from './Settings/ui';
|
|
|
|
//
|
|
// Variables
|
|
|
|
export const section = 'settings';
|
|
|
|
//
|
|
// State
|
|
|
|
export const defaultState = {
|
|
advancedSettings: false,
|
|
autoTaggingSpecifications: autoTaggingSpecifications.defaultState,
|
|
autoTaggings: autoTaggings.defaultState,
|
|
customFormatSpecifications: customFormatSpecifications.defaultState,
|
|
customFormats: customFormats.defaultState,
|
|
delayProfiles: delayProfiles.defaultState,
|
|
downloadClients: downloadClients.defaultState,
|
|
downloadClientOptions: downloadClientOptions.defaultState,
|
|
general: general.defaultState,
|
|
importLists: importLists.defaultState,
|
|
importListExclusions: importListExclusions.defaultState,
|
|
importListOptions: importListOptions.defaultState,
|
|
indexerFlags: indexerFlags.defaultState,
|
|
indexerOptions: indexerOptions.defaultState,
|
|
indexers: indexers.defaultState,
|
|
languages: languages.defaultState,
|
|
mediaManagement: mediaManagement.defaultState,
|
|
metadata: metadata.defaultState,
|
|
metadataOptions: metadataOptions.defaultState,
|
|
naming: naming.defaultState,
|
|
namingExamples: namingExamples.defaultState,
|
|
notifications: notifications.defaultState,
|
|
qualityDefinitions: qualityDefinitions.defaultState,
|
|
qualityProfiles: qualityProfiles.defaultState,
|
|
releaseProfiles: releaseProfiles.defaultState,
|
|
remotePathMappings: remotePathMappings.defaultState,
|
|
ui: ui.defaultState
|
|
};
|
|
|
|
export const persistState = [
|
|
'settings.advancedSettings',
|
|
'settings.importListExclusions.pageSize'
|
|
];
|
|
|
|
//
|
|
// Actions Types
|
|
|
|
export const TOGGLE_ADVANCED_SETTINGS = 'settings/toggleAdvancedSettings';
|
|
|
|
//
|
|
// Action Creators
|
|
|
|
export const toggleAdvancedSettings = createAction(TOGGLE_ADVANCED_SETTINGS);
|
|
|
|
//
|
|
// Action Handlers
|
|
|
|
export const actionHandlers = handleThunks({
|
|
...autoTaggingSpecifications.actionHandlers,
|
|
...autoTaggings.actionHandlers,
|
|
...customFormatSpecifications.actionHandlers,
|
|
...customFormats.actionHandlers,
|
|
...delayProfiles.actionHandlers,
|
|
...downloadClients.actionHandlers,
|
|
...downloadClientOptions.actionHandlers,
|
|
...general.actionHandlers,
|
|
...importLists.actionHandlers,
|
|
...importListExclusions.actionHandlers,
|
|
...importListOptions.actionHandlers,
|
|
...indexerFlags.actionHandlers,
|
|
...indexerOptions.actionHandlers,
|
|
...indexers.actionHandlers,
|
|
...languages.actionHandlers,
|
|
...mediaManagement.actionHandlers,
|
|
...metadata.actionHandlers,
|
|
...metadataOptions.actionHandlers,
|
|
...naming.actionHandlers,
|
|
...namingExamples.actionHandlers,
|
|
...notifications.actionHandlers,
|
|
...qualityDefinitions.actionHandlers,
|
|
...qualityProfiles.actionHandlers,
|
|
...releaseProfiles.actionHandlers,
|
|
...remotePathMappings.actionHandlers,
|
|
...ui.actionHandlers
|
|
});
|
|
|
|
//
|
|
// Reducers
|
|
|
|
export const reducers = createHandleActions({
|
|
|
|
[TOGGLE_ADVANCED_SETTINGS]: (state, { payload }) => {
|
|
return Object.assign({}, state, { advancedSettings: !state.advancedSettings });
|
|
},
|
|
|
|
...autoTaggingSpecifications.reducers,
|
|
...autoTaggings.reducers,
|
|
...customFormatSpecifications.reducers,
|
|
...customFormats.reducers,
|
|
...delayProfiles.reducers,
|
|
...downloadClients.reducers,
|
|
...downloadClientOptions.reducers,
|
|
...general.reducers,
|
|
...importLists.reducers,
|
|
...importListExclusions.reducers,
|
|
...importListOptions.reducers,
|
|
...indexerFlags.reducers,
|
|
...indexerOptions.reducers,
|
|
...indexers.reducers,
|
|
...languages.reducers,
|
|
...mediaManagement.reducers,
|
|
...metadata.reducers,
|
|
...metadataOptions.reducers,
|
|
...naming.reducers,
|
|
...namingExamples.reducers,
|
|
...notifications.reducers,
|
|
...qualityDefinitions.reducers,
|
|
...qualityProfiles.reducers,
|
|
...releaseProfiles.reducers,
|
|
...remotePathMappings.reducers,
|
|
...ui.reducers
|
|
|
|
}, defaultState, section);
|