@huntsman-cancer-institute/cod 17.4.0 → 17.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1940,12 +1940,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
1940
1940
  * This is different from the flex attribute because components such as the grid need extra configuration for editing.
1941
1941
  */
1942
1942
  class AttributeEditComponent extends AttributeBase {
1943
- //dictionaryEndpoint = this.attributeService.dictionaryEndpoint;
1943
+ // dictionaryEndpoint = this.attributeService.dictionaryEndpoint;
1944
1944
  constructor(attributeService, elementRef, renderer, modalService) {
1945
1945
  super(attributeService, elementRef, renderer, modalService);
1946
+ this.hciNgAttributeAbsoluteInputDisplayName = "";
1946
1947
  }
1947
1948
  init() {
1948
1949
  super.init();
1950
+ if (this.attribute && this.attribute.displayName) {
1951
+ this.hciNgAttributeAbsoluteInputDisplayName = this.attribute.displayName;
1952
+ }
1949
1953
  }
1950
1954
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AttributeEditComponent, deps: [{ token: AttributeService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i2$1.NgbModal }], target: i0.ɵɵFactoryTarget.Component }); }
1951
1955
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: AttributeEditComponent, selector: "hci-attribute-edit", usesInheritance: true, ngImport: i0, template: `
@@ -1958,13 +1962,13 @@ class AttributeEditComponent extends AttributeBase {
1958
1962
  </div>
1959
1963
 
1960
1964
  <div *ngIf="(attribute.h == undefined || (attribute.h && attribute.h <= 25))" class="d-flex col-md-6">
1961
- <input #inputRef
1962
- type="text"
1963
- [ngModel]="attributeValues[0].valueString"
1964
- (ngModelChange)="valueStringChange($event)"
1965
- [disabled]="!editInline || attribute.isCalculated === 'Y'"
1966
- />
1967
- </div>
1965
+ <input #inputRef
1966
+ type="text"
1967
+ [ngModel]="attributeValues[0].valueString"
1968
+ (ngModelChange)="valueStringChange($event)"
1969
+ [disabled]="!editInline || attribute.isCalculated === 'Y'" attr.aria-label="hci-ng-attribute-edit-input-string-{{hciNgAttributeAbsoluteInputDisplayName}}"
1970
+ />
1971
+ </div>
1968
1972
 
1969
1973
  <div *ngIf="(attribute.h && attribute.h > 25)" class="d-flex col-md-6">
1970
1974
  <textarea
@@ -2008,53 +2012,53 @@ class AttributeEditComponent extends AttributeBase {
2008
2012
  </div>
2009
2013
  </ng-container>
2010
2014
 
2011
- <!-- Numeric -->
2012
- <ng-container *ngIf="attribute.codeAttributeDataType === 'N'">
2013
- <div #attributeRef
2014
- class="d-flex flex-row">
2015
- <div *ngIf="attribute.displayName" class="d-flex col-md-6">
2016
- {{attribute.displayName}}
2017
- </div>
2018
- <div class="d-flex col-md-6">
2019
- <input #inputRef
2020
- type="number"
2021
- [ngModel]="attributeValues[0].valueNumeric"
2022
- (ngModelChange)="valueNumericChange($event)"/>
2023
- </div>
2024
- </div>
2025
- </ng-container>
2015
+ <!-- Numeric -->
2016
+ <ng-container *ngIf="attribute.codeAttributeDataType === 'N'">
2017
+ <div #attributeRef
2018
+ class="d-flex flex-row">
2019
+ <div *ngIf="attribute.displayName" class="d-flex col-md-6">
2020
+ {{attribute.displayName}}
2021
+ </div>
2022
+ <div class="d-flex col-md-6">
2023
+ <input #inputRef
2024
+ type="number"
2025
+ [ngModel]="attributeValues[0].valueNumeric"
2026
+ (ngModelChange)="valueNumericChange($event)" attr.aria-label="hci-ng-attribute-edit-input-numeric-{{hciNgAttributeAbsoluteInputDisplayName}}"/>
2027
+ </div>
2028
+ </div>
2029
+ </ng-container>
2026
2030
 
2027
- <!-- Integer -->
2028
- <ng-container *ngIf="attribute.codeAttributeDataType === 'I'">
2029
- <div #attributeRef
2030
- class="d-flex flex-row">
2031
- <div *ngIf="attribute.displayName" class="d-flex col-md-6">
2032
- {{attribute.displayName}}
2033
- </div>
2034
- <div class="d-flex col-md-6">
2035
- <input #inputRef
2036
- type="number"
2037
- [ngModel]="attributeValues[0].valueInteger"
2038
- (ngModelChange)="valueIntegerChange($event)" />
2039
- </div>
2040
- </div>
2041
- </ng-container>
2031
+ <!-- Integer -->
2032
+ <ng-container *ngIf="attribute.codeAttributeDataType === 'I'">
2033
+ <div #attributeRef
2034
+ class="d-flex flex-row">
2035
+ <div *ngIf="attribute.displayName" class="d-flex col-md-6">
2036
+ {{attribute.displayName}}
2037
+ </div>
2038
+ <div class="d-flex col-md-6">
2039
+ <input #inputRef
2040
+ type="number"
2041
+ [ngModel]="attributeValues[0].valueInteger"
2042
+ (ngModelChange)="valueIntegerChange($event)" attr.aria-label="hci-ng-attribute-edit-input-integer-{{hciNgAttributeAbsoluteInputDisplayName}}"/>
2043
+ </div>
2044
+ </div>
2045
+ </ng-container>
2042
2046
 
2043
- <!-- Date -->
2044
- <ng-container *ngIf="attribute.codeAttributeDataType === 'D'">
2045
- <div #attributeRef
2046
- class="d-flex flex-row">
2047
- <div *ngIf="attribute.displayName" class="d-flex col-md-6">
2048
- {{attribute.displayName}}
2049
- </div>
2050
- <div class="d-flex col-md-6">
2051
- <input #inputRef
2052
- matInput
2053
- name="valueDate"
2054
- [(ngModel)]="attributeValues[0].valueDate"
2055
- (ngModelChange)="valueDateChange($event)"
2056
- [matDatepicker]="valueDate"
2057
- [disabled]="!editInline || attribute.isCalculated === 'Y'"
2047
+ <!-- Date -->
2048
+ <ng-container *ngIf="attribute.codeAttributeDataType === 'D'">
2049
+ <div #attributeRef
2050
+ class="d-flex flex-row">
2051
+ <div *ngIf="attribute.displayName" class="d-flex col-md-6">
2052
+ {{attribute.displayName}}
2053
+ </div>
2054
+ <div class="d-flex col-md-6">
2055
+ <input #inputRef
2056
+ matInput
2057
+ name="valueDate"
2058
+ [(ngModel)]="attributeValues[0].valueDate"
2059
+ (ngModelChange)="valueDateChange($event)"
2060
+ [matDatepicker]="valueDate"
2061
+ [disabled]="!editInline || attribute.isCalculated === 'Y'" attr.aria-label="hci-ng-attribute-edit-input-date-{{hciNgAttributeAbsoluteInputDisplayName}}"
2058
2062
  >
2059
2063
  <mat-datepicker-toggle matSuffix [for]="valueDate" class="cod-dp-toggle"></mat-datepicker-toggle>
2060
2064
  <mat-datepicker #valueDate></mat-datepicker>
@@ -2062,44 +2066,44 @@ class AttributeEditComponent extends AttributeBase {
2062
2066
  </div>
2063
2067
  </ng-container>
2064
2068
 
2065
- <!-- Date Time -->
2066
- <ng-container *ngIf="attribute.codeAttributeDataType === 'DT'">
2067
- <div #attributeRef
2068
- class="d-flex flex-row">
2069
- <div *ngIf="attribute.displayName" class="d-flex col-md-6">
2070
- {{attribute.displayName}}
2071
- </div>
2072
- <div class="d-flex col-md-6">
2073
- <input #inputRef
2074
- matInput
2075
- name="valueDateTime"
2076
- [(ngModel)]="attributeValues[0].date"
2077
- (ngModelChange)="valueDateChange($event)"
2078
- [disabled]="!editInline || attribute.isCalculated === 'Y'"
2079
- [ngxMatDatetimePicker]="dtpicker">
2080
- <mat-datepicker-toggle matSuffix [for]="dtpicker" class="cod-dp-toggle"></mat-datepicker-toggle>
2081
- <ngx-mat-datetime-picker #dtpicker [showSeconds]="true"></ngx-mat-datetime-picker>
2082
- </div>
2083
- </div>
2084
- </ng-container>
2069
+ <!-- Date Time -->
2070
+ <ng-container *ngIf="attribute.codeAttributeDataType === 'DT'">
2071
+ <div #attributeRef
2072
+ class="d-flex flex-row">
2073
+ <div *ngIf="attribute.displayName" class="d-flex col-md-6">
2074
+ {{attribute.displayName}}
2075
+ </div>
2076
+ <div class="d-flex col-md-6">
2077
+ <input #inputRef
2078
+ matInput
2079
+ name="valueDateTime"
2080
+ [(ngModel)]="attributeValues[0].date"
2081
+ (ngModelChange)="valueDateChange($event)"
2082
+ [disabled]="!editInline || attribute.isCalculated === 'Y'"
2083
+ [ngxMatDatetimePicker]="dtpicker" attr.aria-label="hci-ng-attribute-edit-input-date-time-{{hciNgAttributeAbsoluteInputDisplayName}}">
2084
+ <mat-datepicker-toggle matSuffix [for]="dtpicker" class="cod-dp-toggle"></mat-datepicker-toggle>
2085
+ <ngx-mat-datetime-picker #dtpicker [showSeconds]="true"></ngx-mat-datetime-picker>
2086
+ </div>
2087
+ </div>
2088
+ </ng-container>
2085
2089
 
2086
- <!-- Checkbox -->
2087
- <ng-container *ngIf="attribute.codeAttributeDataType === 'CB'">
2088
- <div #attributeRef
2089
- class="d-flex flex-row">
2090
- <div *ngIf="attribute.displayName" class="d-flex col-md-6">
2091
- {{attribute.displayName}}
2092
- </div>
2093
- <div class="d-flex col-md-6">
2094
- <input #inputRef
2095
- type="checkbox"
2096
- [checked]="attributeValues[0].valueString === 'Y'"
2097
- (change)="valueCheckboxChange($event)"
2098
- [disabled]="!editInline || attribute.isCalculated === 'Y'"
2099
- class="form-control" />
2100
- </div>
2101
- </div>
2102
- </ng-container>
2090
+ <!-- Checkbox -->
2091
+ <ng-container *ngIf="attribute.codeAttributeDataType === 'CB'">
2092
+ <div #attributeRef
2093
+ class="d-flex flex-row">
2094
+ <div *ngIf="attribute.displayName" class="d-flex col-md-6">
2095
+ {{attribute.displayName}}
2096
+ </div>
2097
+ <div class="d-flex col-md-6">
2098
+ <input #inputRef
2099
+ type="checkbox"
2100
+ [checked]="attributeValues[0].valueString === 'Y'"
2101
+ (change)="valueCheckboxChange($event)"
2102
+ [disabled]="!editInline || attribute.isCalculated === 'Y'"
2103
+ class="form-control" attr.aria-label="hci-ng-attribute-edit-input-checkbox-{{hciNgAttributeAbsoluteInputDisplayName}}"/>
2104
+ </div>
2105
+ </div>
2106
+ </ng-container>
2103
2107
 
2104
2108
  <!-- Boolean -->
2105
2109
  <ng-container *ngIf="attribute.codeAttributeDataType === 'B'">
@@ -2162,47 +2166,47 @@ class AttributeEditComponent extends AttributeBase {
2162
2166
  </div>
2163
2167
  </ng-container>
2164
2168
 
2165
- <!-- Choice: Multi -->
2166
- <ng-container *ngIf="attribute.codeAttributeDataType === 'AC' && attribute.isMultiValue === 'Y'">
2167
- <div #attributeRef
2168
- class="d-flex flex-row">
2169
- <div *ngIf="attribute.displayName" class="d-flex col-md-6">
2170
- {{attribute.displayName}}
2171
- </div>
2172
- <div class="d-flex flex-column col-md-6" style="row-gap: 5px">
2173
- <ng-container *ngFor="let attributeChoice of attributeChoices">
2174
- <div class="d-flex">
2175
- <input type="checkbox"
2176
- [checked]="attributeChoice.value"
2177
- [disabled]="!editInline || attribute.isCalculated === 'Y'"
2178
- (change)="valueMultiChoiceChange(attributeChoice)"
2179
- class="form-control checkbox mt-auto mb-auto me-2" />
2180
- <div class="cod-label ps-1">
2181
- {{attributeChoice.choice}}
2182
- </div>
2169
+ <!-- Choice: Multi -->
2170
+ <ng-container *ngIf="attribute.codeAttributeDataType === 'AC' && attribute.isMultiValue === 'Y'">
2171
+ <div #attributeRef
2172
+ class="d-flex flex-row">
2173
+ <div *ngIf="attribute.displayName" class="d-flex col-md-6">
2174
+ {{attribute.displayName}}
2183
2175
  </div>
2184
- </ng-container>
2185
- </div>
2186
- </div>
2187
- </ng-container>
2188
-
2189
- <!-- Dictionary: Multi -->
2190
- <ng-container *ngIf="attribute.codeAttributeDataType === 'DICT' && attribute.isMultiValue === 'Y'">
2191
- <div #attributeRef
2192
- class="d-flex flex-row">
2193
- <div *ngIf="attribute.displayName" class="d-flex col-md-6">
2194
- {{attribute.displayName}}
2195
- </div>
2196
- <div class="d-flex flex-column col-md-6" style="row-gap: 5px">
2197
- <ng-container *ngFor="let entry of dictionaryEntries">
2198
- <div class="d-flex">
2199
- <input type="checkbox"
2200
- [checked]="entry.checked"
2201
- [disabled]="!editInline || attribute.isCalculated === 'Y'"
2202
- (change)="valueMultiDictChange(entry)"
2203
- [disabled]="!editInline || attribute.isCalculated === 'Y'"
2204
- class="form-control checkbox" />
2205
- <div class="cod-label ps-1">
2176
+ <div class="d-flex flex-column col-md-6" style="row-gap: 5px">
2177
+ <ng-container *ngFor="let attributeChoice of attributeChoices">
2178
+ <div class="d-flex">
2179
+ <input type="checkbox"
2180
+ [checked]="attributeChoice.value"
2181
+ [disabled]="!editInline || attribute.isCalculated === 'Y'"
2182
+ (change)="valueMultiChoiceChange(attributeChoice)"
2183
+ class="form-control checkbox mt-auto mb-auto me-2" attr.aria-label="hci-ng-attribute-edit-input-choice-multiple-{{attributeChoice.choice}}"/>
2184
+ <div class="cod-label ps-1">
2185
+ {{attributeChoice.choice}}
2186
+ </div>
2187
+ </div>
2188
+ </ng-container>
2189
+ </div>
2190
+ </div>
2191
+ </ng-container>
2192
+
2193
+ <!-- Dictionary: Multi -->
2194
+ <ng-container *ngIf="attribute.codeAttributeDataType === 'DICT' && attribute.isMultiValue === 'Y'">
2195
+ <div #attributeRef
2196
+ class="d-flex flex-row">
2197
+ <div *ngIf="attribute.displayName" class="d-flex col-md-6">
2198
+ {{attribute.displayName}}
2199
+ </div>
2200
+ <div class="d-flex flex-column col-md-6" style="row-gap: 5px">
2201
+ <ng-container *ngFor="let entry of dictionaryEntries">
2202
+ <div class="d-flex">
2203
+ <input type="checkbox"
2204
+ [checked]="entry.checked"
2205
+ [disabled]="!editInline || attribute.isCalculated === 'Y'"
2206
+ (change)="valueMultiDictChange(entry)"
2207
+ [disabled]="!editInline || attribute.isCalculated === 'Y'"
2208
+ class="form-control checkbox" attr.aria-label="hci-ng-attribute-edit-input-dictionary-choice-{{entry.display}}"/>
2209
+ <div class="cod-label ps-1">
2206
2210
  {{entry.display}}
2207
2211
  </div>
2208
2212
  </div>
@@ -2304,13 +2308,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
2304
2308
  </div>
2305
2309
 
2306
2310
  <div *ngIf="(attribute.h == undefined || (attribute.h && attribute.h <= 25))" class="d-flex col-md-6">
2307
- <input #inputRef
2308
- type="text"
2309
- [ngModel]="attributeValues[0].valueString"
2310
- (ngModelChange)="valueStringChange($event)"
2311
- [disabled]="!editInline || attribute.isCalculated === 'Y'"
2312
- />
2313
- </div>
2311
+ <input #inputRef
2312
+ type="text"
2313
+ [ngModel]="attributeValues[0].valueString"
2314
+ (ngModelChange)="valueStringChange($event)"
2315
+ [disabled]="!editInline || attribute.isCalculated === 'Y'" attr.aria-label="hci-ng-attribute-edit-input-string-{{hciNgAttributeAbsoluteInputDisplayName}}"
2316
+ />
2317
+ </div>
2314
2318
 
2315
2319
  <div *ngIf="(attribute.h && attribute.h > 25)" class="d-flex col-md-6">
2316
2320
  <textarea
@@ -2354,53 +2358,53 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
2354
2358
  </div>
2355
2359
  </ng-container>
2356
2360
 
2357
- <!-- Numeric -->
2358
- <ng-container *ngIf="attribute.codeAttributeDataType === 'N'">
2359
- <div #attributeRef
2360
- class="d-flex flex-row">
2361
- <div *ngIf="attribute.displayName" class="d-flex col-md-6">
2362
- {{attribute.displayName}}
2363
- </div>
2364
- <div class="d-flex col-md-6">
2365
- <input #inputRef
2366
- type="number"
2367
- [ngModel]="attributeValues[0].valueNumeric"
2368
- (ngModelChange)="valueNumericChange($event)"/>
2369
- </div>
2370
- </div>
2371
- </ng-container>
2361
+ <!-- Numeric -->
2362
+ <ng-container *ngIf="attribute.codeAttributeDataType === 'N'">
2363
+ <div #attributeRef
2364
+ class="d-flex flex-row">
2365
+ <div *ngIf="attribute.displayName" class="d-flex col-md-6">
2366
+ {{attribute.displayName}}
2367
+ </div>
2368
+ <div class="d-flex col-md-6">
2369
+ <input #inputRef
2370
+ type="number"
2371
+ [ngModel]="attributeValues[0].valueNumeric"
2372
+ (ngModelChange)="valueNumericChange($event)" attr.aria-label="hci-ng-attribute-edit-input-numeric-{{hciNgAttributeAbsoluteInputDisplayName}}"/>
2373
+ </div>
2374
+ </div>
2375
+ </ng-container>
2372
2376
 
2373
- <!-- Integer -->
2374
- <ng-container *ngIf="attribute.codeAttributeDataType === 'I'">
2375
- <div #attributeRef
2376
- class="d-flex flex-row">
2377
- <div *ngIf="attribute.displayName" class="d-flex col-md-6">
2378
- {{attribute.displayName}}
2379
- </div>
2380
- <div class="d-flex col-md-6">
2381
- <input #inputRef
2382
- type="number"
2383
- [ngModel]="attributeValues[0].valueInteger"
2384
- (ngModelChange)="valueIntegerChange($event)" />
2385
- </div>
2386
- </div>
2387
- </ng-container>
2377
+ <!-- Integer -->
2378
+ <ng-container *ngIf="attribute.codeAttributeDataType === 'I'">
2379
+ <div #attributeRef
2380
+ class="d-flex flex-row">
2381
+ <div *ngIf="attribute.displayName" class="d-flex col-md-6">
2382
+ {{attribute.displayName}}
2383
+ </div>
2384
+ <div class="d-flex col-md-6">
2385
+ <input #inputRef
2386
+ type="number"
2387
+ [ngModel]="attributeValues[0].valueInteger"
2388
+ (ngModelChange)="valueIntegerChange($event)" attr.aria-label="hci-ng-attribute-edit-input-integer-{{hciNgAttributeAbsoluteInputDisplayName}}"/>
2389
+ </div>
2390
+ </div>
2391
+ </ng-container>
2388
2392
 
2389
- <!-- Date -->
2390
- <ng-container *ngIf="attribute.codeAttributeDataType === 'D'">
2391
- <div #attributeRef
2392
- class="d-flex flex-row">
2393
- <div *ngIf="attribute.displayName" class="d-flex col-md-6">
2394
- {{attribute.displayName}}
2395
- </div>
2396
- <div class="d-flex col-md-6">
2397
- <input #inputRef
2398
- matInput
2399
- name="valueDate"
2400
- [(ngModel)]="attributeValues[0].valueDate"
2401
- (ngModelChange)="valueDateChange($event)"
2402
- [matDatepicker]="valueDate"
2403
- [disabled]="!editInline || attribute.isCalculated === 'Y'"
2393
+ <!-- Date -->
2394
+ <ng-container *ngIf="attribute.codeAttributeDataType === 'D'">
2395
+ <div #attributeRef
2396
+ class="d-flex flex-row">
2397
+ <div *ngIf="attribute.displayName" class="d-flex col-md-6">
2398
+ {{attribute.displayName}}
2399
+ </div>
2400
+ <div class="d-flex col-md-6">
2401
+ <input #inputRef
2402
+ matInput
2403
+ name="valueDate"
2404
+ [(ngModel)]="attributeValues[0].valueDate"
2405
+ (ngModelChange)="valueDateChange($event)"
2406
+ [matDatepicker]="valueDate"
2407
+ [disabled]="!editInline || attribute.isCalculated === 'Y'" attr.aria-label="hci-ng-attribute-edit-input-date-{{hciNgAttributeAbsoluteInputDisplayName}}"
2404
2408
  >
2405
2409
  <mat-datepicker-toggle matSuffix [for]="valueDate" class="cod-dp-toggle"></mat-datepicker-toggle>
2406
2410
  <mat-datepicker #valueDate></mat-datepicker>
@@ -2408,44 +2412,44 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
2408
2412
  </div>
2409
2413
  </ng-container>
2410
2414
 
2411
- <!-- Date Time -->
2412
- <ng-container *ngIf="attribute.codeAttributeDataType === 'DT'">
2413
- <div #attributeRef
2414
- class="d-flex flex-row">
2415
- <div *ngIf="attribute.displayName" class="d-flex col-md-6">
2416
- {{attribute.displayName}}
2417
- </div>
2418
- <div class="d-flex col-md-6">
2419
- <input #inputRef
2420
- matInput
2421
- name="valueDateTime"
2422
- [(ngModel)]="attributeValues[0].date"
2423
- (ngModelChange)="valueDateChange($event)"
2424
- [disabled]="!editInline || attribute.isCalculated === 'Y'"
2425
- [ngxMatDatetimePicker]="dtpicker">
2426
- <mat-datepicker-toggle matSuffix [for]="dtpicker" class="cod-dp-toggle"></mat-datepicker-toggle>
2427
- <ngx-mat-datetime-picker #dtpicker [showSeconds]="true"></ngx-mat-datetime-picker>
2428
- </div>
2429
- </div>
2430
- </ng-container>
2415
+ <!-- Date Time -->
2416
+ <ng-container *ngIf="attribute.codeAttributeDataType === 'DT'">
2417
+ <div #attributeRef
2418
+ class="d-flex flex-row">
2419
+ <div *ngIf="attribute.displayName" class="d-flex col-md-6">
2420
+ {{attribute.displayName}}
2421
+ </div>
2422
+ <div class="d-flex col-md-6">
2423
+ <input #inputRef
2424
+ matInput
2425
+ name="valueDateTime"
2426
+ [(ngModel)]="attributeValues[0].date"
2427
+ (ngModelChange)="valueDateChange($event)"
2428
+ [disabled]="!editInline || attribute.isCalculated === 'Y'"
2429
+ [ngxMatDatetimePicker]="dtpicker" attr.aria-label="hci-ng-attribute-edit-input-date-time-{{hciNgAttributeAbsoluteInputDisplayName}}">
2430
+ <mat-datepicker-toggle matSuffix [for]="dtpicker" class="cod-dp-toggle"></mat-datepicker-toggle>
2431
+ <ngx-mat-datetime-picker #dtpicker [showSeconds]="true"></ngx-mat-datetime-picker>
2432
+ </div>
2433
+ </div>
2434
+ </ng-container>
2431
2435
 
2432
- <!-- Checkbox -->
2433
- <ng-container *ngIf="attribute.codeAttributeDataType === 'CB'">
2434
- <div #attributeRef
2435
- class="d-flex flex-row">
2436
- <div *ngIf="attribute.displayName" class="d-flex col-md-6">
2437
- {{attribute.displayName}}
2438
- </div>
2439
- <div class="d-flex col-md-6">
2440
- <input #inputRef
2441
- type="checkbox"
2442
- [checked]="attributeValues[0].valueString === 'Y'"
2443
- (change)="valueCheckboxChange($event)"
2444
- [disabled]="!editInline || attribute.isCalculated === 'Y'"
2445
- class="form-control" />
2446
- </div>
2447
- </div>
2448
- </ng-container>
2436
+ <!-- Checkbox -->
2437
+ <ng-container *ngIf="attribute.codeAttributeDataType === 'CB'">
2438
+ <div #attributeRef
2439
+ class="d-flex flex-row">
2440
+ <div *ngIf="attribute.displayName" class="d-flex col-md-6">
2441
+ {{attribute.displayName}}
2442
+ </div>
2443
+ <div class="d-flex col-md-6">
2444
+ <input #inputRef
2445
+ type="checkbox"
2446
+ [checked]="attributeValues[0].valueString === 'Y'"
2447
+ (change)="valueCheckboxChange($event)"
2448
+ [disabled]="!editInline || attribute.isCalculated === 'Y'"
2449
+ class="form-control" attr.aria-label="hci-ng-attribute-edit-input-checkbox-{{hciNgAttributeAbsoluteInputDisplayName}}"/>
2450
+ </div>
2451
+ </div>
2452
+ </ng-container>
2449
2453
 
2450
2454
  <!-- Boolean -->
2451
2455
  <ng-container *ngIf="attribute.codeAttributeDataType === 'B'">
@@ -2508,47 +2512,47 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
2508
2512
  </div>
2509
2513
  </ng-container>
2510
2514
 
2511
- <!-- Choice: Multi -->
2512
- <ng-container *ngIf="attribute.codeAttributeDataType === 'AC' && attribute.isMultiValue === 'Y'">
2513
- <div #attributeRef
2514
- class="d-flex flex-row">
2515
- <div *ngIf="attribute.displayName" class="d-flex col-md-6">
2516
- {{attribute.displayName}}
2517
- </div>
2518
- <div class="d-flex flex-column col-md-6" style="row-gap: 5px">
2519
- <ng-container *ngFor="let attributeChoice of attributeChoices">
2520
- <div class="d-flex">
2521
- <input type="checkbox"
2522
- [checked]="attributeChoice.value"
2523
- [disabled]="!editInline || attribute.isCalculated === 'Y'"
2524
- (change)="valueMultiChoiceChange(attributeChoice)"
2525
- class="form-control checkbox mt-auto mb-auto me-2" />
2526
- <div class="cod-label ps-1">
2527
- {{attributeChoice.choice}}
2528
- </div>
2515
+ <!-- Choice: Multi -->
2516
+ <ng-container *ngIf="attribute.codeAttributeDataType === 'AC' && attribute.isMultiValue === 'Y'">
2517
+ <div #attributeRef
2518
+ class="d-flex flex-row">
2519
+ <div *ngIf="attribute.displayName" class="d-flex col-md-6">
2520
+ {{attribute.displayName}}
2529
2521
  </div>
2530
- </ng-container>
2531
- </div>
2532
- </div>
2533
- </ng-container>
2534
-
2535
- <!-- Dictionary: Multi -->
2536
- <ng-container *ngIf="attribute.codeAttributeDataType === 'DICT' && attribute.isMultiValue === 'Y'">
2537
- <div #attributeRef
2538
- class="d-flex flex-row">
2539
- <div *ngIf="attribute.displayName" class="d-flex col-md-6">
2540
- {{attribute.displayName}}
2541
- </div>
2542
- <div class="d-flex flex-column col-md-6" style="row-gap: 5px">
2543
- <ng-container *ngFor="let entry of dictionaryEntries">
2544
- <div class="d-flex">
2545
- <input type="checkbox"
2546
- [checked]="entry.checked"
2547
- [disabled]="!editInline || attribute.isCalculated === 'Y'"
2548
- (change)="valueMultiDictChange(entry)"
2549
- [disabled]="!editInline || attribute.isCalculated === 'Y'"
2550
- class="form-control checkbox" />
2551
- <div class="cod-label ps-1">
2522
+ <div class="d-flex flex-column col-md-6" style="row-gap: 5px">
2523
+ <ng-container *ngFor="let attributeChoice of attributeChoices">
2524
+ <div class="d-flex">
2525
+ <input type="checkbox"
2526
+ [checked]="attributeChoice.value"
2527
+ [disabled]="!editInline || attribute.isCalculated === 'Y'"
2528
+ (change)="valueMultiChoiceChange(attributeChoice)"
2529
+ class="form-control checkbox mt-auto mb-auto me-2" attr.aria-label="hci-ng-attribute-edit-input-choice-multiple-{{attributeChoice.choice}}"/>
2530
+ <div class="cod-label ps-1">
2531
+ {{attributeChoice.choice}}
2532
+ </div>
2533
+ </div>
2534
+ </ng-container>
2535
+ </div>
2536
+ </div>
2537
+ </ng-container>
2538
+
2539
+ <!-- Dictionary: Multi -->
2540
+ <ng-container *ngIf="attribute.codeAttributeDataType === 'DICT' && attribute.isMultiValue === 'Y'">
2541
+ <div #attributeRef
2542
+ class="d-flex flex-row">
2543
+ <div *ngIf="attribute.displayName" class="d-flex col-md-6">
2544
+ {{attribute.displayName}}
2545
+ </div>
2546
+ <div class="d-flex flex-column col-md-6" style="row-gap: 5px">
2547
+ <ng-container *ngFor="let entry of dictionaryEntries">
2548
+ <div class="d-flex">
2549
+ <input type="checkbox"
2550
+ [checked]="entry.checked"
2551
+ [disabled]="!editInline || attribute.isCalculated === 'Y'"
2552
+ (change)="valueMultiDictChange(entry)"
2553
+ [disabled]="!editInline || attribute.isCalculated === 'Y'"
2554
+ class="form-control checkbox" attr.aria-label="hci-ng-attribute-edit-input-dictionary-choice-{{entry.display}}"/>
2555
+ <div class="cod-label ps-1">
2552
2556
  {{entry.display}}
2553
2557
  </div>
2554
2558
  </div>
@@ -2646,6 +2650,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
2646
2650
  class AttributeAbsoluteComponent extends AttributeBase {
2647
2651
  constructor(attributeService, elementRef, renderer, modalService) {
2648
2652
  super(attributeService, elementRef, renderer, modalService);
2653
+ this.hciNgAttributeAbsoluteInputDisplayName = "";
2649
2654
  }
2650
2655
  ngOnInit() {
2651
2656
  super.ngOnInit();
@@ -2655,6 +2660,9 @@ class AttributeAbsoluteComponent extends AttributeBase {
2655
2660
  }
2656
2661
  ngAfterViewInit() {
2657
2662
  this.refresh();
2663
+ if (this.attribute && this.attribute.displayName) {
2664
+ this.hciNgAttributeAbsoluteInputDisplayName = this.attribute.displayName;
2665
+ }
2658
2666
  }
2659
2667
  /**
2660
2668
  * In the absolute case, upon refresh reset the position and size of the attribute.
@@ -2757,7 +2765,7 @@ class AttributeAbsoluteComponent extends AttributeBase {
2757
2765
  [ngModel]="attributeValues[0].valueString"
2758
2766
  (ngModelChange)="valueStringChange($event)"
2759
2767
  [disabled]="!editInline || attribute.isCalculated === 'Y'"
2760
- class="form-control"/>
2768
+ class="form-control"attr.aria-label="hci-ng-attribute-absolute-input-string-{{hciNgAttributeAbsoluteInputDisplayName}}"/>
2761
2769
  </div>
2762
2770
  <div *ngIf="(attribute.h > 25)" class="d-flex flex-grow-1">
2763
2771
  <textarea
@@ -2808,7 +2816,7 @@ class AttributeAbsoluteComponent extends AttributeBase {
2808
2816
  [checked]="attributeValues[0].valueString === 'Y'"
2809
2817
  (change)="valueCheckboxChange($event)"
2810
2818
  [disabled]="!editInline || attribute.isCalculated === 'Y'"
2811
- class="form-control"/>
2819
+ class="form-control" attr.aria-label="hci-ng-attribute-absolute-input-checkbox-{{hciNgAttributeAbsoluteInputDisplayName}}"/>
2812
2820
  </div>
2813
2821
  </div>
2814
2822
  </ng-container>
@@ -2826,7 +2834,7 @@ class AttributeAbsoluteComponent extends AttributeBase {
2826
2834
  [ngModel]="attributeValues[0].valueNumeric"
2827
2835
  (ngModelChange)="valueNumericChange($event)"
2828
2836
  [disabled]="!editInline || attribute.isCalculated === 'Y'"
2829
- class="form-control"/>
2837
+ class="form-control" attr.aria-label="hci-ng-attribute-absolute-input-numeric-{{hciNgAttributeAbsoluteInputDisplayName}}"/>
2830
2838
  </div>
2831
2839
  </div>
2832
2840
  </ng-container>
@@ -2844,7 +2852,7 @@ class AttributeAbsoluteComponent extends AttributeBase {
2844
2852
  [ngModel]="attributeValues[0].valueInteger"
2845
2853
  (ngModelChange)="valueIntegerChange($event)"
2846
2854
  [disabled]="!editInline || attribute.isCalculated === 'Y'"
2847
- class="form-control"/>
2855
+ class="form-control" attr.aria-label="hci-ng-attribute-absolute-input-integer-{{hciNgAttributeAbsoluteInputDisplayName}}"/>
2848
2856
  </div>
2849
2857
  </div>
2850
2858
  </ng-container>
@@ -2864,7 +2872,7 @@ class AttributeAbsoluteComponent extends AttributeBase {
2864
2872
  (ngModelChange)="valueDateChange($event)"
2865
2873
  [matDatepicker]="valueDate"
2866
2874
  [disabled]="!editInline || attribute.isCalculated === 'Y'"
2867
- class="form-control">
2875
+ class="form-control" attr.aria-label="hci-ng-attribute-absolute-input-date-{{hciNgAttributeAbsoluteInputDisplayName}}">
2868
2876
  <mat-datepicker-toggle matSuffix [for]="valueDate" class="cod-dp-toggle"></mat-datepicker-toggle>
2869
2877
  <mat-datepicker #valueDate></mat-datepicker>
2870
2878
  </div>
@@ -2886,7 +2894,7 @@ class AttributeAbsoluteComponent extends AttributeBase {
2886
2894
  [(ngModel)]="attributeValues[0].date"
2887
2895
  (ngModelChange)="valueDateChange($event)"
2888
2896
  [disabled]="!editInline || attribute.isCalculated === 'Y'"
2889
- [ngxMatDatetimePicker]="dtpicker">
2897
+ [ngxMatDatetimePicker]="dtpicker" attr.aria-label="hci-ng-attribute-absolute-input-date-time-{{hciNgAttributeAbsoluteInputDisplayName}}">
2890
2898
  <mat-datepicker-toggle matSuffix [for]="dtpicker" class="cod-dp-toggle"></mat-datepicker-toggle>
2891
2899
  <ngx-mat-datetime-picker #dtpicker [showSeconds]="true"></ngx-mat-datetime-picker>
2892
2900
  </div>
@@ -2974,9 +2982,9 @@ class AttributeAbsoluteComponent extends AttributeBase {
2974
2982
  [checked]="attributeChoice.value"
2975
2983
  (change)="valueMultiChoiceChange(attributeChoice)"
2976
2984
  [disabled]="!editInline || attribute.isCalculated === 'Y'"
2977
- class="form-control checkbox"/>
2985
+ class="form-control checkbox" attr.aria-label="hci-ng-attribute-absolute-input-choice-multiple-{{attributeChoice.choice}}"/>
2978
2986
  <div class="cod-label ps-1">
2979
- {{attributeChoice.choice}}
2987
+ {{ attributeChoice.choice }}
2980
2988
  </div>
2981
2989
  </div>
2982
2990
  </ng-container>
@@ -2999,9 +3007,9 @@ class AttributeAbsoluteComponent extends AttributeBase {
2999
3007
  [checked]="entry.checked"
3000
3008
  (change)="valueMultiDictChange(entry)"
3001
3009
  [disabled]="!editInline || attribute.isCalculated === 'Y'"
3002
- class="form-control checkbox" />
3010
+ class="form-control checkbox" attr.aria-label="hci-ng-attribute-absolute-input-dictionary-multiple-{{entry.display}}"/>
3003
3011
  <div class="cod-label ps-1">
3004
- {{entry.display}}
3012
+ {{ entry.display }}
3005
3013
  </div>
3006
3014
  </div>
3007
3015
  </ng-container>
@@ -3151,7 +3159,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
3151
3159
  [ngModel]="attributeValues[0].valueString"
3152
3160
  (ngModelChange)="valueStringChange($event)"
3153
3161
  [disabled]="!editInline || attribute.isCalculated === 'Y'"
3154
- class="form-control"/>
3162
+ class="form-control"attr.aria-label="hci-ng-attribute-absolute-input-string-{{hciNgAttributeAbsoluteInputDisplayName}}"/>
3155
3163
  </div>
3156
3164
  <div *ngIf="(attribute.h > 25)" class="d-flex flex-grow-1">
3157
3165
  <textarea
@@ -3202,7 +3210,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
3202
3210
  [checked]="attributeValues[0].valueString === 'Y'"
3203
3211
  (change)="valueCheckboxChange($event)"
3204
3212
  [disabled]="!editInline || attribute.isCalculated === 'Y'"
3205
- class="form-control"/>
3213
+ class="form-control" attr.aria-label="hci-ng-attribute-absolute-input-checkbox-{{hciNgAttributeAbsoluteInputDisplayName}}"/>
3206
3214
  </div>
3207
3215
  </div>
3208
3216
  </ng-container>
@@ -3220,7 +3228,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
3220
3228
  [ngModel]="attributeValues[0].valueNumeric"
3221
3229
  (ngModelChange)="valueNumericChange($event)"
3222
3230
  [disabled]="!editInline || attribute.isCalculated === 'Y'"
3223
- class="form-control"/>
3231
+ class="form-control" attr.aria-label="hci-ng-attribute-absolute-input-numeric-{{hciNgAttributeAbsoluteInputDisplayName}}"/>
3224
3232
  </div>
3225
3233
  </div>
3226
3234
  </ng-container>
@@ -3238,7 +3246,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
3238
3246
  [ngModel]="attributeValues[0].valueInteger"
3239
3247
  (ngModelChange)="valueIntegerChange($event)"
3240
3248
  [disabled]="!editInline || attribute.isCalculated === 'Y'"
3241
- class="form-control"/>
3249
+ class="form-control" attr.aria-label="hci-ng-attribute-absolute-input-integer-{{hciNgAttributeAbsoluteInputDisplayName}}"/>
3242
3250
  </div>
3243
3251
  </div>
3244
3252
  </ng-container>
@@ -3258,7 +3266,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
3258
3266
  (ngModelChange)="valueDateChange($event)"
3259
3267
  [matDatepicker]="valueDate"
3260
3268
  [disabled]="!editInline || attribute.isCalculated === 'Y'"
3261
- class="form-control">
3269
+ class="form-control" attr.aria-label="hci-ng-attribute-absolute-input-date-{{hciNgAttributeAbsoluteInputDisplayName}}">
3262
3270
  <mat-datepicker-toggle matSuffix [for]="valueDate" class="cod-dp-toggle"></mat-datepicker-toggle>
3263
3271
  <mat-datepicker #valueDate></mat-datepicker>
3264
3272
  </div>
@@ -3280,7 +3288,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
3280
3288
  [(ngModel)]="attributeValues[0].date"
3281
3289
  (ngModelChange)="valueDateChange($event)"
3282
3290
  [disabled]="!editInline || attribute.isCalculated === 'Y'"
3283
- [ngxMatDatetimePicker]="dtpicker">
3291
+ [ngxMatDatetimePicker]="dtpicker" attr.aria-label="hci-ng-attribute-absolute-input-date-time-{{hciNgAttributeAbsoluteInputDisplayName}}">
3284
3292
  <mat-datepicker-toggle matSuffix [for]="dtpicker" class="cod-dp-toggle"></mat-datepicker-toggle>
3285
3293
  <ngx-mat-datetime-picker #dtpicker [showSeconds]="true"></ngx-mat-datetime-picker>
3286
3294
  </div>
@@ -3368,9 +3376,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
3368
3376
  [checked]="attributeChoice.value"
3369
3377
  (change)="valueMultiChoiceChange(attributeChoice)"
3370
3378
  [disabled]="!editInline || attribute.isCalculated === 'Y'"
3371
- class="form-control checkbox"/>
3379
+ class="form-control checkbox" attr.aria-label="hci-ng-attribute-absolute-input-choice-multiple-{{attributeChoice.choice}}"/>
3372
3380
  <div class="cod-label ps-1">
3373
- {{attributeChoice.choice}}
3381
+ {{ attributeChoice.choice }}
3374
3382
  </div>
3375
3383
  </div>
3376
3384
  </ng-container>
@@ -3393,9 +3401,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
3393
3401
  [checked]="entry.checked"
3394
3402
  (change)="valueMultiDictChange(entry)"
3395
3403
  [disabled]="!editInline || attribute.isCalculated === 'Y'"
3396
- class="form-control checkbox" />
3404
+ class="form-control checkbox" attr.aria-label="hci-ng-attribute-absolute-input-dictionary-multiple-{{entry.display}}"/>
3397
3405
  <div class="cod-label ps-1">
3398
- {{entry.display}}
3406
+ {{ entry.display }}
3399
3407
  </div>
3400
3408
  </div>
3401
3409
  </ng-container>
@@ -3505,7 +3513,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
3505
3513
  `, styles: [".hci-cod button.mat-icon-button.mat-button-base{height:20px;width:20px;line-height:unset}.btn-ga{padding:0;height:18px;width:18px}.ga-icon{font-size:.9em;vertical-align:top}.hci-cod .mat-datepicker-toggle-default-icon{height:20px;width:20px}\n"] }]
