summaryrefslogtreecommitdiffstats
path: root/catalog-ui/src/app/view-models/workspace/workspace-view.html
blob: 5ae3e28f2acb70eb4f657fca7fbd0d39e7476f75 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
<!--
  ~ Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
  ~
  ~ Licensed under the Apache License, Version 2.0 (the "License");
  ~ you may not use this file except in compliance with the License.
  ~ You may obtain a copy of the License at
  ~
  ~      http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
-->

<div class="sdc-workspace-container">
    <loader data-display="isLoading"></loader>
    <div class="w-sdc-main-container">
        <div class="w-sdc-left-sidebar" data-ng-if="!isComposition">
            <div class="menu-header" tooltips tooltip-content="{{menuComponentTitle}}">
                {{menuComponentTitle}}
            </div>
            <div class="i-sdc-designer-sidebar-section-content-item" ng-class="{'selected': isSelected(menuItem)}" ng-repeat="menuItem in leftBarTabs.menuItems track by $index">
                <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>
            </div>
        </div>

        <div include-padding="true" class="w-sdc-main-right-container" data-ng-class="{'composition':isComposition, 'deployment':isDeployment}">
            <loader data-display="isCreateProgress" data-ng-show="isCreateProgress" relative="false"></loader>

            <div class="sdc-workspace-top-bar">
                <div class="version-container">

                <span data-ng-if="!isCreateMode() && !component.isLatestVersion()" class="not-latest"></span>
                    <select class="version-selector" data-ng-if="!isCreateMode()" data-tests-id="versionHeader" data-ng-model="changeVersion.selectedVersion" data-ng-class="{'disabled': unsavedChanges}"
                            ng-options="'V'+version.versionNumber for version in versionsList" data-ng-change="onVersionChanged(changeVersion.selectedVersion.versionId)">
                    </select>
                </div>

                <div class="lifecycle-state">
                    <div data-ng-show="showLifecycleIcon()" class="lifecycle-state-icon" data-ng-class="{'in-design-status-icon': isCreateMode(), '{{sdcMenu.LifeCycleStatuses[component.lifecycleState].icon}}': !isCreateMode()}"></div>
                    <span class="lifecycle-state-text" data-tests-id="formlifecyclestate">{{getStatus()}}</span>
                </div>

                <div class="archive-state-label" ng-if="component.archived">
                    <div class="sprite-new archive-label" ></div>
                </div>

                <div class="progress-container" >
                    <top-progress class="general-view-top-progress" progress-value="progressService.getProgressValue(component.uniqueId)" progress-message="progressMessage"></top-progress>
                </div>

                <div class="sdc-workspace-top-bar-buttons">

                    <span ng-if="!isCreateMode() && !component.isLatestVersion() && !showChangeStateButton()" [disabled]="unsavedChanges">Switch to the&nbsp;<a ng-click="getLatestVersion()">latest version</a></span>

                 <button ng-if="isDesigner() && !isCreateMode() && component.lifecycleState === 'CERTIFIED' && (component.isService() || component.getComponentSubType() === 'VF')"
                            ng-click="openAutomatedUpgradeModal()"
                            class="tlv-btn blue"
                            data-ng-class="{'disabled' : component.archived}"
                            data-tests-id="open-upgrade-vsp-popup"
                            sdc-smart-tooltip="" prevent-double-click>{{component.isResource() ? 'Upgrade Services' : 'Update Services'}}</button>


                    <button ng-repeat="(key,button) in changeLifecycleStateButtons"
                            ng-click="changeLifecycleState(key)"
                            ng-if="showChangeStateButton() && key != 'deleteVersion'"
                            data-ng-disabled="isCreateMode() || button.disabled || disabledButtons || !isValidForm || unsavedChanges || component.archived"
                            class="change-lifecycle-state-btn tlv-btn"
                            ng-class="$first ? 'outline green' : 'grey'"
                            data-tests-id="{{button.text  | testsId}}" prevent-double-click>
                            {{button.text}}

                        </button>


                    <button ng-if="!isCreateMode() && component.archived"
                        data-ng-class="{'disabled' :!isDesigner() || !component.isLatestVersion()}"
                        ng-click="restoreComponent()"
                        class="tlv-btn blue"
                        data-tests-id="restore-component-button"
                        prevent-double-click>Restore</button>

                    <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>

                    <span data-ng-if="isDesigner() && !isCreateMode() && component.lifecycleState === 'NOT_CERTIFIED_CHECKOUT' && !component.archived" sdc-smart-tooltip=""
                        data-ng-class="{'disabled' : !isValidForm || isDisableMode() || isViewMode() || unsavedChanges}" ng-click="changeLifecycleState('deleteVersion')"
                        class="sprite-new delete-btn" data-tests-id="delete_version" sdc-smart-tooltip="Delete" prevent-double-click>Delete</span>

                    <span data-ng-click = "archiveComponent()"
                        ng-model-options="{ debounce: 300 }"
                        data-ng-class="{'disabled' : !component.isLatestVersion()}"
                        data-ng-if = "isDesigner() && component.lifecycleState !== 'NOT_CERTIFIED_CHECKOUT' && !isCreateMode() && !component.archived"
                        data-tests-id="archive-component-button"
                        class="sprite-new archive-btn" sdc-smart-tooltip="Archive" prevent-double-click>Archive</span>



                    <span class="delimiter"></span>
                    <span class="sprite-new x-btn" data-ng-click="goToBreadcrumbHome()" data-ng-class="{'disabled' : unsavedChanges}" sdc-smart-tooltip="">Close</span>

                </div>
            </div>
            <div class="w-sdc-main-container-body-content-wrapper">
                <div class="w-sdc-main-container-body-content-header">
                    <div class="tab-title" data-ng-if="!isComposition && !isDeployment && !isPlugins">
                        {{getTabTitle()}}
                    </div>
                </div>
                <div class="w-sdc-main-container-body-content" data-ng-class="{'third-party':thirdParty}" data-ui-view></div>
            </div>
        </div>
    </div>
    <top-nav [hide-search]="true" [menu-model]="breadcrumbsModel" [version]="version" [unsaved-changes]="unsavedChanges" [unsaved-changes-callback]="unsavedChangesCallback"></top-nav>
</div>