X-Git-Url: https://gerrit.onap.org/r/gitweb?p=aai%2Fsparky-fe.git;a=blobdiff_plain;f=src%2Fapp%2FMainScreenHeader.jsx;h=14d6bf2fa40d47425306ba72eb8c3c997eaaa869;hp=1a39bc46956586b4efa8284914079369b75a2189;hb=HEAD;hpb=17ccebdd4b886ce3e2db145633cf6aa61f544695
diff --git a/src/app/MainScreenHeader.jsx b/src/app/MainScreenHeader.jsx
index 1a39bc4..14d6bf2 100644
--- a/src/app/MainScreenHeader.jsx
+++ b/src/app/MainScreenHeader.jsx
@@ -25,14 +25,18 @@ import FontAwesome from 'react-fontawesome';
import {clearFilters} from 'filter-bar-utils';
import Button from 'react-bootstrap/lib/Button.js';
import Modal from 'react-bootstrap/lib/Modal.js';
-import GlobalAutoCompleteSearchBar from 'app/globalAutoCompleteSearchBar/GlobalAutoCompleteSearchBar.jsx';
-import {postAnalyticsData} from 'app/analytics/AnalyticsActions.js';
+import {postAnalyticsData, getStoreAnalyticsPayload} from 'app/analytics/AnalyticsActions.js';
import GlobalInlineMessageBar from 'app/globalInlineMessageBar/GlobalInlineMessageBar.jsx';
import {getClearGlobalMessageEvent} from 'app/globalInlineMessageBar/GlobalInlineMessageBarActions.js';
import {externalUrlRequest, externalMessageRequest, getSubscriptionPayload} from 'app/contextHandler/ContextHandlerActions.js';
import { getConfigurableViewConfigs } from 'app/configurableViews/ConfigurableViewActions.js';
+import {GlobalExtConstants} from 'utils/GlobalExtConstants.js';
+import axios from 'axios';
+import {BASE_URL} from 'app/networking/NetworkConstants.js';
+
import {
- filterBarActionTypes
+ filterBarActionTypes,
+ ENVIRONMENT
} from 'utils/GlobalConstants.js';
import {
@@ -41,9 +45,10 @@ import {
} from 'react-router-dom';
import {
- AAI_TITLE,
- MENU_ITEM_TIER_SUPPORT,
- MENU_ITEM_VNF_SEARCH
+ AAI_TOP_LEFT_HEADER,
+ AAI_HTML_TITLE,
+ AAI_APERTURE_SERVICE,
+ AAI_LOADTEMPLATE_MAX_COUNT
} from './MainScreenWrapperConstants.js';
import {
@@ -54,8 +59,12 @@ import {
import {clearSuggestionsTextField} from 'app/globalAutoCompleteSearchBar/GlobalAutoCompleteSearchBarActions.js';
import {changeUrlAddress} from 'utils/Routes.js';
-import extensibleViews from 'resources/views/extensibleViews.json';
+import defaultViews from 'resources/views/defaultViews.json';
+import defaultViews_onap from 'resources/views/defaultViews_onap.json';
+import {getPersonalizationDetails} from 'app/personlaization/PersonalizationActions.js';
+import {isEmpty} from 'lodash';
+let INVLIST = GlobalExtConstants.INVLIST;
const mapStateToProps = ({mainWrapper, configurableViews}) => {
let {
@@ -64,7 +73,11 @@ const mapStateToProps = ({mainWrapper, configurableViews}) => {
externalRequestFound = {},
secondaryTitle = '',
subscriptionPayload = {},
- subscriptionEnabled = false
+ subscriptionEnabled = false,
+ aaiTopLeftPersonalizedHeader = AAI_TOP_LEFT_HEADER,
+ aaiPersonalizedHtmlDocumentTitle = AAI_HTML_TITLE,
+ aaiPersonalizedApertureService = AAI_APERTURE_SERVICE,
+ aaiPersonalizedLoadTemplateMaxCount = AAI_LOADTEMPLATE_MAX_COUNT
} = mainWrapper;
let {
@@ -78,7 +91,11 @@ const mapStateToProps = ({mainWrapper, configurableViews}) => {
secondaryTitle,
subscriptionPayload,
subscriptionEnabled,
- configurableViewsConfig
+ configurableViewsConfig,
+ aaiTopLeftPersonalizedHeader,
+ aaiPersonalizedHtmlDocumentTitle,
+ aaiPersonalizedApertureService,
+ aaiPersonalizedLoadTemplateMaxCount
};
};
@@ -90,7 +107,7 @@ const mapActionsToProps = (dispatch) => {
dispatch(showMainMenu(false));
},
dispatchAnalyticsData: () => dispatch(
- postAnalyticsData(document.documentElement.outerHTML.replace('\s+', ''))),
+ postAnalyticsData(getStoreAnalyticsPayload())),
onRouteChange: () => {
dispatch(getClearGlobalMessageEvent());
dispatch(clearSuggestionsTextField());
@@ -109,6 +126,9 @@ const mapActionsToProps = (dispatch) => {
},
onFetchCustomViews: () => {
dispatch(getConfigurableViewConfigs());
+ },
+ onGetPersonalizationValues: () => {
+ dispatch(getPersonalizationDetails());
}
};
};
@@ -119,7 +139,11 @@ class MainScreenHeader extends Component {
toggleButtonActive: PropTypes.bool,
externalRequestFound: PropTypes.object,
secondaryTitle: PropTypes.string,
- subscriptionPayload: PropTypes.object
+ subscriptionPayload: PropTypes.object,
+ aaiTopLeftPersonalizedHeader: PropTypes.string,
+ aaiPersonalizedHtmlDocumentTitle: PropTypes.string,
+ aaiPersonalizedApertureService: PropTypes.bool,
+ aaiPersonalizedLoadTemplateMaxCount: PropTypes.string
};
navigationLinkAndCurrentPathMatch(location, to) {
@@ -151,14 +175,73 @@ class MainScreenHeader extends Component {
}
componentWillMount() {
+ this.props.onGetPersonalizationValues();
this.props.onGetSubscriptionPayload();
if(this.props.match.params.externalUrl !== undefined &&
this.isValidExternalURL(this.props.match.params.externalUrl)) {
this.props.onExternalUrlRequest(this.props.match.params.externalUrl);
}
+ sessionStorage.setItem(ENVIRONMENT + 'ENABLE_ANALYSIS', !INVLIST.IS_ONAP);
+ var portalInfoPath = BASE_URL + '/portal/info';
+ //portalInfoPath = 'https://localhost:8000/portal/info';
+ axios.get(portalInfoPath).then(res => {
+ console.log('res:' + res.data);
+ var roles = [];
+ if(res.status === 200){
+ if(res.data.status && (res.data.status !== '200')){
+ this.setDefaultCredentials(res.data);
+ }else{
+ sessionStorage.setItem(ENVIRONMENT + 'userId', res.data.attuid);
+ for(var i = 0; i < res.data.role.length; i++){
+ roles.push(res.data.role[i].name);
+ }
+ sessionStorage.setItem(ENVIRONMENT + 'roles', roles);
+ }
+ }else{
+ this.setDefaultCredentials(res.data);
+ }
+ }, error=>{
+ this.setDefaultCredentials(error);
+ }).catch(error => {
+ this.setDefaultCredentials(error);
+ });
+ }
+
+ setDefaultCredentials = (error) =>{
+ console.log('MainScreenHeader.jsx :: Issue retrieving portal info from sparky backend, setting default, details - ' + JSON.stringify(error));
+ sessionStorage.setItem(ENVIRONMENT + 'userId', 'default_uid');
+ var roles = ['ui_view'];
+ sessionStorage.setItem(ENVIRONMENT + 'roles', roles);
}
componentWillReceiveProps(nextProps) {
+ if(!isEmpty(nextProps.aaiPersonalizedHtmlDocumentTitle)) {
+ if(!sessionStorage.getItem(ENVIRONMENT + 'PAGE_TITLE') || sessionStorage.getItem(ENVIRONMENT + 'PAGE_TITLE') !== nextProps.aaiPersonalizedHtmlDocumentTitle) {
+ sessionStorage.setItem(ENVIRONMENT + 'PAGE_TITLE', nextProps.aaiPersonalizedHtmlDocumentTitle);
+ }
+ document.title = nextProps.aaiPersonalizedHtmlDocumentTitle;
+ } else {
+ document.title = AAI_HTML_TITLE;
+ }
+ //Added for APERTURE Service Enable/Disable
+ if(!sessionStorage.getItem(ENVIRONMENT + 'APERTURE_SERVICE') || JSON.parse(sessionStorage.getItem(ENVIRONMENT + 'APERTURE_SERVICE')) !== nextProps.aaiPersonalizedApertureService) {
+ if(JSON.parse(sessionStorage.getItem(ENVIRONMENT + 'APERTURE_SERVICE')) !== nextProps.aaiPersonalizedApertureService){
+ sessionStorage.setItem(ENVIRONMENT + 'APERTURE_SERVICE', Boolean(nextProps.aaiPersonalizedApertureService));
+ if(nextProps.aaiPersonalizedApertureService){
+ sessionStorage.setItem(ENVIRONMENT + 'ENABLE_ANALYSIS', true);
+ }else{
+ sessionStorage.setItem(ENVIRONMENT + 'ENABLE_ANALYSIS', false);
+ }
+ }else{
+ sessionStorage.setItem(ENVIRONMENT + 'APERTURE_SERVICE', Boolean(nextProps.aaiPersonalizedApertureService));
+ }
+ }
+ if(!sessionStorage.getItem(ENVIRONMENT + 'APERTURE_SERVICE')){
+ sessionStorage.setItem(ENVIRONMENT + 'ENABLE_ANALYSIS', false);
+ }
+ if(!sessionStorage.getItem(ENVIRONMENT + 'LOADTEMPLATE_MAX_COUNT') || sessionStorage.getItem(ENVIRONMENT + 'LOADTEMPLATE_MAX_COUNT') !== nextProps.aaiPersonalizedLoadTemplateMaxCount) {
+ sessionStorage.setItem(ENVIRONMENT + 'LOADTEMPLATE_MAX_COUNT', nextProps.aaiPersonalizedLoadTemplateMaxCount);
+ }
if (this.props.location &&
this.props.location.pathname !==
nextProps.location.pathname) {
@@ -246,7 +329,8 @@ class MainScreenHeader extends Component {
onHideMenu,
toggleButtonActive,
secondaryTitle,
- configurableViewsConfig
+ configurableViewsConfig,
+ aaiTopLeftPersonalizedHeader
} = this.props;
let menuOptions = [];
@@ -274,33 +358,24 @@ class MainScreenHeader extends Component {
)}/>
);
- // add Tier Support view
- menuOptions.push(
-
- );
-
- // add VNF view
- menuOptions.push(
-
- );
+ let dv = defaultViews;
+ if(INVLIST.IS_ONAP){
+ dv = defaultViews_onap;
+ }
- // add all custom view menu options
- for (let view in extensibleViews) {
+ // add all default view menu options
+ for (let view in dv) {
let shouldDisplayIcon = false;
- if(extensibleViews[view]['onlyRoute'] === undefined){
+ if(dv[view]['onlyRoute'] === undefined){
shouldDisplayIcon = true;
- } else if(extensibleViews[view]['onlyRoute'] === false){
+ } else if(dv[view]['onlyRoute'] === false){
shouldDisplayIcon = true;
}
if(shouldDisplayIcon === true){
menuOptions.push(
-
+
);
}
}
@@ -335,8 +410,7 @@ class MainScreenHeader extends Component {
{menuOptions}
- {AAI_TITLE}
-
+ {aaiTopLeftPersonalizedHeader}