3506
3514
  }], ctorParameters: () => [{ type: AttributeService }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i2$1.NgbModal }], propDecorators: { nativeSelectComponent: [{
3507
3515
  type: ViewChild,
3508
- args: ["nativeSelectRef", { static: true }]
3516
+ args: ['nativeSelectRef', { static: true }]
3509
3517
  }] } });
3510
3518
 
3511
3519
  /**
@@ -3516,9 +3524,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
3516
3524
  class AttributeFlexComponent extends AttributeBase {
3517
3525
  constructor(attributeService, elementRef, renderer, modalService) {
3518
3526
  super(attributeService, elementRef, renderer, modalService);
3527
+ this.hciNgAttributeAbsoluteInputDisplayName = "";
3519
3528
  }
3520
3529
  ngAfterViewInit() {
3521
3530
  this.refresh();
3531
+ if (this.attribute && this.attribute.displayName) {
3532
+ this.hciNgAttributeAbsoluteInputDisplayName = this.attribute.displayName;
3533
+ }
3522
3534
  }
3523
3535
  /**
3524
3536
  * Flex needs to extend grid columns because we no longer want to use absolute width. Here we generate percentage
@@ -3568,23 +3580,24 @@ class AttributeFlexComponent extends AttributeBase {
3568
3580
  </div>
3569
3581
  </ng-container>
3570
3582
 
3571
- <!-- String -->
3572
- <ng-container *ngIf="attribute.codeAttributeDataType === 'S'">
3573
- <div #attributeRef
3574
- class="d-flex flex-column cod-type-s">
3575
- <div *ngIf="attribute.displayName" class="d-flex cod-top-label me-1">
3576
- {{attribute.displayName}}
3577
- </div>
3578
- <div class="d-flex flex-grow-1">
3579
- <input #inputRef
3580
- type="text"
3581
- [(ngModel)]="attributeValues[0].valueString"
3582
- (ngModelChange)="valueStringChange($event)"
3583
- [disabled]="!editInline || attribute.isCalculated === 'Y'"
3584
- class="form-control" />
3585
- </div>
3586
- </div>
3587
- </ng-container>
3583
+ <!-- String -->
3584
+ <ng-container *ngIf="attribute.codeAttributeDataType === 'S'">
3585
+ <div #attributeRef
3586
+ class="d-flex flex-column cod-type-s">
3587
+ <div *ngIf="attribute.displayName" class="d-flex cod-top-label me-1">
3588
+ {{ attribute.displayName }}
3589
+ </div>
3590
+ <div class="d-flex flex-grow-1">
3591
+ <input #inputRef
3592
+ type="text"
3593
+ [(ngModel)]="attributeValues[0].valueString"
3594
+ (ngModelChange)="valueStringChange($event)"
3595
+ [disabled]="!editInline || attribute.isCalculated === 'Y'"
3596
+ class="form-control" attr.aria-label="hci-ng-attribute-flex-input-string-{{hciNgAttributeAbsoluteInputDisplayName}}"/>
3597
+ </div>
3598
+ </div>
3599
+ </ng-container>
3600
+
3588
3601
 
3589
3602
  <!-- Text -->
3590
3603
  <ng-container *ngIf="attribute.codeAttributeDataType === 'TXT'">
@@ -3621,7 +3634,7 @@ class AttributeFlexComponent extends AttributeBase {
3621
3634
  [checked]="attributeValues[0].valueString === 'Y'"
3622
3635
  (change)="valueCheckboxChange($event)"
3623
3636
  [disabled]="!editInline || attribute.isCalculated === 'Y'"
3624
- class="form-control" />
3637
+ class="form-control" attr.aria-label="hci-ng-attribute-flex-input-checkbox-{{hciNgAttributeAbsoluteInputDisplayName}}"/>
3625
3638
  </div>
3626
3639
  </div>
3627
3640
  </ng-container>
@@ -3638,8 +3651,8 @@ class AttributeFlexComponent extends AttributeBase {
3638
3651
  type="number"
3639
3652
  [(ngModel)]="attributeValues[0].valueNumeric"
3640
3653
  (ngModelChange)="valueNumericChange($event)"
3641
- [disabled]="!editInline || attribute.isCalculated === 'Y'"
3642
- class="form-control" />
3654
+ [disabled]="!editInline || attribute.isCalculated === 'Y'"
3655
+ class="form-control" attr.aria-label="hci-ng-attribute-flex-input-numeric-{{hciNgAttributeAbsoluteInputDisplayName}}"/>
3643
3656
  </div>
3644
3657
  </div>
3645
3658
  </ng-container>
@@ -3656,8 +3669,8 @@ class AttributeFlexComponent extends AttributeBase {
3656
3669
  type="number"
3657
3670
  [(ngModel)]="attributeValues[0].valueInteger"
3658
3671
  (ngModelChange)="valueIntegerChange($event)"
3659
- [disabled]="!editInline || attribute.isCalculated === 'Y'"
3660
- class="form-control" />
3672
+ [disabled]="!editInline || attribute.isCalculated === 'Y'"
3673
+ class="form-control" attr.aria-label="hci-ng-attribute-flex-input-integer-{{hciNgAttributeAbsoluteInputDisplayName}}"/>
3661
3674
  </div>
3662
3675
  </div>
3663
3676
  </ng-container>
@@ -3677,7 +3690,7 @@ class AttributeFlexComponent extends AttributeBase {
3677
3690
  (ngModelChange)="valueDateChange($event)"
3678
3691
  [matDatepicker]="valueDate"
3679
3692
  [disabled]="!editInline || attribute.isCalculated === 'Y'"
3680
- class="form-control">
3693
+ class="form-control" attr.aria-label="hci-ng-attribute-flex-input-date-{{hciNgAttributeAbsoluteInputDisplayName}}">
3681
3694
  <mat-datepicker-toggle matSuffix [for]="valueDate" class="cod-dp-toggle"></mat-datepicker-toggle>
3682
3695
  <mat-datepicker #valueDate></mat-datepicker>
3683
3696
  </div>
@@ -3699,7 +3712,7 @@ class AttributeFlexComponent extends AttributeBase {
3699
3712
  [(ngModel)]="attributeValues[0].date"
3700
3713
  (ngModelChange)="valueDateChange($event)"
3701
3714
  [disabled]="!editInline || attribute.isCalculated === 'Y'"
3702
- [ngxMatDatetimePicker]="dtpicker">
3715
+ [ngxMatDatetimePicker]="dtpicker" attr.aria-label="hci-ng-attribute-flex-input-date-time-{{hciNgAttributeAbsoluteInputDisplayName}}">
3703
3716
  <mat-datepicker-toggle matSuffix [for]="dtpicker" class="cod-dp-toggle"></mat-datepicker-toggle>
3704
3717
  <ngx-mat-datetime-picker #dtpicker [showSeconds]="true"></ngx-mat-datetime-picker>
3705
3718
  </div>
@@ -3757,10 +3770,11 @@ class AttributeFlexComponent extends AttributeBase {
3757
3770
  {{attribute.displayName}}
3758
3771
  </div>
3759
3772
  <div class="d-flex flex-grow-1">
3760
- <select [ngModel]="(attributeValues[0].valueAttributeChoice)?attributeValues[0].valueAttributeChoice.idAttributeChoice:undefined"
3761
- (ngModelChange)="valueChoiceChange($event)"
3762
- [disabled]="!editInline || attribute.isCalculated === 'Y'"
3763
- class="form-control edit-renderer">
3773
+ <select
3774
+ [ngModel]="(attributeValues[0].valueAttributeChoice)?attributeValues[0].valueAttributeChoice.idAttributeChoice:undefined"
3775
+ (ngModelChange)="valueChoiceChange($event)"
3776
+ [disabled]="!editInline || attribute.isCalculated === 'Y'"
3777
+ class="form-control edit-renderer">
3764
3778
  <option [ngValue]="undefined"></option>
3765
3779
  <option *ngFor="let attributeChoice of attributeChoices"
3766
3780
  [ngValue]="attributeChoice.idAttributeChoice">
@@ -3785,8 +3799,8 @@ class AttributeFlexComponent extends AttributeBase {
3785
3799
  [checked]="attributeChoice.value"
3786
3800
  [disabled]="!editInline || attribute.isCalculated === 'Y'"
3787
3801
  (change)="valueMultiChoiceChange(attributeChoice)"
3788
- [disabled]="!editInline || attribute.isCalculated === 'Y'"
3789
- class="form-control checkbox" />
3802
+ [disabled]="!editInline || attribute.isCalculated === 'Y'"
3803
+ class="form-control checkbox" attr.aria-label="hci-ng-attribute-flex-input-choice-multiple-{{attributeChoice.choice}}"/>
3790
3804
  <div class="cod-label ps-1">
3791
3805
  {{attributeChoice.choice}}
3792
3806
  </div>
@@ -3811,7 +3825,7 @@ class AttributeFlexComponent extends AttributeBase {
3811
3825
  [disabled]="!editInline || attribute.isCalculated === 'Y'"
3812
3826
  (change)="valueMultiDictChange(entry)"
3813
3827
  [disabled]="!editInline || attribute.isCalculated === 'Y'"
3814
- class="form-control checkbox" />
3828
+ class="form-control checkbox" attr.aria-label="hci-ng-attribute-flex-input-dictionary-choice-{{entry.display}}"/>
3815
3829
  <div class="cod-label ps-1">
3816
3830
  {{entry.display}}
3817
3831
  </div>
@@ -3946,23 +3960,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
3946
3960
  </div>
3947
3961
  </ng-container>
3948
3962
 
3949
- <!-- String -->
3950
- <ng-container *ngIf="attribute.codeAttributeDataType === 'S'">
3951
- <div #attributeRef
3952
- class="d-flex flex-column cod-type-s">
3953
- <div *ngIf="attribute.displayName" class="d-flex cod-top-label me-1">
3954
- {{attribute.displayName}}
3955
- </div>
3956
- <div class="d-flex flex-grow-1">
3957
- <input #inputRef
3958
- type="text"
3959
- [(ngModel)]="attributeValues[0].valueString"
3960
- (ngModelChange)="valueStringChange($event)"
3961
- [disabled]="!editInline || attribute.isCalculated === 'Y'"
3962
- class="form-control" />
3963
- </div>
3964
- </div>
3965
- </ng-container>
3963
+ <!-- String -->
3964
+ <ng-container *ngIf="attribute.codeAttributeDataType === 'S'">
3965
+ <div #attributeRef
3966
+ class="d-flex flex-column cod-type-s">
3967
+ <div *ngIf="attribute.displayName" class="d-flex cod-top-label me-1">
3968
+ {{ attribute.displayName }}
3969
+ </div>
3970
+ <div class="d-flex flex-grow-1">
3971
+ <input #inputRef
3972
+ type="text"
3973
+ [(ngModel)]="attributeValues[0].valueString"
3974
+ (ngModelChange)="valueStringChange($event)"
3975
+ [disabled]="!editInline || attribute.isCalculated === 'Y'"
3976
+ class="form-control" attr.aria-label="hci-ng-attribute-flex-input-string-{{hciNgAttributeAbsoluteInputDisplayName}}"/>
3977
+ </div>
3978
+ </div>
3979
+ </ng-container>
3980
+
3966
3981
 
3967
3982
  <!-- Text -->
3968
3983
  <ng-container *ngIf="attribute.codeAttributeDataType === 'TXT'">
@@ -3999,7 +4014,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
3999
4014
  [checked]="attributeValues[0].valueString === 'Y'"
4000
4015
  (change)="valueCheckboxChange($event)"
4001
4016
  [disabled]="!editInline || attribute.isCalculated === 'Y'"
4002
- class="form-control" />
4017
+ class="form-control" attr.aria-label="hci-ng-attribute-flex-input-checkbox-{{hciNgAttributeAbsoluteInputDisplayName}}"/>
4003
4018
  </div>
4004
4019
  </div>
4005
4020
  </ng-container>
@@ -4016,8 +4031,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
4016
4031
  type="number"
4017
4032
  [(ngModel)]="attributeValues[0].valueNumeric"
4018
4033
  (ngModelChange)="valueNumericChange($event)"
4019
- [disabled]="!editInline || attribute.isCalculated === 'Y'"
4020
- class="form-control" />
4034
+ [disabled]="!editInline || attribute.isCalculated === 'Y'"
4035
+ class="form-control" attr.aria-label="hci-ng-attribute-flex-input-numeric-{{hciNgAttributeAbsoluteInputDisplayName}}"/>
4021
4036
  </div>
4022
4037
  </div>
4023
4038
  </ng-container>
@@ -4034,8 +4049,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
4034
4049
  type="number"
4035
4050
  [(ngModel)]="attributeValues[0].valueInteger"
4036
4051
  (ngModelChange)="valueIntegerChange($event)"
4037
- [disabled]="!editInline || attribute.isCalculated === 'Y'"
4038
- class="form-control" />
4052
+ [disabled]="!editInline || attribute.isCalculated === 'Y'"
4053
+ class="form-control" attr.aria-label="hci-ng-attribute-flex-input-integer-{{hciNgAttributeAbsoluteInputDisplayName}}"/>
4039
4054
  </div>
4040
4055
  </div>
4041
4056
  </ng-container>
@@ -4055,7 +4070,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
4055
4070
  (ngModelChange)="valueDateChange($event)"
4056
4071
  [matDatepicker]="valueDate"
4057
4072
  [disabled]="!editInline || attribute.isCalculated === 'Y'"
4058
- class="form-control">
4073
+ class="form-control" attr.aria-label="hci-ng-attribute-flex-input-date-{{hciNgAttributeAbsoluteInputDisplayName}}">
4059
4074
  <mat-datepicker-toggle matSuffix [for]="valueDate" class="cod-dp-toggle"></mat-datepicker-toggle>
4060
4075
  <mat-datepicker #valueDate></mat-datepicker>
4061
4076
  </div>
@@ -4077,7 +4092,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
4077
4092
  [(ngModel)]="attributeValues[0].date"
4078
4093
  (ngModelChange)="valueDateChange($event)"
4079
4094
  [disabled]="!editInline || attribute.isCalculated === 'Y'"
4080
- [ngxMatDatetimePicker]="dtpicker">
4095
+ [ngxMatDatetimePicker]="dtpicker" attr.aria-label="hci-ng-attribute-flex-input-date-time-{{hciNgAttributeAbsoluteInputDisplayName}}">
4081
4096
  <mat-datepicker-toggle matSuffix [for]="dtpicker" class="cod-dp-toggle"></mat-datepicker-toggle>
4082
4097
  <ngx-mat-datetime-picker #dtpicker [showSeconds]="true"></ngx-mat-datetime-picker>
4083
4098
  </div>
@@ -4135,10 +4150,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
4135
4150
  {{attribute.displayName}}
4136
4151
  </div>
4137
4152
  <div class="d-flex flex-grow-1">
4138
- <select [ngModel]="(attributeValues[0].valueAttributeChoice)?attributeValues[0].valueAttributeChoice.idAttributeChoice:undefined"
4139
- (ngModelChange)="valueChoiceChange($event)"
4140
- [disabled]="!editInline || attribute.isCalculated === 'Y'"
4141
- class="form-control edit-renderer">
4153
+ <select
4154
+ [ngModel]="(attributeValues[0].valueAttributeChoice)?attributeValues[0].valueAttributeChoice.idAttributeChoice:undefined"
4155
+ (ngModelChange)="valueChoiceChange($event)"
4156
+ [disabled]="!editInline || attribute.isCalculated === 'Y'"
4157
+ class="form-control edit-renderer">
4142
4158
  <option [ngValue]="undefined"></option>
4143
4159
  <option *ngFor="let attributeChoice of attributeChoices"
4144
4160
  [ngValue]="attributeChoice.idAttributeChoice">
@@ -4163,8 +4179,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
4163
4179
  [checked]="attributeChoice.value"
4164
4180
  [disabled]="!editInline || attribute.isCalculated === 'Y'"
4165
4181
  (change)="valueMultiChoiceChange(attributeChoice)"
4166
- [disabled]="!editInline || attribute.isCalculated === 'Y'"
4167
- class="form-control checkbox" />
4182
+ [disabled]="!editInline || attribute.isCalculated === 'Y'"
4183
+ class="form-control checkbox" attr.aria-label="hci-ng-attribute-flex-input-choice-multiple-{{attributeChoice.choice}}"/>
4168
4184
  <div class="cod-label ps-1">
4169
4185
  {{attributeChoice.choice}}
4170
4186
  </div>
@@ -4189,7 +4205,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
4189
4205
  [disabled]="!editInline || attribute.isCalculated === 'Y'"
4190
4206
  (change)="valueMultiDictChange(entry)"
4191
4207
  [disabled]="!editInline || attribute.isCalculated === 'Y'"
4192
- class="form-control checkbox" />
4208
+ class="form-control checkbox" attr.aria-label="hci-ng-attribute-flex-input-dictionary-choice-{{entry.display}}"/>
4193
4209
  <div class="cod-label ps-1">
4194
4210
  {{entry.display}}
4195
4211
  </div>
@@ -4682,7 +4698,7 @@ class AttributeDefaultComponent {
4682
4698
  class="form-control"
4683
4699
  [id]="id"
4684
4700
  [name]="name"
4685
- [(ngModel)]="value">
4701
+ [(ngModel)]="value" attr.aria-label="hci-ng-string-attribute-default-{{name}}">
4686
4702
  </ng-container>
4687
4703
 
4688
4704
  <!-- Text -->
@@ -4704,7 +4720,7 @@ class AttributeDefaultComponent {
4704
4720
  [id]="id"
4705
4721
  [name]="name"
4706
4722
  [(ngModel)]="value"
4707
- [checked]="value && value.toUpperCase() === 'Y'">
4723
+ [checked]="value && value.toUpperCase() === 'Y'" attr.aria-label="hci-ng-checkbox-attribute default-{{name}}">
4708
4724
  </ng-container>
4709
4725
 
4710
4726
  <!-- Numeric -->
@@ -4713,7 +4729,7 @@ class AttributeDefaultComponent {
4713
4729
  class="form-control"
4714
4730
  [id]="id"
4715
4731
  [name]="name"
4716
- [(ngModel)]="value">
4732
+ [(ngModel)]="value" attr.aria-label="hci-ng-numeric-attribute default-{{name}}">
4717
4733
  </ng-container>
4718
4734
 
4719
4735
  <!-- Integer -->
@@ -4722,7 +4738,7 @@ class AttributeDefaultComponent {
4722
4738
  class="form-control"
4723
4739
  [id]="id"
4724
4740
  [name]="name"
4725
- [(ngModel)]="value">
4741
+ [(ngModel)]="value" attr.aria-label="hci-ng-number-attribute default-{{name}}">
4726
4742
  </ng-container>
4727
4743
 
4728
4744
  <!-- Date -->
@@ -4731,7 +4747,7 @@ class AttributeDefaultComponent {
4731
4747
  class="form-control"
4732
4748
  [id]="id"
4733
4749
  [name]="name"
4734
- [(ngModel)]="value">
4750
+ [(ngModel)]="value" attr.aria-label="hci-ng-date-attribute default-{{name}}">
4735
4751
  </ng-container>
4736
4752
 
4737
4753
  <!-- Date Time -->
@@ -4740,7 +4756,7 @@ class AttributeDefaultComponent {
4740
4756
  class="form-control"
4741
4757
  [id]="id"
4742
4758
  [name]="name"
4743
- [(ngModel)]="value">
4759
+ [(ngModel)]="value" attr.aria-label="hci-ng-date-time-attribute default-{{name}}">
4744
4760
  </ng-container>
4745
4761
 
4746
4762
  <!-- Boolean -->
@@ -4786,7 +4802,7 @@ class AttributeDefaultComponent {
4786
4802
  class="form-control"
4787
4803
  [id]="id"
4788
4804
  [name]="name"
4789
- disabled>
4805
+ disabled attr.aria-label="hci-ng-choice-multiple-attribute default-{{name}}">
4790
4806
  </ng-container>
4791
4807
 
4792
4808
  <!-- Dictionary -->
@@ -4804,7 +4820,7 @@ class AttributeDefaultComponent {
4804
4820
  class="form-control"
4805
4821
  [id]="id"
4806
4822
  [name]="name"
4807
- disabled>
4823
+ disabled attr.aria-label="hci-ng-grid-attribute default-{{name}}">
4808
4824
  </ng-container>
4809
4825
  `, isInline: true }); }
4810
4826
  }
@@ -4819,7 +4835,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
4819
4835
  class="form-control"
4820
4836
  [id]="id"
4821
4837
  [name]="name"
4822
- [(ngModel)]="value">
4838
+ [(ngModel)]="value" attr.aria-label="hci-ng-string-attribute-default-{{name}}">
4823
4839
  </ng-container>
4824
4840
 
4825
4841
  <!-- Text -->
@@ -4841,7 +4857,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
4841
4857
  [id]="id"
4842
4858
  [name]="name"
4843
4859
  [(ngModel)]="value"
4844
- [checked]="value && value.toUpperCase() === 'Y'">
4860
+ [checked]="value && value.toUpperCase() === 'Y'" attr.aria-label="hci-ng-checkbox-attribute default-{{name}}">
4845
4861
  </ng-container>
4846
4862
 
4847
4863
  <!-- Numeric -->
@@ -4850,7 +4866,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
4850
4866
  class="form-control"
4851
4867
  [id]="id"
4852
4868
  [name]="name"
4853
- [(ngModel)]="value">
4869
+ [(ngModel)]="value" attr.aria-label="hci-ng-numeric-attribute default-{{name}}">
4854
4870
  </ng-container>
4855
4871
 
4856
4872
  <!-- Integer -->
@@ -4859,7 +4875,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
4859
4875
  class="form-control"
4860
4876
  [id]="id"
4861
4877
  [name]="name"
4862
- [(ngModel)]="value">
4878
+ [(ngModel)]="value" attr.aria-label="hci-ng-number-attribute default-{{name}}">
4863
4879
  </ng-container>
4864
4880
 
4865
4881
  <!-- Date -->
@@ -4868,7 +4884,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
4868
4884
  class="form-control"
4869
4885
  [id]="id"
4870
4886
  [name]="name"
4871
- [(ngModel)]="value">
4887
+ [(ngModel)]="value" attr.aria-label="hci-ng-date-attribute default-{{name}}">
4872
4888
  </ng-container>
4873
4889
 
4874
4890
  <!-- Date Time -->
@@ -4877,7 +4893,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
4877
4893
  class="form-control"
4878
4894
  [id]="id"
4879
4895
  [name]="name"
4880
- [(ngModel)]="value">
4896
+ [(ngModel)]="value" attr.aria-label="hci-ng-date-time-attribute default-{{name}}">
4881
4897
  </ng-container>
4882
4898
 
4883
4899
  <!-- Boolean -->
@@ -4923,7 +4939,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
4923
4939
  class="form-control"
4924
4940
  [id]="id"
4925
4941
  [name]="name"
4926
- disabled>
4942
+ disabled attr.aria-label="hci-ng-choice-multiple-attribute default-{{name}}">
4927
4943
  </ng-container>
4928
4944
 
4929
4945
  <!-- Dictionary -->
@@ -4941,7 +4957,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
4941
4957
  class="form-control"
4942
4958
  [id]="id"
4943
4959
  [name]="name"
4944
- disabled>
4960
+ disabled attr.aria-label="hci-ng-grid-attribute default-{{name}}">
4945
4961
  </ng-container>
4946
4962
  `,
4947
4963
  providers: [