Skip to content
This repository has been archived by the owner on Mar 25, 2023. It is now read-only.

feat(so-additional-fields): Additional fields for SO #911

Merged
merged 28 commits into from
Feb 8, 2018
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
b75a7d6
Merge branch '498-so-classes' to 502-so-chooser
ksendart Jan 9, 2018
b2ae76c
#502-so-chooser - add modal window for service offerings
ksendart Jan 10, 2018
657e61f
#502-so-chooser - remove comments
ksendart Jan 11, 2018
1f2677a
#502-so-chooser - after discussion
ksendart Jan 12, 2018
aa1c9a8
#502-so-chooser - tests
ksendart Jan 15, 2018
f50297e
Merge branch 'master' into 502-so-chooser
ksendart Jan 15, 2018
f5b725f
#502-so-chooser - renaming errors fix
ksendart Jan 15, 2018
1a5f8d2
#502-so-chooser - rewrite for account tags
ksendart Jan 15, 2018
071d350
#502-so-chooser - rewrite for account tags, sort groups
ksendart Jan 16, 2018
04804a2
#502-so-chooser - edit config guide
ksendart Jan 16, 2018
12e39fc
update configGuide
ksendart Jan 16, 2018
afa704b
#502-so-chooser - after review
ksendart Jan 16, 2018
8285412
#502-so-chooser - after review
ksendart Jan 17, 2018
215aa07
#502-so-chooser - after review
ksendart Jan 17, 2018
85a383c
Merge branch 'master' into 502-so-chooser
ksendart Jan 18, 2018
56ce706
Merge branch 'master' into 502-so-chooser
ksendart Jan 18, 2018
8a12e15
Merge branch 'master' into 502-so-chooser
ksendart Jan 22, 2018
cf36981
#502-so-chooser - after review
ksendart Jan 22, 2018
4d6fb3e
#502-so-chooser - after review
ksendart Jan 22, 2018
adedef9
#859-so-additional-fields - add show/hide button
ksendart Jan 23, 2018
64841bf
#859-so-additional-fields - fix translations
ksendart Jan 23, 2018
f6d3b57
#859-so-additional-fields - buttons order
ksendart Jan 23, 2018
c5b607e
#859-so-additional-fields - after review
ksendart Jan 24, 2018
8d1f7bd
Merge branch 'master' into 859-so-additional-fields
ksendart Jan 31, 2018
abc36e8
859-so-additional-fields - after review
ksendart Jan 31, 2018
ecba8f5
Merge branch 'master' into 859-so-additional-fields
ksendart Feb 6, 2018
af9e334
#859-so-additional-fields - after testing
ksendart Feb 6, 2018
f8db041
#859-so-additional-fields - after testing
ksendart Feb 7, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ <h3 class="mat-dialog-title">
[customOfferingRestrictions]="restrictions"
[defaultParams]="defaultParams"
[selectedOffering]="serviceOffering"
[showFields]="showFields"
(selectedOfferingChange)="updateOffering($event)"
></cs-service-offering-list>

