qpp-style 9.18.2 → 9.19.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/Header/HeaderAccountMenu.jsx +10 -85
- package/components/Header/HeaderUI.jsx +53 -61
- package/components/Header/hooks.js +16 -2
- package/components/SideNav/UI/SideNavUI.jsx +0 -6
- package/components/index.js +0 -2
- package/coverage/clover.xml +116 -119
- package/coverage/coverage-final.json +72 -73
- package/coverage/lcov-report/components/Accordion/index.html +116 -0
- package/coverage/lcov-report/components/Accordion/index.jsx.html +364 -0
- package/coverage/lcov-report/components/Button/index.html +116 -0
- package/coverage/lcov-report/components/Button/index.js.html +355 -0
- package/coverage/lcov-report/components/Error/Collapsible.jsx.html +349 -0
- package/coverage/lcov-report/components/Error/ErrorUI.jsx.html +178 -0
- package/coverage/lcov-report/components/Error/index.html +131 -0
- package/coverage/lcov-report/components/Footer/FooterUI.jsx.html +706 -0
- package/coverage/lcov-report/components/Footer/SocialLinks.jsx.html +265 -0
- package/coverage/lcov-report/components/Footer/Subscribe.jsx.html +187 -0
- package/coverage/lcov-report/components/Footer/index.html +146 -0
- package/coverage/lcov-report/components/GovBanner/index.html +116 -0
- package/coverage/lcov-report/components/GovBanner/index.js.html +436 -0
- package/coverage/lcov-report/components/Header/HeaderAccountMenu.jsx.html +592 -0
- package/coverage/lcov-report/components/Header/HeaderCancel.jsx.html +133 -0
- package/coverage/lcov-report/components/Header/HeaderContainer.jsx.html +280 -0
- package/coverage/lcov-report/components/Header/HeaderLogo.jsx.html +211 -0
- package/coverage/lcov-report/components/Header/HeaderMenuButton.js.html +235 -0
- package/coverage/lcov-report/components/Header/HeaderMenuItem.jsx.html +802 -0
- package/coverage/lcov-report/components/Header/HeaderMenuLink.js.html +253 -0
- package/coverage/lcov-report/components/Header/HeaderMenuSignOutButton.js.html +271 -0
- package/coverage/lcov-report/components/Header/HeaderMobileButton.js.html +196 -0
- package/coverage/lcov-report/components/Header/HeaderUI.jsx.html +586 -0
- package/coverage/lcov-report/components/Header/HelpIcon.jsx.html +181 -0
- package/coverage/lcov-report/components/Header/ImpersonatorBanner.jsx.html +331 -0
- package/coverage/lcov-report/components/Header/NavigationButtonIcon.jsx.html +166 -0
- package/coverage/lcov-report/components/Header/hooks.js.html +241 -0
- package/coverage/lcov-report/components/Header/index.html +326 -0
- package/coverage/lcov-report/components/Header/utag-helpers.js.html +112 -0
- package/coverage/lcov-report/components/Infotip/Infotip.jsx.html +310 -0
- package/coverage/lcov-report/components/Infotip/InfotipIcon.jsx.html +208 -0
- package/coverage/lcov-report/components/Infotip/index.html +146 -0
- package/coverage/lcov-report/components/Infotip/index.js.html +94 -0
- package/coverage/lcov-report/components/Modal/LegacyModal.jsx.html +301 -0
- package/coverage/lcov-report/components/Modal/Modal.jsx.html +505 -0
- package/coverage/lcov-report/components/Modal/index.html +146 -0
- package/coverage/lcov-report/components/Modal/index.jsx.html +151 -0
- package/coverage/lcov-report/components/NotificationBanner/CollapsedView.js.html +181 -0
- package/coverage/lcov-report/components/NotificationBanner/ExpandedView.js.html +220 -0
- package/coverage/lcov-report/components/NotificationBanner/index.html +146 -0
- package/coverage/lcov-report/components/NotificationBanner/index.js.html +748 -0
- package/coverage/lcov-report/components/SanitizedContent/index.html +116 -0
- package/coverage/lcov-report/components/SanitizedContent/index.jsx.html +685 -0
- package/coverage/lcov-report/components/SessionDialogUI.jsx.html +868 -0
- package/coverage/lcov-report/components/SideNav/Chart/ScoreChart.jsx.html +889 -0
- package/coverage/lcov-report/components/SideNav/Chart/index.html +116 -0
- package/coverage/lcov-report/components/SideNav/helpers.js.html +1057 -0
- package/coverage/lcov-report/components/SideNav/index.html +116 -0
- package/coverage/lcov-report/components/Tooltip/Tooltip.jsx.html +349 -0
- package/coverage/lcov-report/components/Tooltip/index.html +146 -0
- package/coverage/lcov-report/components/Tooltip/index.js.html +94 -0
- package/coverage/lcov-report/components/Tooltip/position.js.html +289 -0
- package/coverage/lcov-report/components/hooks/index.html +116 -0
- package/coverage/lcov-report/components/hooks/useGetConfig.js.html +310 -0
- package/coverage/lcov-report/components/index.html +116 -0
- package/coverage/lcov-report/index.html +11 -11
- package/coverage/lcov-report/lib/Chevron.jsx.html +181 -0
- package/coverage/lcov-report/lib/SvgComponents.jsx.html +1792 -0
- package/coverage/lcov-report/lib/index.html +131 -0
- package/coverage/lcov-report/react/components/Accordion/index.html +1 -1
- package/coverage/lcov-report/react/components/Accordion/index.jsx.html +1 -1
- package/coverage/lcov-report/react/components/Button/index.html +1 -1
- package/coverage/lcov-report/react/components/Button/index.js.html +1 -1
- package/coverage/lcov-report/react/components/Dropdown/index.html +1 -1
- package/coverage/lcov-report/react/components/Dropdown/index.js.html +1 -1
- package/coverage/lcov-report/react/components/Error/Collapsible.jsx.html +1 -1
- package/coverage/lcov-report/react/components/Error/ErrorUI.jsx.html +1 -1
- package/coverage/lcov-report/react/components/Error/error.js.html +1 -1
- package/coverage/lcov-report/react/components/Error/index.html +1 -1
- package/coverage/lcov-report/react/components/Footer/FooterUI.jsx.html +2 -2
- package/coverage/lcov-report/react/components/Footer/LegacyFooterUI.jsx.html +667 -0
- package/coverage/lcov-report/react/components/Footer/SocialLinks.jsx.html +1 -1
- package/coverage/lcov-report/react/components/Footer/Subscribe.jsx.html +1 -1
- package/coverage/lcov-report/react/components/Footer/footer.js.html +1 -1
- package/coverage/lcov-report/react/components/Footer/index.html +1 -1
- package/coverage/lcov-report/react/components/GovBanner/index.html +1 -1
- package/coverage/lcov-report/react/components/GovBanner/index.js.html +1 -1
- package/coverage/lcov-report/react/components/Header/HeaderAccountMenu.jsx.html +1 -1
- package/coverage/lcov-report/react/components/Header/HeaderCancel.jsx.html +1 -1
- package/coverage/lcov-report/react/components/Header/HeaderContainer.jsx.html +1 -1
- package/coverage/lcov-report/react/components/Header/HeaderLogo.jsx.html +1 -1
- package/coverage/lcov-report/react/components/Header/HeaderMenuButton.js.html +1 -1
- package/coverage/lcov-report/react/components/Header/HeaderMenuItem.jsx.html +1 -1
- package/coverage/lcov-report/react/components/Header/HeaderMenuLink.js.html +1 -1
- package/coverage/lcov-report/react/components/Header/HeaderMenuSignOutButton.js.html +1 -1
- package/coverage/lcov-report/react/components/Header/HeaderMobileButton.js.html +1 -1
- package/coverage/lcov-report/react/components/Header/HeaderUI.jsx.html +1 -1
- package/coverage/lcov-report/react/components/Header/HelpIcon.jsx.html +1 -1
- package/coverage/lcov-report/react/components/Header/ImpersonatorBanner.jsx.html +1 -1
- package/coverage/lcov-report/react/components/Header/NavigationButtonIcon.jsx.html +1 -1
- package/coverage/lcov-report/react/components/Header/header.js.html +1 -1
- package/coverage/lcov-report/react/components/Header/hooks.js.html +1 -1
- package/coverage/lcov-report/react/components/Header/index.html +1 -1
- package/coverage/lcov-report/react/components/Header/utag-helpers.js.html +1 -1
- package/coverage/lcov-report/react/components/Infotip/Infotip.jsx.html +1 -1
- package/coverage/lcov-report/react/components/Infotip/InfotipIcon.jsx.html +1 -1
- package/coverage/lcov-report/react/components/Infotip/index.html +1 -1
- package/coverage/lcov-report/react/components/Infotip/index.js.html +1 -1
- package/coverage/lcov-report/react/components/Modal/LegacyModal.jsx.html +1 -1
- package/coverage/lcov-report/react/components/Modal/Modal.jsx.html +1 -1
- package/coverage/lcov-report/react/components/Modal/index.html +1 -1
- package/coverage/lcov-report/react/components/Modal/index.jsx.html +1 -1
- package/coverage/lcov-report/react/components/NotificationBanner/CollapsedView.js.html +10 -10
- package/coverage/lcov-report/react/components/NotificationBanner/ExpandedView.js.html +1 -1
- package/coverage/lcov-report/react/components/NotificationBanner/index.html +11 -11
- package/coverage/lcov-report/react/components/NotificationBanner/index.js.html +1 -1
- package/coverage/lcov-report/react/components/SanitizedContent/index.html +1 -1
- package/coverage/lcov-report/react/components/SanitizedContent/index.jsx.html +1 -1
- package/coverage/lcov-report/react/components/SessionDialog/index.html +1 -1
- package/coverage/lcov-report/react/components/SessionDialog/sessionDialog.js.html +1 -1
- package/coverage/lcov-report/react/components/SessionDialogUI.jsx.html +1 -1
- package/coverage/lcov-report/react/components/SideNav/AnimationGroup/AnimationGroup.jsx.html +1 -1
- package/coverage/lcov-report/react/components/SideNav/AnimationGroup/index.html +1 -1
- package/coverage/lcov-report/react/components/SideNav/Chart/ScoreChart.jsx.html +1 -1
- package/coverage/lcov-report/react/components/SideNav/Chart/index.html +1 -1
- package/coverage/lcov-report/react/components/SideNav/Chart/index.js.html +1 -1
- package/coverage/lcov-report/react/components/SideNav/Content/LevelOneContent.jsx.html +1 -1
- package/coverage/lcov-report/react/components/SideNav/Content/LevelTwoContent.jsx.html +1 -1
- package/coverage/lcov-report/react/components/SideNav/Content/SelectRole/index.html +1 -1
- package/coverage/lcov-report/react/components/SideNav/Content/SelectRole/index.js.html +1 -1
- package/coverage/lcov-report/react/components/SideNav/Content/SelectRole/utils.js.html +1 -1
- package/coverage/lcov-report/react/components/SideNav/Content/index.html +1 -1
- package/coverage/lcov-report/react/components/SideNav/Content/index.js.html +1 -1
- package/coverage/lcov-report/react/components/SideNav/Details/IndividualDetails.jsx.html +1 -1
- package/coverage/lcov-report/react/components/SideNav/Details/PracticeDetails.jsx.html +1 -1
- package/coverage/lcov-report/react/components/SideNav/Details/index.html +1 -1
- package/coverage/lcov-report/react/components/SideNav/Details/index.js.html +1 -1
- package/coverage/lcov-report/react/components/SideNav/Links/CmsSwitchLink.jsx.html +1 -1
- package/coverage/lcov-report/react/components/SideNav/Links/NavItemInline.jsx.html +1 -1
- package/coverage/lcov-report/react/components/SideNav/Links/NavLinkContainer.jsx.html +1 -1
- package/coverage/lcov-report/react/components/SideNav/Links/NavLinkDrawer.jsx.html +2 -2
- package/coverage/lcov-report/react/components/SideNav/Links/NavLinkInline.jsx.html +1 -1
- package/coverage/lcov-report/react/components/SideNav/Links/NavLinkToggle.jsx.html +1 -1
- package/coverage/lcov-report/react/components/SideNav/Links/index.html +1 -1
- package/coverage/lcov-report/react/components/SideNav/Links/index.js.html +1 -1
- package/coverage/lcov-report/react/components/SideNav/UI/SideNavUI.jsx.html +2 -20
- package/coverage/lcov-report/react/components/SideNav/UI/index.html +1 -1
- package/coverage/lcov-report/react/components/SideNav/UI/index.js.html +1 -1
- package/coverage/lcov-report/react/components/SideNav/helpers.js.html +1 -1
- package/coverage/lcov-report/react/components/SideNav/index.html +1 -1
- package/coverage/lcov-report/react/components/SideNav/index.js.html +1 -1
- package/coverage/lcov-report/react/components/Tooltip/Tooltip.jsx.html +1 -1
- package/coverage/lcov-report/react/components/Tooltip/index.html +1 -1
- package/coverage/lcov-report/react/components/Tooltip/index.js.html +1 -1
- package/coverage/lcov-report/react/components/Tooltip/position.js.html +1 -1
- package/coverage/lcov-report/react/components/hooks/index.html +1 -1
- package/coverage/lcov-report/react/components/hooks/useGetConfig.js.html +1 -1
- package/coverage/lcov-report/react/components/index.html +1 -1
- package/coverage/lcov-report/react/index.html +1 -1
- package/coverage/lcov-report/react/index.js.html +1 -1
- package/coverage/lcov-report/react/lib/Chevron.jsx.html +1 -1
- package/coverage/lcov-report/react/lib/SvgComponents.jsx.html +1 -1
- package/coverage/lcov-report/react/lib/index.html +5 -20
- package/coverage/lcov-report/react/lib/svg-definitions.svg.html +1 -1
- package/coverage/lcov-report/react/session/index.html +1 -1
- package/coverage/lcov-report/react/session/index.js.html +1 -1
- package/coverage/lcov-report/react/session/logout.js.html +1 -1
- package/coverage/lcov-report/react/session/refresh.js.html +1 -1
- package/coverage/lcov-report/react/session/ttl.js.html +1 -1
- package/coverage/lcov-report/session/index.html +161 -0
- package/coverage/lcov-report/session/index.js.html +100 -0
- package/coverage/lcov-report/session/logout.js.html +307 -0
- package/coverage/lcov-report/session/refresh.js.html +232 -0
- package/coverage/lcov-report/session/ttl.js.html +196 -0
- package/coverage/lcov.info +91 -100
- package/dist/browser.js +1 -1
- package/dist/browser.js.LICENSE.txt +0 -6
- package/dist/browser.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.LICENSE.txt +0 -6
- package/dist/index.js.map +1 -1
- package/dist/react/index.js +1 -1
- package/dist/react/index.js.LICENSE.txt +0 -6
- package/dist/react/index.js.map +1 -1
- package/images/icons/svg/registration.svg +8 -0
- package/lib/SvgComponents.jsx +2 -2
- package/package.json +22 -22
- package/test-setup.js +0 -4
- package/components/Spinner/index.js +0 -9
- package/components/UnwrappedSpinner/index.js +0 -8
|
@@ -1,45 +1,23 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
|
-
import cookie from 'cookie';
|
|
4
|
-
import jwtDecode from 'jwt-decode';
|
|
5
|
-
|
|
6
3
|
import { useHeaderState } from './hooks';
|
|
7
4
|
import { setUtagLink } from './utag-helpers';
|
|
8
5
|
import SessionDialogUI from '../SessionDialogUI';
|
|
9
|
-
import {
|
|
10
|
-
performanceFeedbackUrl,
|
|
11
|
-
physicianCompareUrl,
|
|
12
|
-
dashboardUrl,
|
|
13
|
-
manageUrl,
|
|
14
|
-
submissionsUrl,
|
|
15
|
-
facilityBasedPreviewUrl,
|
|
16
|
-
} from '../SideNav/helpers';
|
|
17
6
|
import HeaderMenuItem from './HeaderMenuItem';
|
|
18
7
|
|
|
19
|
-
const HeaderAccountMenu = ({
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
isDevPre
|
|
25
|
-
performanceYear,
|
|
26
|
-
showFacilityBasedPreviewLink,
|
|
27
|
-
showPhysicianCompareLink,
|
|
28
|
-
}) => {
|
|
29
|
-
const cookies = cookie.parse(document.cookie);
|
|
30
|
-
const hasAuthToken = cookies.hasOwnProperty('qpp_auth_token');
|
|
31
|
-
const hasAuthorizations = cookies.qpp_has_authorizations === 'true';
|
|
32
|
-
const hasNonRegistryAuthorizations =
|
|
33
|
-
cookies.qpp_has_non_registry_authorizations === 'true';
|
|
34
|
-
const isDevPreAndNotAuthenticated = !hasAuthToken && isDevPre;
|
|
35
|
-
const { closeMenus, RouterLink } = useHeaderState();
|
|
8
|
+
const HeaderAccountMenu = ({ handleClick, isLoginEnabled, isDevPre }) => {
|
|
9
|
+
const { closeMenus, RouterLink, headerContent } = useHeaderState();
|
|
10
|
+
const { isLoggedIn, firstName, devPreMenuLinks, accountMenuLinks } =
|
|
11
|
+
headerContent;
|
|
12
|
+
|
|
13
|
+
const isDevPreAndNotAuthenticated = !isLoggedIn && isDevPre;
|
|
36
14
|
|
|
37
15
|
if (!isLoginEnabled || isDevPreAndNotAuthenticated) {
|
|
38
16
|
return null;
|
|
39
17
|
}
|
|
40
18
|
|
|
41
19
|
// login link
|
|
42
|
-
if (!
|
|
20
|
+
if (!isLoggedIn) {
|
|
43
21
|
if (RouterLink) {
|
|
44
22
|
return (
|
|
45
23
|
<li onClick={handleClick} className="header-item-login login">
|
|
@@ -85,50 +63,7 @@ const HeaderAccountMenu = ({
|
|
|
85
63
|
);
|
|
86
64
|
}
|
|
87
65
|
|
|
88
|
-
if (
|
|
89
|
-
const { firstName } = jwtDecode(cookies.qpp_auth_token);
|
|
90
|
-
const additionalLinks = [];
|
|
91
|
-
if (hasAuthorizations) {
|
|
92
|
-
additionalLinks.push(
|
|
93
|
-
{ type: 'link', href: dashboardUrl, name: 'Eligibility & Reporting' },
|
|
94
|
-
{
|
|
95
|
-
type: 'link',
|
|
96
|
-
href: performanceFeedbackUrl(
|
|
97
|
-
feedbackPerformanceYear || performanceYear
|
|
98
|
-
),
|
|
99
|
-
name: 'Performance Feedback',
|
|
100
|
-
}
|
|
101
|
-
);
|
|
102
|
-
if (showPhysicianCompareLink && hasNonRegistryAuthorizations) {
|
|
103
|
-
additionalLinks.push({
|
|
104
|
-
type: 'link',
|
|
105
|
-
href: physicianCompareUrl,
|
|
106
|
-
name: 'Doctors & Clinicians Preview',
|
|
107
|
-
});
|
|
108
|
-
}
|
|
109
|
-
if (showFacilityBasedPreviewLink) {
|
|
110
|
-
additionalLinks.push({
|
|
111
|
-
type: 'link',
|
|
112
|
-
href: facilityBasedPreviewUrl(fbpPerformanceYear || performanceYear),
|
|
113
|
-
name: 'Facility Based Preview',
|
|
114
|
-
});
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
const columns = [
|
|
118
|
-
[
|
|
119
|
-
{
|
|
120
|
-
items: [
|
|
121
|
-
{ type: 'link', href: submissionsUrl, name: 'Account Home' },
|
|
122
|
-
...additionalLinks,
|
|
123
|
-
{ type: 'link', href: manageUrl, name: 'Manage Access' },
|
|
124
|
-
{ type: 'signout', name: 'Sign Out' },
|
|
125
|
-
],
|
|
126
|
-
},
|
|
127
|
-
],
|
|
128
|
-
];
|
|
129
|
-
const devPreColumns = [
|
|
130
|
-
[{ items: [{ type: 'signout', name: 'Sign Out' }] }],
|
|
131
|
-
];
|
|
66
|
+
if (isLoggedIn) {
|
|
132
67
|
return (
|
|
133
68
|
<>
|
|
134
69
|
<SessionDialogUI />
|
|
@@ -138,8 +73,8 @@ const HeaderAccountMenu = ({
|
|
|
138
73
|
name={firstName}
|
|
139
74
|
subtitle="My Account"
|
|
140
75
|
className="account-menu-item"
|
|
141
|
-
columns={isDevPre ?
|
|
142
|
-
rows={isDevPre ?
|
|
76
|
+
columns={isDevPre ? devPreMenuLinks : accountMenuLinks}
|
|
77
|
+
rows={isDevPre ? devPreMenuLinks : accountMenuLinks}
|
|
143
78
|
/>
|
|
144
79
|
</>
|
|
145
80
|
);
|
|
@@ -148,21 +83,11 @@ const HeaderAccountMenu = ({
|
|
|
148
83
|
|
|
149
84
|
HeaderAccountMenu.propTypes = {
|
|
150
85
|
isLoginEnabled: PropTypes.bool.isRequired,
|
|
151
|
-
showPhysicianCompareLink: PropTypes.bool,
|
|
152
|
-
showFacilityBasedPreviewLink: PropTypes.bool,
|
|
153
|
-
performanceYear: PropTypes.number,
|
|
154
|
-
fbpPerformanceYear: PropTypes.string,
|
|
155
|
-
feedbackPerformanceYear: PropTypes.string,
|
|
156
86
|
isDevPre: PropTypes.bool,
|
|
157
87
|
handleClick: PropTypes.func.isRequired,
|
|
158
88
|
};
|
|
159
89
|
|
|
160
90
|
HeaderAccountMenu.defaultProps = {
|
|
161
|
-
showPhysicianCompareLink: false,
|
|
162
|
-
showFacilityBasedPreviewLink: false,
|
|
163
|
-
performanceYear: 2017,
|
|
164
|
-
fbpPerformanceYear: null,
|
|
165
|
-
feedbackPerformanceYear: null,
|
|
166
91
|
isDevPre: false,
|
|
167
92
|
};
|
|
168
93
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import React, { useState } from 'react';
|
|
1
|
+
import React, { useState, useEffect } from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
|
-
|
|
3
|
+
import axios from 'axios';
|
|
4
4
|
import HeaderAccountMenu from './HeaderAccountMenu.jsx';
|
|
5
5
|
import HeaderCancel from './HeaderCancel.jsx';
|
|
6
6
|
import HeaderContainer from './HeaderContainer';
|
|
@@ -8,26 +8,20 @@ import HeaderMenuItem from './HeaderMenuItem';
|
|
|
8
8
|
import HeaderMobileButton from './HeaderMobileButton';
|
|
9
9
|
import ImpersonatorBanner from './ImpersonatorBanner';
|
|
10
10
|
import HelpIcon from './HelpIcon';
|
|
11
|
-
import defaultHeaderContent from './default-content.json';
|
|
12
11
|
import { HeaderStateProvider } from './hooks';
|
|
13
|
-
import useGetConfig from '../hooks/useGetConfig';
|
|
14
12
|
|
|
15
13
|
const HeaderUI = ({
|
|
16
|
-
fbpPerformanceYear,
|
|
17
|
-
feedbackPerformanceYear,
|
|
18
14
|
handleCancel,
|
|
19
15
|
includeSkipToSidebar,
|
|
20
16
|
isDevPre,
|
|
21
17
|
isLoginEnabled,
|
|
22
|
-
performanceYear,
|
|
23
18
|
showCancelButton,
|
|
24
|
-
showPhysicianCompareLink,
|
|
25
|
-
showFacilityBasedPreviewLink,
|
|
26
19
|
skipToContentId,
|
|
27
20
|
RouterLink,
|
|
28
21
|
isIESupportPage,
|
|
29
22
|
}) => {
|
|
30
23
|
const [isMobileMenuExpanded, setIsMobileMenuExpanded] = useState(false);
|
|
24
|
+
const [headerContent, setHeaderContent] = useState({});
|
|
31
25
|
|
|
32
26
|
const mapContentToRows = (config) => {
|
|
33
27
|
// Append transposed array to content
|
|
@@ -47,53 +41,47 @@ const HeaderUI = ({
|
|
|
47
41
|
});
|
|
48
42
|
};
|
|
49
43
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
44
|
+
// execute on init render
|
|
45
|
+
useEffect(async () => {
|
|
46
|
+
let cancelRequest = false;
|
|
47
|
+
const { origin } = window.location;
|
|
48
|
+
const {
|
|
49
|
+
data: { data: navMenuItems },
|
|
50
|
+
} = await axios.get(`${origin}/config/header`);
|
|
51
|
+
if (!cancelRequest) setHeaderContent(navMenuItems);
|
|
52
|
+
return () => {
|
|
53
|
+
cancelRequest = true;
|
|
54
|
+
};
|
|
55
|
+
}, []);
|
|
58
56
|
|
|
59
|
-
|
|
60
|
-
return (
|
|
61
|
-
<HeaderStateProvider RouterLink={RouterLink}>
|
|
62
|
-
<HeaderContainer
|
|
63
|
-
showCancelButton
|
|
64
|
-
skipToContentId={skipToContentId}
|
|
65
|
-
includeSkipToSidebar={includeSkipToSidebar}
|
|
66
|
-
>
|
|
67
|
-
<HeaderCancel handleCancel={handleCancel} />
|
|
68
|
-
</HeaderContainer>
|
|
69
|
-
</HeaderStateProvider>
|
|
70
|
-
);
|
|
71
|
-
}
|
|
57
|
+
const content = mapContentToRows(headerContent?.content);
|
|
72
58
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
<ul className="navigation-menu">
|
|
83
|
-
<HeaderAccountMenu isDevPre isLoginEnabled={isLoginEnabled} />
|
|
84
|
-
</ul>
|
|
85
|
-
</nav>
|
|
86
|
-
</HeaderContainer>
|
|
87
|
-
</HeaderStateProvider>
|
|
88
|
-
);
|
|
89
|
-
}
|
|
59
|
+
const displayCancelContent = () => (
|
|
60
|
+
<HeaderContainer
|
|
61
|
+
showCancelButton
|
|
62
|
+
skipToContentId={skipToContentId}
|
|
63
|
+
includeSkipToSidebar={includeSkipToSidebar}
|
|
64
|
+
>
|
|
65
|
+
<HeaderCancel handleCancel={handleCancel} />
|
|
66
|
+
</HeaderContainer>
|
|
67
|
+
);
|
|
90
68
|
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
69
|
+
const displayDevPreContent = () => (
|
|
70
|
+
<HeaderContainer
|
|
71
|
+
isIESupportPage={isIESupportPage}
|
|
72
|
+
skipToContentId={skipToContentId}
|
|
73
|
+
includeSkipToSidebar={includeSkipToSidebar}
|
|
74
|
+
>
|
|
75
|
+
<nav aria-label="Primary navigation" hidden={!isMobileMenuExpanded}>
|
|
76
|
+
<ul className="navigation-menu">
|
|
77
|
+
<HeaderAccountMenu isDevPre isLoginEnabled={isLoginEnabled} />
|
|
78
|
+
</ul>
|
|
79
|
+
</nav>
|
|
80
|
+
</HeaderContainer>
|
|
81
|
+
);
|
|
94
82
|
|
|
95
|
-
|
|
96
|
-
|
|
83
|
+
const displayHeaderContent = () => (
|
|
84
|
+
<>
|
|
97
85
|
<HeaderContainer
|
|
98
86
|
isIESupportPage={isIESupportPage}
|
|
99
87
|
skipToContentId={skipToContentId}
|
|
@@ -118,24 +106,30 @@ const HeaderUI = ({
|
|
|
118
106
|
))}
|
|
119
107
|
<HeaderAccountMenu
|
|
120
108
|
handleClick={() => setIsMobileMenuExpanded(!isMobileMenuExpanded)}
|
|
121
|
-
fbpPerformanceYear={fbpPerformanceYear}
|
|
122
|
-
feedbackPerformanceYear={feedbackPerformanceYear}
|
|
123
109
|
isLoginEnabled={isLoginEnabled}
|
|
124
|
-
performanceYear={performanceYear}
|
|
125
|
-
showPhysicianCompareLink={showPhysicianCompareLink}
|
|
126
|
-
showFacilityBasedPreviewLink={showFacilityBasedPreviewLink}
|
|
127
110
|
/>
|
|
128
111
|
</ul>
|
|
129
112
|
</nav>
|
|
130
113
|
</HeaderContainer>
|
|
131
114
|
<ImpersonatorBanner />
|
|
115
|
+
</>
|
|
116
|
+
);
|
|
117
|
+
|
|
118
|
+
const displayContent = () => {
|
|
119
|
+
if (showCancelButton) return displayCancelContent();
|
|
120
|
+
if (isDevPre) return displayDevPreContent();
|
|
121
|
+
if (content?.length) return displayHeaderContent();
|
|
122
|
+
return null;
|
|
123
|
+
};
|
|
124
|
+
|
|
125
|
+
return (
|
|
126
|
+
<HeaderStateProvider RouterLink={RouterLink} headerContent={headerContent}>
|
|
127
|
+
{displayContent()}
|
|
132
128
|
</HeaderStateProvider>
|
|
133
129
|
);
|
|
134
130
|
};
|
|
135
131
|
|
|
136
132
|
HeaderUI.propTypes = {
|
|
137
|
-
fbpPerformanceYear: PropTypes.string,
|
|
138
|
-
feedbackPerformanceYear: PropTypes.string,
|
|
139
133
|
handleCancel: PropTypes.func,
|
|
140
134
|
includeSkipToSidebar: PropTypes.bool,
|
|
141
135
|
isDevPre: PropTypes.bool,
|
|
@@ -149,8 +143,6 @@ HeaderUI.propTypes = {
|
|
|
149
143
|
isIESupportPage: PropTypes.bool,
|
|
150
144
|
};
|
|
151
145
|
HeaderUI.defaultProps = {
|
|
152
|
-
fbpPerformanceYear: null,
|
|
153
|
-
feedbackPerformanceYear: null,
|
|
154
146
|
handleCancel: Function.prototype,
|
|
155
147
|
includeSkipToSidebar: false,
|
|
156
148
|
isDevPre: false,
|
|
@@ -16,7 +16,11 @@ export function useWindowWidth() {
|
|
|
16
16
|
|
|
17
17
|
export const HeaderStateContext = createContext(null);
|
|
18
18
|
|
|
19
|
-
export const HeaderStateProvider = ({
|
|
19
|
+
export const HeaderStateProvider = ({
|
|
20
|
+
children,
|
|
21
|
+
RouterLink,
|
|
22
|
+
headerContent, // allow header content from api request available to all child components
|
|
23
|
+
}) => {
|
|
20
24
|
const [currentOpenMenu, setCurrentOpenMenu] = useState('');
|
|
21
25
|
|
|
22
26
|
const handleToggleMenu = (name) => {
|
|
@@ -27,18 +31,28 @@ export const HeaderStateProvider = ({ children, RouterLink }) => {
|
|
|
27
31
|
};
|
|
28
32
|
|
|
29
33
|
const closeMenus = () => setCurrentOpenMenu('');
|
|
34
|
+
|
|
30
35
|
return (
|
|
31
36
|
<HeaderStateContext.Provider
|
|
32
|
-
value={{
|
|
37
|
+
value={{
|
|
38
|
+
currentOpenMenu,
|
|
39
|
+
handleToggleMenu,
|
|
40
|
+
closeMenus,
|
|
41
|
+
RouterLink,
|
|
42
|
+
headerContent,
|
|
43
|
+
}}
|
|
33
44
|
>
|
|
34
45
|
{children}
|
|
35
46
|
</HeaderStateContext.Provider>
|
|
36
47
|
);
|
|
37
48
|
};
|
|
49
|
+
|
|
38
50
|
HeaderStateProvider.propTypes = {
|
|
39
51
|
children: PropTypes.node.isRequired,
|
|
40
52
|
RouterLink: PropTypes.func,
|
|
53
|
+
headerContent: PropTypes.object,
|
|
41
54
|
};
|
|
55
|
+
|
|
42
56
|
HeaderStateProvider.defaultProps = {
|
|
43
57
|
RouterLink: null,
|
|
44
58
|
};
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import React, { useState, useEffect, useRef } from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
|
-
import SVGInline from 'react-svg-inline';
|
|
4
3
|
|
|
5
4
|
import { withGetConfig } from '../../hooks/useGetConfig';
|
|
6
5
|
import { LevelOneContent, LevelTwoContent } from '../Content';
|
|
@@ -15,7 +14,6 @@ import { PracticeDetails, IndividualDetails } from '../Details';
|
|
|
15
14
|
import { ScoreChart } from '../Chart';
|
|
16
15
|
import SanitizedContent from '../../SanitizedContent';
|
|
17
16
|
import * as SvgComponents from '../../../lib/SvgComponents.jsx';
|
|
18
|
-
import SVGIcons from '../../../lib/svg-definitions.svg';
|
|
19
17
|
import CmsSwitchLink from '../Links/CmsSwitchLink';
|
|
20
18
|
import defaultContent from './default-content';
|
|
21
19
|
|
|
@@ -30,7 +28,6 @@ const SideNavUI = ({
|
|
|
30
28
|
onExpanded,
|
|
31
29
|
performanceYear,
|
|
32
30
|
showReportingLinks,
|
|
33
|
-
svgIcons,
|
|
34
31
|
result,
|
|
35
32
|
}) => {
|
|
36
33
|
const [isExpandedState, setIsExpandedState] = useState(isExpanded);
|
|
@@ -274,7 +271,6 @@ const SideNavUI = ({
|
|
|
274
271
|
config.navClassName
|
|
275
272
|
}`}
|
|
276
273
|
>
|
|
277
|
-
<SVGInline svg={svgIcons} />
|
|
278
274
|
{content}
|
|
279
275
|
<NavLinkToggle
|
|
280
276
|
isAltStyle={isAltStyle}
|
|
@@ -297,7 +293,6 @@ SideNavUI.propTypes = {
|
|
|
297
293
|
isAltStyle: PropTypes.bool,
|
|
298
294
|
showReportingLinks: PropTypes.bool,
|
|
299
295
|
performanceYear: PropTypes.string,
|
|
300
|
-
svgIcons: PropTypes.string,
|
|
301
296
|
result: PropTypes.shape({
|
|
302
297
|
content: PropTypes.shape({
|
|
303
298
|
default: PropTypes.arrayOf(PropTypes.object),
|
|
@@ -320,7 +315,6 @@ SideNavUI.defaultProps = {
|
|
|
320
315
|
isAltStyle: false,
|
|
321
316
|
showReportingLinks: false,
|
|
322
317
|
performanceYear: '2017',
|
|
323
|
-
svgIcons: SVGIcons,
|
|
324
318
|
result: {
|
|
325
319
|
content: {
|
|
326
320
|
default: [],
|
package/components/index.js
CHANGED
|
@@ -9,7 +9,6 @@ import Footer from './Footer/FooterUI';
|
|
|
9
9
|
import Header from './Header/HeaderUI';
|
|
10
10
|
import Modal from './Modal';
|
|
11
11
|
import SideNav from './SideNav/UI/SideNavUI';
|
|
12
|
-
import Spinner from './UnwrappedSpinner';
|
|
13
12
|
import TabPanel from './Tabs/TabPanel';
|
|
14
13
|
import Tabs from './Tabs/index';
|
|
15
14
|
import Tooltip from './Tooltip';
|
|
@@ -115,7 +114,6 @@ export {
|
|
|
115
114
|
Modal,
|
|
116
115
|
Search,
|
|
117
116
|
SideNav,
|
|
118
|
-
Spinner,
|
|
119
117
|
TabPanel,
|
|
120
118
|
Tabs,
|
|
121
119
|
TextButton,
|