1 <div class="sdc-hierarchy-tab" ng-class="">
2 <sdc-loader [global]="false" [testId]="'hierarchy-tab-loader'" [active]="isLoading" [relative]="true" [size]="'medium'"></sdc-loader>
3 <div class="sdc-hierarchy-tab-title"
4 [attr.data-tests-id]="'tab-header'">{{'DEPLOYMENT_TAB_TITLE' | translate }}</div>
5 <div [ngClass]="{'scroll-module-list': selectedModule}">
6 <div *ngIf="topologyTemplateType != 'SERVICE'; else isService" class="modules-list">
8 <div class="sdc-hierarchy-tab-sub-title" data-tests-id="tab-sub-header">{{topologyTemplateName}}</div>
9 <div *ngFor="let module of modules; index as i">
10 <sdc-accordion [title]="module.name" [arrow-direction]="'left'"
11 [css-class]="'expand-collapse-container'"
12 [ngClass]="{'selected': selectedModule !== undefined && selectedModule.uniqueId === module.uniqueId}"
13 [testId]="'hierarchy-module-' + i + '-title'" tooltip="{{module.name}}"
14 (click)="onModuleSelected(module)">
15 <div *ngFor="let memberId of getKeys(module.members)">
16 <div class="expand-collapse-sub-title" tooltip="{{memberId}}">{{memberId}}</div>
23 <ng-template #isService>
24 <div class="module-list">
25 <div *ngFor="let instance of componentInstances; index as instanceIndex">
26 <sdc-accordion [title]="instance.name" [arrow-direction]="'left'"
27 [css-class]="'expand-collapse-container outer-container'"
28 [testId]="'hierarchy-instance-' + instanceIndex + '-title'"
29 tooltip="{{instance.name}}">
30 <div *ngFor="let module of instance.groupInstances; index as moduleIndex">
31 <sdc-accordion [title]="module.name" [arrow-direction]="'left'"
32 [css-class]="'expand-collapse-container inner-container'"
33 [ngClass]="{'selected': selectedModule && selectedModule.groupInstanceUniqueId === module.uniqueId}"
34 [testId]="'hierarchy-module-' + moduleIndex + '-title'"
35 tooltip="{{module.uniqueId}}"
36 (click)="onModuleSelected(module, instance.uniqueId)">
37 <div *ngFor="let memberId of getKeys(module.members)">
38 <div class="expand-collapse-sub-title" tooltip="{{memberId}}">{{memberId}}</div>
47 <!--TODO: Add Resizable-->
48 <div *ngIf="selectedModule"class="module-data-container" [attr.data-tests-id]="'selected-module-data'">
49 <div class="module-data">
50 <div class="module-name-container">
51 <div class="module-name module-text-overflow" [attr.data-tests-id]="'selected-module-name'"
52 tooltip="{{selectedModule.name}}">{{selectedModule.name}}</div>
53 <div class="edit-name-container" *ngIf="topologyTemplateType != 'SERVICE'">
54 <svg-icon name="edit-o" [size]="'medium'" [ngClass]="{'hand-pointer': !isViewOnly}" (click)="openEditModuleNamePopup($event)"></svg-icon>
57 <div [attr.data-tests-id]="'selected-module-group-uuid'" tooltip="{{selectedModule.groupUUID}}">
58 <div class="selected-module-property-header">Module ID:</div>
59 <div class="selected-module-property-value small-font">{{selectedModule.groupUUID}}</div>
61 <div [attr.data-tests-id]="'selected-module-group-customization-uuid'"
62 *ngIf="topologyTemplateType == 'SERVICE' && isViewOnly"
63 tooltip="{{selectedModule.customizationUUID}}">
64 <div class="selected-module-property-header">Customization ID:</div>
65 <div class="selected-module-property-value small-font">{{selectedModule.customizationUUID}}</div>
67 <div [attr.data-tests-id]="'selected-module-group-invariant-uuid'"
68 tooltip="{{selectedModule.invariantUUID}}">
69 <div class="selected-module-property-header">Invariant UUID:</div>
70 <div class="selected-module-property-value small-font">{{selectedModule.invariantUUID}}</div>
72 <div [attr.data-tests-id]="'selected-module-version'" class="selected-module-property-container">
73 <div class="selected-module-property-header">Version:</div>
74 <div class="selected-module-property-value same-row">{{selectedModule.version}}</div>
76 <div data-tests-id="selected-module-is-base" class="selected-module-property-container">
77 <div class="selected-module-property-header">IsBase:</div>
78 <div class="selected-module-property-value same-row">{{selectedModule.isBase}}</div>
82 <sdc-accordion [title]="'Properties'" [arrow-direction]="'right'"
83 [css-class]="'expand-collapse-module-data-container'">
84 <div *ngFor="let property of selectedModule.properties | orderBy:['name']:['asc']">
85 <div class="module-data-list-item">
86 <div class="module-data-list-item-value property-name"
87 [attr.data-tests-id]="'selected-module-property-name'">
88 <span tooltip="{{property.name}}" [ngClass]="{'hand-pointer': !isViewOnly}"
89 (click)="!isViewOnly && openEditPropertyModal(property)">{{property.name}}</span>
91 <div class="module-data-list-item-value property-info"
92 [attr.data-tests-id]="'selected-module-property-type'"> Type: {{property.type}}</div>
93 <div class="module-data-list-item-value property-info"
94 [attr.data-tests-id]="'selected-module-property-schema-type'">
95 Value: {{property.value}}</div>
99 <sdc-accordion [title]="'Artifacts'" [arrow-direction]="'right'"
100 [css-class]="'expand-collapse-module-data-container'">
101 <div *ngFor="let artifact of selectedModule.artifacts | orderBy:['artifactName']:['asc']">
102 <div class="module-data-list-item">
103 <div class="artifact-list-item">
104 <div class="module-data-list-item-value"
105 [attr.data-tests-id]="'selected-module-artifact-name'"
106 tooltip="{{artifact.artifactName}}">{{artifact.artifactName}}</div>
107 <div class="module-data-list-item-value artifact-info"
108 [attr.data-tests-id]="'selected-module-artifact-uuid'"
109 tooltip="{{artifact.artifactUUID}}">UUID: {{artifact.artifactUUID}}</div>
110 <div class="module-data-list-item-value artifact-info"
111 [attr.data-tests-id]="'selected-module-artifact-version'">
112 Version: {{artifact.artifactVersion}}</div>