summaryrefslogtreecommitdiffstats
path: root/src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/osd/osd-recv-speed-modal/osd-recv-speed-modal.component.html
blob: eb54c82f50d3d16ae97a6fcb7c7ae9ff50c3abbe (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
<cd-modal [modalRef]="activeModal">
  <ng-container class="modal-title"
                i18n>OSD Recovery Priority</ng-container>

  <ng-container class="modal-content">
    <form #formDir="ngForm"
          [formGroup]="osdRecvSpeedForm"
          novalidate
          cdFormScope="osd">
      <div class="modal-body">
        <!-- Priority -->
        <div class="form-group row">
          <label class="cd-col-form-label required"
                 for="priority"
                 i18n>Priority</label>
          <div class="cd-col-form-input">
            <select class="form-control"
                    formControlName="priority"
                    id="priority"
                    (change)="onPriorityChange($event.target.value)">
              <option *ngFor="let priority of priorities"
                      [value]="priority.name">
                {{ priority.text }}
              </option>
            </select>
            <span class="invalid-feedback"
                  *ngIf="osdRecvSpeedForm.showError('priority', formDir, 'required')"
                  i18n>This field is required.</span>
          </div>
        </div>

        <!-- Customize priority -->
        <div class="form-group row">
          <div class="cd-col-form-offset">
            <div class="custom-control custom-checkbox">
              <input formControlName="customizePriority"
                     class="custom-control-input"
                     id="customizePriority"
                     name="customizePriority"
                     type="checkbox"
                     (change)="onCustomizePriorityChange()">
              <label class="custom-control-label"
                     for="customizePriority"
                     i18n>Customize priority values</label>
            </div>
          </div>
        </div>

        <!-- Priority values -->
        <div class="form-group row"
             *ngFor="let attr of priorityAttrs | keyvalue">
          <label class="cd-col-form-label"
                 [for]="attr.key">
            <span [ngClass]="{'required': osdRecvSpeedForm.getValue('customizePriority')}">
              {{ attr.value.text }}
            </span>
            <cd-helper *ngIf="attr.value.desc">{{ attr.value.desc }}</cd-helper>
          </label>
          <div class="cd-col-form-input">
            <input class="form-control"
                   type="number"
                   [id]="attr.key"
                   [formControlName]="attr.key"
                   [readonly]="!osdRecvSpeedForm.getValue('customizePriority')">
            <span class="invalid-feedback"
                  *ngIf="osdRecvSpeedForm.getValue('customizePriority') &&
                  osdRecvSpeedForm.showError(attr.key, formDir, 'required')"
                  i18n>This field is required!</span>
            <span class="invalid-feedback"
                  *ngIf="osdRecvSpeedForm.getValue('customizePriority') &&
                  osdRecvSpeedForm.showError(attr.key, formDir, 'pattern')"
                  i18n>{{ attr.value.patternHelpText }}</span>
            <span class="invalid-feedback"
                  *ngIf="osdRecvSpeedForm.getValue('customizePriority') &&
                  osdRecvSpeedForm.showError(attr.key, formDir, 'max')"
                  i18n>The entered value is too high! It must not be greater than {{ attr.value.maxValue }}.</span>
            <span class="invalid-feedback"
                  *ngIf="osdRecvSpeedForm.getValue('customizePriority') &&
                  osdRecvSpeedForm.showError(attr.key, formDir, 'min')"
                  i18n>The entered value is too low! It must not be lower than {{ attr.value.minValue }}.</span>
          </div>
        </div>
      </div>
      <div class="modal-footer">
        <cd-form-button-panel (submitActionEvent)="submitAction()"
                              [form]="osdRecvSpeedForm"
                              [submitText]="actionLabels.UPDATE"
                              [showSubmit]="permissions.configOpt.update"></cd-form-button-panel>
      </div>
    </form>
  </ng-container>
</cd-modal>