2 * Copyright © 2016-2018 European Support Limited
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
16 import { tabsMapping, actionTypes } from './OnboardConstants.js';
17 import ScreensHelper from 'sdc-app/common/helpers/ScreensHelper.js';
18 import { enums, screenTypes } from 'sdc-app/onboarding/OnboardingConstants.js';
19 import VersionsPageActionHelper from 'sdc-app/onboarding/versionsPage/VersionsPageActionHelper.js';
21 import { itemTypes } from 'sdc-app/onboarding/versionsPage/VersionsPageConstants.js';
22 import PermissionsActionHelper from 'sdc-app/onboarding/permissions/PermissionsActionHelper.js';
23 import { actionTypes as filterActionTypes } from './filter/FilterConstants.js';
24 import { versionStatus } from 'sdc-app/common/helpers/ItemsHelperConstants.js';
26 const OnboardActionHelper = {
27 resetOnboardStore(dispatch) {
29 type: actionTypes.RESET_ONBOARD_STORE
32 changeActiveTab(dispatch, activeTab) {
33 this.clearSearchValue(dispatch);
35 type: actionTypes.CHANGE_ACTIVE_ONBOARD_TAB,
39 type: filterActionTypes.FILTER_DATA_CHANGED,
41 activeTab === tabsMapping.WORKSPACE
43 versionStatus: versionStatus.DRAFT
46 versionStatus: versionStatus.CERTIFIED
50 changeSearchValue(dispatch, searchValue) {
52 type: actionTypes.CHANGE_SEARCH_VALUE,
56 clearSearchValue(dispatch) {
58 type: actionTypes.CHANGE_SEARCH_VALUE,
63 loadVLMScreen(dispatch, { id: licenseModelId, name }, users, tab) {
64 if (tab === tabsMapping.WORKSPACE) {
65 VersionsPageActionHelper.fetchVersions(dispatch, {
66 itemId: licenseModelId,
67 itemType: itemTypes.LICENSE_MODEL
68 }).then(({ results }) => {
69 results = results.filter(
70 version => version.status === versionStatus.DRAFT
72 if (results.length !== 1) {
73 ScreensHelper.loadScreen(dispatch, {
74 screen: enums.SCREEN.VERSIONS_PAGE,
75 screenType: screenTypes.LICENSE_MODEL,
78 licenseModel: { name },
83 PermissionsActionHelper.fetchItemUsers(dispatch, {
84 itemId: licenseModelId,
87 ScreensHelper.loadLandingScreen(dispatch, {
88 screenType: screenTypes.LICENSE_MODEL,
89 props: { licenseModelId, version: results[0] }
95 if (tab === tabsMapping.CATALOG) {
96 ScreensHelper.loadScreen(dispatch, {
97 screen: enums.SCREEN.VERSIONS_PAGE,
98 screenType: screenTypes.LICENSE_MODEL,
101 licenseModel: { name },
107 loadVSPScreen(dispatch, softwareProduct, users, tab) {
109 id: softwareProductId,
110 vendorId: licenseModelId,
114 if (tab === tabsMapping.WORKSPACE) {
115 VersionsPageActionHelper.fetchVersions(dispatch, {
116 itemId: softwareProductId,
117 itemType: itemTypes.SOFTWARE_PRODUCT
118 }).then(({ results }) => {
119 results = results.filter(
120 version => version.status === versionStatus.DRAFT
122 if (results.length !== 1) {
123 ScreensHelper.loadScreen(dispatch, {
124 screen: enums.SCREEN.SOFTWARE_PRODUCT_VERSIONS_PAGE,
125 screenType: screenTypes.SOFTWARE_PRODUCT,
130 vendorId: licenseModelId,
137 PermissionsActionHelper.fetchItemUsers(dispatch, {
138 itemId: softwareProductId,
141 ScreensHelper.loadLandingScreen(dispatch, {
142 screenType: screenTypes.SOFTWARE_PRODUCT,
153 if (tab === tabsMapping.CATALOG) {
154 ScreensHelper.loadScreen(dispatch, {
155 screen: enums.SCREEN.SOFTWARE_PRODUCT_VERSIONS_PAGE,
156 screenType: screenTypes.SOFTWARE_PRODUCT,
161 vendorId: licenseModelId,
171 export default OnboardActionHelper;