2d5b234fbfd99ce15fa9d7117efabb66b9c66e81
[sdc.git] / catalog-ui / src / app / view-models / workspace / workspace-view.html
1 <!--
2   ~ Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
3   ~
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
7   ~
8   ~      http://www.apache.org/licenses/LICENSE-2.0
9   ~
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.
15 -->
16
17 <div class="sdc-workspace-container">
18     <loader data-display="isLoading"></loader>
19     <div class="w-sdc-main-container">
20         <div class="w-sdc-left-sidebar" data-ng-if="!isComposition">
21             <div class="menu-header" tooltips tooltip-content="{{menuComponentTitle}}">
22                 {{menuComponentTitle}}
23             </div>
24             <div class="i-sdc-designer-sidebar-section-content-item" ng-class="{'selected': isSelected(menuItem)}" ng-repeat="menuItem in leftBarTabs.menuItems track by $index">
25                 <!--<div class="expand-collapse-menu-box-item-text" ng-click="menuItem.callback()" ng-class="{'disabled': menuItem.isDisabled }" data-tests-id="{{menuItem.text}}LeftSideMenu">{{menuItem.text}}</div>-->
26                 <div class="expand-collapse-menu-box-item-text" ng-class="{'disabled': menuItem.isDisabled }"><button data-tests-id="{{menuItem.text}}LeftSideMenu" type="button" class="i-sdc-designer-sidebar-section-content-item-service-cat" ng-click="menuItem.callback()" ng-disabled={{menuItem.disabledCategory}}>{{menuItem.text}}</button></div>
27             </div>
28         </div>
29
30         <div include-padding="true" class="w-sdc-main-right-container" data-ng-class="{'composition':isComposition, 'deployment':isDeployment}">
31             <loader data-display="isCreateProgress" data-ng-show="isCreateProgress" relative="false"></loader>
32
33             <div class="sdc-workspace-top-bar">
34                 <div class="version-container">
35
36                 <span data-ng-if="!isCreateMode() && !component.isLatestVersion()" class="not-latest"></span>
37                     <select class="version-selector" data-ng-if="!isCreateMode()" data-tests-id="versionHeader" data-ng-model="changeVersion.selectedVersion" data-ng-class="{'disabled': unsavedChanges}"
38                             ng-options="'V'+version.versionNumber for version in versionsList" data-ng-change="onVersionChanged(changeVersion.selectedVersion.versionId)">
39                     </select>
40                 </div>
41
42                 <div class="lifecycle-state">
43                     <div data-ng-show="showLifecycleIcon()" class="lifecycle-state-icon" data-ng-class="{'in-design-status-icon': isCreateMode(), '{{sdcMenu.LifeCycleStatuses[component.lifecycleState].icon}}': !isCreateMode()}"></div>
44                     <span class="lifecycle-state-text" data-tests-id="formlifecyclestate">{{getStatus()}}</span>
45                 </div>
46
47                 <div class="archive-state-label" ng-if="component.isArchived">
48                     <div class="sprite-new archive-label" ></div>
49                 </div>
50
51                 <div class="progress-container" >
52                     <top-progress class="general-view-top-progress" progress-value="progressService.getProgressValue(component.uniqueId)" progress-message="progressMessage"></top-progress>
53                 </div>
54
55                 <div class="sdc-workspace-top-bar-buttons">
56
57                     <span ng-if="!isCreateMode() && !component.isLatestVersion() && !showLatestVersion()" [disabled]="unsavedChanges">Switch to the&nbsp;<a data-tests-id="latest-version" ng-click="getLatestVersion()">latest version</a></span>
58                     
59
60                  <button ng-if="isDesigner() && !isCreateMode() && component.lifecycleState === 'CERTIFIED' && (component.isService() || component.getComponentSubType() === 'VF')"
61                             ng-disabled="hasNoDependencies"
62                             ng-click="openAutomatedUpgradeModal()"
63                             class="tlv-btn blue"
64                             data-ng-class="{'disabled' : component.isArchived}"
65                             data-tests-id="open-upgrade-vsp-popup"
66                             sdc-smart-tooltip="" prevent-double-click>{{component.isResource() ? 'Upgrade Services' : 'Update Services'}}</button>
67
68
69                     <button ng-repeat="(key,button) in changeLifecycleStateButtons"
70                             ng-click="changeLifecycleState(key)"
71                             ng-if="key != 'deleteVersion'"
72                             data-ng-disabled="checkDisableButton(button)"
73                             class="change-lifecycle-state-btn tlv-btn"
74                             ng-class="$first ? 'outline green' : 'grey'"
75                             data-tests-id="{{button.text  | testsId}}" prevent-double-click>
76                             {{button.text}}
77                         </button>
78
79
80                     <button ng-if="!isCreateMode() && component.isArchived"
81                         data-ng-class="{'disabled' :!isDesigner() || !component.isLatestVersion()}"
82                         ng-click="restoreComponent()"
83                         class="tlv-btn blue"
84                         data-tests-id="restore-component-button"
85                         prevent-double-click>Restore</button>
86
87                     <button ng-if="!isViewMode() && isCreateMode()" data-ng-disabled="!isValidForm || isDisableMode() || isLoading || unsavedChanges" ng-click="create()" class="tlv-btn outline green" data-tests-id="create/save">Create</button>
88
89                     <span data-ng-if="isDesigner() && !isCreateMode() && component.lifecycleState === 'NOT_CERTIFIED_CHECKOUT' && !component.isArchived" sdc-smart-tooltip=""
90                         data-ng-class="{'disabled' : !isValidForm || isDisableMode() || isViewMode() || unsavedChanges}" ng-click="changeLifecycleState('deleteVersion')"
91                         class="sprite-new delete-btn" data-tests-id="delete_version" sdc-smart-tooltip="Delete" prevent-double-click>Delete</span>
92
93                     <span data-ng-click = "archiveComponent()"
94                         ng-model-options="{ debounce: 300 }"
95                         data-ng-class="{'disabled' : !component.isLatestVersion()}"
96                         data-ng-if = "isDesigner() && component.lifecycleState !== 'NOT_CERTIFIED_CHECKOUT' && !isCreateMode() && !component.isArchived"
97                         data-tests-id="archive-component-button"
98                         class="sprite-new archive-btn" sdc-smart-tooltip="Archive" prevent-double-click>Archive</span>
99
100
101
102                     <span class="delimiter"></span>
103                     <span class="sprite-new x-btn" data-ng-click="goToBreadcrumbHome()" data-ng-class="{'disabled' : unsavedChanges}" sdc-smart-tooltip="">Close</span>
104
105                 </div>
106             </div>
107             <div class="w-sdc-main-container-body-content-wrapper">
108                 <div class="w-sdc-main-container-body-content-header">
109                     <div class="workspace-tab-title" data-ng-if="!isComposition && !isDeployment && !isPlugins">
110                         {{getTabTitle()}}
111                     </div>
112                 </div>
113                 <div class="w-sdc-main-container-body-content"  data-ng-class="{'deploy-body-content': isDeployment}" data-ng-class="{'third-party':thirdParty}" data-ui-view></div>
114             </div>
115         </div>
116     </div>
117     <top-nav [hide-search]="true" [menu-model]="breadcrumbsModel" [version]="version" [unsaved-changes]="unsavedChanges" [unsaved-changes-callback]="unsavedChangesCallback"></top-nav>
118 </div>