2017-09-04 02:20:56 +00:00
|
|
|
import { createSelector } from 'reselect';
|
|
|
|
import selectSettings from 'Store/Selectors/selectSettings';
|
|
|
|
|
2018-08-08 00:57:15 +00:00
|
|
|
function createSettingsSectionSelector(section) {
|
2017-09-04 02:20:56 +00:00
|
|
|
return createSelector(
|
2018-08-08 00:57:15 +00:00
|
|
|
(state) => state.settings[section],
|
2017-09-04 02:20:56 +00:00
|
|
|
(sectionSettings) => {
|
|
|
|
const {
|
|
|
|
isFetching,
|
|
|
|
isPopulated,
|
|
|
|
error,
|
|
|
|
item,
|
|
|
|
pendingChanges,
|
|
|
|
isSaving,
|
|
|
|
saveError
|
|
|
|
} = sectionSettings;
|
|
|
|
|
|
|
|
const settings = selectSettings(item, pendingChanges, saveError);
|
|
|
|
|
|
|
|
return {
|
|
|
|
isFetching,
|
|
|
|
isPopulated,
|
|
|
|
error,
|
|
|
|
isSaving,
|
|
|
|
saveError,
|
|
|
|
...settings
|
|
|
|
};
|
|
|
|
}
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
export default createSettingsSectionSelector;
|