-
Notifications
You must be signed in to change notification settings - Fork 244
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[UI] Allow single item deletion from multi-value fields (#7084)
* Support single endpoint deletion from multi-endpoints component * Support single command deletion from multi-commands component * Support single key-value item deletion from multi-key-value component * Support single text item deletion from multi-text component * Support single volume mount item deletion from multi-volume-mounts component * Add Cypress test cases * Git-ignore Cypress screenshots folder * Generate static UI * Update Delete icon and add tooltip to it Co-authored-by: Philippe Martin <[email protected]> * Move the "delete endpoint" button closer to the element it is attached to Co-authored-by: Philippe Martin <[email protected]> * Generate static UI * Revert "Move the "delete endpoint" button closer to the element it is attached to" This reverts commit 4bf895f. * Move the "delete endpoint" buttons closer to the elements they are attached to Co-authored-by: Philippe Martin <[email protected]> * Generate static UI --------- Co-authored-by: Philippe Martin <[email protected]>
- Loading branch information
Showing
23 changed files
with
448 additions
and
91 deletions.
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
2 changes: 1 addition & 1 deletion
2
...piserver-impl/ui/main.d468134bf8c5f727.js → ...piserver-impl/ui/main.b3030afaec4e307d.js
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -42,5 +42,6 @@ testem.log | |
Thumbs.db | ||
|
||
/cypress/videos | ||
/cypress/screenshots | ||
|
||
.odo | ||
.odo |
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
schemaVersion: 2.2.0 | ||
metadata: {} | ||
components: | ||
- name: volume1 | ||
volume: {} | ||
- name: volume2 | ||
volume: | ||
size: 2Gi | ||
- name: volume3 | ||
volume: | ||
ephemeral: true | ||
size: 3G |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,17 @@ | ||
.mid-width { width: 50%; } | ||
.quart-width { width: 25%; } | ||
|
||
mat-card{ | ||
display:flex; | ||
flex-direction: row; | ||
margin-bottom: 16px; | ||
} | ||
|
||
mat-card-content{ | ||
flex-grow: 1; | ||
overflow: auto; | ||
} | ||
|
||
button.adjust-position { | ||
right: 6px; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,43 +1,49 @@ | ||
<div *ngFor="let control of form.controls; index as i"> | ||
<ng-container [formGroup]="control"> | ||
<mat-form-field class="mid-width" appearance="outline"> | ||
<mat-label><span>Name</span></mat-label> | ||
<input [attr.data-cy]="'endpoint-name-'+i" matInput formControlName="name"> | ||
</mat-form-field> | ||
<mat-form-field class="quart-width" appearance="outline"> | ||
<mat-label><span>Target Port</span></mat-label> | ||
<input [attr.data-cy]="'endpoint-targetPort-'+i" type="number" matInput formControlName="targetPort"> | ||
</mat-form-field> | ||
<mat-form-field class="quart-width" appearance="outline"> | ||
<mat-label>Exposure</mat-label> | ||
<mat-select [attr.data-cy]="'endpoint-exposure-'+i" formControlName="exposure"> | ||
<mat-option value="">(default, public)</mat-option> | ||
<mat-option value="public">public</mat-option> | ||
<mat-option value="internal">internal</mat-option> | ||
<mat-option value="none">none</mat-option> | ||
</mat-select> | ||
</mat-form-field> | ||
<div class="group"> | ||
<mat-card *ngFor="let control of form.controls; index as i"> | ||
<mat-card-content [formGroup]="control"> | ||
<mat-form-field class="mid-width" appearance="outline"> | ||
<mat-label><span>Name</span></mat-label> | ||
<input [attr.data-cy]="'endpoint-name-'+i" matInput formControlName="name"> | ||
</mat-form-field> | ||
<mat-form-field class="quart-width" appearance="outline"> | ||
<mat-label><span>Target Port</span></mat-label> | ||
<input [attr.data-cy]="'endpoint-targetPort-'+i" type="number" matInput formControlName="targetPort"> | ||
</mat-form-field> | ||
<mat-form-field class="quart-width" appearance="outline"> | ||
<mat-label>Exposure</mat-label> | ||
<mat-select [attr.data-cy]="'endpoint-exposure-'+i" formControlName="exposure"> | ||
<mat-option value="">(default, public)</mat-option> | ||
<mat-option value="public">public</mat-option> | ||
<mat-option value="internal">internal</mat-option> | ||
<mat-option value="none">none</mat-option> | ||
</mat-select> | ||
</mat-form-field> | ||
|
||
<mat-form-field class="mid-width" appearance="outline"> | ||
<mat-label><span>Path</span></mat-label> | ||
<input [attr.data-cy]="'endpoint-path-'+i" matInput formControlName="path"> | ||
</mat-form-field> | ||
<mat-form-field class="quart-width" appearance="outline"> | ||
<mat-label>Protocol</mat-label> | ||
<mat-select [attr.data-cy]="'endpoint-protocol-'+i" formControlName="protocol"> | ||
<mat-option value="">(default, http)</mat-option> | ||
<mat-option value="http">http</mat-option> | ||
<mat-option value="https">https</mat-option> | ||
<mat-option value="ws">ws</mat-option> | ||
<mat-option value="wss">wss</mat-option> | ||
<mat-option value="tcp">tcp</mat-option> | ||
<mat-option value="udp">udp</mat-option> | ||
</mat-select> | ||
</mat-form-field> | ||
<mat-checkbox [attr.data-cy]="'endpoint-secure-'+i" formControlName="secure">Protocol Is Secure</mat-checkbox> | ||
</ng-container> | ||
<mat-form-field class="mid-width" appearance="outline"> | ||
<mat-label><span>Path</span></mat-label> | ||
<input [attr.data-cy]="'endpoint-path-'+i" matInput formControlName="path"> | ||
</mat-form-field> | ||
<mat-form-field class="quart-width" appearance="outline"> | ||
<mat-label>Protocol</mat-label> | ||
<mat-select [attr.data-cy]="'endpoint-protocol-'+i" formControlName="protocol"> | ||
<mat-option value="">(default, http)</mat-option> | ||
<mat-option value="http">http</mat-option> | ||
<mat-option value="https">https</mat-option> | ||
<mat-option value="ws">ws</mat-option> | ||
<mat-option value="wss">wss</mat-option> | ||
<mat-option value="tcp">tcp</mat-option> | ||
<mat-option value="udp">udp</mat-option> | ||
</mat-select> | ||
</mat-form-field> | ||
<mat-checkbox [attr.data-cy]="'endpoint-secure-'+i" formControlName="secure">Protocol Is Secure</mat-checkbox> | ||
</mat-card-content> | ||
<mat-card-actions> | ||
<button [attr.data-cy]="'endpoint-minus-'+i" class="adjust-position" mat-icon-button matTooltip="Delete endpoint" (click)="removeEndpoint(i)"> | ||
<mat-icon class="tab-icon material-icons-outlined">delete_forever</mat-icon> | ||
</button> | ||
</mat-card-actions> | ||
</mat-card> | ||
<div> | ||
<button data-cy="endpoints-add" mat-flat-button (click)="addEndpoint()">Add an Endpoint</button> | ||
</div> | ||
</div> | ||
<button data-cy="endpoints-plus" *ngIf="form.value.length > 0" mat-icon-button (click)="addEndpoint()"> | ||
<mat-icon class="tab-icon material-icons-outlined">add</mat-icon> | ||
</button> | ||
<button data-cy="endpoints-add" *ngIf="form.value.length == 0" mat-flat-button (click)="addEndpoint()">Add an Endpoint</button> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,6 @@ | ||
h3 { margin-bottom: 0; } | ||
div.group { margin-bottom: 16px; } | ||
div.group { margin-bottom: 16px; } | ||
|
||
button.adjust-position { | ||
right: 6px; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
8 changes: 7 additions & 1 deletion
8
ui/src/app/controls/multi-key-value/multi-key-value.component.css
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,8 @@ | ||
div.group { margin-bottom: 16px; } | ||
.mid-width { width: 50%; } | ||
.kv-width { width: 45%; } | ||
|
||
button.adjust-position { | ||
right: 6px; | ||
top: 6px; | ||
} | ||
|
12 changes: 6 additions & 6 deletions
12
ui/src/app/controls/multi-key-value/multi-key-value.component.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,18 +1,18 @@ | ||
<div class="group"> | ||
<div *ngFor="let control of form.controls; index as i"> | ||
<ng-container [formGroup]="control"> | ||
<mat-form-field class="mid-width" appearance="outline"> | ||
<mat-form-field class="kv-width" appearance="outline"> | ||
<mat-label><span>Name</span></mat-label> | ||
<input [attr.data-cy]="dataCyPrefix+'-name-'+i" matInput formControlName="name"> | ||
</mat-form-field> | ||
<mat-form-field class="mid-width" appearance="outline"> | ||
<mat-form-field class="kv-width" appearance="outline"> | ||
<mat-label><span>Value</span></mat-label> | ||
<input [attr.data-cy]="dataCyPrefix+'-value-'+i" matInput formControlName="value"> | ||
</mat-form-field> | ||
<button [attr.data-cy]="dataCyPrefix+'-minus-'+i" class="adjust-position" mat-icon-button [matTooltip]="deleteLabel" (click)="removeEntry(i)"> | ||
<mat-icon class="tab-icon material-icons-outlined">delete_forever</mat-icon> | ||
</button> | ||
</ng-container> | ||
</div> | ||
<button [attr.data-cy]="dataCyPrefix+'-plus'" *ngIf="form.controls.length > 0" mat-icon-button (click)="addEntry('', '')"> | ||
<mat-icon class="tab-icon material-icons-outlined">add</mat-icon> | ||
</button> | ||
<button [attr.data-cy]="dataCyPrefix+'-add'" *ngIf="form.controls.length == 0" mat-flat-button (click)="addEntry('', '')">{{addLabel}}</button> | ||
<button [attr.data-cy]="dataCyPrefix+'-add'" mat-flat-button (click)="addEntry('', '')">{{addLabel}}</button> | ||
</div> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,7 @@ | ||
h3 { margin-bottom: 0; } | ||
div.group { margin-bottom: 16px; } | ||
div.group { margin-bottom: 16px; } | ||
|
||
button.adjust-position { | ||
right: 6px; | ||
top: 6px; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,13 +1,20 @@ | ||
<h3 *ngIf="title">{{title}}</h3> | ||
<div class="group"> | ||
<span *ngFor="let control of form.controls; index as i"> | ||
<mat-form-field class="inline" appearance="outline"> | ||
<mat-label><span>{{label}}</span></mat-label> | ||
<input matInput [formControl]="control"> | ||
</mat-form-field> | ||
</span> | ||
<button *ngIf="form.controls.length > 0" mat-icon-button (click)="addText('')"> | ||
<mat-icon class="tab-icon material-icons-outlined">add</mat-icon> | ||
</button> | ||
<button *ngIf="form.controls.length == 0" mat-flat-button (click)="addText('')">{{addLabel}}</button> | ||
<mat-card *ngIf="form.controls.length > 0"> | ||
<mat-card-content> | ||
<span *ngFor="let control of form.controls; index as i"> | ||
<mat-form-field class="inline" appearance="outline"> | ||
<mat-label><span>{{label}}</span></mat-label> | ||
<input [attr.data-cy]="dataCyPrefix+'-text-'+i" matInput [formControl]="control"> | ||
</mat-form-field> | ||
<button [attr.data-cy]="dataCyPrefix+'-minus-'+i" class="adjust-position" mat-icon-button [matTooltip]="deleteLabel" (click)="removeText(i)"> | ||
<mat-icon class="tab-icon material-icons-outlined">delete_forever</mat-icon> | ||
</button> | ||
</span> | ||
</mat-card-content> | ||
<mat-card-actions> | ||
<button [attr.data-cy]="'add-text'" mat-flat-button (click)="addText('')">{{addLabel}}</button> | ||
</mat-card-actions> | ||
</mat-card> | ||
<button *ngIf="form.controls.length == 0" [attr.data-cy]="'add-text'" mat-flat-button (click)="addText('')">{{addLabel}}</button> | ||
</div> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,7 @@ | ||
h3 { margin-bottom: 0; } | ||
div.group { margin-bottom: 16px; } | ||
div.group { margin-bottom: 16px; } | ||
|
||
button.adjust-position { | ||
right: 6px; | ||
top: 6px; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.