+ client: handle filters configuration
This commit is contained in:
committed by
Simon Zolin
parent
57bb04685f
commit
d0fc1dc54d
86
client/src/reducers/filtering.js
Normal file
86
client/src/reducers/filtering.js
Normal file
@@ -0,0 +1,86 @@
|
||||
import { handleActions } from 'redux-actions';
|
||||
|
||||
import * as actions from '../actions/filtering';
|
||||
|
||||
const filtering = handleActions(
|
||||
{
|
||||
[actions.setRulesRequest]: state => ({ ...state, processingRules: true }),
|
||||
[actions.setRulesFailure]: state => ({ ...state, processingRules: false }),
|
||||
[actions.setRulesSuccess]: state => ({ ...state, processingRules: false }),
|
||||
|
||||
[actions.handleRulesChange]: (state, { payload }) => {
|
||||
const { userRules } = payload;
|
||||
return { ...state, userRules };
|
||||
},
|
||||
|
||||
[actions.getFilteringStatusRequest]: state => ({ ...state, processingFilters: true }),
|
||||
[actions.getFilteringStatusFailure]: state => ({ ...state, processingFilters: false }),
|
||||
[actions.getFilteringStatusSuccess]: (state, { payload }) => ({
|
||||
...state,
|
||||
...payload,
|
||||
processingFilters: false,
|
||||
}),
|
||||
|
||||
[actions.addFilterRequest]: state => ({
|
||||
...state,
|
||||
processingAddFilter: true,
|
||||
isFilterAdded: false,
|
||||
}),
|
||||
[actions.addFilterFailure]: state => ({
|
||||
...state,
|
||||
processingAddFilter: false,
|
||||
isFilterAdded: false,
|
||||
}),
|
||||
[actions.addFilterSuccess]: state => ({
|
||||
...state,
|
||||
processingAddFilter: false,
|
||||
isFilterAdded: true,
|
||||
}),
|
||||
|
||||
[actions.toggleFilteringModal]: (state) => {
|
||||
const newState = {
|
||||
...state,
|
||||
isModalOpen: !state.isModalOpen,
|
||||
isFilterAdded: false,
|
||||
};
|
||||
return newState;
|
||||
},
|
||||
|
||||
[actions.toggleFilterRequest]: state => ({ ...state, processingConfigFilter: true }),
|
||||
[actions.toggleFilterFailure]: state => ({ ...state, processingConfigFilter: false }),
|
||||
[actions.toggleFilterSuccess]: state => ({ ...state, processingConfigFilter: false }),
|
||||
|
||||
[actions.refreshFiltersRequest]: state => ({ ...state, processingRefreshFilters: true }),
|
||||
[actions.refreshFiltersFailure]: state => ({ ...state, processingRefreshFilters: false }),
|
||||
[actions.refreshFiltersSuccess]: state => ({ ...state, processingRefreshFilters: false }),
|
||||
|
||||
[actions.removeFilterRequest]: state => ({ ...state, processingRemoveFilter: true }),
|
||||
[actions.removeFilterFailure]: state => ({ ...state, processingRemoveFilter: false }),
|
||||
[actions.removeFilterSuccess]: state => ({ ...state, processingRemoveFilter: false }),
|
||||
|
||||
[actions.setFiltersConfigRequest]: state => ({ ...state, processingSetConfig: true }),
|
||||
[actions.setFiltersConfigFailure]: state => ({ ...state, processingSetConfig: false }),
|
||||
[actions.setFiltersConfigSuccess]: (state, { payload }) => ({
|
||||
...state,
|
||||
...payload,
|
||||
processingSetConfig: false,
|
||||
}),
|
||||
},
|
||||
{
|
||||
isModalOpen: false,
|
||||
processingFilters: false,
|
||||
processingRules: false,
|
||||
processingAddFilter: false,
|
||||
processingRefreshFilters: false,
|
||||
processingConfigFilter: false,
|
||||
processingRemoveFilter: false,
|
||||
processingSetConfig: false,
|
||||
isFilterAdded: false,
|
||||
filters: [],
|
||||
userRules: '',
|
||||
interval: 24,
|
||||
enabled: true,
|
||||
},
|
||||
);
|
||||
|
||||
export default filtering;
|
||||
@@ -13,6 +13,7 @@ import rewrites from './rewrites';
|
||||
import services from './services';
|
||||
import stats from './stats';
|
||||
import queryLogs from './queryLogs';
|
||||
import filtering from './filtering';
|
||||
|
||||
const settings = handleActions({
|
||||
[actions.initSettingsRequest]: state => ({ ...state, processing: true }),
|
||||
@@ -130,13 +131,6 @@ const dashboard = handleActions({
|
||||
return newState;
|
||||
},
|
||||
|
||||
[actions.getFilteringRequest]: state => ({ ...state, processingFiltering: true }),
|
||||
[actions.getFilteringFailure]: state => ({ ...state, processingFiltering: false }),
|
||||
[actions.getFilteringSuccess]: (state, { payload }) => {
|
||||
const newState = { ...state, isFilteringEnabled: payload, processingFiltering: false };
|
||||
return newState;
|
||||
},
|
||||
|
||||
[actions.toggleProtectionRequest]: state => ({ ...state, processingProtection: true }),
|
||||
[actions.toggleProtectionFailure]: state => ({ ...state, processingProtection: false }),
|
||||
[actions.toggleProtectionSuccess]: (state) => {
|
||||
@@ -189,62 +183,6 @@ const dashboard = handleActions({
|
||||
autoClients: [],
|
||||
});
|
||||
|
||||
const filtering = handleActions({
|
||||
[actions.setRulesRequest]: state => ({ ...state, processingRules: true }),
|
||||
[actions.setRulesFailure]: state => ({ ...state, processingRules: false }),
|
||||
[actions.setRulesSuccess]: state => ({ ...state, processingRules: false }),
|
||||
|
||||
[actions.handleRulesChange]: (state, { payload }) => {
|
||||
const { userRules } = payload;
|
||||
return { ...state, userRules };
|
||||
},
|
||||
|
||||
[actions.getFilteringStatusRequest]: state => ({ ...state, processingFilters: true }),
|
||||
[actions.getFilteringStatusFailure]: state => ({ ...state, processingFilters: false }),
|
||||
[actions.getFilteringStatusSuccess]: (state, { payload }) => {
|
||||
const { status } = payload;
|
||||
const { filters, userRules } = status;
|
||||
const newState = {
|
||||
...state, filters, userRules, processingFilters: false,
|
||||
};
|
||||
return newState;
|
||||
},
|
||||
|
||||
[actions.addFilterRequest]: state =>
|
||||
({ ...state, processingAddFilter: true, isFilterAdded: false }),
|
||||
[actions.addFilterFailure]: (state) => {
|
||||
const newState = { ...state, processingAddFilter: false, isFilterAdded: false };
|
||||
return newState;
|
||||
},
|
||||
[actions.addFilterSuccess]: state =>
|
||||
({ ...state, processingAddFilter: false, isFilterAdded: true }),
|
||||
|
||||
[actions.toggleFilteringModal]: (state) => {
|
||||
const newState = {
|
||||
...state,
|
||||
isFilteringModalOpen: !state.isFilteringModalOpen,
|
||||
isFilterAdded: false,
|
||||
};
|
||||
return newState;
|
||||
},
|
||||
|
||||
[actions.toggleFilterRequest]: state => ({ ...state, processingFilters: true }),
|
||||
[actions.toggleFilterFailure]: state => ({ ...state, processingFilters: false }),
|
||||
[actions.toggleFilterSuccess]: state => ({ ...state, processingFilters: false }),
|
||||
|
||||
[actions.refreshFiltersRequest]: state => ({ ...state, processingRefreshFilters: true }),
|
||||
[actions.refreshFiltersFailure]: state => ({ ...state, processingRefreshFilters: false }),
|
||||
[actions.refreshFiltersSuccess]: state => ({ ...state, processingRefreshFilters: false }),
|
||||
}, {
|
||||
isFilteringModalOpen: false,
|
||||
processingFilters: false,
|
||||
processingRules: false,
|
||||
processingAddFilter: false,
|
||||
processingRefreshFilters: false,
|
||||
filters: [],
|
||||
userRules: '',
|
||||
});
|
||||
|
||||
const dhcp = handleActions({
|
||||
[actions.getDhcpStatusRequest]: state => ({ ...state, processing: true }),
|
||||
[actions.getDhcpStatusFailure]: state => ({ ...state, processing: false }),
|
||||
|
||||
Reference in New Issue
Block a user