From ef711e958e831734d3c9ffc6c97443b129bf74c5 Mon Sep 17 00:00:00 2001 From: Gilad Lekner Date: Tue, 5 Mar 2019 14:21:36 +0200 Subject: [PATCH] fixes #26052 - navigation missing IDs --- package.json | 2 +- .../components/Layout/LayoutSelectors.js | 3 ++- .../__snapshots__/LayoutSelectors.test.js.snap | 16 ++++++++++++++++ 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index d4528576333e..49609f20caea 100644 --- a/package.json +++ b/package.json @@ -88,7 +88,7 @@ "multiselect": "~0.9.12", "number_helpers": "^0.1.1", "patternfly": "^3.58.0", - "patternfly-react": "^2.29.0", + "patternfly-react": "^2.30.0", "prop-types": "^15.6.0", "react": "^16.8.1", "react-bootstrap": "0.32.1", diff --git a/webpack/assets/javascripts/react_app/components/Layout/LayoutSelectors.js b/webpack/assets/javascripts/react_app/components/Layout/LayoutSelectors.js index cc502573e967..8576f8f29017 100644 --- a/webpack/assets/javascripts/react_app/components/Layout/LayoutSelectors.js +++ b/webpack/assets/javascripts/react_app/components/Layout/LayoutSelectors.js @@ -1,5 +1,5 @@ import { createSelector } from 'reselect'; -import { get } from 'lodash'; +import { get, snakeCase } from 'lodash'; export const selectLayout = state => state.layout; @@ -27,6 +27,7 @@ const patternflyItems = (data, currentLocation, currentOrganization) => { const childrenArray = []; item.children.forEach(child => { const childObject = { + id: `menu_item_${snakeCase(child.name)}`, title: child.name, isDivider: child.type === 'divider' && !!child.name, className: diff --git a/webpack/assets/javascripts/react_app/components/Layout/__tests__/__snapshots__/LayoutSelectors.test.js.snap b/webpack/assets/javascripts/react_app/components/Layout/__tests__/__snapshots__/LayoutSelectors.test.js.snap index 8c2346af82ea..31df73951b33 100644 --- a/webpack/assets/javascripts/react_app/components/Layout/__tests__/__snapshots__/LayoutSelectors.test.js.snap +++ b/webpack/assets/javascripts/react_app/components/Layout/__tests__/__snapshots__/LayoutSelectors.test.js.snap @@ -96,7 +96,9 @@ Array [ "subItems": Array [ Object { "className": "", + "dataID": "aid_", "href": "/", + "id": "menu_item_", "isDivider": false, "onClick": null, "preventHref": false, @@ -104,7 +106,9 @@ Array [ }, Object { "className": "", + "dataID": "aid_fact_values", "href": "/fact_values", + "id": "menu_item_fact_values", "isDivider": false, "onClick": null, "preventHref": false, @@ -120,7 +124,9 @@ Array [ "subItems": Array [ Object { "className": "", + "dataID": "aid_hosts_new", "href": "/hosts/new", + "id": "menu_item_hosts_new", "isDivider": false, "onClick": null, "preventHref": false, @@ -128,7 +134,9 @@ Array [ }, Object { "className": "", + "dataID": "aid_architectures", "href": "/architectures", + "id": "menu_item_architectures", "isDivider": false, "onClick": null, "preventHref": false, @@ -144,7 +152,9 @@ Array [ "subItems": Array [ Object { "className": "", + "dataID": "aid_environments", "href": "/environments", + "id": "menu_item_environments", "isDivider": false, "onClick": null, "preventHref": false, @@ -152,7 +162,9 @@ Array [ }, Object { "className": "", + "dataID": "aid_architectures", "href": "/architectures", + "id": "menu_item_architectures", "isDivider": false, "onClick": null, "preventHref": false, @@ -168,7 +180,9 @@ Array [ "subItems": Array [ Object { "className": "", + "dataID": "aid_domains", "href": "/domains", + "id": "menu_item_domains", "isDivider": false, "onClick": null, "preventHref": false, @@ -176,7 +190,9 @@ Array [ }, Object { "className": "", + "dataID": "aid_realms", "href": "/realms", + "id": "menu_item_realms", "isDivider": false, "onClick": null, "preventHref": false,