iptdevs-design-system 3.1.915 → 3.1.917

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.
@@ -5,12 +5,18 @@ import * as i2 from "@angular/common";
5
5
  export class DatalistComponent {
6
6
  constructor(fb) {
7
7
  this.disabledSel = false;
8
+ this.label = '';
8
9
  this.isChanged = new EventEmitter();
9
10
  this.clicked = false;
11
+ this.uniqueDatalistId = '';
12
+ }
13
+ ngOnInit() {
14
+ // Generar un ID único si no se proporciona datalistId
15
+ this.uniqueDatalistId = this.datalistId || `datalist-${DatalistComponent.idCounter++}-${Date.now()}`;
10
16
  }
11
17
  optionChanged(event) {
12
- let selectOption = this.datalistData.find(element => element.name == event.target.value);
13
- if (typeof (selectOption) != 'undefined') {
18
+ let selectOption = this.datalistData.find(element => this.label === 'displayName' ? element.displayName === event.target.value : element.name === event.target.value);
19
+ if (typeof selectOption !== 'undefined') {
14
20
  this.isChanged.emit(selectOption.code);
15
21
  }
16
22
  else {
@@ -21,9 +27,9 @@ export class DatalistComponent {
21
27
  this.clicked = value.isTrusted;
22
28
  }
23
29
  setDataListValue() {
24
- let selectOption = this.datalistData.find(element => element.code == this.initalData);
25
- if (typeof (selectOption) != 'undefined') {
26
- return selectOption.name;
30
+ let selectOption = this.datalistData.find(element => element.code === this.initalData);
31
+ if (typeof selectOption !== 'undefined') {
32
+ return this.label === 'displayName' ? selectOption.displayName : selectOption.name;
27
33
  }
28
34
  else {
29
35
  return '';
@@ -33,23 +39,24 @@ export class DatalistComponent {
33
39
  return this.clicked === false ? 'label' : 'labelUp';
34
40
  }
35
41
  }
42
+ DatalistComponent.idCounter = 0; // Contador estático para generar IDs únicos
36
43
  DatalistComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: DatalistComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
37
- DatalistComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: DatalistComponent, selector: "ipt-datalist", inputs: { datalistId: "datalistId", datalistData: "datalistData", placeHolder: "placeHolder", validateText: "validateText", initalData: "initalData", disabledSel: "disabledSel" }, outputs: { isChanged: "isChanged" }, ngImport: i0, template: `
44
+ DatalistComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: DatalistComponent, selector: "ipt-datalist", inputs: { datalistId: "datalistId", datalistData: "datalistData", placeHolder: "placeHolder", validateText: "validateText", initalData: "initalData", disabledSel: "disabledSel", label: "label" }, outputs: { isChanged: "isChanged" }, ngImport: i0, template: `
38
45
  <div class="input-container">
39
46
  <label [ngClass]="labelClass">{{ placeHolder }}</label>
40
47
  <input
41
48
  type="text"
42
49
  class="input"
43
50
  (click)="click($event)"
44
- [attr.list]="datalistId"
51
+ [attr.list]="uniqueDatalistId"
45
52
  (change)="optionChanged($event)"
46
53
  [disabled]="disabledSel"
47
54
  [value]="setDataListValue()"
48
55
  />
49
56
 
50
- <datalist id="{{ datalistId }}">
51
- <option *ngFor="let item of datalistData; index as i" [value]="item.name">
52
- {{item.id_card}} {{item.name}}
57
+ <datalist [id]="uniqueDatalistId">
58
+ <option *ngFor="let item of datalistData; index as i" [value]="label === 'displayName' ? item.displayName : item.name">
59
+ {{ label === 'displayName' ? item.displayName : (item.id_card ? item.id_card + ' ' : '') + item.name }}
53
60
  </option>
54
61
  </datalist>
55
62
  </div>
@@ -63,15 +70,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
63
70
  type="text"
64
71
  class="input"
65
72
  (click)="click($event)"
66
- [attr.list]="datalistId"
73
+ [attr.list]="uniqueDatalistId"
67
74
  (change)="optionChanged($event)"
68
75
  [disabled]="disabledSel"
69
76
  [value]="setDataListValue()"
70
77
  />
71
78
 
72
- <datalist id="{{ datalistId }}">
73
- <option *ngFor="let item of datalistData; index as i" [value]="item.name">
74
- {{item.id_card}} {{item.name}}
79
+ <datalist [id]="uniqueDatalistId">
80
+ <option *ngFor="let item of datalistData; index as i" [value]="label === 'displayName' ? item.displayName : item.name">
81
+ {{ label === 'displayName' ? item.displayName : (item.id_card ? item.id_card + ' ' : '') + item.name }}
75
82
  </option>
76
83
  </datalist>
77
84
  </div>
@@ -88,7 +95,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
88
95
  type: Input
89
96
  }], disabledSel: [{
90
97
  type: Input
98
+ }], label: [{
99
+ type: Input
91
100
  }], isChanged: [{
92
101
  type: Output
93
102
  }] } });
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvbXBvbmVudHMvYXRvbXMvZGF0YWxpc3QvZGF0YWxpc3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQTRCLE1BQU0sZUFBZSxDQUFDOzs7O0FBMkJqRyxNQUFNLE9BQU8saUJBQWlCO0lBYTVCLFlBQVksRUFBZTtRQU5sQixnQkFBVyxHQUFXLEtBQUssQ0FBQztRQUUzQixjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUVqRCxZQUFPLEdBQVksS0FBSyxDQUFDO0lBR3pCLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBVTtRQUN0QixJQUFJLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFFLE9BQU8sQ0FBQyxJQUFJLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxRixJQUFJLE9BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxXQUFXLEVBQUU7WUFDdkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3hDO2FBQU07WUFDTCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUMzQjtJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsS0FBaUI7UUFDckIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxJQUFJLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFFLE9BQU8sQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3ZGLElBQUksT0FBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLFdBQVcsRUFBRTtZQUN2QyxPQUFPLFlBQVksQ0FBQyxJQUFJLENBQUM7U0FDMUI7YUFBTTtZQUNMLE9BQU8sRUFBRSxDQUFDO1NBQ1g7SUFDSCxDQUFDO0lBRUQsSUFBVyxVQUFVO1FBQ25CLE9BQU8sSUFBSSxDQUFDLE9BQU8sS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ3RELENBQUM7OzhHQXhDVSxpQkFBaUI7a0dBQWpCLGlCQUFpQiw2UUF0QmxCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJUOzJGQUdVLGlCQUFpQjtrQkF4QjdCLFNBQVM7K0JBQ0UsY0FBYyxZQUNkOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJUO2tHQUtRLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVJLFNBQVM7c0JBQWxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgVmlld0NoaWxkLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBOZ0Zvcm0sIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lwdC1kYXRhbGlzdCcsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImlucHV0LWNvbnRhaW5lclwiPlxuICAgICAgPGxhYmVsIFtuZ0NsYXNzXT1cImxhYmVsQ2xhc3NcIj57eyBwbGFjZUhvbGRlciB9fTwvbGFiZWw+XG4gICAgICA8aW5wdXRcbiAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICBjbGFzcz1cImlucHV0XCJcbiAgICAgICAgKGNsaWNrKT1cImNsaWNrKCRldmVudClcIlxuICAgICAgICBbYXR0ci5saXN0XT1cImRhdGFsaXN0SWRcIlxuICAgICAgICAoY2hhbmdlKT1cIm9wdGlvbkNoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFNlbFwiXG4gICAgICAgIFt2YWx1ZV09XCJzZXREYXRhTGlzdFZhbHVlKClcIlxuICAgICAgLz5cblxuICAgICAgPGRhdGFsaXN0IGlkPVwie3sgZGF0YWxpc3RJZCB9fVwiPlxuICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBpdGVtIG9mIGRhdGFsaXN0RGF0YTsgaW5kZXggYXMgaVwiIFt2YWx1ZV09XCJpdGVtLm5hbWVcIj5cbiAgICAgICAgICB7e2l0ZW0uaWRfY2FyZH19IHt7aXRlbS5uYW1lfX1cbiAgICAgICAgPC9vcHRpb24+XG4gICAgICA8L2RhdGFsaXN0PlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9kYXRhbGlzdC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRGF0YWxpc3RDb21wb25lbnQge1xuXG4gIEBJbnB1dCgpIGRhdGFsaXN0SWQhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRhdGFsaXN0RGF0YSE6IGFueVtdO1xuICBASW5wdXQoKSBwbGFjZUhvbGRlciE6IHN0cmluZztcbiAgQElucHV0KCkgdmFsaWRhdGVUZXh0ITogc3RyaW5nO1xuICBASW5wdXQoKSBpbml0YWxEYXRhITogc3RyaW5nO1xuICBASW5wdXQoKSBkaXNhYmxlZFNlbDpib29sZWFuID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpIGlzQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIGNsaWNrZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihmYjogRm9ybUJ1aWxkZXIpIHtcbiAgfVxuXG4gIG9wdGlvbkNoYW5nZWQoZXZlbnQ6IGFueSkge1xuICAgIGxldCBzZWxlY3RPcHRpb24gPSB0aGlzLmRhdGFsaXN0RGF0YS5maW5kKGVsZW1lbnQgPT4gIGVsZW1lbnQubmFtZSA9PSBldmVudC50YXJnZXQudmFsdWUpO1xuICAgIGlmICh0eXBlb2Yoc2VsZWN0T3B0aW9uKSAhPSAndW5kZWZpbmVkJykge1xuICAgICAgdGhpcy5pc0NoYW5nZWQuZW1pdChzZWxlY3RPcHRpb24uY29kZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaXNDaGFuZ2VkLmVtaXQoJy0xJyk7XG4gICAgfVxuICB9XG5cbiAgY2xpY2sodmFsdWU6IE1vdXNlRXZlbnQpIHtcbiAgICB0aGlzLmNsaWNrZWQgPSB2YWx1ZS5pc1RydXN0ZWQ7XG4gIH1cblxuICBzZXREYXRhTGlzdFZhbHVlKCkge1xuICAgIGxldCBzZWxlY3RPcHRpb24gPSB0aGlzLmRhdGFsaXN0RGF0YS5maW5kKGVsZW1lbnQgPT4gIGVsZW1lbnQuY29kZSA9PSB0aGlzLmluaXRhbERhdGEpO1xuICAgIGlmICh0eXBlb2Yoc2VsZWN0T3B0aW9uKSAhPSAndW5kZWZpbmVkJykge1xuICAgICAgcmV0dXJuIHNlbGVjdE9wdGlvbi5uYW1lO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBsYWJlbENsYXNzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuY2xpY2tlZCA9PT0gZmFsc2UgPyAnbGFiZWwnIDogJ2xhYmVsVXAnO1xuICB9XG59XG4iXX0=
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvbXBvbmVudHMvYXRvbXMvZGF0YWxpc3QvZGF0YWxpc3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7QUEyQi9FLE1BQU0sT0FBTyxpQkFBaUI7SUFnQjVCLFlBQVksRUFBZTtRQVZsQixnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUM3QixVQUFLLEdBQVcsRUFBRSxDQUFDO1FBRWxCLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBRWpELFlBQU8sR0FBWSxLQUFLLENBQUM7UUFDekIscUJBQWdCLEdBQVcsRUFBRSxDQUFDO0lBSUEsQ0FBQztJQUUvQixRQUFRO1FBQ04sc0RBQXNEO1FBQ3RELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsVUFBVSxJQUFJLFlBQVksaUJBQWlCLENBQUMsU0FBUyxFQUFFLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUM7SUFDdkcsQ0FBQztJQUVILGFBQWEsQ0FBQyxLQUFVO1FBQ3BCLElBQUksWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQ2xELElBQUksQ0FBQyxLQUFLLEtBQUssYUFBYSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsV0FBVyxLQUFLLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxLQUFLLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUNoSCxDQUFDO1FBQ0YsSUFBSSxPQUFPLFlBQVksS0FBSyxXQUFXLEVBQUU7WUFDdkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3hDO2FBQU07WUFDTCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUMzQjtJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsS0FBaUI7UUFDckIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDO0lBQ2pDLENBQUM7SUFFSCxnQkFBZ0I7UUFDWixJQUFJLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3ZGLElBQUksT0FBTyxZQUFZLEtBQUssV0FBVyxFQUFFO1lBQ3ZDLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxhQUFhLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7U0FDcEY7YUFBTTtZQUNMLE9BQU8sRUFBRSxDQUFDO1NBQ1g7SUFDSCxDQUFDO0lBRUQsSUFBVyxVQUFVO1FBQ25CLE9BQU8sSUFBSSxDQUFDLE9BQU8sS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ3RELENBQUM7O0FBbkNjLDJCQUFTLEdBQUcsQ0FBRSxDQUFBLENBQUMsNENBQTRDOzhHQWQvRCxpQkFBaUI7a0dBQWpCLGlCQUFpQiw2UkF0QmxCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJUOzJGQUdVLGlCQUFpQjtrQkF4QjdCLFNBQVM7K0JBQ0UsY0FBYyxZQUNkOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJUO2tHQUlRLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFFSSxTQUFTO3NCQUFsQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lwdC1kYXRhbGlzdCcsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImlucHV0LWNvbnRhaW5lclwiPlxuICAgICAgPGxhYmVsIFtuZ0NsYXNzXT1cImxhYmVsQ2xhc3NcIj57eyBwbGFjZUhvbGRlciB9fTwvbGFiZWw+XG4gICAgICA8aW5wdXRcbiAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICBjbGFzcz1cImlucHV0XCJcbiAgICAgICAgKGNsaWNrKT1cImNsaWNrKCRldmVudClcIlxuICAgICAgICBbYXR0ci5saXN0XT1cInVuaXF1ZURhdGFsaXN0SWRcIlxuICAgICAgICAoY2hhbmdlKT1cIm9wdGlvbkNoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFNlbFwiXG4gICAgICAgIFt2YWx1ZV09XCJzZXREYXRhTGlzdFZhbHVlKClcIlxuICAgICAgLz5cblxuICAgICAgPGRhdGFsaXN0IFtpZF09XCJ1bmlxdWVEYXRhbGlzdElkXCI+XG4gICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IGl0ZW0gb2YgZGF0YWxpc3REYXRhOyBpbmRleCBhcyBpXCIgW3ZhbHVlXT1cImxhYmVsID09PSAnZGlzcGxheU5hbWUnID8gaXRlbS5kaXNwbGF5TmFtZSA6IGl0ZW0ubmFtZVwiPlxuICAgICAgICAgIHt7IGxhYmVsID09PSAnZGlzcGxheU5hbWUnID8gaXRlbS5kaXNwbGF5TmFtZSA6IChpdGVtLmlkX2NhcmQgPyBpdGVtLmlkX2NhcmQgKyAnICcgOiAnJykgKyBpdGVtLm5hbWUgfX1cbiAgICAgICAgPC9vcHRpb24+XG4gICAgICA8L2RhdGFsaXN0PlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9kYXRhbGlzdC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRGF0YWxpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBkYXRhbGlzdElkITogc3RyaW5nO1xuICBASW5wdXQoKSBkYXRhbGlzdERhdGEhOiBhbnlbXTtcbiAgQElucHV0KCkgcGxhY2VIb2xkZXIhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHZhbGlkYXRlVGV4dCE6IHN0cmluZztcbiAgQElucHV0KCkgaW5pdGFsRGF0YSE6IHN0cmluZztcbiAgQElucHV0KCkgZGlzYWJsZWRTZWw6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZyA9ICcnO1xuXG4gIEBPdXRwdXQoKSBpc0NoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBjbGlja2VkOiBib29sZWFuID0gZmFsc2U7XG4gIHVuaXF1ZURhdGFsaXN0SWQ6IHN0cmluZyA9ICcnO1xuXG4gIHByaXZhdGUgc3RhdGljIGlkQ291bnRlciA9IDA7IC8vIENvbnRhZG9yIGVzdMOhdGljbyBwYXJhIGdlbmVyYXIgSURzIMO6bmljb3NcblxuICBjb25zdHJ1Y3RvcihmYjogRm9ybUJ1aWxkZXIpIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgLy8gR2VuZXJhciB1biBJRCDDum5pY28gc2kgbm8gc2UgcHJvcG9yY2lvbmEgZGF0YWxpc3RJZFxuICAgIHRoaXMudW5pcXVlRGF0YWxpc3RJZCA9IHRoaXMuZGF0YWxpc3RJZCB8fCBgZGF0YWxpc3QtJHtEYXRhbGlzdENvbXBvbmVudC5pZENvdW50ZXIrK30tJHtEYXRlLm5vdygpfWA7XG4gIH1cblxub3B0aW9uQ2hhbmdlZChldmVudDogYW55KSB7XG4gICAgbGV0IHNlbGVjdE9wdGlvbiA9IHRoaXMuZGF0YWxpc3REYXRhLmZpbmQoZWxlbWVudCA9PlxuICAgICAgdGhpcy5sYWJlbCA9PT0gJ2Rpc3BsYXlOYW1lJyA/IGVsZW1lbnQuZGlzcGxheU5hbWUgPT09IGV2ZW50LnRhcmdldC52YWx1ZSA6IGVsZW1lbnQubmFtZSA9PT0gZXZlbnQudGFyZ2V0LnZhbHVlXG4gICAgKTtcbiAgICBpZiAodHlwZW9mIHNlbGVjdE9wdGlvbiAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHRoaXMuaXNDaGFuZ2VkLmVtaXQoc2VsZWN0T3B0aW9uLmNvZGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmlzQ2hhbmdlZC5lbWl0KCctMScpO1xuICAgIH1cbiAgfVxuXG4gIGNsaWNrKHZhbHVlOiBNb3VzZUV2ZW50KSB7XG4gICAgdGhpcy5jbGlja2VkID0gdmFsdWUuaXNUcnVzdGVkO1xuICB9XG5cbnNldERhdGFMaXN0VmFsdWUoKSB7XG4gICAgbGV0IHNlbGVjdE9wdGlvbiA9IHRoaXMuZGF0YWxpc3REYXRhLmZpbmQoZWxlbWVudCA9PiBlbGVtZW50LmNvZGUgPT09IHRoaXMuaW5pdGFsRGF0YSk7XG4gICAgaWYgKHR5cGVvZiBzZWxlY3RPcHRpb24gIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICByZXR1cm4gdGhpcy5sYWJlbCA9PT0gJ2Rpc3BsYXlOYW1lJyA/IHNlbGVjdE9wdGlvbi5kaXNwbGF5TmFtZSA6IHNlbGVjdE9wdGlvbi5uYW1lO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBsYWJlbENsYXNzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuY2xpY2tlZCA9PT0gZmFsc2UgPyAnbGFiZWwnIDogJ2xhYmVsVXAnO1xuICB9XG59Il19
@@ -208,12 +208,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
208
208
  class DatalistComponent {
209
209
  constructor(fb) {
210
210
  this.disabledSel = false;
211
+ this.label = '';
211
212
  this.isChanged = new EventEmitter();
212
213
  this.clicked = false;
214
+ this.uniqueDatalistId = '';
215
+ }
216
+ ngOnInit() {
217
+ // Generar un ID único si no se proporciona datalistId
218
+ this.uniqueDatalistId = this.datalistId || `datalist-${DatalistComponent.idCounter++}-${Date.now()}`;
213
219
  }
214
220
  optionChanged(event) {
215
- let selectOption = this.datalistData.find(element => element.name == event.target.value);
216
- if (typeof (selectOption) != 'undefined') {
221
+ let selectOption = this.datalistData.find(element => this.label === 'displayName' ? element.displayName === event.target.value : element.name === event.target.value);
222
+ if (typeof selectOption !== 'undefined') {
217
223
  this.isChanged.emit(selectOption.code);
218
224
  }
219
225
  else {
@@ -224,9 +230,9 @@ class DatalistComponent {
224
230
  this.clicked = value.isTrusted;
225
231
  }
226
232
  setDataListValue() {
227
- let selectOption = this.datalistData.find(element => element.code == this.initalData);
228
- if (typeof (selectOption) != 'undefined') {
229
- return selectOption.name;
233
+ let selectOption = this.datalistData.find(element => element.code === this.initalData);
234
+ if (typeof selectOption !== 'undefined') {
235
+ return this.label === 'displayName' ? selectOption.displayName : selectOption.name;
230
236
  }
231
237
  else {
232
238
  return '';
@@ -236,23 +242,24 @@ class DatalistComponent {
236
242
  return this.clicked === false ? 'label' : 'labelUp';
237
243
  }
238
244
  }
245
+ DatalistComponent.idCounter = 0; // Contador estático para generar IDs únicos
239
246
  DatalistComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: DatalistComponent, deps: [{ token: i1$1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
240
- DatalistComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: DatalistComponent, selector: "ipt-datalist", inputs: { datalistId: "datalistId", datalistData: "datalistData", placeHolder: "placeHolder", validateText: "validateText", initalData: "initalData", disabledSel: "disabledSel" }, outputs: { isChanged: "isChanged" }, ngImport: i0, template: `
247
+ DatalistComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: DatalistComponent, selector: "ipt-datalist", inputs: { datalistId: "datalistId", datalistData: "datalistData", placeHolder: "placeHolder", validateText: "validateText", initalData: "initalData", disabledSel: "disabledSel", label: "label" }, outputs: { isChanged: "isChanged" }, ngImport: i0, template: `
241
248
  <div class="input-container">
242
249
  <label [ngClass]="labelClass">{{ placeHolder }}</label>
243
250
  <input
244
251
  type="text"
245
252
  class="input"
246
253
  (click)="click($event)"
247
- [attr.list]="datalistId"
254
+ [attr.list]="uniqueDatalistId"
248
255
  (change)="optionChanged($event)"
249
256
  [disabled]="disabledSel"
250
257
  [value]="setDataListValue()"
251
258
  />
252
259
 
253
- <datalist id="{{ datalistId }}">
254
- <option *ngFor="let item of datalistData; index as i" [value]="item.name">
255
- {{item.id_card}} {{item.name}}
260
+ <datalist [id]="uniqueDatalistId">
261
+ <option *ngFor="let item of datalistData; index as i" [value]="label === 'displayName' ? item.displayName : item.name">
262
+ {{ label === 'displayName' ? item.displayName : (item.id_card ? item.id_card + ' ' : '') + item.name }}
256
263
  </option>
257
264
  </datalist>
258
265
  </div>
@@ -266,15 +273,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
266
273
  type="text"
267
274
  class="input"
268
275
  (click)="click($event)"
269
- [attr.list]="datalistId"
276
+ [attr.list]="uniqueDatalistId"
270
277
  (change)="optionChanged($event)"
271
278
  [disabled]="disabledSel"
272
279
  [value]="setDataListValue()"
273
280
  />
274
281
 
275
- <datalist id="{{ datalistId }}">
276
- <option *ngFor="let item of datalistData; index as i" [value]="item.name">
277
- {{item.id_card}} {{item.name}}
282
+ <datalist [id]="uniqueDatalistId">
283
+ <option *ngFor="let item of datalistData; index as i" [value]="label === 'displayName' ? item.displayName : item.name">
284
+ {{ label === 'displayName' ? item.displayName : (item.id_card ? item.id_card + ' ' : '') + item.name }}
278
285
  </option>
279
286
  </datalist>
280
287
  </div>
@@ -291,6 +298,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
291
298
  type: Input
292
299
  }], disabledSel: [{
293
300
  type: Input
301
+ }], label: [{
302
+ type: Input
294
303
  }], isChanged: [{
295
304
  type: Output
296
305
  }] } });