3 (overlaySelected)="closeModal()">
5 <cds-modal-header (closeSelect)="closeModal()">
6 <h3 cdsModalHeaderHeading
7 i18n>Import Bootstrap Token</h3>
10 <section cdsModalContent>
11 <form name="importBootstrapForm"
14 [formGroup]="importBootstrapForm"
17 <ng-container i18n>To import a bootstrap token which was created
18 by a peer site cluster, provide the local site's name, select
19 which pools will have mirroring enabled, provide the generated
20 token, and click <kbd>Import</kbd>.</ng-container>
23 <div class="form-item">
24 <cds-text-label for="siteName"
26 cdRequiredField="Site Name"
27 [invalid]="!importBootstrapForm.controls['siteName'].valid && (importBootstrapForm.controls['siteName'].dirty || importBootstrapForm.controls['siteName'].touched)"
28 [invalidText]="siteNameError"
29 i18n-invalidText>Site Name
35 formControlName="siteName"
36 [invalid]="importBootstrapForm.showError('siteName', formDir, 'required')"
39 <ng-template #siteNameError>
40 <span *ngIf="importBootstrapForm.showError('siteName', formDir, 'required')"
41 class="invalid-feedback"
42 i18n>This field is required.</span>
46 <div class="form-item">
47 <cds-select label="Direction"
51 formControlName="direction">
52 <option *ngFor="let direction of directions"
53 [value]="direction.key">{{ direction.desc }}</option>
57 <div class="form-item"
58 formGroupName="pools">
60 <label class="cds--label"
63 <ng-container *ngFor="let pool of pools">
64 <cds-checkbox i18n-label
67 [formControlName]="pool.name">
72 <span *ngIf="importBootstrapForm.showError('pools', formDir, 'requirePool')"
73 class="invalid-feedback"
74 i18n>At least one pool is required.</span>
77 <div class="form-item">
78 <cds-textarea-label for="token"
79 [invalid]="importBootstrapForm.controls['token'].invalid && (importBootstrapForm.controls['token'].dirty || importBootstrapForm.controls['token'].touched)"
80 [invalidText]="tokenError"
81 cdRequiredField="Token"
84 placeholder="Generated token..."
87 formControlName="token"
90 [invalid]="importBootstrapForm.controls['token'].invalid && (importBootstrapForm.controls['token'].dirty || importBootstrapForm.controls['token'].touched)">
93 <ng-template #tokenError>
94 <span *ngIf="importBootstrapForm.showError('token', formDir, 'required')"
95 class="invalid-feedback"
96 i18n>This field is required.</span>
97 <span *ngIf="importBootstrapForm.showError('token', formDir, 'invalidToken')"
98 class="invalid-feedback"
99 i18n>The token is invalid.</span>
105 <cd-form-button-panel (submitActionEvent)="import()"
106 [form]="importBootstrapForm"
107 [submitText]="actionLabels.SUBMIT"
108 [modalForm]="true"></cd-form-button-panel>