2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END=========================================================
21 import LicenseModelActionHelper from './licenseModel/LicenseModelActionHelper.js';
22 import LicenseAgreementActionHelper from './licenseModel/licenseAgreement/LicenseAgreementActionHelper.js';
23 import FeatureGroupsActionHelper from './licenseModel/featureGroups/FeatureGroupsActionHelper.js';
24 import LicenseKeyGroupsActionHelper from './licenseModel/licenseKeyGroups/LicenseKeyGroupsActionHelper.js';
25 import EntitlementPoolsActionHelper from './licenseModel/entitlementPools/EntitlementPoolsActionHelper.js';
26 import SoftwareProductActionHelper from './softwareProduct/SoftwareProductActionHelper.js';
27 import SoftwareProductProcessesActionHelper from './softwareProduct/processes/SoftwareProductProcessesActionHelper.js';
28 import SoftwareProductNetworksActionHelper from './softwareProduct/networks/SoftwareProductNetworksActionHelper.js';
29 import SoftwareProductComponentsActionHelper from './softwareProduct/components/SoftwareProductComponentsActionHelper.js';
30 import SoftwareProductComponentProcessesActionHelper from './softwareProduct/components/processes/SoftwareProductComponentProcessesActionHelper.js';
31 import SoftwareProductComponentsNetworkActionHelper from './softwareProduct/components/network/SoftwareProductComponentsNetworkActionHelper.js';
32 import SoftwareProductComponentsMonitoringAction from './softwareProduct/components/monitoring/SoftwareProductComponentsMonitoringActionHelper.js';
33 import {actionTypes, enums} from './OnboardingConstants.js';
34 import {navigationItems as SoftwareProductNavigationItems, actionTypes as SoftwareProductActionTypes} from 'sdc-app/onboarding/softwareProduct/SoftwareProductConstants.js';
35 import store from 'sdc-app/AppStore.js';
37 function setCurrentScreen(dispatch, screen, props = {}) {
39 type: actionTypes.SET_CURRENT_SCREEN,
47 function getCurrentLicenseModelVersion(licenseModelId) {
48 return store.getState().licenseModelList.find(({id}) => id === licenseModelId).version;
53 navigateToOnboardingCatalog(dispatch) {
54 LicenseModelActionHelper.fetchLicenseModels(dispatch);
55 SoftwareProductActionHelper.fetchSoftwareProductList(dispatch);
56 setCurrentScreen(dispatch, enums.SCREEN.ONBOARDING_CATALOG);
59 navigateToLicenseAgreements(dispatch, {licenseModelId, version}) {
61 version = getCurrentLicenseModelVersion(licenseModelId);
63 LicenseAgreementActionHelper.fetchLicenseAgreementList(dispatch, {licenseModelId, version});
64 LicenseModelActionHelper.fetchLicenseModelById(dispatch, {licenseModelId, version}).then(() => {
65 setCurrentScreen(dispatch, enums.SCREEN.LICENSE_AGREEMENTS, {licenseModelId});
69 navigateToFeatureGroups(dispatch, {licenseModelId, version}) {
71 version = getCurrentLicenseModelVersion(licenseModelId);
73 FeatureGroupsActionHelper.fetchFeatureGroupsList(dispatch, {licenseModelId, version});
74 setCurrentScreen(dispatch, enums.SCREEN.FEATURE_GROUPS, {licenseModelId});
77 navigateToEntitlementPools(dispatch, {licenseModelId, version}) {
79 version = getCurrentLicenseModelVersion(licenseModelId);
81 EntitlementPoolsActionHelper.fetchEntitlementPoolsList(dispatch, {licenseModelId, version});
82 setCurrentScreen(dispatch, enums.SCREEN.ENTITLEMENT_POOLS, {licenseModelId});
85 navigateToLicenseKeyGroups(dispatch, {licenseModelId, version}) {
87 version = getCurrentLicenseModelVersion(licenseModelId);
89 LicenseKeyGroupsActionHelper.fetchLicenseKeyGroupsList(dispatch, {licenseModelId, version});
90 setCurrentScreen(dispatch, enums.SCREEN.LICENSE_KEY_GROUPS, {licenseModelId});
93 navigateToSoftwareProductLandingPage(dispatch, {softwareProductId, licenseModelId, version, licensingVersion}) {
94 SoftwareProductActionHelper.fetchSoftwareProduct(dispatch, {softwareProductId, version}).then(response => {
95 if(!licensingVersion) {
96 licensingVersion = response[0].licensingVersion;
98 if (!licenseModelId) {
99 licenseModelId = response[0].vendorId;
102 SoftwareProductActionHelper.loadSoftwareProductDetailsData(dispatch, {licenseModelId, licensingVersion});
103 SoftwareProductComponentsActionHelper.fetchSoftwareProductComponents(dispatch, {softwareProductId, version});
105 setCurrentScreen(dispatch, enums.SCREEN.SOFTWARE_PRODUCT_LANDING_PAGE, {softwareProductId, licenseModelId, version});
109 navigateToSoftwareProductDetails(dispatch, {softwareProductId}) {
110 setCurrentScreen(dispatch, enums.SCREEN.SOFTWARE_PRODUCT_DETAILS, {softwareProductId});
113 navigateToSoftwareProductAttachments(dispatch, {softwareProductId}) {
114 setCurrentScreen(dispatch, enums.SCREEN.SOFTWARE_PRODUCT_ATTACHMENTS, {softwareProductId});
117 navigateToSoftwareProductProcesses(dispatch, {softwareProductId, version}) {
118 if (softwareProductId) {
119 SoftwareProductProcessesActionHelper.fetchProcessesList(dispatch, {softwareProductId, version});
121 setCurrentScreen(dispatch, enums.SCREEN.SOFTWARE_PRODUCT_PROCESSES, {softwareProductId});
124 navigateToSoftwareProductNetworks(dispatch, {softwareProductId, version}) {
125 if (softwareProductId) {
126 SoftwareProductNetworksActionHelper.fetchNetworksList(dispatch, {softwareProductId, version});
128 setCurrentScreen(dispatch, enums.SCREEN.SOFTWARE_PRODUCT_NETWORKS, {softwareProductId});
131 navigateToSoftwareProductComponents(dispatch, {softwareProductId}) {
132 setCurrentScreen(dispatch, enums.SCREEN.SOFTWARE_PRODUCT_COMPONENTS, {softwareProductId});
135 navigateToSoftwareProductComponentProcesses(dispatch, {softwareProductId, componentId, version}) {
136 if (componentId && softwareProductId) {
137 SoftwareProductComponentProcessesActionHelper.fetchProcessesList(dispatch, {componentId, softwareProductId, version});
139 setCurrentScreen(dispatch, enums.SCREEN.SOFTWARE_PRODUCT_COMPONENT_PROCESSES, {softwareProductId, componentId});
142 navigateToSoftwareProductComponentMonitoring(dispatch, {softwareProductId, componentId}){
143 if (componentId && softwareProductId) {
144 SoftwareProductComponentsMonitoringAction.fetchExistingFiles(dispatch, {componentId, softwareProductId});
146 setCurrentScreen(dispatch, enums.SCREEN.SOFTWARE_PRODUCT_COMPONENT_MONITORING, {softwareProductId, componentId});
149 navigateToComponentStorage(dispatch, {softwareProductId, componentId}) {
150 setCurrentScreen(dispatch, enums.SCREEN.SOFTWARE_PRODUCT_COMPONENT_STORAGE, {softwareProductId, componentId});
153 navigateToComponentCompute(dispatch, {softwareProductId, componentId}) {
154 setCurrentScreen(dispatch, enums.SCREEN.SOFTWARE_PRODUCT_COMPONENT_COMPUTE, {softwareProductId, componentId});
157 navigateToComponentNetwork(dispatch, {softwareProductId, componentId, version}) {
158 SoftwareProductComponentsNetworkActionHelper.fetchNICsList(dispatch, {softwareProductId, componentId, version});
159 setCurrentScreen(dispatch, enums.SCREEN.SOFTWARE_PRODUCT_COMPONENT_NETWORK, {softwareProductId, componentId});
162 navigateToSoftwareProductComponentGeneral(dispatch, {softwareProductId, componentId, version}) {
163 if (componentId && softwareProductId) {
164 SoftwareProductComponentsActionHelper.fetchSoftwareProductComponent(dispatch, {softwareProductId, vspComponentId: componentId, version});
165 SoftwareProductComponentsActionHelper.fetchSoftwareProductComponentQuestionnaire(dispatch, {
167 vspComponentId: componentId,
171 setCurrentScreen(dispatch, enums.SCREEN.SOFTWARE_PRODUCT_COMPONENT_GENERAL, {softwareProductId, componentId});
174 navigateToSoftwareProductComponentGeneralAndUpdateLeftPanel(dispatch, {softwareProductId, componentId, version}) {
175 this.navigateToSoftwareProductComponentGeneral(dispatch, {softwareProductId, componentId, version});
177 type: SoftwareProductActionTypes.TOGGLE_NAVIGATION_ITEM,
179 [SoftwareProductNavigationItems.COMPONENTS]: true,
180 [SoftwareProductNavigationItems.COMPONENTS + '|' + componentId]: true
185 navigateToComponentLoadBalancing(dispatch, {softwareProductId, componentId}) {
186 setCurrentScreen(dispatch, enums.SCREEN.SOFTWARE_PRODUCT_COMPONENT_LOAD_BALANCING, {softwareProductId, componentId});