Merge: fix #822 - Whitelist filter rules

Squashed commit of the following:

commit 350c6d5fadd77145b801df8887284bf4d64fbd19
Author: Ildar Kamalov <i.kamalov@adguard.com>
Date:   Wed Feb 26 15:43:29 2020 +0300

    * client: update translations

commit a884dffcd59f2259e2eee2c1e5a3270819bf8962
Author: Ildar Kamalov <i.kamalov@adguard.com>
Date:   Mon Feb 17 17:32:10 2020 +0300

    + client: handle whitelist filters

commit a586ec5bc614ffb0e01584a1fbdc7292b4865e68
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Wed Jan 29 18:16:59 2020 +0300

    + client: add whitelist

commit a52c3de62cf2fa34be6394771fb8bb56b4ee81e3
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Thu Feb 20 17:50:44 2020 +0300

    * change /filtering/refresh

commit 7f8f2ecccb9f7fa65318c1717dc6a7bd61afccf4
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Thu Feb 20 16:17:07 2020 +0300

    * fix race-detector issue

commit ac4b64c4a52c5b364a4b154bf18dea0fdf45647f
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Mon Jan 20 20:08:21 2020 +0300

    + whitelist filters
This commit is contained in:
Andrey Meshkov
2020-02-26 19:58:25 +03:00
parent 82aa38fce3
commit d839136fee
70 changed files with 1821 additions and 1132 deletions

View File

@@ -1,5 +1,6 @@
import { createAction } from 'redux-actions';
import { showLoading, hideLoading } from 'react-redux-loading-bar';
import { t } from 'i18next';
import { normalizeFilteringStatus, normalizeRulesTextarea } from '../helpers/helpers';
import { addErrorToast, addSuccessToast } from './index';
@@ -44,10 +45,10 @@ export const addFilterRequest = createAction('ADD_FILTER_REQUEST');
export const addFilterFailure = createAction('ADD_FILTER_FAILURE');
export const addFilterSuccess = createAction('ADD_FILTER_SUCCESS');
export const addFilter = (url, name) => async (dispatch) => {
export const addFilter = (url, name, whitelist = false) => async (dispatch) => {
dispatch(addFilterRequest());
try {
await apiClient.addFilter(url, name);
await apiClient.addFilter({ url, name, whitelist });
dispatch(addFilterSuccess(url));
dispatch(toggleFilteringModal());
dispatch(addSuccessToast('filter_added_successfully'));
@@ -62,10 +63,10 @@ export const removeFilterRequest = createAction('REMOVE_FILTER_REQUEST');
export const removeFilterFailure = createAction('REMOVE_FILTER_FAILURE');
export const removeFilterSuccess = createAction('REMOVE_FILTER_SUCCESS');
export const removeFilter = url => async (dispatch) => {
export const removeFilter = (url, whitelist = false) => async (dispatch) => {
dispatch(removeFilterRequest());
try {
await apiClient.removeFilter(url);
await apiClient.removeFilter({ url, whitelist });
dispatch(removeFilterSuccess(url));
dispatch(getFilteringStatus());
} catch (error) {
@@ -78,10 +79,10 @@ export const toggleFilterRequest = createAction('FILTER_TOGGLE_REQUEST');
export const toggleFilterFailure = createAction('FILTER_TOGGLE_FAILURE');
export const toggleFilterSuccess = createAction('FILTER_TOGGLE_SUCCESS');
export const toggleFilterStatus = (url, data) => async (dispatch) => {
export const toggleFilterStatus = (url, data, whitelist = false) => async (dispatch) => {
dispatch(toggleFilterRequest());
try {
await apiClient.setFilterUrl({ url, data });
await apiClient.setFilterUrl({ url, data, whitelist });
dispatch(toggleFilterSuccess(url));
dispatch(getFilteringStatus());
} catch (error) {
@@ -94,10 +95,10 @@ export const editFilterRequest = createAction('EDIT_FILTER_REQUEST');
export const editFilterFailure = createAction('EDIT_FILTER_FAILURE');
export const editFilterSuccess = createAction('EDIT_FILTER_SUCCESS');
export const editFilter = (url, data) => async (dispatch) => {
export const editFilter = (url, data, whitelist = false) => async (dispatch) => {
dispatch(editFilterRequest());
try {
await apiClient.setFilterUrl({ url, data });
await apiClient.setFilterUrl({ url, data, whitelist });
dispatch(editFilterSuccess(url));
dispatch(toggleFilteringModal());
dispatch(addSuccessToast('filter_updated'));
@@ -116,17 +117,14 @@ export const refreshFilters = () => async (dispatch) => {
dispatch(refreshFiltersRequest());
dispatch(showLoading());
try {
const refreshText = await apiClient.refreshFilters();
const data = await apiClient.refreshFilters();
const { updated } = data;
dispatch(refreshFiltersSuccess());
if (refreshText.includes('OK')) {
if (refreshText.includes('OK 0')) {
dispatch(addSuccessToast('all_filters_up_to_date_toast'));
} else {
dispatch(addSuccessToast(refreshText.replace(/OK /g, '')));
}
if (updated > 0) {
dispatch(addSuccessToast(t('list_updated', { count: updated })));
} else {
dispatch(addErrorToast({ error: refreshText }));
dispatch(addSuccessToast('all_lists_up_to_date_toast'));
}
dispatch(getFilteringStatus());