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')
};
}