diff --git a/CHANGELOG.md b/CHANGELOG.md index 41e0c4bdc..cea856e95 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,18 @@ +## [1.77.5](https://github.com/RedHatInsights/vulnerability-ui/compare/v1.77.4...v1.77.5) (2021-09-06) + + +### Bug Fixes + +* Correctly refresh previously loaded rows ([#1188](https://github.com/RedHatInsights/vulnerability-ui/issues/1188)) ([c99c502](https://github.com/RedHatInsights/vulnerability-ui/commit/c99c502342042df9cd550b7dd6eaa20089e549ff)) + +## [1.77.4](https://github.com/RedHatInsights/vulnerability-ui/compare/v1.77.3...v1.77.4) (2021-09-02) + + +### Bug Fixes + +* **Systems page:** Correctly parse all URL params ([#1172](https://github.com/RedHatInsights/vulnerability-ui/issues/1172)) ([1ad1b08](https://github.com/RedHatInsights/vulnerability-ui/commit/1ad1b08b37a6411bb966f73e6473a64da9ff1388)) +* Fix passing systems into opt out function ([#1182](https://github.com/RedHatInsights/vulnerability-ui/issues/1182)) ([6641b97](https://github.com/RedHatInsights/vulnerability-ui/commit/6641b97ff9ef85dd1cfb346b4839a18a02a98d7e)) + ## [1.77.3](https://github.com/RedHatInsights/vulnerability-ui/compare/v1.77.2...v1.77.3) (2021-08-27) diff --git a/package-lock.json b/package-lock.json index a275b1dcb..b77b8f324 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@redhat-cloud-services/frontend-components-inventory-vulnerabilities", - "version": "1.77.3", + "version": "1.77.5", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -3129,17 +3129,39 @@ } }, "@patternfly/react-core": { - "version": "4.147.0", - "resolved": "https://registry.npmjs.org/@patternfly/react-core/-/react-core-4.147.0.tgz", - "integrity": "sha512-t0GQvmN7vjSJHW9+kiQW2UOLKitNzvr9umNGG3H+gxO/XjgqqH2JmhitN+556gM1+tUYY78yam4wCTTg5P5jOA==", + "version": "4.152.4", + "resolved": "https://registry.npmjs.org/@patternfly/react-core/-/react-core-4.152.4.tgz", + "integrity": "sha512-saMnAoF3KnYB5k6K04Y6NtO61bXYl71yzGPYSrM/DjyWDlIGLqPPhMe4kbWafLTpSgJdkxPoODgVMDp2ZIJ0Jw==", "requires": { - "@patternfly/react-icons": "^4.11.8", - "@patternfly/react-styles": "^4.11.8", - "@patternfly/react-tokens": "^4.12.9", + "@patternfly/react-icons": "^4.11.14", + "@patternfly/react-styles": "^4.11.13", + "@patternfly/react-tokens": "^4.12.15", "focus-trap": "6.2.2", "react-dropzone": "9.0.0", "tippy.js": "5.1.2", - "tslib": "1.13.0" + "tslib": "^2.0.0" + }, + "dependencies": { + "@patternfly/react-icons": { + "version": "4.11.14", + "resolved": "https://registry.npmjs.org/@patternfly/react-icons/-/react-icons-4.11.14.tgz", + "integrity": "sha512-SBwID1p+UaQ9BSmzIRFr+BJEhYgx1rWHlm2HIZzhoz7BG3Q7byaQ8ZNfZLm0D+ZGVJQ+fq0zUHGE1nzxDPFqNQ==" + }, + "@patternfly/react-styles": { + "version": "4.11.13", + "resolved": "https://registry.npmjs.org/@patternfly/react-styles/-/react-styles-4.11.13.tgz", + "integrity": "sha512-svhnWIqZwJt1cOxwYjvz6lVYeL+c9D17xpKqlkJapXRxJL3ppTfIqwBrT3o9+02ElaXUTKt4xjMkSnEVjw4qxA==" + }, + "@patternfly/react-tokens": { + "version": "4.12.15", + "resolved": "https://registry.npmjs.org/@patternfly/react-tokens/-/react-tokens-4.12.15.tgz", + "integrity": "sha512-lRW0qxGjuFEPMweBSQFHNRNoxavx5uR8b28f0lPN0Jlz4QsaCFVTmHM2XqflOHDpjE8SPJW/hJMSsyUrqnM5dw==" + }, + "tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" + } } }, "@patternfly/react-icons": { @@ -5342,11 +5364,11 @@ } }, "axios": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", - "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.3.tgz", + "integrity": "sha512-JtoZ3Ndke/+Iwt5n+BgSli/3idTvpt5OjKyoCmz4LX5+lPiY5l7C1colYezhlxThjNa/NhngCUWZSZFypIFuaA==", "requires": { - "follow-redirects": "^1.10.0" + "follow-redirects": "^1.14.0" } }, "babel-code-frame": { diff --git a/package.json b/package.json index 444041de2..af0a8decd 100644 --- a/package.json +++ b/package.json @@ -1,13 +1,13 @@ { "name": "@redhat-cloud-services/frontend-components-inventory-vulnerabilities", "private": false, - "version": "1.77.3", + "version": "1.77.5", "browser": "dist/index.js", "module": "esm/index.js", "dependencies": { "@babel/plugin-proposal-optional-chaining": "^7.14.5", "@babel/runtime": "^7.15.3", - "@patternfly/react-core": "^4.147.0", + "@patternfly/react-core": "^4.152.4", "@patternfly/react-icons": "^4.11.8", "@patternfly/react-table": "^4.29.37", "@react-pdf/renderer": "^2.0.18", @@ -19,7 +19,7 @@ "@redhat-cloud-services/frontend-components-translations": "^3.1.1", "@redhat-cloud-services/frontend-components-utilities": "^3.2.3", "@redhat-cloud-services/vulnerabilities-client": "1.0.101", - "axios": "^0.21.1", + "axios": "^0.21.3", "classnames": "^2.2.5", "marked": "^2.1.3", "query-string": "^7.0.1", diff --git a/src/Components/PresentationalComponents/CVEDetailsPageSidebar/__snapshots__/CVEDetailsPageSidebar.test.js.snap b/src/Components/PresentationalComponents/CVEDetailsPageSidebar/__snapshots__/CVEDetailsPageSidebar.test.js.snap index f0596eb54..2a8a0dd32 100644 --- a/src/Components/PresentationalComponents/CVEDetailsPageSidebar/__snapshots__/CVEDetailsPageSidebar.test.js.snap +++ b/src/Components/PresentationalComponents/CVEDetailsPageSidebar/__snapshots__/CVEDetailsPageSidebar.test.js.snap @@ -245,9 +245,17 @@ exports[`CVEDetailsPageSidebar component should render correctly 1`] = ` positionModifiers={ Object { "bottom": "pf-m-bottom", + "bottom-end": "pf-m-bottom-right", + "bottom-start": "pf-m-bottom-left", "left": "pf-m-left", + "left-end": "pf-m-left-bottom", + "left-start": "pf-m-left-top", "right": "pf-m-right", + "right-end": "pf-m-right-bottom", + "right-start": "pf-m-right-top", "top": "pf-m-top", + "top-end": "pf-m-top-right", + "top-start": "pf-m-top-left", } } trigger={ @@ -669,9 +677,17 @@ exports[`CVEDetailsPageSidebar component should render correctly 1`] = ` positionModifiers={ Object { "bottom": "pf-m-bottom", + "bottom-end": "pf-m-bottom-right", + "bottom-start": "pf-m-bottom-left", "left": "pf-m-left", + "left-end": "pf-m-left-bottom", + "left-start": "pf-m-left-top", "right": "pf-m-right", + "right-end": "pf-m-right-bottom", + "right-start": "pf-m-right-top", "top": "pf-m-top", + "top-end": "pf-m-top-right", + "top-start": "pf-m-top-left", } } trigger={ @@ -1121,9 +1137,17 @@ exports[`CVEDetailsPageSidebar component should render correctly 1`] = ` positionModifiers={ Object { "bottom": "pf-m-bottom", + "bottom-end": "pf-m-bottom-right", + "bottom-start": "pf-m-bottom-left", "left": "pf-m-left", + "left-end": "pf-m-left-bottom", + "left-start": "pf-m-left-top", "right": "pf-m-right", + "right-end": "pf-m-right-bottom", + "right-start": "pf-m-right-top", "top": "pf-m-top", + "top-end": "pf-m-top-right", + "top-start": "pf-m-top-left", } } trigger={ diff --git a/src/Components/PresentationalComponents/CVEDetailsPageSidebar/__snapshots__/SnippetWithHeaderAndPopover.test.js.snap b/src/Components/PresentationalComponents/CVEDetailsPageSidebar/__snapshots__/SnippetWithHeaderAndPopover.test.js.snap index 4f3bed92c..fa0198e0b 100644 --- a/src/Components/PresentationalComponents/CVEDetailsPageSidebar/__snapshots__/SnippetWithHeaderAndPopover.test.js.snap +++ b/src/Components/PresentationalComponents/CVEDetailsPageSidebar/__snapshots__/SnippetWithHeaderAndPopover.test.js.snap @@ -77,9 +77,17 @@ exports[`SnippetWithHeaderAndPopover Should render with title and label and Tool positionModifiers={ Object { "bottom": "pf-m-bottom", + "bottom-end": "pf-m-bottom-right", + "bottom-start": "pf-m-bottom-left", "left": "pf-m-left", + "left-end": "pf-m-left-bottom", + "left-start": "pf-m-left-top", "right": "pf-m-right", + "right-end": "pf-m-right-bottom", + "right-start": "pf-m-right-top", "top": "pf-m-top", + "top-end": "pf-m-top-right", + "top-start": "pf-m-top-left", } } trigger={ @@ -225,9 +233,17 @@ exports[`SnippetWithHeaderAndPopover Should render with title and label only 1`] positionModifiers={ Object { "bottom": "pf-m-bottom", + "bottom-end": "pf-m-bottom-right", + "bottom-start": "pf-m-bottom-left", "left": "pf-m-left", + "left-end": "pf-m-left-bottom", + "left-start": "pf-m-left-top", "right": "pf-m-right", + "right-end": "pf-m-right-bottom", + "right-start": "pf-m-right-top", "top": "pf-m-top", + "top-end": "pf-m-top-right", + "top-start": "pf-m-top-left", } } trigger={ @@ -370,9 +386,17 @@ exports[`SnippetWithHeaderAndPopover Should render without params 1`] = ` positionModifiers={ Object { "bottom": "pf-m-bottom", + "bottom-end": "pf-m-bottom-right", + "bottom-start": "pf-m-bottom-left", "left": "pf-m-left", + "left-end": "pf-m-left-bottom", + "left-start": "pf-m-left-top", "right": "pf-m-right", + "right-end": "pf-m-right-bottom", + "right-start": "pf-m-right-top", "top": "pf-m-top", + "top-end": "pf-m-top-right", + "top-start": "pf-m-top-left", } } trigger={ diff --git a/src/Components/PresentationalComponents/CVEDetailsPageSummary/__snapshots__/CVEDetailsPageSummary.test.js.snap b/src/Components/PresentationalComponents/CVEDetailsPageSummary/__snapshots__/CVEDetailsPageSummary.test.js.snap index e91e9f33e..1e6eddf6c 100644 --- a/src/Components/PresentationalComponents/CVEDetailsPageSummary/__snapshots__/CVEDetailsPageSummary.test.js.snap +++ b/src/Components/PresentationalComponents/CVEDetailsPageSummary/__snapshots__/CVEDetailsPageSummary.test.js.snap @@ -745,9 +745,17 @@ exports[`CVEDetailsPageSummary component should render with data 1`] = ` positionModifiers={ Object { "bottom": "pf-m-bottom", + "bottom-end": "pf-m-bottom-right", + "bottom-start": "pf-m-bottom-left", "left": "pf-m-left", + "left-end": "pf-m-left-bottom", + "left-start": "pf-m-left-top", "right": "pf-m-right", + "right-end": "pf-m-right-bottom", + "right-start": "pf-m-right-top", "top": "pf-m-top", + "top-end": "pf-m-top-right", + "top-start": "pf-m-top-left", } } trigger={ @@ -1005,9 +1013,17 @@ exports[`CVEDetailsPageSummary component should render with data 1`] = ` positionModifiers={ Object { "bottom": "pf-m-bottom", + "bottom-end": "pf-m-bottom-right", + "bottom-start": "pf-m-bottom-left", "left": "pf-m-left", + "left-end": "pf-m-left-bottom", + "left-start": "pf-m-left-top", "right": "pf-m-right", + "right-end": "pf-m-right-bottom", + "right-start": "pf-m-right-top", "top": "pf-m-top", + "top-end": "pf-m-top-right", + "top-start": "pf-m-top-left", } } trigger={ @@ -1339,9 +1355,17 @@ exports[`CVEDetailsPageSummary component should render with data 1`] = ` positionModifiers={ Object { "bottom": "pf-m-bottom", + "bottom-end": "pf-m-bottom-right", + "bottom-start": "pf-m-bottom-left", "left": "pf-m-left", + "left-end": "pf-m-left-bottom", + "left-start": "pf-m-left-top", "right": "pf-m-right", + "right-end": "pf-m-right-bottom", + "right-start": "pf-m-right-top", "top": "pf-m-top", + "top-end": "pf-m-top-right", + "top-start": "pf-m-top-left", } } trigger={ @@ -1954,9 +1978,17 @@ exports[`CVEDetailsPageSummary component should render with enabled WithLoader 1 positionModifiers={ Object { "bottom": "pf-m-bottom", + "bottom-end": "pf-m-bottom-right", + "bottom-start": "pf-m-bottom-left", "left": "pf-m-left", + "left-end": "pf-m-left-bottom", + "left-start": "pf-m-left-top", "right": "pf-m-right", + "right-end": "pf-m-right-bottom", + "right-start": "pf-m-right-top", "top": "pf-m-top", + "top-end": "pf-m-top-right", + "top-start": "pf-m-top-left", } } trigger={ @@ -2214,9 +2246,17 @@ exports[`CVEDetailsPageSummary component should render with enabled WithLoader 1 positionModifiers={ Object { "bottom": "pf-m-bottom", + "bottom-end": "pf-m-bottom-right", + "bottom-start": "pf-m-bottom-left", "left": "pf-m-left", + "left-end": "pf-m-left-bottom", + "left-start": "pf-m-left-top", "right": "pf-m-right", + "right-end": "pf-m-right-bottom", + "right-start": "pf-m-right-top", "top": "pf-m-top", + "top-end": "pf-m-top-right", + "top-start": "pf-m-top-left", } } trigger={ @@ -2548,9 +2588,17 @@ exports[`CVEDetailsPageSummary component should render with enabled WithLoader 1 positionModifiers={ Object { "bottom": "pf-m-bottom", + "bottom-end": "pf-m-bottom-right", + "bottom-start": "pf-m-bottom-left", "left": "pf-m-left", + "left-end": "pf-m-left-bottom", + "left-start": "pf-m-left-top", "right": "pf-m-right", + "right-end": "pf-m-right-bottom", + "right-start": "pf-m-right-top", "top": "pf-m-top", + "top-end": "pf-m-top-right", + "top-start": "pf-m-top-left", } } trigger={ @@ -3198,9 +3246,17 @@ exports[`CVEDetailsPageSummary component should render with long description 1`] positionModifiers={ Object { "bottom": "pf-m-bottom", + "bottom-end": "pf-m-bottom-right", + "bottom-start": "pf-m-bottom-left", "left": "pf-m-left", + "left-end": "pf-m-left-bottom", + "left-start": "pf-m-left-top", "right": "pf-m-right", + "right-end": "pf-m-right-bottom", + "right-start": "pf-m-right-top", "top": "pf-m-top", + "top-end": "pf-m-top-right", + "top-start": "pf-m-top-left", } } trigger={ @@ -3458,9 +3514,17 @@ exports[`CVEDetailsPageSummary component should render with long description 1`] positionModifiers={ Object { "bottom": "pf-m-bottom", + "bottom-end": "pf-m-bottom-right", + "bottom-start": "pf-m-bottom-left", "left": "pf-m-left", + "left-end": "pf-m-left-bottom", + "left-start": "pf-m-left-top", "right": "pf-m-right", + "right-end": "pf-m-right-bottom", + "right-start": "pf-m-right-top", "top": "pf-m-top", + "top-end": "pf-m-top-right", + "top-start": "pf-m-top-left", } } trigger={ @@ -3792,9 +3856,17 @@ exports[`CVEDetailsPageSummary component should render with long description 1`] positionModifiers={ Object { "bottom": "pf-m-bottom", + "bottom-end": "pf-m-bottom-right", + "bottom-start": "pf-m-bottom-left", "left": "pf-m-left", + "left-end": "pf-m-left-bottom", + "left-start": "pf-m-left-top", "right": "pf-m-right", + "right-end": "pf-m-right-bottom", + "right-start": "pf-m-right-top", "top": "pf-m-top", + "top-end": "pf-m-top-right", + "top-start": "pf-m-top-left", } } trigger={ @@ -4381,9 +4453,17 @@ exports[`CVEDetailsPageSummary component should render without data 1`] = ` positionModifiers={ Object { "bottom": "pf-m-bottom", + "bottom-end": "pf-m-bottom-right", + "bottom-start": "pf-m-bottom-left", "left": "pf-m-left", + "left-end": "pf-m-left-bottom", + "left-start": "pf-m-left-top", "right": "pf-m-right", + "right-end": "pf-m-right-bottom", + "right-start": "pf-m-right-top", "top": "pf-m-top", + "top-end": "pf-m-top-right", + "top-start": "pf-m-top-left", } } trigger={ @@ -4641,9 +4721,17 @@ exports[`CVEDetailsPageSummary component should render without data 1`] = ` positionModifiers={ Object { "bottom": "pf-m-bottom", + "bottom-end": "pf-m-bottom-right", + "bottom-start": "pf-m-bottom-left", "left": "pf-m-left", + "left-end": "pf-m-left-bottom", + "left-start": "pf-m-left-top", "right": "pf-m-right", + "right-end": "pf-m-right-bottom", + "right-start": "pf-m-right-top", "top": "pf-m-top", + "top-end": "pf-m-top-right", + "top-start": "pf-m-top-left", } } trigger={ @@ -4975,9 +5063,17 @@ exports[`CVEDetailsPageSummary component should render without data 1`] = ` positionModifiers={ Object { "bottom": "pf-m-bottom", + "bottom-end": "pf-m-bottom-right", + "bottom-start": "pf-m-bottom-left", "left": "pf-m-left", + "left-end": "pf-m-left-bottom", + "left-start": "pf-m-left-top", "right": "pf-m-right", + "right-end": "pf-m-right-bottom", + "right-start": "pf-m-right-top", "top": "pf-m-top", + "top-end": "pf-m-top-right", + "top-start": "pf-m-top-left", } } trigger={ diff --git a/src/Components/PresentationalComponents/CvssVector/__snapshots__/CvssVector.test.js.snap b/src/Components/PresentationalComponents/CvssVector/__snapshots__/CvssVector.test.js.snap index aa22115a9..542b37998 100644 --- a/src/Components/PresentationalComponents/CvssVector/__snapshots__/CvssVector.test.js.snap +++ b/src/Components/PresentationalComponents/CvssVector/__snapshots__/CvssVector.test.js.snap @@ -275,9 +275,17 @@ exports[`CvssVector Should render CVSSv3 when given both 1`] = ` positionModifiers={ Object { "bottom": "pf-m-bottom", + "bottom-end": "pf-m-bottom-right", + "bottom-start": "pf-m-bottom-left", "left": "pf-m-left", + "left-end": "pf-m-left-bottom", + "left-start": "pf-m-left-top", "right": "pf-m-right", + "right-end": "pf-m-right-bottom", + "right-start": "pf-m-right-top", "top": "pf-m-top", + "top-end": "pf-m-top-right", + "top-start": "pf-m-top-left", } } trigger={ @@ -642,9 +650,17 @@ exports[`CvssVector Should render with CVSSv2 1`] = ` positionModifiers={ Object { "bottom": "pf-m-bottom", + "bottom-end": "pf-m-bottom-right", + "bottom-start": "pf-m-bottom-left", "left": "pf-m-left", + "left-end": "pf-m-left-bottom", + "left-start": "pf-m-left-top", "right": "pf-m-right", + "right-end": "pf-m-right-bottom", + "right-start": "pf-m-right-top", "top": "pf-m-top", + "top-end": "pf-m-top-right", + "top-start": "pf-m-top-left", } } trigger={ @@ -1025,9 +1041,17 @@ exports[`CvssVector Should render with CVSSv3 1`] = ` positionModifiers={ Object { "bottom": "pf-m-bottom", + "bottom-end": "pf-m-bottom-right", + "bottom-start": "pf-m-bottom-left", "left": "pf-m-left", + "left-end": "pf-m-left-bottom", + "left-start": "pf-m-left-top", "right": "pf-m-right", + "right-end": "pf-m-right-bottom", + "right-start": "pf-m-right-top", "top": "pf-m-top", + "top-end": "pf-m-top-right", + "top-start": "pf-m-top-left", } } trigger={ @@ -1279,9 +1303,17 @@ exports[`CvssVector Should render without parameters 1`] = ` positionModifiers={ Object { "bottom": "pf-m-bottom", + "bottom-end": "pf-m-bottom-right", + "bottom-start": "pf-m-bottom-left", "left": "pf-m-left", + "left-end": "pf-m-left-bottom", + "left-start": "pf-m-left-top", "right": "pf-m-right", + "right-end": "pf-m-right-bottom", + "right-start": "pf-m-right-top", "top": "pf-m-top", + "top-end": "pf-m-top-right", + "top-start": "pf-m-top-left", } } trigger={ diff --git a/src/Components/PresentationalComponents/Snippets/__snapshots__/SnippetWithPopover.test.js.snap b/src/Components/PresentationalComponents/Snippets/__snapshots__/SnippetWithPopover.test.js.snap index 448d5011a..c8592df73 100644 --- a/src/Components/PresentationalComponents/Snippets/__snapshots__/SnippetWithPopover.test.js.snap +++ b/src/Components/PresentationalComponents/Snippets/__snapshots__/SnippetWithPopover.test.js.snap @@ -157,9 +157,17 @@ exports[`SnippetWithPopover component should render with business risk 1`] = ` positionModifiers={ Object { "bottom": "pf-m-bottom", + "bottom-end": "pf-m-bottom-right", + "bottom-start": "pf-m-bottom-left", "left": "pf-m-left", + "left-end": "pf-m-left-bottom", + "left-start": "pf-m-left-top", "right": "pf-m-right", + "right-end": "pf-m-right-bottom", + "right-start": "pf-m-right-top", "top": "pf-m-top", + "top-end": "pf-m-top-right", + "top-start": "pf-m-top-left", } } trigger={ @@ -549,9 +557,17 @@ exports[`SnippetWithPopover component should render with default status 1`] = ` positionModifiers={ Object { "bottom": "pf-m-bottom", + "bottom-end": "pf-m-bottom-right", + "bottom-start": "pf-m-bottom-left", "left": "pf-m-left", + "left-end": "pf-m-left-bottom", + "left-start": "pf-m-left-top", "right": "pf-m-right", + "right-end": "pf-m-right-bottom", + "right-start": "pf-m-right-top", "top": "pf-m-top", + "top-end": "pf-m-top-right", + "top-start": "pf-m-top-left", } } trigger={ @@ -818,9 +834,17 @@ exports[`SnippetWithPopover component should render with non-default status and positionModifiers={ Object { "bottom": "pf-m-bottom", + "bottom-end": "pf-m-bottom-right", + "bottom-start": "pf-m-bottom-left", "left": "pf-m-left", + "left-end": "pf-m-left-bottom", + "left-start": "pf-m-left-top", "right": "pf-m-right", + "right-end": "pf-m-right-bottom", + "right-start": "pf-m-right-top", "top": "pf-m-top", + "top-end": "pf-m-top-right", + "top-start": "pf-m-top-left", } } trigger={ diff --git a/src/Components/SmartComponents/SystemCves/__snapshots__/SystemCvesTable.test.js.snap b/src/Components/SmartComponents/SystemCves/__snapshots__/SystemCvesTable.test.js.snap index a7296f580..747b6d3a5 100644 --- a/src/Components/SmartComponents/SystemCves/__snapshots__/SystemCvesTable.test.js.snap +++ b/src/Components/SmartComponents/SystemCves/__snapshots__/SystemCvesTable.test.js.snap @@ -7259,9 +7259,17 @@ exports[`SystemCvesTable Should match snapshots 1`] = ` positionModifiers={ Object { "bottom": "pf-m-bottom", + "bottom-end": "pf-m-bottom-right", + "bottom-start": "pf-m-bottom-left", "left": "pf-m-left", + "left-end": "pf-m-left-bottom", + "left-start": "pf-m-left-top", "right": "pf-m-right", + "right-end": "pf-m-right-bottom", + "right-start": "pf-m-right-top", "top": "pf-m-top", + "top-end": "pf-m-top-right", + "top-start": "pf-m-top-left", } } trigger={ diff --git a/src/Components/SmartComponents/SystemsPage/SystemsPage.js b/src/Components/SmartComponents/SystemsPage/SystemsPage.js index e5009b44b..105cdacc1 100644 --- a/src/Components/SmartComponents/SystemsPage/SystemsPage.js +++ b/src/Components/SmartComponents/SystemsPage/SystemsPage.js @@ -61,7 +61,7 @@ const SystemsPage = () => { const apply = (params) => dispatch(changeSystemsParams(params)); - useEffect(() => apply(urlParameters), []); + useEffect(() => apply(urlParameters), []); useDeepCompareEffect(() => setUrlParams({ ...parameters }), [parameters]); @@ -72,7 +72,7 @@ const SystemsPage = () => { inventoryRef.current.onRefreshData(({ page: 1 })) ); - const doOptOut = useOptOutSystems({ selectedRows, selectedRowsCount, onRefreshInventory }); + const doOptOut = useOptOutSystems(onRefreshInventory); let columnCounter = useMemo(() => columnCounter ? columnCounter++ : 0, []); const getEntities = useGetEntities(APIHelper.getSystems, setUrlParams); @@ -81,7 +81,7 @@ const SystemsPage = () => {
- { hasError + {hasError ? : ( { onLoad={({ mergeWithEntities }) => { ReducerRegistry.register({ ...mergeWithEntities( - inventoryEntitiesReducer(SYSTEMS_HEADER) + inventoryEntitiesReducer(SYSTEMS_HEADER), + { + page: Number(parameters.page || 1), + perPage: Number(parameters.page_size || 20), + ...(parameters.sort && { + sortBy: { + key: parameters.sort.replace(/^-/, ''), + direction: parameters.sort.match(/^-/) ? 'desc' : 'asc' + } + }) + } ) }); }} @@ -117,12 +127,12 @@ const SystemsPage = () => { noSystemsTable={} > doOptOut(null, selectedRowsRawData.length === 1 && selectedRowsRawData[0].display_name, true), + onClick: () => doOptOut(selectedRows, selectedRowsRawData?.[0].display_name, true), props: { isDisabled: !selectedRowsCount || !kebabProps.selectedIncluded } }, { label: intl.formatMessage(messages.systemKebabIncludeAnalysis, { count: selectedRowsCount }), - onClick: () => doOptOut(null, selectedRowsRawData.length === 1 && selectedRowsRawData[0].display_name, false), + onClick: () => doOptOut(selectedRows, selectedRowsRawData?.[0].display_name, false, selectedRows), props: { isDisabled: !selectedRowsCount || !kebabProps.selectedExcluded } } ]; diff --git a/src/Helpers/CVEHelper.js b/src/Helpers/CVEHelper.js index d4e775cee..c38fbc5a8 100644 --- a/src/Helpers/CVEHelper.js +++ b/src/Helpers/CVEHelper.js @@ -205,7 +205,7 @@ export const systemTableRowActions = (rowData, optOutFunc) => [ : ), onClick: (event, rowId, rowData) => { - optOutFunc(rowData.id, rowData.display_name, !rowData.opt_out); + optOutFunc({ [rowData.id]: true }, rowData.display_name, !rowData.opt_out); } } ]; diff --git a/src/Helpers/CVEHelper.test.js b/src/Helpers/CVEHelper.test.js index f0d383c1e..db4e7cc8d 100644 --- a/src/Helpers/CVEHelper.test.js +++ b/src/Helpers/CVEHelper.test.js @@ -263,6 +263,6 @@ describe('CVEHelper', () => { const rawData = {id: 'testId', display_name: 'testName', opt_out: true}; const actions = systemTableRowActions(rawData, optOutFunc); actions[0].onClick(null, null, rawData); - expect((optOutFunc)).toHaveBeenCalledWith('testId', 'testName', false); + expect((optOutFunc)).toHaveBeenCalledWith({ testId: true }, 'testName', false); }) }); diff --git a/src/Helpers/Hooks.js b/src/Helpers/Hooks.js index 7658efef9..e1d070236 100644 --- a/src/Helpers/Hooks.js +++ b/src/Helpers/Hooks.js @@ -68,11 +68,7 @@ export const useGetEntities = (fetchApi, setUrlParams) => { return getEntities; }; -export const useOptOutSystems = ({ - selectedRows, - selectedRowsCount: count, - onRefreshInventory -}) => { +export const useOptOutSystems = onRefreshInventory => { const [addSuccessNotification] = useNotification({ variant: 'success' }); const [addFailureNotification] = useNotification({ variant: 'danger', autoDismiss: false }); const dispatch = useDispatch(); @@ -81,12 +77,14 @@ export const useOptOutSystems = ({ /** * Excludes/included provided system(s), if toggling one system systemId and systemName have to be set. * If toggling multiple systems, these two params are ignored and system info will be extracted from selectedRows. - * @param {?string} systemId - id of a system if only a single system is toggled + * @param {object} affectedRows - object with keys representing ids of systems to opt out/in * @param {?string} systemName - display name of a system if only a single system is toggled * @param {bool} isIncluded - if true systems will be excluded, else included */ - return (systemId, systemName, isIncluded) => { - dispatch(optOutSystemsAction(systemId ? [systemId] : Object.keys(selectedRows), isIncluded)) + return (affectedRows, systemName, isIncluded) => { + const count = Object.keys(affectedRows).length; + + dispatch(optOutSystemsAction(Object.keys(affectedRows), isIncluded)) .then(() => { isIncluded ? addSuccessNotification({ diff --git a/src/Store/Reducers/CVEsStore.js b/src/Store/Reducers/CVEsStore.js index 3815a0766..ddfd70e14 100644 --- a/src/Store/Reducers/CVEsStore.js +++ b/src/Store/Reducers/CVEsStore.js @@ -50,7 +50,7 @@ export const CVEsStore = (state = initialState, action) => { payload: action.payload, isLoading: false }, - prevLoadedRows: unionBy(state.prevLoadedRows, action.payload.data, 'id'), + prevLoadedRows: unionBy(action.payload.data, state.prevLoadedRows, 'id'), ...state.isAllExpanded && { expandedRows: action.payload.data.map(({ id }) => id) } }; diff --git a/src/Store/Reducers/InventoryEntitiesReducer.js b/src/Store/Reducers/InventoryEntitiesReducer.js index 13a832eb7..f8a82b26b 100644 --- a/src/Store/Reducers/InventoryEntitiesReducer.js +++ b/src/Store/Reducers/InventoryEntitiesReducer.js @@ -51,7 +51,7 @@ function modifyInventory(columns, state, action) { ...row, selected: state.selectedRows[row.id] === true })), - prevLoadedRows: unionBy(state.prevLoadedRows, action.payload.results, 'id') + prevLoadedRows: unionBy(action.payload.results, state.prevLoadedRows, 'id') }; }