Expand All @@ -29,6 +30,10 @@ <h3 class="mat-dialog-title">
</div>
</div>
<div class="mat-dialog-actions">
<button mat-button color="primary" (click)="showFields = !showFields">
{{ (showFields ? 'SERVICE_OFFERING.HIDE_ADDITIONAL_FIELDS'
: 'SERVICE_OFFERING.SHOW_ADDITIONAL_FIELDS' )| translate }}
</button>
<button mat-button color="primary" matDialogClose>
{{ 'COMMON.CANCEL' | translate }}
</button>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ export class ServiceOfferingDialogComponent implements OnChanges {
@Output() public queryChange = new EventEmitter();
public serviceOffering: ServiceOffering;
public loading: boolean;
public showFields = false;

public ngOnChanges(changes: SimpleChanges) {
const listChanges = changes.serviceOfferings;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,60 +2,90 @@
<ng-container *ngIf="group.items.length">
<h4>{{ getName(group.soClass) | translate }}</h4>
<h5>{{ getDescription(group.soClass) | translate }}</h5>
<table class="mat-table">
<thead>
<tr class="mat-header-row">
<th class="mat-header-cell name-text"
[matTooltip]="'SERVICE_OFFERING.COLUMN.NAME' | translate">
{{ 'SERVICE_OFFERING.COLUMN.NAME' | translate }}
</th>
<th class="mat-header-cell field"
[matTooltip]="'SERVICE_OFFERING.COLUMN.CPU_NUMBER' | translate">
{{ 'SERVICE_OFFERING.COLUMN.CPU_NUMBER' | translate }}
</th>
<th class="mat-header-cell field"
[matTooltip]="'SERVICE_OFFERING.COLUMN.CPU_SPEED' | translate">
{{ 'SERVICE_OFFERING.COLUMN.CPU_SPEED' | translate }}
</th>
<th class="mat-header-cell field"
[matTooltip]="'SERVICE_OFFERING.COLUMN.MEMORY' | translate">
{{ 'SERVICE_OFFERING.COLUMN.MEMORY' | translate }}
</th>
<th class="mat-header-cell field"
[matTooltip]="'SERVICE_OFFERING.COLUMN.NETWORK_RATE' | translate">
{{ 'SERVICE_OFFERING.COLUMN.NETWORK_RATE' | translate }}
</th>
<th class="mat-header-cell"></th>
</tr>
</thead>
<tbody>
<tr class="mat-row"
*ngFor="let offering of group.items"
(click)="selectOffering(offering)"
>
<td class="mat-cell name-text" [matTooltip]="offering.name">
<span [innerHTML]="offering.name | highlight:query"></span>
</td>
<td class="mat-cell">
{{ offering.cpunumber || '-' }}
</td>
<td class="mat-cell">
{{ offering.cpuspeed || '-' }}
</td>
<td class="mat-cell">
{{ offering.memory || '-' }}
</td>
<td class="mat-cell">
{{ offering.networkrate || '-' }}
</td>
<td class="mat-cell">
<span>
<mat-radio-button id="{{offering.id}}" [checked]="selectedOffering && offering.id === selectedOffering.id"></mat-radio-button>
</span>
</td>
</tr>
</tbody>
</table>
<div class="table-wrapper">
<table class="mat-table">
<thead>
<tr class="mat-header-row">
<th class="mat-header-cell name-text"
[matTooltip]="'SERVICE_OFFERING.COLUMN.NAME' | translate">
{{ 'SERVICE_OFFERING.COLUMN.NAME' | translate }}
</th>
<th class="mat-header-cell field"
[matTooltip]="'SERVICE_OFFERING.COLUMN.CPU_NUMBER' | translate">
{{ 'SERVICE_OFFERING.COLUMN.CPU_NUMBER' | translate }}
</th>
<th class="mat-header-cell field"
[matTooltip]="'SERVICE_OFFERING.COLUMN.CPU_SPEED' | translate">
{{ 'SERVICE_OFFERING.COLUMN.CPU_SPEED' | translate }}
</th>
<th class="mat-header-cell field"
[matTooltip]="'SERVICE_OFFERING.COLUMN.MEMORY' | translate">
{{ 'SERVICE_OFFERING.COLUMN.MEMORY' | translate }}
</th>
<th class="mat-header-cell field"
[matTooltip]="'SERVICE_OFFERING.COLUMN.NETWORK_RATE' | translate">
{{ 'SERVICE_OFFERING.COLUMN.NETWORK_RATE' | translate }}
</th>
<th class="mat-header-cell field" *ngIf="showFields"
[matTooltip]="'SERVICE_OFFERING.COLUMN.NETWORK_RATE' | translate">
{{ 'SERVICE_OFFERING.COLUMN.DISK_BYTES_READ' | translate }}
</th>
<th class="mat-header-cell field" *ngIf="showFields"
[matTooltip]="'SERVICE_OFFERING.COLUMN.NETWORK_RATE' | translate">
{{ 'SERVICE_OFFERING.COLUMN.DISK_BYTES_WRITE' | translate }}
</th>
<th class="mat-header-cell field" *ngIf="showFields"
[matTooltip]="'SERVICE_OFFERING.COLUMN.NETWORK_RATE' | translate">
{{ 'SERVICE_OFFERING.COLUMN.DISK_IOPS_READ' | translate }}
</th>
<th class="mat-header-cell field" *ngIf="showFields"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe it is better way to use 'ng-container' ( for all 'th' ) with 'ngIf' here

[matTooltip]="'SERVICE_OFFERING.COLUMN.NETWORK_RATE' | translate">
{{ 'SERVICE_OFFERING.COLUMN.DISK_IOPS_WRITE' | translate }}
</th>
<th class="mat-header-cell"></th>
</tr>
</thead>
<tbody>
<tr class="mat-row"
*ngFor="let offering of group.items"
(click)="selectOffering(offering)"
>
<td class="mat-cell name-text" [matTooltip]="offering.name">
<span [innerHTML]="offering.name | highlight:query"></span>
</td>
<td class="mat-cell">
{{ offering.cpunumber || '-' }}
</td>
<td class="mat-cell">
{{ offering.cpuspeed || '-' }}
</td>
<td class="mat-cell">
{{ offering.memory || '-' }}
</td>
<td class="mat-cell">
{{ offering.networkrate || '-' }}
</td>
<td class="mat-cell" *ngIf="showFields">
{{ offering.diskBytesReadRate || '-' }}
</td>
<td class="mat-cell" *ngIf="showFields">
{{ offering.diskBytesWriteRate || '-' }}
</td>
<td class="mat-cell" *ngIf="showFields">
{{ offering.diskIopsReadRate || '-' }}
</td>
<td class="mat-cell" *ngIf="showFields">
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe it is better way to use 'ng-container' ( for all 'td' ) with 'ngIf' here

{{ offering.diskIopsWriteRate || '-' }}
</td>
<td class="mat-cell">
<span>
<mat-radio-button id="{{offering.id}}" [checked]="selectedOffering && offering.id === selectedOffering.id"></mat-radio-button>
</span>
</td>
</tr>
</tbody>
</table>
</div>
</ng-container>
</div>

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,13 @@
h4, h5 {
margin: 10px;
}
.table-wrapper {
background-color: rgba(226, 234, 6, 0.23);
width: 100%;
overflow-x: auto;
overflow-y: hidden;
}

table {
thead {
text-align: left;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ export class ServiceOfferingListComponent implements OnChanges {
@Input() public defaultParams: ICustomServiceOffering;
@Input() public selectedOffering: ServiceOffering;
@Input() public isLoading = false;
@Input() public showFields: boolean;
@Output() public selectedOfferingChange = new EventEmitter();

public list: Array<{ soClass: ServiceOfferingClass, items: Array<ServiceOffering>}>;
Expand Down
2 changes: 2 additions & 0 deletions src/i18n/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -1208,6 +1208,8 @@
"NO_AVAILABLE_OFFERINGS": "No available offerings",
"CPU_MHZ": "{{ count }}x{{ speed }} MHz",
"VM_WILL_BE_REBOOTED": "Virtual machine will be rebooted",
"SHOW_ADDITIONAL_FIELDS": "Show additional fields",
"HIDE_ADDITIONAL_FIELDS": "Hide additional fields",
"CUSTOM_SERVICE_OFFERING": {
"TITLE": "Custom offering",
"CPU_NUMBER": "CPU cores",
Expand Down
2 changes: 2 additions & 0 deletions src/i18n/ru.json
Original file line number Diff line number Diff line change
Expand Up @@ -1208,6 +1208,8 @@
"NO_AVAILABLE_OFFERINGS": "Нет доступных предложений",
"CPU_MHZ": "{{ count }}x{{ speed }} МГц",
"VM_WILL_BE_REBOOTED": "Машина будет перезагружена",
"SHOW_ADDITIONAL_FIELDS": "Показать дополнительные параметры",
"HIDE_ADDITIONAL_FIELDS": "Скрыть дополнительные параметры",
"CUSTOM_SERVICE_OFFERING": {
"TITLE": "Настраиваемое предложение",
"CPU_NUMBER": "Ядра CPU",
Expand Down