+ client, querylog: Add blocked service filter support

Close #2124

Squashed commit of the following:

commit 574726e88e4fe7df745dfc964706e1e26f8da59f
Merge: 3bc770fb dc61744d
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Wed Sep 23 19:32:38 2020 +0300

    Merge branch 'master' into feature/2124

commit 3bc770fba6d06bbd965ee181aed7b0a050175f58
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Wed Sep 23 11:22:07 2020 +0300

    minor

commit 90c0d739d1bd09dbcf5f27ff9e6c3f761bf81686
Merge: 5d1f2642 1d36abd1
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Wed Sep 23 11:17:24 2020 +0300

    Merge branch 'master' into feature/2124

commit 5d1f264212686ac7ecab30401b4f0e3c020dbee9
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Tue Sep 22 17:23:08 2020 +0300

    Display elapsed if there is no service_name in blocked service

commit af86cedc31d566238764e02c5c8e465fa41292c6
Merge: b61976a7 756f97ed
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Tue Sep 22 16:55:40 2020 +0300

    Merge branch 'master' into feature/2124

commit b61976a7f811e1d01327cad8b0925bd110c6e135
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Tue Sep 22 16:52:48 2020 +0300

    Rename params to blocked_services, update service name display on client

commit d5b8e5f7b2c4a3d6701cf8845d31b28f55c6a808
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Tue Sep 22 15:59:46 2020 +0300

    Update docs, return global blocked status

commit adc9a294f76070dea2d845155814c21c52fc6c7f
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Tue Sep 22 15:24:34 2020 +0300

    + querylog: Extract filteringStatusBlockedService

commit ee8c1dce0d7520be0d0fcfe6f798dd11f13c9262
Author: ArtemBaskal <a.baskal@adguard.com>
Date:   Tue Sep 22 13:54:16 2020 +0300

    + client: Add blocked service filter support
This commit is contained in:
Artem Baskal
2020-09-23 19:47:02 +03:00
parent dc61744d47
commit 10f67bd383
9 changed files with 58 additions and 17 deletions

View File

@@ -3,7 +3,11 @@ import { shallowEqual, useSelector } from 'react-redux';
import classNames from 'classnames';
import React from 'react';
import propTypes from 'prop-types';
import { formatElapsedMs, getFilterName } from '../../../helpers/helpers';
import {
formatElapsedMs,
getFilterName,
getServiceName,
} from '../../../helpers/helpers';
import { FILTERED_STATUS, FILTERED_STATUS_TO_META_MAP } from '../../../helpers/constants';
import IconTooltip from './IconTooltip';
@@ -16,6 +20,7 @@ const ResponseCell = ({
upstream,
rule,
filterId,
service_name,
}) => {
const { t } = useTranslation();
const filters = useSelector((state) => state.filtering.filters, shallowEqual);
@@ -52,7 +57,7 @@ const ResponseCell = ({
install_settings_dns: upstream,
elapsed: formattedElapsedMs,
response_code: status,
filter,
...(service_name ? { service_name: getServiceName(service_name) } : { filter }),
rule_label: rule,
response_table_header: renderResponses(response),
original_response: renderResponses(originalResponse),
@@ -64,8 +69,22 @@ const ResponseCell = ({
...COMMON_CONTENT,
filter: '',
});
const detailedInfo = isBlocked ? filter : formattedElapsedMs;
const getDetailedInfo = (reason) => {
switch (reason) {
case FILTERED_STATUS.FILTERED_BLOCKED_SERVICE:
if (!service_name) {
return formattedElapsedMs;
}
return getServiceName(service_name);
case FILTERED_STATUS.FILTERED_BLACK_LIST:
return filter;
default:
return formattedElapsedMs;
}
};
const detailedInfo = getDetailedInfo(reason);
return <div className="logs__cell logs__cell--response" role="gridcell">
<IconTooltip
@@ -96,6 +115,7 @@ ResponseCell.propTypes = {
upstream: propTypes.string.isRequired,
rule: propTypes.string,
filterId: propTypes.number,
service_name: propTypes.string,
};
export default ResponseCell;