mirror of https://github.com/goharbor/harbor.git
63 lines
4.6 KiB
HTML
63 lines
4.6 KiB
HTML
<clr-modal [(clrModalOpen)]="createEditDestinationOpened" [clrModalStaticBackdrop]="staticBackdrop" [clrModalClosable]="closable">
|
|
<h3 class="modal-title">{{modalTitle}}</h3>
|
|
<hbr-inline-alert class="modal-title" (confirmEvt)="confirmCancel($event)"></hbr-inline-alert>
|
|
<div class="modal-body">
|
|
<div class="alert alert-warning" *ngIf="!editable">
|
|
<div class="alert-item static">
|
|
<span class="alert-text">
|
|
{{'DESTINATION.CANNOT_EDIT' | translate}}
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<form #targetForm="ngForm">
|
|
<section class="form-block">
|
|
<div class="form-group">
|
|
<label for="destination_name" class="col-md-4 form-group-label-override required">{{ 'DESTINATION.NAME' | translate }}</label>
|
|
<label class="col-md-8" for="destination_name" aria-haspopup="true" role="tooltip" [class.invalid]="targetName.errors && (targetName.dirty || targetName.touched)" [class.valid]="targetName.valid" class="tooltip tooltip-validation tooltip-sm tooltip-bottom-left">
|
|
<input type="text" id="destination_name" [disabled]="testOngoing" [readonly]="!editable" [(ngModel)]="target.name" name="targetName" size="20" #targetName="ngModel" required>
|
|
<span class="tooltip-content" *ngIf="targetName.errors && targetName.errors.required && (targetName.dirty || targetName.touched)">
|
|
{{ 'DESTINATION.NAME_IS_REQUIRED' | translate }}
|
|
</span>
|
|
</label>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="destination_url" class="col-md-4 form-group-label-override required">{{ 'DESTINATION.URL' | translate }}</label>
|
|
<label class="col-md-8" for="destination_url" aria-haspopup="true" role="tooltip" [class.invalid]="targetEndpoint.errors && (targetEndpoint.dirty || targetEndpoint.touched)" [class.valid]="targetEndpoint.valid" class="tooltip tooltip-validation tooltip-sm tooltip-bottom-left">
|
|
<input type="text" id="destination_url" [disabled]="testOngoing" [readonly]="!editable" [(ngModel)]="target.endpoint" size="20" name="endpointUrl" #targetEndpoint="ngModel" required placeholder="http(s)://192.168.1.1">
|
|
<span class="tooltip-content" *ngIf="targetEndpoint.errors && targetEndpoint.errors.required && (targetEndpoint.dirty || targetEndpoint.touched)">
|
|
{{ 'DESTINATION.URL_IS_REQUIRED' | translate }}
|
|
</span>
|
|
</label>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="destination_username" class="col-md-4 form-group-label-override">{{ 'DESTINATION.USERNAME' | translate }}</label>
|
|
<input type="text" class="col-md-8" id="destination_username" [disabled]="testOngoing" [readonly]="!editable" [(ngModel)]="target.username" size="20" name="username" #username="ngModel">
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="destination_password" class="col-md-4 form-group-label-override">{{ 'DESTINATION.PASSWORD' | translate }}</label>
|
|
<input type="password" class="col-md-8" id="destination_password" [disabled]="testOngoing" [readonly]="!editable" [(ngModel)]="target.password" size="20" name="password" #password="ngModel">
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="destination_insecure" class="col-md-4 form-group-label-override">{{'CONFIG.VERIFY_REMOTE_CERT' | translate }}</label>
|
|
<clr-checkbox #insecure name="insecure" id="destination_insecure" [clrDisabled]="testOngoing || !editable" [clrChecked]="!target.insecure" [clrInline]="true" (clrCheckedChange)="setInsecureValue($event)">
|
|
</clr-checkbox>
|
|
<clr-tooltip>
|
|
<clr-icon clrTooltipTrigger shape="info-circle" size="24"></clr-icon>
|
|
<clr-tooltip-content clrPosition="top-right" clrSize="md" *clrIfOpen>
|
|
{{'CONFIG.TOOLTIP.VERIFY_REMOTE_CERT' | translate}}
|
|
</clr-tooltip-content>
|
|
</clr-tooltip>
|
|
</div>
|
|
<div class="form-group" style="height:30px;">
|
|
<label for="spin" class="col-md-4"></label>
|
|
<span class="col-md-8 spinner spinner-inline" [hidden]="!inProgress"></span>
|
|
</div>
|
|
</section>
|
|
</form>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="button" class="btn btn-outline" (click)="testConnection()" [disabled]="inProgress || targetEndpoint.errors">{{ 'DESTINATION.TEST_CONNECTION' | translate }}</button>
|
|
<button type="button" class="btn btn-outline" (click)="onCancel()" [disabled]="inProgress">{{ 'BUTTON.CANCEL' | translate }}</button>
|
|
<button type="submit" class="btn btn-primary" (click)="onSubmit()" [disabled]="!isValid">{{ 'BUTTON.OK' | translate }}</button>
|
|
</div>
|
|
</clr-modal> |