@n-isi-platform/design-system 1.0.29 → 1.0.31

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.
@@ -54,10 +54,10 @@ import { FileUploadModule } from 'primeng/fileupload';
54
54
  import * as i2$4 from 'primeng/menubar';
55
55
  import { MenubarModule } from 'primeng/menubar';
56
56
  import { OverlayBadgeModule } from 'primeng/overlaybadge';
57
+ import { Dialog, DialogModule } from 'primeng/dialog';
57
58
  import * as i1$8 from 'primeng/config';
58
59
  import { InputMask } from 'primeng/inputmask';
59
60
  import { ProgressSpinner } from 'primeng/progressspinner';
60
- import { Dialog, DialogModule } from 'primeng/dialog';
61
61
  import { MessageModule } from 'primeng/message';
62
62
  import * as i1$9 from 'primeng/picklist';
63
63
  import { PickListModule } from 'primeng/picklist';
@@ -1347,6 +1347,7 @@ class DateInputComponent {
1347
1347
  if (this.maxDateRangeOneYear) {
1348
1348
  this.maxDate = this.getDateRangeInYear();
1349
1349
  }
1350
+ console.log(this.minDate);
1350
1351
  }
1351
1352
  getDateInThreeMonths() {
1352
1353
  const currentDate = new Date();
@@ -1486,12 +1487,13 @@ class TextareaComponent {
1486
1487
  hasGap = true;
1487
1488
  // 2024-03-19; zato da je možno maxlength zaobit v določenih primerih (npr. inline forma na upravni-postopki)
1488
1489
  customMaxLength = 255;
1490
+ onBlurEvent = new EventEmitter();
1489
1491
  ngOnInit() {
1490
1492
  this._isTooltipVisible = !!this.tooltipText;
1491
1493
  }
1492
1494
  TooltipHoverEventEnum = TooltipHoverEventEnum;
1493
1495
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: TextareaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1494
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: TextareaComponent, isStandalone: true, selector: "lib-textarea[group][controlName][name]", inputs: { name: "name", resize: "resize", label: "label", placeholder: "placeholder", accessibilityText: "accessibilityText", rows: "rows", cols: "cols", tooltipPosition: "tooltipPosition", tooltipText: "tooltipText", group: "group", controlName: "controlName", isRequired: "isRequired", formStatus: "formStatus", hasGap: "hasGap", customMaxLength: "customMaxLength" }, ngImport: i0, template: "<div class=\"card flex flex-column gap-1\" [ngClass]=\"{\r\n 'resize-none': !resize,\r\n 'gap-1': hasGap,\r\n }\" [formGroup]=\"group\">\r\n <div class=\"flex\">\r\n <label [for]=\"name\" class=\"mr-2\">\r\n {{label}}<span class=\"required\" aria-label=\"Is required filed\" *ngIf=\"isRequired\">*</span>\r\n </label>\r\n <lib-tooltip\r\n *ngIf=\"_isTooltipVisible\"\r\n [position]=\"tooltipPosition\"\r\n [text]=\"tooltipText!\"\r\n ></lib-tooltip>\r\n </div>\r\n <textarea [id]=\"name\"\r\n [rows]=\"rows\"\r\n [cols]=\"cols\"\r\n pTextarea \r\n [maxlength]=\"customMaxLength\"\r\n [placeholder]='placeholder'\r\n [formControlName]=\"controlName\"\r\n [ngClass]=\"{ 'ng-dirty': (group.get(controlName)!.errors && (group.get(controlName)!.touched) || formStatus!.isSubmitTriggered) }\"\r\n [attr.aria-label]=\"accessibilityText\"\r\n [attr.aria-describedby]=\"name + 'Error'\"\r\n [attr.aria-invalid]=\"(group.get(controlName)!.errors && (group.get(controlName)!.touched || formStatus!.isSubmitTriggered))\"\r\n [attr.aria-required]=\"isRequired\"\r\n ></textarea>\r\n <lib-error\r\n *ngIf=\"(group.get(controlName)!.errors && (group.get(controlName)!.touched) || formStatus!.isSubmitTriggered)\"\r\n [hasError]=\"group.get(controlName)!.errors\"\r\n [isTouched]=\"group.get(controlName)!.touched\"\r\n [isSubmitTriggered]=\"formStatus!.isSubmitTriggered!\"\r\n [errorId]=\"name+'Error'\"\r\n ></lib-error>\r\n</div>\r\n", styles: [".resize-none textarea{resize:none}:host ::ng-deep .p-textarea{border:1.75px solid #3E7C94!important}:host ::ng-deep .p-textarea::placeholder{font-style:italic!important;color:#848484!important}:host ::ng-deep .p-textarea:hover{border:1.75px solid #ffa142!important}:host ::ng-deep .p-textarea:focus{box-shadow:0 0 2px 3px #ffa142!important}:host ::ng-deep .p-inputtext{border:1px solid #1B495A;font-family:Republika,Roboto,sans-serif}:host ::ng-deep .p-inputtext::placeholder{color:#848484}:host ::ng-deep .card{padding:0!important}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: TextareaModule }, { kind: "directive", type: i2$2.Textarea, selector: "[pTextarea], [pInputTextarea]", inputs: ["autoResize", "variant", "fluid", "pSize"], outputs: ["onResize"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: TooltipComponent, selector: " lib-tooltip", inputs: ["icon", "htmlParser", "text", "position", "tooltipEvent", "autoHide", "htmlParse"] }, { kind: "component", type: ErrorComponent, selector: "lib-error", inputs: ["hasError", "isTouched", "isSubmitTriggered", "isNestedFormSubmit", "isDirty", "isRequired", "hasGroupError", "errorId"] }] });
1496
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: TextareaComponent, isStandalone: true, selector: "lib-textarea[group][controlName][name]", inputs: { name: "name", resize: "resize", label: "label", placeholder: "placeholder", accessibilityText: "accessibilityText", rows: "rows", cols: "cols", tooltipPosition: "tooltipPosition", tooltipText: "tooltipText", group: "group", controlName: "controlName", isRequired: "isRequired", formStatus: "formStatus", hasGap: "hasGap", customMaxLength: "customMaxLength" }, outputs: { onBlurEvent: "onBlurEvent" }, ngImport: i0, template: "<div class=\"card flex flex-column gap-1\" [ngClass]=\"{\r\n 'resize-none': !resize,\r\n 'gap-1': hasGap,\r\n }\" [formGroup]=\"group\">\r\n <div class=\"flex\">\r\n <label [for]=\"name\" class=\"mr-2\">\r\n {{label}}<span class=\"required\" aria-label=\"Is required filed\" *ngIf=\"isRequired\">*</span>\r\n </label>\r\n <lib-tooltip\r\n *ngIf=\"_isTooltipVisible\"\r\n [position]=\"tooltipPosition\"\r\n [text]=\"tooltipText!\"\r\n ></lib-tooltip>\r\n </div>\r\n <textarea [id]=\"name\"\r\n [rows]=\"rows\"\r\n [cols]=\"cols\"\r\n pTextarea \r\n (blur)=\"onBlurEvent.emit()\"\r\n [maxlength]=\"customMaxLength\"\r\n [placeholder]='placeholder'\r\n [formControlName]=\"controlName\"\r\n [ngClass]=\"{ 'ng-dirty': (group.get(controlName)!.errors && (group.get(controlName)!.touched) || formStatus!.isSubmitTriggered) }\"\r\n [attr.aria-label]=\"accessibilityText\"\r\n [attr.aria-describedby]=\"name + 'Error'\"\r\n [attr.aria-invalid]=\"(group.get(controlName)!.errors && (group.get(controlName)!.touched || formStatus!.isSubmitTriggered))\"\r\n [attr.aria-required]=\"isRequired\"\r\n ></textarea>\r\n <lib-error\r\n *ngIf=\"(group.get(controlName)!.errors && (group.get(controlName)!.touched) || formStatus!.isSubmitTriggered)\"\r\n [hasError]=\"group.get(controlName)!.errors\"\r\n [isTouched]=\"group.get(controlName)!.touched\"\r\n [isSubmitTriggered]=\"formStatus!.isSubmitTriggered!\"\r\n [errorId]=\"name+'Error'\"\r\n ></lib-error>\r\n</div>\r\n", styles: [".resize-none textarea{resize:none}:host ::ng-deep .p-textarea{border:1.75px solid #3E7C94!important}:host ::ng-deep .p-textarea::placeholder{font-style:italic!important;color:#848484!important}:host ::ng-deep .p-textarea:hover{border:1.75px solid #ffa142!important}:host ::ng-deep .p-textarea:focus{box-shadow:0 0 2px 3px #ffa142!important}:host ::ng-deep .p-inputtext{border:1px solid #1B495A;font-family:Republika,Roboto,sans-serif}:host ::ng-deep .p-inputtext::placeholder{color:#848484}:host ::ng-deep .card{padding:0!important}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: TextareaModule }, { kind: "directive", type: i2$2.Textarea, selector: "[pTextarea], [pInputTextarea]", inputs: ["autoResize", "variant", "fluid", "pSize"], outputs: ["onResize"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: TooltipComponent, selector: " lib-tooltip", inputs: ["icon", "htmlParser", "text", "position", "tooltipEvent", "autoHide", "htmlParse"] }, { kind: "component", type: ErrorComponent, selector: "lib-error", inputs: ["hasError", "isTouched", "isSubmitTriggered", "isNestedFormSubmit", "isDirty", "isRequired", "hasGroupError", "errorId"] }] });
1495
1497
  }
1496
1498
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: TextareaComponent, decorators: [{
1497
1499
  type: Component,
@@ -1503,7 +1505,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
1503
1505
  NgIf,
1504
1506
  TooltipComponent,
1505
1507
  ErrorComponent,
1506
- ], template: "<div class=\"card flex flex-column gap-1\" [ngClass]=\"{\r\n 'resize-none': !resize,\r\n 'gap-1': hasGap,\r\n }\" [formGroup]=\"group\">\r\n <div class=\"flex\">\r\n <label [for]=\"name\" class=\"mr-2\">\r\n {{label}}<span class=\"required\" aria-label=\"Is required filed\" *ngIf=\"isRequired\">*</span>\r\n </label>\r\n <lib-tooltip\r\n *ngIf=\"_isTooltipVisible\"\r\n [position]=\"tooltipPosition\"\r\n [text]=\"tooltipText!\"\r\n ></lib-tooltip>\r\n </div>\r\n <textarea [id]=\"name\"\r\n [rows]=\"rows\"\r\n [cols]=\"cols\"\r\n pTextarea \r\n [maxlength]=\"customMaxLength\"\r\n [placeholder]='placeholder'\r\n [formControlName]=\"controlName\"\r\n [ngClass]=\"{ 'ng-dirty': (group.get(controlName)!.errors && (group.get(controlName)!.touched) || formStatus!.isSubmitTriggered) }\"\r\n [attr.aria-label]=\"accessibilityText\"\r\n [attr.aria-describedby]=\"name + 'Error'\"\r\n [attr.aria-invalid]=\"(group.get(controlName)!.errors && (group.get(controlName)!.touched || formStatus!.isSubmitTriggered))\"\r\n [attr.aria-required]=\"isRequired\"\r\n ></textarea>\r\n <lib-error\r\n *ngIf=\"(group.get(controlName)!.errors && (group.get(controlName)!.touched) || formStatus!.isSubmitTriggered)\"\r\n [hasError]=\"group.get(controlName)!.errors\"\r\n [isTouched]=\"group.get(controlName)!.touched\"\r\n [isSubmitTriggered]=\"formStatus!.isSubmitTriggered!\"\r\n [errorId]=\"name+'Error'\"\r\n ></lib-error>\r\n</div>\r\n", styles: [".resize-none textarea{resize:none}:host ::ng-deep .p-textarea{border:1.75px solid #3E7C94!important}:host ::ng-deep .p-textarea::placeholder{font-style:italic!important;color:#848484!important}:host ::ng-deep .p-textarea:hover{border:1.75px solid #ffa142!important}:host ::ng-deep .p-textarea:focus{box-shadow:0 0 2px 3px #ffa142!important}:host ::ng-deep .p-inputtext{border:1px solid #1B495A;font-family:Republika,Roboto,sans-serif}:host ::ng-deep .p-inputtext::placeholder{color:#848484}:host ::ng-deep .card{padding:0!important}\n"] }]
1508
+ ], template: "<div class=\"card flex flex-column gap-1\" [ngClass]=\"{\r\n 'resize-none': !resize,\r\n 'gap-1': hasGap,\r\n }\" [formGroup]=\"group\">\r\n <div class=\"flex\">\r\n <label [for]=\"name\" class=\"mr-2\">\r\n {{label}}<span class=\"required\" aria-label=\"Is required filed\" *ngIf=\"isRequired\">*</span>\r\n </label>\r\n <lib-tooltip\r\n *ngIf=\"_isTooltipVisible\"\r\n [position]=\"tooltipPosition\"\r\n [text]=\"tooltipText!\"\r\n ></lib-tooltip>\r\n </div>\r\n <textarea [id]=\"name\"\r\n [rows]=\"rows\"\r\n [cols]=\"cols\"\r\n pTextarea \r\n (blur)=\"onBlurEvent.emit()\"\r\n [maxlength]=\"customMaxLength\"\r\n [placeholder]='placeholder'\r\n [formControlName]=\"controlName\"\r\n [ngClass]=\"{ 'ng-dirty': (group.get(controlName)!.errors && (group.get(controlName)!.touched) || formStatus!.isSubmitTriggered) }\"\r\n [attr.aria-label]=\"accessibilityText\"\r\n [attr.aria-describedby]=\"name + 'Error'\"\r\n [attr.aria-invalid]=\"(group.get(controlName)!.errors && (group.get(controlName)!.touched || formStatus!.isSubmitTriggered))\"\r\n [attr.aria-required]=\"isRequired\"\r\n ></textarea>\r\n <lib-error\r\n *ngIf=\"(group.get(controlName)!.errors && (group.get(controlName)!.touched) || formStatus!.isSubmitTriggered)\"\r\n [hasError]=\"group.get(controlName)!.errors\"\r\n [isTouched]=\"group.get(controlName)!.touched\"\r\n [isSubmitTriggered]=\"formStatus!.isSubmitTriggered!\"\r\n [errorId]=\"name+'Error'\"\r\n ></lib-error>\r\n</div>\r\n", styles: [".resize-none textarea{resize:none}:host ::ng-deep .p-textarea{border:1.75px solid #3E7C94!important}:host ::ng-deep .p-textarea::placeholder{font-style:italic!important;color:#848484!important}:host ::ng-deep .p-textarea:hover{border:1.75px solid #ffa142!important}:host ::ng-deep .p-textarea:focus{box-shadow:0 0 2px 3px #ffa142!important}:host ::ng-deep .p-inputtext{border:1px solid #1B495A;font-family:Republika,Roboto,sans-serif}:host ::ng-deep .p-inputtext::placeholder{color:#848484}:host ::ng-deep .card{padding:0!important}\n"] }]
1507
1509
  }], propDecorators: { name: [{
1508
1510
  type: Input
1509
1511
  }], resize: [{
@@ -1534,6 +1536,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
1534
1536
  type: Input
1535
1537
  }], customMaxLength: [{
1536
1538
  type: Input
1539
+ }], onBlurEvent: [{
1540
+ type: Output
1537
1541
  }] } });
1538
1542
 
1539
1543
  class DropdownComponent {
@@ -1593,7 +1597,7 @@ class DropdownComponent {
1593
1597
  return this.translateService.instant('components.dropdown.emptyFilterList');
1594
1598
  }
1595
1599
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: DropdownComponent, deps: [{ token: i1$2.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
1596
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: DropdownComponent, isStandalone: true, selector: "lib-dropdown[group][controlName][name]", inputs: { name: "name", isMultiselect: "isMultiselect", selectedItemLabel: "selectedItemLabel", group: "group", controlName: "controlName", label: "label", optionList: "optionList", optionLabel: "optionLabel", optionalValue: "optionalValue", placeholder: "placeholder", accessibilityText: "accessibilityText", filter: "filter", filterBy: "filterBy", showClear: "showClear", isRequired: "isRequired", tooltipPosition: "tooltipPosition", tooltipText: "tooltipText", formStatus: "formStatus", nestedGroup: "nestedGroup", isLoading: "isLoading", appendTo: "appendTo", isLabelVisible: "isLabelVisible", emptyMessage: "emptyMessage", virtualScroll: "virtualScroll", ariaFilterLabel: "ariaFilterLabel", optionValue: "optionValue" }, outputs: { getValueEvent: "getValueEvent" }, ngImport: i0, template: "<div class='flex flex-column gap-1' [formGroup]=\"group\">\r\n <div class=\"flex\" *ngIf=\"isLabelVisible\">\r\n <label [for]=\"name\" class=\"mr-2\">\r\n {{ label }}<span class=\"required\" aria-label=\"Is required filed\" *ngIf=\"isRequired\">*</span>\r\n </label>\r\n <lib-tooltip\r\n *ngIf=\"_isTooltipVisible\"\r\n [position]=\"tooltipPosition\"\r\n [text]=\"tooltipText!\"\r\n ></lib-tooltip>\r\n </div>\r\n <p-select *ngIf=\"!isMultiselect\"\r\n [inputId]=\"name\"\r\n [appendTo]=\"appendTo\"\r\n (onChange)='getSelectedValue($event)'\r\n [options]=\"optionList\"\r\n [optionLabel]=\"!nestedGroup ? optionLabel : undefined\"\r\n [formControlName]=\"controlName\"\r\n [placeholder]='placeholder'\r\n [virtualScroll]=\"virtualScroll\"\r\n [virtualScrollItemSize]=\"38\"\r\n [group]=\"nestedGroup\"\r\n [filter]='filter'\r\n [filterBy]='filterBy'\r\n [showClear]=\"group.get(controlName)?.value && showClear\"\r\n [ngClass]=\"{ 'ng-dirty': (group.get(controlName)!.errors && (group.get(controlName)!.touched) || formStatus!.isSubmitTriggered || formStatus!.isNestedFormSubmit!) }\"\r\n [attr.aria-label]=\"accessibilityText\"\r\n (onClear)=\"onClear()\"\r\n [optionValue]=\"optionValue\"\r\n [emptyMessage]=\"emptyDropdownMessage\"\r\n [emptyFilterMessage]=\"emptyFilterDropdownMessage\"\r\n [dropdownIcon]=\"isLoading ? 'pi pi-spinner pi-spin' : 'pi pi-chevron-down'\"\r\n [ariaFilterLabel]=\"ariaFilterLabel!\"\r\n [attr.aria-describedby]=\"name + 'Error'\"\r\n [attr.aria-invalid]=\"(group.get(controlName)!.errors && (group.get(controlName)!.touched || formStatus!.isSubmitTriggered))\"\r\n [attr.aria-required]=\"isRequired\"\r\n >\r\n <ng-template *ngIf=\"nestedGroup\" let-nestedGroup pTemplate=\"nestedGroup\">\r\n <div class=\"flex align-items-center\">\r\n <span>{{ nestedGroup.label }}</span>\r\n </div>\r\n </ng-template>\r\n </p-select>\r\n <p-multiselect\r\n *ngIf=\"isMultiselect\"\r\n [inputId]=\"name\"\r\n [appendTo]=\"appendTo\"\r\n (onChange)='getSelectedValue($event)'\r\n [options]=\"optionList\"\r\n [optionLabel]=\"!nestedGroup ? optionLabel : ''\"\r\n [formControlName]=\"controlName\"\r\n [optionValue]=\"optionValue\"\r\n [virtualScroll]=\"virtualScroll\"\r\n [virtualScrollItemSize]=\"38\"\r\n [group]=\"nestedGroup\"\r\n [filter]='filter'\r\n [filterBy]='filterBy'\r\n [selectedItemsLabel]=\"dynamicItemsLabel\"\r\n [placeholder]=\"placeholder\"\r\n [showClear]=\"group.get(controlName)!.value && showClear\"\r\n [ngClass]=\"{ 'ng-dirty': (group.get(controlName)!.errors && (group.get(controlName)!.touched) || formStatus!.isSubmitTriggered || formStatus!.isNestedFormSubmit!) }\"\r\n [attr.aria-label]=\"accessibilityText\"\r\n (onClear)=\"onClear()\"\r\n [emptyMessage]=\"emptyDropdownMessage\"\r\n [emptyFilterMessage]=\"emptyFilterDropdownMessage\"\r\n [dropdownIcon]=\"isLoading ? 'pi pi-spinner pi-spin' : 'pi pi-chevron-down'\"\r\n [attr.aria-describedby]=\"name + 'Error'\"\r\n [attr.aria-invalid]=\"(group.get(controlName)!.errors && (group.get(controlName)!.touched || formStatus!.isSubmitTriggered))\"\r\n [attr.aria-required]=\"isRequired\"\r\n >\r\n <ng-template *ngIf=\"nestedGroup\" let-nestedGroup pTemplate=\"nestedGroup\">\r\n <div class=\"flex align-items-center\">\r\n <span>{{ nestedGroup.label }}</span>\r\n </div>\r\n </ng-template>\r\n </p-multiselect>\r\n <lib-error\r\n *ngIf=\"(group.get(controlName)!.errors && (group.get(controlName)!.touched) || formStatus!.isSubmitTriggered || formStatus!.isNestedFormSubmit!)\"\r\n [hasError]=\"group.get(controlName)!.errors\"\r\n [isDirty]=\"group.get(controlName)!.pristine\"\r\n [isTouched]=\"group.get(controlName)!.touched\"\r\n [isSubmitTriggered]=\"formStatus!.isSubmitTriggered!\"\r\n [isNestedFormSubmit]=\"formStatus!.isNestedFormSubmit!\"\r\n [errorId]=\"name+'Error'\"\r\n ></lib-error>\r\n</div>\r\n", styles: [":host ::ng-deep .p-select-filter{border:1.75px solid #3E7C94!important}:host ::ng-deep .p-select-filter::placeholder{font-style:italic!important;color:#848484!important}:host ::ng-deep .p-select-filter:hover{border:1.75px solid #ffa142!important}:host ::ng-deep .p-select-filter:focus{box-shadow:0 0 2px 3px #ffa142!important}:host ::ng-deep .p-select{width:100%;height:39px;border:1.75px solid #3E7C94!important}:host ::ng-deep .p-select::placeholder{font-style:italic!important;color:#848484!important}:host ::ng-deep .p-select:hover{border:1.75px solid #ffa142!important}:host ::ng-deep .p-select:focus{box-shadow:0 0 2px 3px #ffa142!important}:host ::ng-deep .p-select .p-select-item.p-ripple{white-space:normal}:host ::ng-deep .p-select:not(.p-disabled).p-focus{border:1.75px solid #1B495A;box-shadow:0 0 2px 3px #ffa142}:host ::ng-deep .p-select:not(.p-disabled).p-focus span{outline:none}:host ::ng-deep .p-select .p-select-header{background-color:#3e7c94}:host ::ng-deep .p-select .p-select-label.p-placeholder{font-style:italic;color:#848484}:host ::ng-deep .p-select .p-select-panel .p-select-items .p-select-item.p-highlight{background:#3e7c94}:host ::ng-deep .p-select .p-select-panel .p-select-items .p-select-item.p-focus{background:#d3d3d3;color:#000}:host ::ng-deep .p-select .p-select-panel .p-select-items .p-select-item-group:hover{cursor:default}:host ::ng-deep .p-select .p-select-panel .p-select-header .p-select-filter-icon{top:.75rem}:host ::ng-deep .p-multiselect{width:100%;border:1.75px solid #3E7C94!important}:host ::ng-deep .p-multiselect::placeholder{font-style:italic!important;color:#848484!important}:host ::ng-deep .p-multiselect:hover{border:1.75px solid #ffa142!important}:host ::ng-deep .p-multiselect:focus{box-shadow:0 0 2px 3px #ffa142!important}:host ::ng-deep .p-multiselect:not(.p-disabled).p-focus{border:1.75px solid #1B495A;box-shadow:0 0 2px 3px #ffa142}:host ::ng-deep .p-multiselect .p-multiselect-item{white-space:normal}:host ::ng-deep .p-multiselect .containerClass .p-multiselect .p-multiselect-label-container,:host ::ng-deep .p-multiselect .containerClass .p-multiselect .p-multiselect-label{width:100%;box-sizing:border-box}:host ::ng-deep .p-multiselect .p-multiselect-label.p-placeholder{font-style:italic;color:#848484}:host ::ng-deep .p-multiselect .p-multiselect-panel .p-multiselect-items .p-multiselect-item.p-highlight{background:#3e7c94}:host ::ng-deep .p-multiselect .p-multiselect-panel .p-multiselect-items .p-multiselect-item-group:hover{cursor:default}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: TooltipComponent, selector: " lib-tooltip", inputs: ["icon", "htmlParser", "text", "position", "tooltipEvent", "autoHide", "htmlParse"] }, { kind: "ngmodule", type: SelectModule }, { kind: "component", type: i3$1.Select, selector: "p-select", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "size", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "fluid", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "directive", type: i1$1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MultiSelectModule }, { kind: "component", type: i5.MultiSelect, selector: "p-multiSelect, p-multiselect, p-multi-select", inputs: ["id", "ariaLabel", "style", "styleClass", "panelStyle", "panelStyleClass", "inputId", "disabled", "fluid", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "variant", "appendTo", "dataKey", "name", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "chipIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "filterBy", "scrollHeight", "lazy", "virtualScroll", "loading", "virtualScrollItemSize", "loadingIcon", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "size", "showClear", "autofocus", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "defaultLabel", "placeholder", "options", "filterValue", "itemSize", "selectAll", "focusOnHover", "filterFields", "selectOnFocus", "autoOptionFocus", "highlightOnSelect"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onClear", "onPanelShow", "onPanelHide", "onLazyLoad", "onRemove", "onSelectAllChange"] }, { kind: "component", type: ErrorComponent, selector: "lib-error", inputs: ["hasError", "isTouched", "isSubmitTriggered", "isNestedFormSubmit", "isDirty", "isRequired", "hasGroupError", "errorId"] }] });
1600
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: DropdownComponent, isStandalone: true, selector: "lib-dropdown[group][controlName][name]", inputs: { name: "name", isMultiselect: "isMultiselect", selectedItemLabel: "selectedItemLabel", group: "group", controlName: "controlName", label: "label", optionList: "optionList", optionLabel: "optionLabel", optionalValue: "optionalValue", placeholder: "placeholder", accessibilityText: "accessibilityText", filter: "filter", filterBy: "filterBy", showClear: "showClear", isRequired: "isRequired", tooltipPosition: "tooltipPosition", tooltipText: "tooltipText", formStatus: "formStatus", nestedGroup: "nestedGroup", isLoading: "isLoading", appendTo: "appendTo", isLabelVisible: "isLabelVisible", emptyMessage: "emptyMessage", virtualScroll: "virtualScroll", ariaFilterLabel: "ariaFilterLabel", optionValue: "optionValue" }, outputs: { getValueEvent: "getValueEvent" }, ngImport: i0, template: "<div class='flex flex-column gap-1' [formGroup]=\"group\">\r\n <div class=\"flex\" *ngIf=\"isLabelVisible\">\r\n <label [for]=\"name\" class=\"mr-2\">\r\n {{ label }}<span class=\"required\" aria-label=\"Is required filed\" *ngIf=\"isRequired\">*</span>\r\n </label>\r\n <lib-tooltip\r\n *ngIf=\"_isTooltipVisible\"\r\n [position]=\"tooltipPosition\"\r\n [text]=\"tooltipText!\"\r\n ></lib-tooltip>\r\n </div>\r\n <p-select *ngIf=\"!isMultiselect\"\r\n [inputId]=\"name\"\r\n [appendTo]=\"appendTo\"\r\n (onChange)='getSelectedValue($event)'\r\n [options]=\"optionList\"\r\n [optionLabel]=\"!nestedGroup ? optionLabel : undefined\"\r\n [formControlName]=\"controlName\"\r\n [placeholder]='placeholder'\r\n [virtualScroll]=\"virtualScroll\"\r\n [virtualScrollItemSize]=\"38\"\r\n [group]=\"nestedGroup\"\r\n [filter]='filter'\r\n [filterBy]='filterBy'\r\n [showClear]=\"group.get(controlName)?.value && showClear\"\r\n [ngClass]=\"{ 'ng-dirty': (group.get(controlName)!.errors && (group.get(controlName)!.touched) || formStatus!.isSubmitTriggered || formStatus!.isNestedFormSubmit!) }\"\r\n [attr.aria-label]=\"accessibilityText\"\r\n (onClear)=\"onClear()\"\r\n [optionValue]=\"optionValue\"\r\n [emptyMessage]=\"emptyDropdownMessage\"\r\n [emptyFilterMessage]=\"emptyFilterDropdownMessage\"\r\n [dropdownIcon]=\"isLoading ? 'pi pi-spinner pi-spin' : 'pi pi-chevron-down'\"\r\n [ariaFilterLabel]=\"ariaFilterLabel!\"\r\n [attr.aria-describedby]=\"name + 'Error'\"\r\n [attr.aria-invalid]=\"(group.get(controlName)!.errors && (group.get(controlName)!.touched || formStatus!.isSubmitTriggered))\"\r\n [attr.aria-required]=\"isRequired\"\r\n >\r\n <ng-template *ngIf=\"nestedGroup\" let-nestedGroup pTemplate=\"nestedGroup\">\r\n <div class=\"flex align-items-center\">\r\n <span>{{ nestedGroup.label }}</span>\r\n </div>\r\n </ng-template>\r\n </p-select>\r\n <p-multiselect\r\n *ngIf=\"isMultiselect\"\r\n [inputId]=\"name\"\r\n [appendTo]=\"appendTo\"\r\n (onChange)='getSelectedValue($event)'\r\n [options]=\"optionList\"\r\n [optionLabel]=\"!nestedGroup ? optionLabel : ''\"\r\n [formControlName]=\"controlName\"\r\n [optionValue]=\"optionValue\"\r\n [virtualScroll]=\"virtualScroll\"\r\n [virtualScrollItemSize]=\"38\"\r\n [group]=\"nestedGroup\"\r\n [filter]='filter'\r\n [filterBy]='filterBy'\r\n [selectedItemsLabel]=\"dynamicItemsLabel\"\r\n [placeholder]=\"placeholder\"\r\n [showClear]=\"group.get(controlName)!.value && showClear\"\r\n [ngClass]=\"{ 'ng-dirty': (group.get(controlName)!.errors && (group.get(controlName)!.touched) || formStatus!.isSubmitTriggered || formStatus!.isNestedFormSubmit!) }\"\r\n [attr.aria-label]=\"accessibilityText\"\r\n (onClear)=\"onClear()\"\r\n [emptyMessage]=\"emptyDropdownMessage\"\r\n [emptyFilterMessage]=\"emptyFilterDropdownMessage\"\r\n [dropdownIcon]=\"isLoading ? 'pi pi-spinner pi-spin' : 'pi pi-chevron-down'\"\r\n [attr.aria-describedby]=\"name + 'Error'\"\r\n [attr.aria-invalid]=\"(group.get(controlName)!.errors && (group.get(controlName)!.touched || formStatus!.isSubmitTriggered))\"\r\n [attr.aria-required]=\"isRequired\"\r\n >\r\n <ng-template *ngIf=\"nestedGroup\" let-nestedGroup pTemplate=\"nestedGroup\">\r\n <div class=\"flex align-items-center\">\r\n <span>{{ nestedGroup.label }}</span>\r\n </div>\r\n </ng-template>\r\n </p-multiselect>\r\n <lib-error\r\n *ngIf=\"(group.get(controlName)!.errors && (group.get(controlName)!.touched) || formStatus!.isSubmitTriggered || formStatus!.isNestedFormSubmit!)\"\r\n [hasError]=\"group.get(controlName)!.errors\"\r\n [isDirty]=\"group.get(controlName)!.pristine\"\r\n [isTouched]=\"group.get(controlName)!.touched\"\r\n [isSubmitTriggered]=\"formStatus!.isSubmitTriggered!\"\r\n [isNestedFormSubmit]=\"formStatus!.isNestedFormSubmit!\"\r\n [errorId]=\"name+'Error'\"\r\n ></lib-error>\r\n</div>\r\n", styles: ["::ng-deep .p-select-filter{border:1.75px solid #3E7C94!important}::ng-deep .p-select-filter::placeholder{font-style:italic!important;color:#848484!important}::ng-deep .p-select-filter:hover{border:1.75px solid #ffa142!important}::ng-deep .p-select-filter:focus{box-shadow:0 0 2px 3px #ffa142!important}::ng-deep .p-select{width:100%;height:39px;border:1.75px solid #3E7C94!important}::ng-deep .p-select::placeholder{font-style:italic!important;color:#848484!important}::ng-deep .p-select:hover{border:1.75px solid #ffa142!important}::ng-deep .p-select:focus{box-shadow:0 0 2px 3px #ffa142!important}::ng-deep .p-select .p-select-item.p-ripple{white-space:normal}::ng-deep .p-select:not(.p-disabled).p-focus{border:1.75px solid #1B495A;box-shadow:0 0 2px 3px #ffa142}::ng-deep .p-select:not(.p-disabled).p-focus span{outline:none}::ng-deep .p-select .p-select-header{background-color:#3e7c94}::ng-deep .p-select .p-select-label.p-placeholder{font-style:italic;color:#848484}::ng-deep .p-select .p-select-panel .p-select-items .p-select-item.p-highlight{background:#3e7c94}::ng-deep .p-select .p-select-panel .p-select-items .p-select-item.p-focus{background:#d3d3d3;color:#000}::ng-deep .p-select .p-select-panel .p-select-items .p-select-item-group:hover{cursor:default}::ng-deep .p-select .p-select-panel .p-select-header .p-select-filter-icon{top:.75rem}::ng-deep .p-multiselect{width:100%;border:1.75px solid #3E7C94!important}::ng-deep .p-multiselect::placeholder{font-style:italic!important;color:#848484!important}::ng-deep .p-multiselect:hover{border:1.75px solid #ffa142!important}::ng-deep .p-multiselect:focus{box-shadow:0 0 2px 3px #ffa142!important}::ng-deep .p-multiselect:not(.p-disabled).p-focus{border:1.75px solid #1B495A;box-shadow:0 0 2px 3px #ffa142}::ng-deep .p-multiselect .p-multiselect-item{white-space:normal}::ng-deep .p-multiselect .containerClass .p-multiselect .p-multiselect-label-container,::ng-deep .p-multiselect .containerClass .p-multiselect .p-multiselect-label{width:100%;box-sizing:border-box}::ng-deep .p-multiselect .p-multiselect-label.p-placeholder{font-style:italic;color:#848484}::ng-deep .p-multiselect .p-multiselect-panel .p-multiselect-items .p-multiselect-item.p-highlight{background:#3e7c94}::ng-deep .p-multiselect .p-multiselect-panel .p-multiselect-items .p-multiselect-item-group:hover{cursor:default}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: TooltipComponent, selector: " lib-tooltip", inputs: ["icon", "htmlParser", "text", "position", "tooltipEvent", "autoHide", "htmlParse"] }, { kind: "ngmodule", type: SelectModule }, { kind: "component", type: i3$1.Select, selector: "p-select", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "size", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "fluid", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "directive", type: i1$1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MultiSelectModule }, { kind: "component", type: i5.MultiSelect, selector: "p-multiSelect, p-multiselect, p-multi-select", inputs: ["id", "ariaLabel", "style", "styleClass", "panelStyle", "panelStyleClass", "inputId", "disabled", "fluid", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "variant", "appendTo", "dataKey", "name", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "chipIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "filterBy", "scrollHeight", "lazy", "virtualScroll", "loading", "virtualScrollItemSize", "loadingIcon", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "size", "showClear", "autofocus", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "defaultLabel", "placeholder", "options", "filterValue", "itemSize", "selectAll", "focusOnHover", "filterFields", "selectOnFocus", "autoOptionFocus", "highlightOnSelect"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onClear", "onPanelShow", "onPanelHide", "onLazyLoad", "onRemove", "onSelectAllChange"] }, { kind: "component", type: ErrorComponent, selector: "lib-error", inputs: ["hasError", "isTouched", "isSubmitTriggered", "isNestedFormSubmit", "isDirty", "isRequired", "hasGroupError", "errorId"] }] });
1597
1601
  }
1598
1602
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: DropdownComponent, decorators: [{
1599
1603
  type: Component,
@@ -1607,7 +1611,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
1607
1611
  PrimeTemplate,
1608
1612
  MultiSelectModule,
1609
1613
  ErrorComponent,
1610
- ], template: "<div class='flex flex-column gap-1' [formGroup]=\"group\">\r\n <div class=\"flex\" *ngIf=\"isLabelVisible\">\r\n <label [for]=\"name\" class=\"mr-2\">\r\n {{ label }}<span class=\"required\" aria-label=\"Is required filed\" *ngIf=\"isRequired\">*</span>\r\n </label>\r\n <lib-tooltip\r\n *ngIf=\"_isTooltipVisible\"\r\n [position]=\"tooltipPosition\"\r\n [text]=\"tooltipText!\"\r\n ></lib-tooltip>\r\n </div>\r\n <p-select *ngIf=\"!isMultiselect\"\r\n [inputId]=\"name\"\r\n [appendTo]=\"appendTo\"\r\n (onChange)='getSelectedValue($event)'\r\n [options]=\"optionList\"\r\n [optionLabel]=\"!nestedGroup ? optionLabel : undefined\"\r\n [formControlName]=\"controlName\"\r\n [placeholder]='placeholder'\r\n [virtualScroll]=\"virtualScroll\"\r\n [virtualScrollItemSize]=\"38\"\r\n [group]=\"nestedGroup\"\r\n [filter]='filter'\r\n [filterBy]='filterBy'\r\n [showClear]=\"group.get(controlName)?.value && showClear\"\r\n [ngClass]=\"{ 'ng-dirty': (group.get(controlName)!.errors && (group.get(controlName)!.touched) || formStatus!.isSubmitTriggered || formStatus!.isNestedFormSubmit!) }\"\r\n [attr.aria-label]=\"accessibilityText\"\r\n (onClear)=\"onClear()\"\r\n [optionValue]=\"optionValue\"\r\n [emptyMessage]=\"emptyDropdownMessage\"\r\n [emptyFilterMessage]=\"emptyFilterDropdownMessage\"\r\n [dropdownIcon]=\"isLoading ? 'pi pi-spinner pi-spin' : 'pi pi-chevron-down'\"\r\n [ariaFilterLabel]=\"ariaFilterLabel!\"\r\n [attr.aria-describedby]=\"name + 'Error'\"\r\n [attr.aria-invalid]=\"(group.get(controlName)!.errors && (group.get(controlName)!.touched || formStatus!.isSubmitTriggered))\"\r\n [attr.aria-required]=\"isRequired\"\r\n >\r\n <ng-template *ngIf=\"nestedGroup\" let-nestedGroup pTemplate=\"nestedGroup\">\r\n <div class=\"flex align-items-center\">\r\n <span>{{ nestedGroup.label }}</span>\r\n </div>\r\n </ng-template>\r\n </p-select>\r\n <p-multiselect\r\n *ngIf=\"isMultiselect\"\r\n [inputId]=\"name\"\r\n [appendTo]=\"appendTo\"\r\n (onChange)='getSelectedValue($event)'\r\n [options]=\"optionList\"\r\n [optionLabel]=\"!nestedGroup ? optionLabel : ''\"\r\n [formControlName]=\"controlName\"\r\n [optionValue]=\"optionValue\"\r\n [virtualScroll]=\"virtualScroll\"\r\n [virtualScrollItemSize]=\"38\"\r\n [group]=\"nestedGroup\"\r\n [filter]='filter'\r\n [filterBy]='filterBy'\r\n [selectedItemsLabel]=\"dynamicItemsLabel\"\r\n [placeholder]=\"placeholder\"\r\n [showClear]=\"group.get(controlName)!.value && showClear\"\r\n [ngClass]=\"{ 'ng-dirty': (group.get(controlName)!.errors && (group.get(controlName)!.touched) || formStatus!.isSubmitTriggered || formStatus!.isNestedFormSubmit!) }\"\r\n [attr.aria-label]=\"accessibilityText\"\r\n (onClear)=\"onClear()\"\r\n [emptyMessage]=\"emptyDropdownMessage\"\r\n [emptyFilterMessage]=\"emptyFilterDropdownMessage\"\r\n [dropdownIcon]=\"isLoading ? 'pi pi-spinner pi-spin' : 'pi pi-chevron-down'\"\r\n [attr.aria-describedby]=\"name + 'Error'\"\r\n [attr.aria-invalid]=\"(group.get(controlName)!.errors && (group.get(controlName)!.touched || formStatus!.isSubmitTriggered))\"\r\n [attr.aria-required]=\"isRequired\"\r\n >\r\n <ng-template *ngIf=\"nestedGroup\" let-nestedGroup pTemplate=\"nestedGroup\">\r\n <div class=\"flex align-items-center\">\r\n <span>{{ nestedGroup.label }}</span>\r\n </div>\r\n </ng-template>\r\n </p-multiselect>\r\n <lib-error\r\n *ngIf=\"(group.get(controlName)!.errors && (group.get(controlName)!.touched) || formStatus!.isSubmitTriggered || formStatus!.isNestedFormSubmit!)\"\r\n [hasError]=\"group.get(controlName)!.errors\"\r\n [isDirty]=\"group.get(controlName)!.pristine\"\r\n [isTouched]=\"group.get(controlName)!.touched\"\r\n [isSubmitTriggered]=\"formStatus!.isSubmitTriggered!\"\r\n [isNestedFormSubmit]=\"formStatus!.isNestedFormSubmit!\"\r\n [errorId]=\"name+'Error'\"\r\n ></lib-error>\r\n</div>\r\n", styles: [":host ::ng-deep .p-select-filter{border:1.75px solid #3E7C94!important}:host ::ng-deep .p-select-filter::placeholder{font-style:italic!important;color:#848484!important}:host ::ng-deep .p-select-filter:hover{border:1.75px solid #ffa142!important}:host ::ng-deep .p-select-filter:focus{box-shadow:0 0 2px 3px #ffa142!important}:host ::ng-deep .p-select{width:100%;height:39px;border:1.75px solid #3E7C94!important}:host ::ng-deep .p-select::placeholder{font-style:italic!important;color:#848484!important}:host ::ng-deep .p-select:hover{border:1.75px solid #ffa142!important}:host ::ng-deep .p-select:focus{box-shadow:0 0 2px 3px #ffa142!important}:host ::ng-deep .p-select .p-select-item.p-ripple{white-space:normal}:host ::ng-deep .p-select:not(.p-disabled).p-focus{border:1.75px solid #1B495A;box-shadow:0 0 2px 3px #ffa142}:host ::ng-deep .p-select:not(.p-disabled).p-focus span{outline:none}:host ::ng-deep .p-select .p-select-header{background-color:#3e7c94}:host ::ng-deep .p-select .p-select-label.p-placeholder{font-style:italic;color:#848484}:host ::ng-deep .p-select .p-select-panel .p-select-items .p-select-item.p-highlight{background:#3e7c94}:host ::ng-deep .p-select .p-select-panel .p-select-items .p-select-item.p-focus{background:#d3d3d3;color:#000}:host ::ng-deep .p-select .p-select-panel .p-select-items .p-select-item-group:hover{cursor:default}:host ::ng-deep .p-select .p-select-panel .p-select-header .p-select-filter-icon{top:.75rem}:host ::ng-deep .p-multiselect{width:100%;border:1.75px solid #3E7C94!important}:host ::ng-deep .p-multiselect::placeholder{font-style:italic!important;color:#848484!important}:host ::ng-deep .p-multiselect:hover{border:1.75px solid #ffa142!important}:host ::ng-deep .p-multiselect:focus{box-shadow:0 0 2px 3px #ffa142!important}:host ::ng-deep .p-multiselect:not(.p-disabled).p-focus{border:1.75px solid #1B495A;box-shadow:0 0 2px 3px #ffa142}:host ::ng-deep .p-multiselect .p-multiselect-item{white-space:normal}:host ::ng-deep .p-multiselect .containerClass .p-multiselect .p-multiselect-label-container,:host ::ng-deep .p-multiselect .containerClass .p-multiselect .p-multiselect-label{width:100%;box-sizing:border-box}:host ::ng-deep .p-multiselect .p-multiselect-label.p-placeholder{font-style:italic;color:#848484}:host ::ng-deep .p-multiselect .p-multiselect-panel .p-multiselect-items .p-multiselect-item.p-highlight{background:#3e7c94}:host ::ng-deep .p-multiselect .p-multiselect-panel .p-multiselect-items .p-multiselect-item-group:hover{cursor:default}\n"] }]
1614
+ ], template: "<div class='flex flex-column gap-1' [formGroup]=\"group\">\r\n <div class=\"flex\" *ngIf=\"isLabelVisible\">\r\n <label [for]=\"name\" class=\"mr-2\">\r\n {{ label }}<span class=\"required\" aria-label=\"Is required filed\" *ngIf=\"isRequired\">*</span>\r\n </label>\r\n <lib-tooltip\r\n *ngIf=\"_isTooltipVisible\"\r\n [position]=\"tooltipPosition\"\r\n [text]=\"tooltipText!\"\r\n ></lib-tooltip>\r\n </div>\r\n <p-select *ngIf=\"!isMultiselect\"\r\n [inputId]=\"name\"\r\n [appendTo]=\"appendTo\"\r\n (onChange)='getSelectedValue($event)'\r\n [options]=\"optionList\"\r\n [optionLabel]=\"!nestedGroup ? optionLabel : undefined\"\r\n [formControlName]=\"controlName\"\r\n [placeholder]='placeholder'\r\n [virtualScroll]=\"virtualScroll\"\r\n [virtualScrollItemSize]=\"38\"\r\n [group]=\"nestedGroup\"\r\n [filter]='filter'\r\n [filterBy]='filterBy'\r\n [showClear]=\"group.get(controlName)?.value && showClear\"\r\n [ngClass]=\"{ 'ng-dirty': (group.get(controlName)!.errors && (group.get(controlName)!.touched) || formStatus!.isSubmitTriggered || formStatus!.isNestedFormSubmit!) }\"\r\n [attr.aria-label]=\"accessibilityText\"\r\n (onClear)=\"onClear()\"\r\n [optionValue]=\"optionValue\"\r\n [emptyMessage]=\"emptyDropdownMessage\"\r\n [emptyFilterMessage]=\"emptyFilterDropdownMessage\"\r\n [dropdownIcon]=\"isLoading ? 'pi pi-spinner pi-spin' : 'pi pi-chevron-down'\"\r\n [ariaFilterLabel]=\"ariaFilterLabel!\"\r\n [attr.aria-describedby]=\"name + 'Error'\"\r\n [attr.aria-invalid]=\"(group.get(controlName)!.errors && (group.get(controlName)!.touched || formStatus!.isSubmitTriggered))\"\r\n [attr.aria-required]=\"isRequired\"\r\n >\r\n <ng-template *ngIf=\"nestedGroup\" let-nestedGroup pTemplate=\"nestedGroup\">\r\n <div class=\"flex align-items-center\">\r\n <span>{{ nestedGroup.label }}</span>\r\n </div>\r\n </ng-template>\r\n </p-select>\r\n <p-multiselect\r\n *ngIf=\"isMultiselect\"\r\n [inputId]=\"name\"\r\n [appendTo]=\"appendTo\"\r\n (onChange)='getSelectedValue($event)'\r\n [options]=\"optionList\"\r\n [optionLabel]=\"!nestedGroup ? optionLabel : ''\"\r\n [formControlName]=\"controlName\"\r\n [optionValue]=\"optionValue\"\r\n [virtualScroll]=\"virtualScroll\"\r\n [virtualScrollItemSize]=\"38\"\r\n [group]=\"nestedGroup\"\r\n [filter]='filter'\r\n [filterBy]='filterBy'\r\n [selectedItemsLabel]=\"dynamicItemsLabel\"\r\n [placeholder]=\"placeholder\"\r\n [showClear]=\"group.get(controlName)!.value && showClear\"\r\n [ngClass]=\"{ 'ng-dirty': (group.get(controlName)!.errors && (group.get(controlName)!.touched) || formStatus!.isSubmitTriggered || formStatus!.isNestedFormSubmit!) }\"\r\n [attr.aria-label]=\"accessibilityText\"\r\n (onClear)=\"onClear()\"\r\n [emptyMessage]=\"emptyDropdownMessage\"\r\n [emptyFilterMessage]=\"emptyFilterDropdownMessage\"\r\n [dropdownIcon]=\"isLoading ? 'pi pi-spinner pi-spin' : 'pi pi-chevron-down'\"\r\n [attr.aria-describedby]=\"name + 'Error'\"\r\n [attr.aria-invalid]=\"(group.get(controlName)!.errors && (group.get(controlName)!.touched || formStatus!.isSubmitTriggered))\"\r\n [attr.aria-required]=\"isRequired\"\r\n >\r\n <ng-template *ngIf=\"nestedGroup\" let-nestedGroup pTemplate=\"nestedGroup\">\r\n <div class=\"flex align-items-center\">\r\n <span>{{ nestedGroup.label }}</span>\r\n </div>\r\n </ng-template>\r\n </p-multiselect>\r\n <lib-error\r\n *ngIf=\"(group.get(controlName)!.errors && (group.get(controlName)!.touched) || formStatus!.isSubmitTriggered || formStatus!.isNestedFormSubmit!)\"\r\n [hasError]=\"group.get(controlName)!.errors\"\r\n [isDirty]=\"group.get(controlName)!.pristine\"\r\n [isTouched]=\"group.get(controlName)!.touched\"\r\n [isSubmitTriggered]=\"formStatus!.isSubmitTriggered!\"\r\n [isNestedFormSubmit]=\"formStatus!.isNestedFormSubmit!\"\r\n [errorId]=\"name+'Error'\"\r\n ></lib-error>\r\n</div>\r\n", styles: ["::ng-deep .p-select-filter{border:1.75px solid #3E7C94!important}::ng-deep .p-select-filter::placeholder{font-style:italic!important;color:#848484!important}::ng-deep .p-select-filter:hover{border:1.75px solid #ffa142!important}::ng-deep .p-select-filter:focus{box-shadow:0 0 2px 3px #ffa142!important}::ng-deep .p-select{width:100%;height:39px;border:1.75px solid #3E7C94!important}::ng-deep .p-select::placeholder{font-style:italic!important;color:#848484!important}::ng-deep .p-select:hover{border:1.75px solid #ffa142!important}::ng-deep .p-select:focus{box-shadow:0 0 2px 3px #ffa142!important}::ng-deep .p-select .p-select-item.p-ripple{white-space:normal}::ng-deep .p-select:not(.p-disabled).p-focus{border:1.75px solid #1B495A;box-shadow:0 0 2px 3px #ffa142}::ng-deep .p-select:not(.p-disabled).p-focus span{outline:none}::ng-deep .p-select .p-select-header{background-color:#3e7c94}::ng-deep .p-select .p-select-label.p-placeholder{font-style:italic;color:#848484}::ng-deep .p-select .p-select-panel .p-select-items .p-select-item.p-highlight{background:#3e7c94}::ng-deep .p-select .p-select-panel .p-select-items .p-select-item.p-focus{background:#d3d3d3;color:#000}::ng-deep .p-select .p-select-panel .p-select-items .p-select-item-group:hover{cursor:default}::ng-deep .p-select .p-select-panel .p-select-header .p-select-filter-icon{top:.75rem}::ng-deep .p-multiselect{width:100%;border:1.75px solid #3E7C94!important}::ng-deep .p-multiselect::placeholder{font-style:italic!important;color:#848484!important}::ng-deep .p-multiselect:hover{border:1.75px solid #ffa142!important}::ng-deep .p-multiselect:focus{box-shadow:0 0 2px 3px #ffa142!important}::ng-deep .p-multiselect:not(.p-disabled).p-focus{border:1.75px solid #1B495A;box-shadow:0 0 2px 3px #ffa142}::ng-deep .p-multiselect .p-multiselect-item{white-space:normal}::ng-deep .p-multiselect .containerClass .p-multiselect .p-multiselect-label-container,::ng-deep .p-multiselect .containerClass .p-multiselect .p-multiselect-label{width:100%;box-sizing:border-box}::ng-deep .p-multiselect .p-multiselect-label.p-placeholder{font-style:italic;color:#848484}::ng-deep .p-multiselect .p-multiselect-panel .p-multiselect-items .p-multiselect-item.p-highlight{background:#3e7c94}::ng-deep .p-multiselect .p-multiselect-panel .p-multiselect-items .p-multiselect-item-group:hover{cursor:default}\n"] }]
1611
1615
  }], ctorParameters: () => [{ type: i1$2.TranslateService }], propDecorators: { name: [{
1612
1616
  type: Input
1613
1617
  }], isMultiselect: [{
@@ -1975,7 +1979,7 @@ class CustomTableComponent {
1975
1979
  }
1976
1980
  }
1977
1981
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: CustomTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1978
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: CustomTableComponent, isStandalone: true, selector: "lib-custom-table[tableData][tableColumns]", inputs: { tableData: "tableData", tableColumns: "tableColumns", isPaginatorVisible: "isPaginatorVisible", tableRowCount: "tableRowCount", scrollable: "scrollable", scrollHeight: "scrollHeight", selectedProducts: "selectedProducts", isEditingTable: "isEditingTable", isTableLoading: "isTableLoading", hideColumnsOnMobile: "hideColumnsOnMobile", tableMinWidth: "tableMinWidth", isVirtualScrollButtonVisible: "isVirtualScrollButtonVisible", isVirtualScroll: "isVirtualScroll", virtualScrollRowSize: "virtualScrollRowSize", tableCaption: "tableCaption", captionColorClass: "captionColorClass", isCaptionButtonVisible: "isCaptionButtonVisible", captionButtonLabel: "captionButtonLabel", captionButtonColor: "captionButtonColor", isTableHeaderVisible: "isTableHeaderVisible", emptyColumnWidth: "emptyColumnWidth", toggleTableHeaderName: "toggleTableHeaderName", toggleWidth: "toggleWidth", toggleTwoTableHeaderName: "toggleTwoTableHeaderName", toggleTwoWidth: "toggleTwoWidth", toggleThreeTableHeaderName: "toggleThreeTableHeaderName", toggleThreeWidth: "toggleThreeWidth", toggleFourTableHeaderName: "toggleFourTableHeaderName", toggleFourWidth: "toggleFourWidth", rowColor: "rowColor", formGroup: "formGroup", type: "type", formStatus: "formStatus", tagColor: "tagColor", isWarningTextVisible: "isWarningTextVisible", isButtonOneVisible: "isButtonOneVisible", buttonLabel: "buttonLabel", buttonOneLabel: "buttonOneLabel", buttonOneHasIcon: "buttonOneHasIcon", buttonOneEditIcon: "buttonOneEditIcon", buttonOneSaveIcon: "buttonOneSaveIcon", buttonOneColor: "buttonOneColor", buttonOneIcon: "buttonOneIcon", isPlainTableIconButtonOne: "isPlainTableIconButtonOne", isPlainTableButtonOneLink: "isPlainTableButtonOneLink", isButtonTwoVisible: "isButtonTwoVisible", buttonTwoLabel: "buttonTwoLabel", buttonTwoHasIcon: "buttonTwoHasIcon", buttonTwoDeleteIcon: "buttonTwoDeleteIcon", buttonTwoCancelIcon: "buttonTwoCancelIcon", buttonTwoColor: "buttonTwoColor", buttonTwoIcon: "buttonTwoIcon", isPlainTableIconButtonTwo: "isPlainTableIconButtonTwo", isDeactivateToggle: "isDeactivateToggle", isDeactivateToggleTwo: "isDeactivateToggleTwo", isDeactivateToggleThree: "isDeactivateToggleThree", isDeactivateToggleFour: "isDeactivateToggleFour", showEllipsisFullText: "showEllipsisFullText" }, outputs: { captionButtonClicked: "captionButtonClicked", buttonEditClick: "buttonEditClick", buttonSaveClick: "buttonSaveClick", buttonOneClick: "buttonOneClick", buttonDeleteClick: "buttonDeleteClick", buttonTwoClick: "buttonTwoClick", toggleSwitch: "toggleSwitch", toggleTwoSwitch: "toggleTwoSwitch", toggleThreeSwitch: "toggleThreeSwitch", toggleFourSwitch: "toggleFourSwitch", checkboxOne: "checkboxOne" }, viewQueries: [{ propertyName: "table", first: true, predicate: ["dt"], descendants: true }], ngImport: i0, template: "<p-table\r\n #dt\r\n [value]=\"tableData\"\r\n [paginator]=\"isPaginatorVisible\"\r\n [rows]=\"tableRowCount\"\r\n [showCurrentPageReport]=\"false\"\r\n [scrollable]=\"scrollable\"\r\n [scrollHeight]=\"scrollHeight\"\r\n dataKey=\"id\"\r\n editMode=\"row\"\r\n [ngClass]=\"captionColorClass\"\r\n [loading]=\"isTableLoading\"\r\n [tableStyle]=\"{'min-width': tableMinWidth}\"\r\n [virtualScroll]=\"isVirtualScroll\"\r\n [virtualScrollItemSize]=\"virtualScrollRowSize\"\r\n aria-live=\"polite\"\r\n>\r\n <ng-template pTemplate=\"caption\" *ngIf=\"!!tableCaption\">\r\n <div class=\"flex align-items-center justify-content-between\">\r\n {{ tableCaption }}\r\n <span *ngIf=\"isVirtualScrollButtonVisible\"\r\n (click)=\"isVirtualScroll = !isVirtualScroll\"\r\n [ngStyle]=\"{'color': isVirtualScroll ? '' : 'lightgray'}\"\r\n class=\"pi pi-sort cursor-pointer\">\r\n </span>\r\n <lib-button\r\n *ngIf=\"isCaptionButtonVisible\"\r\n [label]=\"captionButtonLabel\"\r\n [color]=\"captionButtonColor\"\r\n (clickEvent)=\"clickCaptionButton($event)\"\r\n ></lib-button>\r\n </div>\r\n </ng-template>\r\n <ng-template pTemplate=\"header\" *ngIf=\"isTableHeaderVisible\">\r\n <tr>\r\n <ng-container *ngFor=\"let column of tableColumns\">\r\n <ng-container *ngIf=\"!(column.hideOnMobile && isMobile() && hideColumnsOnMobile)\">\r\n <th scope=\"col\" [style.width]=\"column.width\">\r\n {{ column.header | translate }}\r\n </th>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <th *ngFor=\"let _ of emptyHeaderColumnList\" [style.width]=\"emptyColumnWidth\" aria-hidden=\"true\"></th>\r\n <th *ngIf=\"!!toggleTableHeaderName\" scope=\"col\" [style.width]=\"toggleWidth\" class=\"vertical-align-middle\">\r\n {{ toggleTableHeaderName }}\r\n </th>\r\n <th *ngIf=\"!!toggleTwoTableHeaderName\" scope=\"col\" [style.width]=\"toggleTwoWidth\" class=\"vertical-align-middle\">\r\n {{ toggleTwoTableHeaderName }}\r\n </th>\r\n <th *ngIf=\"!!toggleThreeTableHeaderName\" scope=\"col\" [style.width]=\"toggleThreeWidth\" class=\"vertical-align-middle\">\r\n {{ toggleThreeTableHeaderName }}\r\n </th>\r\n <th *ngIf=\"!!toggleFourTableHeaderName\" scope=\"col\" [style.width]=\"toggleFourWidth\" class=\"vertical-align-middle\">\r\n {{ toggleFourTableHeaderName }}\r\n </th>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-rowData let-editing=\"editing\" let-ri=\"rowIndex\">\r\n <!--\r\n Mare; 2024-09-19: dodajanje logike barvanja rowColor za /cms/notifications, delat mora pa tudi v /vsi-termini\r\n -->\r\n <tr [pEditableRow]=\"rowData\" #htmlTableRowElement\r\n [ngClass]=\"\r\n rowData?.cmsStatus ?\r\n (rowData?.cmsStatus === 'expired' ? 'disabled_row_color' :\r\n rowData?.cmsStatus === 'planned' ? '' :\r\n rowData?.cmsStatus === 'active' ? 'success_row_color' : '') :\r\n (!rowData?.registered ? rowColor : '')\r\n \">\r\n <ng-container *ngFor=\"let column of tableColumns; let colIndex = index\">\r\n <ng-container *ngIf=\"!(column.hideOnMobile && isMobile() && hideColumnsOnMobile)\">\r\n <td [class.disabled-row]=\"rowData?.isEnabled === false || rowData?.isEnabled === null\">\r\n <!-- Text input-->\r\n <ng-container *ngIf=\"column.editable && column.component === 'input'\">\r\n <p-cellEditor>\r\n <ng-template pTemplate=\"input\">\r\n <lib-input\r\n [group]=\"formGroup\"\r\n [controlName]=\"column.field\"\r\n [name]=\"column.field\"\r\n [type]=\"column.inputType ? column.inputType : type\"\r\n placeholder=\"{{ column.placeholder! |translate }}\"\r\n [isRequired]=\"false\"\r\n [formStatus]=\"formStatus\"\r\n [hasGap]=\"false\"\r\n ></lib-input>\r\n </ng-template>\r\n <ng-template pTemplate=\"output\">\r\n <ng-container *ngIf=\"rowData[column.field]; else emptyCell\">\r\n <ng-container *ngIf=\"column.isLink; else notLink\">\r\n <a href=\"{{ rowData[column.field] }}\" target=\"_blank\">\r\n {{ rowData[column.field] }}\r\n </a>\r\n </ng-container>\r\n <ng-template #notLink>\r\n {{ rowData[column.field] }} {{ column?.suffix }}\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-template #emptyCell>\r\n /\r\n </ng-template>\r\n </ng-template>\r\n </p-cellEditor>\r\n </ng-container>\r\n\r\n <!-- Date input-->\r\n <ng-container *ngIf=\"column.editable && column.component === 'date'\">\r\n <p-cellEditor>\r\n <ng-template pTemplate=\"input\">\r\n <lib-date-input\r\n appendTo=\"body\"\r\n [group]=\"formGroup\"\r\n [controlName]=\"column.field\"\r\n [name]=\"column.field\"\r\n [setMinAndMax]=\"false\"\r\n [isRequired]=\"false\"\r\n [formStatus]=\"formStatus\"\r\n [hasGap]=\"false\"\r\n placeholder=\"{{ column.placeholder! | translate }}\"\r\n ></lib-date-input>\r\n </ng-template>\r\n <ng-template pTemplate=\"output\">\r\n <ng-container *ngIf=\"rowData[column.field]; else emptyCell\">\r\n {{ rowData[column.field] | date: 'dd.MM.yyyy' }} {{ column?.suffix }}\r\n </ng-container>\r\n <ng-template #emptyCell>\r\n /\r\n </ng-template>\r\n </ng-template>\r\n </p-cellEditor>\r\n </ng-container>\r\n\r\n <!-- Date+Time output-->\r\n <ng-container *ngIf=\"column.editable && column.component === 'dateTime'\">\r\n <p-cellEditor>\r\n <ng-template pTemplate=\"output\">\r\n <ng-container *ngIf=\"rowData[column.field]; else emptyCell\">\r\n {{ rowData[column.field] | date: 'dd.MM.yyyy, HH:mm' }} {{ column?.suffix }}\r\n </ng-container>\r\n <ng-template #emptyCell>\r\n /\r\n </ng-template>\r\n </ng-template>\r\n </p-cellEditor>\r\n </ng-container>\r\n\r\n <!-- TextArea input-->\r\n <ng-container *ngIf=\"column.editable && column.component === 'textarea'\">\r\n <p-cellEditor>\r\n <ng-template pTemplate=\"input\">\r\n <lib-textarea *ngIf=\"column.maxLength === -1\"\r\n [customMaxLength]=\"null\"\r\n [group]=\"formGroup\"\r\n [controlName]=\"column.field\"\r\n [name]=\"column.field\"\r\n [isRequired]=\"false\"\r\n [formStatus]=\"formStatus\"\r\n [hasGap]=\"false\"\r\n placeholder=\"{{ column.placeholder! |translate }}\"\r\n ></lib-textarea>\r\n <lib-textarea *ngIf=\"column.maxLength !== -1\"\r\n [group]=\"formGroup\"\r\n [controlName]=\"column.field\"\r\n [name]=\"column.field\"\r\n [isRequired]=\"false\"\r\n [formStatus]=\"formStatus\"\r\n [hasGap]=\"false\"\r\n placeholder=\"{{ column.placeholder! |translate }}\"\r\n ></lib-textarea>\r\n </ng-template>\r\n <ng-template pTemplate=\"output\">\r\n <ng-container *ngIf=\"rowData[column.field]; else emptyCell\">\r\n <lib-tooltip\r\n [htmlParser]=\"true\"\r\n [text]=\"rowData[column.field]\"\r\n ></lib-tooltip>\r\n </ng-container>\r\n\r\n <ng-template #emptyCell>\r\n /\r\n </ng-template>\r\n </ng-template>\r\n </p-cellEditor>\r\n </ng-container>\r\n\r\n <!-- Dropdown input-->\r\n <ng-container *ngIf=\"column.editable && column.component === 'dropdown'\">\r\n <p-cellEditor>\r\n <ng-template pTemplate=\"input\">\r\n <lib-dropdown\r\n label=\"Moje naloge\"\r\n placeholder=\"Izberite\"\r\n optionLabel=\"name\"\r\n [showClear]=\"true\"\r\n [formStatus]=\"formStatus\"\r\n\r\n [group]=\"formGroup\"\r\n [controlName]=\"column.field\"\r\n [name]=\"column.field\"\r\n\r\n filterBy=\"name\"\r\n [isLoading]=\"false\"\r\n [optionList]=\"overviewList\"\r\n [filter]=\"true\"\r\n [isRequired]=\"false\"\r\n ></lib-dropdown>\r\n </ng-template>\r\n <ng-template pTemplate=\"output\">\r\n <ng-container *ngIf=\"rowData[column.field]; else emptyCell\">\r\n <lib-tooltip\r\n [htmlParser]=\"true\"\r\n [text]=\"rowData[column.field]\"\r\n ></lib-tooltip>\r\n </ng-container>\r\n\r\n <ng-template #emptyCell>\r\n /\r\n </ng-template>\r\n </ng-template>\r\n </p-cellEditor>\r\n </ng-container>\r\n\r\n <!-- Switch input-->\r\n <ng-container *ngIf=\"column.editable && column.component === 'switch'\">\r\n <p-cellEditor>\r\n <ng-template pTemplate=\"input\">\r\n <lib-toggle-switch\r\n [group]=\"formGroup\"\r\n [controlName]=\"column.field\"\r\n [checked]=\"rowData[column.field]\"\r\n ></lib-toggle-switch>\r\n </ng-template>\r\n <ng-template pTemplate=\"output\">\r\n <ng-container *ngIf=\"rowData[column.field]; else emptyCell\">\r\n {{ 'components.customTable.yes' | translate }}\r\n </ng-container>\r\n\r\n <ng-template #emptyCell>\r\n {{ 'components.customTable.no' | translate }}\r\n </ng-template>\r\n </ng-template>\r\n </p-cellEditor>\r\n </ng-container>\r\n\r\n <!-- Mare; dodal custom checkbox za izbiro vrstice -->\r\n <!-- [controlName] je oblike rowChecked_2024-04-11T11:35:00_c3cff776-dc06-40ec-bab5-7cab26e2014a -->\r\n <!-- column.field = rowChecked -->\r\n <!-- rowData[column?.control!] = 2024-04-11T11:35:00 (startDate) -->\r\n <!-- rowData[column?.control2!] = c3cff776-dc06-40ec-bab5-7cab26e2014a (uuid) -->\r\n <ng-container *ngIf=\"column.editable && column.component === 'checkbox'\">\r\n <lib-checkbox class=\"\"\r\n [group]=\"formGroup\"\r\n [controlName]=\"column.field + '_' + rowData[column?.control!] + '_' + rowData[column?.control2!]\"\r\n (clickCheckboxEvent)=\"clickCheckboxOne($event, rowData[column?.control!] + '_' + rowData[column?.control2!])\"\r\n label=\"\">\r\n </lib-checkbox>\r\n </ng-container>\r\n\r\n <!-- Plain table-->\r\n <ng-container *ngIf=\"!column.editable\">\r\n <ng-container *ngIf=\"column.tooltip || column.tag || column.status || column.ellipsis; else valueCell\">\r\n <!-- Tooltip -->\r\n <ng-container *ngIf=\"column.tooltip\">\r\n <ng-container *ngIf=\"getNestedValue(rowData, column.field)\">\r\n <lib-tooltip [htmlParser]=\"true\" [text]=\"getNestedValue(rowData, column.field)\"></lib-tooltip>\r\n </ng-container>\r\n <ng-container *ngIf=\"!getNestedValue(rowData, column.field)\">\r\n /\r\n </ng-container>\r\n </ng-container>\r\n\r\n <!-- Ellipsis -->\r\n <ng-container *ngIf=\"column.ellipsis\">\r\n <ng-container *ngIf=\"getNestedValue(rowData, column.field)\">\r\n <span>\r\n {{ getNestedValue(rowData, column.field) }}\r\n </span>\r\n </ng-container>\r\n <ng-container *ngIf=\"!getNestedValue(rowData, column.field)\">\r\n /\r\n </ng-container>\r\n </ng-container>\r\n\r\n <!-- Tag -->\r\n <ng-container *ngIf=\"column.tag && getNestedValue(rowData, column.field)\">\r\n <lib-tag [tagText]=\"getNestedValue(rowData, column.field)\" [tagColor]=\"rowData.tagColor\" [rounded]=\"true\"></lib-tag>\r\n </ng-container>\r\n\r\n <!-- Status -->\r\n <ng-container *ngIf=\"column.status\">\r\n <ng-container *ngIf=\"getNestedValue(rowData, column.field)\">\r\n <div style=\"background-color: #66952E; height: 25px; width: 75px;\"></div>\r\n </ng-container>\r\n <ng-container *ngIf=\"!getNestedValue(rowData, column.field)\">\r\n <div style=\"background-color: #f44336; height: 25px; width: 75px;\"></div>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #valueCell>\r\n <ng-container *ngIf=\"getNestedValue(rowData, column.field); else emptyCell\">\r\n <!-- Mare; dodal izjemo za 'cmsStatus' -->\r\n <ng-container *ngIf=\"column.field === 'cmsStatus'; else defaultContent\">\r\n {{ 'pages.cms.cmsStatus.' + getNestedValue(rowData, column.field) | translate }}\r\n </ng-container>\r\n <!-- Privzeta vsebina za vse ostale stolpce -->\r\n <ng-template #defaultContent>\r\n {{ column.suffix ? getNestedValue(rowData, column.field) + ' ' + column.suffix : getNestedValue(rowData, column.field) }}\r\n </ng-template>\r\n </ng-container>\r\n <ng-template #emptyCell>\r\n /\r\n </ng-template>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <p class=\"text-red-500 custom-small-text\" *ngIf=\"colIndex === 0 && rowData?.administrativeProcedure?.localJurisdiction && isWarningTextVisible\">\r\n <br/> {{ 'components.customTable.notification' | translate }}\r\n </p>\r\n </td>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <!-- Button column one -->\r\n <td *ngIf=\"isButtonOneVisible\" [class.disabled-row]=\"rowData?.isEnabled === false || rowData?.isEnabled === null\">\r\n <!-- Editing table-->\r\n <ng-container *ngIf=\"isEditingTable; else plainTable\">\r\n <lib-icon-button\r\n *ngIf=\"!editing\"\r\n pInitEditableRow\r\n [color]=\"buttonOneColor\"\r\n [icon]=\"buttonOneEditIcon\"\r\n (click)='onRowEdit(rowData)'\r\n ></lib-icon-button>\r\n <lib-icon-button\r\n *ngIf=\"editing\"\r\n [color]=\"buttonOneColor!\"\r\n [icon]=\"buttonOneSaveIcon\"\r\n (click)='onRowSave(rowData, htmlTableRowElement)'\r\n ></lib-icon-button>\r\n </ng-container>\r\n\r\n <!-- Plain table-->\r\n <ng-template #plainTable>\r\n <ng-container\r\n *ngIf=\"(rowData?.administrativeProcedure === undefined || rowData?.administrativeProcedure?.detailsUrl !== null) && !isPlainTableIconButtonOne\"\r\n >\r\n <lib-button\r\n *ngIf=\"!isPlainTableButtonOneLink\"\r\n [label]=\"rowData?.buttonText ? rowData.buttonText : buttonOneLabel!\"\r\n [hasIcon]=\"buttonOneHasIcon!\"\r\n [color]=\"rowData?.buttonColor ? rowData.buttonColor : buttonOneColor!\"\r\n [icon]=\"buttonOneIcon!\"\r\n (click)='clickButtonOne(rowData)'\r\n ></lib-button>\r\n <lib-button-link\r\n *ngIf=\"isPlainTableButtonOneLink\"\r\n [label]=\"rowData?.buttonText ? rowData.buttonText : buttonOneLabel!\"\r\n [isPrimary]=\"true\"\r\n [hasIcon]=\"buttonOneHasIcon!\"\r\n [icon]=\"buttonOneIcon! + ' md:ml-2'\"\r\n (click)='clickButtonOne(rowData)'\r\n ></lib-button-link>\r\n </ng-container>\r\n <lib-icon-button\r\n *ngIf=\"isPlainTableIconButtonOne\"\r\n [color]=\"buttonOneColor!\"\r\n [icon]=\"buttonOneSaveIcon\"\r\n (click)='clickButtonOne(rowData)'\r\n ></lib-icon-button>\r\n </ng-template>\r\n </td>\r\n\r\n <!-- Button column two -->\r\n <td *ngIf=\"isButtonTwoVisible\" [class.disabled-row]=\"rowData?.isEnabled === false || rowData?.isEnabled === null\">\r\n <!-- Editing table-->\r\n <ng-container *ngIf=\"isEditingTable; else plainTable\">\r\n <lib-icon-button\r\n *ngIf=\"!editing\"\r\n [color]=\"buttonTwoColor\"\r\n [icon]=\"buttonTwoDeleteIcon\"\r\n (click)='onRowDelete(rowData)'\r\n ></lib-icon-button>\r\n <lib-icon-button\r\n *ngIf=\"editing\"\r\n [color]=\"buttonTwoColor\"\r\n [icon]=\"buttonTwoCancelIcon\"\r\n (click)=\"onRowCancel(rowData)\"\r\n ></lib-icon-button>\r\n </ng-container>\r\n\r\n <!-- Plain table-->\r\n <ng-template #plainTable>\r\n <lib-button\r\n *ngIf=\"!isPlainTableIconButtonTwo\"\r\n [label]=\"buttonTwoLabel!\"\r\n [hasIcon]=\"buttonTwoHasIcon!\"\r\n [color]=\"buttonTwoColor!\"\r\n [icon]=\"buttonTwoIcon!\"\r\n (click)='clickButtonTwo(rowData)'\r\n ></lib-button>\r\n <lib-icon-button\r\n *ngIf=\"isPlainTableIconButtonTwo\"\r\n [color]=\"buttonTwoColor!\"\r\n [icon]=\"buttonTwoDeleteIcon\"\r\n (click)='clickButtonTwo(rowData)'\r\n ></lib-icon-button>\r\n </ng-template>\r\n </td>\r\n\r\n <!-- Deactivate toggle -->\r\n <td *ngIf=\"isDeactivateToggle\" [ngStyle]=\"{ 'pointer-events': 'auto' }\">\r\n <lib-toggle-switch\r\n [isFormElement]=\"false\"\r\n [checked]=\"rowData.isEnabled\"\r\n (getValueEvent)=\"toggleEnable({ rowData, $event })\"\r\n ></lib-toggle-switch>\r\n </td>\r\n\r\n <!-- Deactivate toggle two -->\r\n <td *ngIf=\"isDeactivateToggleTwo\" [ngStyle]=\"{ 'pointer-events': 'auto' }\">\r\n <lib-toggle-switch\r\n [disabled]=\"!rowData.isEnabled\"\r\n [isFormElement]=\"false\"\r\n [checked]=\"rowData.isAppointmentEnabled\"\r\n (getValueEvent)=\"toggleTwoEnable({ rowData, $event })\"\r\n ></lib-toggle-switch>\r\n </td>\r\n\r\n <!-- Deactivate toggle three -->\r\n <td *ngIf=\"isDeactivateToggleThree\" [ngStyle]=\"{ 'pointer-events': 'auto' }\">\r\n <lib-toggle-switch\r\n [disabled]=\"!rowData.isEnabled\"\r\n [isFormElement]=\"false\"\r\n [checked]=\"rowData.isNotificationEnabled\"\r\n (getValueEvent)=\"toggleThreeEnable({ rowData, $event })\"\r\n ></lib-toggle-switch>\r\n </td>\r\n\r\n <!-- Deactivate toggle four -->\r\n <td *ngIf=\"isDeactivateToggleFour\" [ngStyle]=\"{ 'pointer-events': 'auto' }\">\r\n <lib-toggle-switch\r\n [disabled]=\"!rowData.isEnabled\"\r\n [isFormElement]=\"false\"\r\n [checked]=\"rowData.isVrstomatEnabled\"\r\n (getValueEvent)=\"toggleFourEnable({ rowData, $event })\"\r\n ></lib-toggle-switch>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n</p-table>\r\n", styles: [":host ::ng-deep .future .p-datatable-header{background:#b2414d}:host ::ng-deep .past .p-datatable-header{background:#6d7375}:host ::ng-deep .p-datatable{border:1px solid #3E7C94;border-radius:8px;overflow:hidden;padding:0}:host ::ng-deep .p-datatable .p-datatable-header{border:none;color:#fff;padding:.5rem 1rem}:host ::ng-deep .p-datatable .p-datatable-thead>tr>th,:host ::ng-deep .p-datatable .p-datatable-thead>tr>td{background:#d9d9d9;border:none;color:#1b495a;font-weight:unset;padding:.5rem 1rem}:host ::ng-deep .p-datatable .p-datatable-thead>tr>th.public-table:first-child,:host ::ng-deep .p-datatable .p-datatable-thead>tr>td.public-table:first-child{width:400px}:host ::ng-deep .p-datatable .p-datatable-thead>tr>th.public-table:nth-child(2),:host ::ng-deep .p-datatable .p-datatable-thead>tr>td.public-table:nth-child(2){width:150px}:host ::ng-deep .p-datatable .p-datatable-tbody>tr{background:transparent;height:50px}:host ::ng-deep .p-datatable .p-datatable-tbody>tr.success_row_color{background:#66952eb3}:host ::ng-deep .p-datatable .p-datatable-tbody>tr.disabled_row_color{background:#b4b4b4b3}:host ::ng-deep .p-datatable .p-datatable-tbody>tr>td{border-color:#3e7c94;padding:.5rem 1rem}:host ::ng-deep .p-datatable .p-datatable-tbody>tr:first-child>td{border-color:transparent}:host ::ng-deep .p-datatable .table-icon-button{width:50px}:host ::ng-deep .p-paginator{background:transparent}:host ::ng-deep .p-paginator .p-paginator-pages .p-paginator-page.p-highlight{background:#3e7c94;border-color:#3e7c94}@media(max-width:600px){:host ::ng-deep .p-datatable .p-datatable-header{padding:.5rem}:host ::ng-deep .p-datatable .p-datatable-thead>tr>th{padding:.5rem}:host ::ng-deep .p-datatable .p-datatable-tbody>tr>td{padding:.5rem}}.disabled-row{opacity:.5;pointer-events:none}.custom-small-text{font-size:.8rem;line-height:.9}.ellipsis-text{cursor:n-resize}\n"], dependencies: [{ kind: "ngmodule", type: TableModule }, { kind: "component", type: i1$7.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "size", "showGridlines", "stripedRows", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "virtualRowHeight", "selectAll"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i1$1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i1$7.CellEditor, selector: "p-cellEditor" }, { kind: "directive", type: i1$7.EditableRow, selector: "[pEditableRow]", inputs: ["pEditableRow", "pEditableRowDisabled"] }, { kind: "directive", type: i1$7.InitEditableRow, selector: "[pInitEditableRow]" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: ButtonComponent, selector: "lib-button", inputs: ["hasIcon", "label", "color", "icon", "iconPos", "disabled", "isLoading", "styleClass", "size", "accessibilityText", "buttonType", "isAccessible", "isSelected", "ariaControlsId", "isExpanded", "link", "isTextareaClear"], outputs: ["clickEvent"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: InputComponent, selector: "lib-input[group][controlName][name]", inputs: ["name", "type", "label", "placeholder", "accessibilityText", "group", "controlName", "isRequired", "isLabelVisible", "tooltipPosition", "tooltipText", "formStatus", "groupError", "hasGap", "hasTitle", "maxLength"] }, { kind: "component", type: DateInputComponent, selector: "lib-date-input[group][controlName][name]", inputs: ["isLabelVisible", "name", "label", "placeholder", "accessibilityText", "isRequired", "tooltipPosition", "tooltipText", "dateFormat", "group", "controlName", "showIcon", "selectionMode", "touchUI", "formStatus", "showClear", "isPublicDate", "minDate", "maxDate", "minDateToday", "maxDateSixMonths", "maxDateThreeMonths", "maxDateRangeOneYear", "setMinAndMax", "hasGap", "disabledDates", "appendTo", "groupError", "showTime", "availableDates", "disabledDays", "disabledWeekends"], outputs: ["onSelect"] }, { kind: "component", type: TextareaComponent, selector: "lib-textarea[group][controlName][name]", inputs: ["name", "resize", "label", "placeholder", "accessibilityText", "rows", "cols", "tooltipPosition", "tooltipText", "group", "controlName", "isRequired", "formStatus", "hasGap", "customMaxLength"] }, { kind: "component", type: TooltipComponent, selector: " lib-tooltip", inputs: ["icon", "htmlParser", "text", "position", "tooltipEvent", "autoHide", "htmlParse"] }, { kind: "component", type: DropdownComponent, selector: "lib-dropdown[group][controlName][name]", inputs: ["name", "isMultiselect", "selectedItemLabel", "group", "controlName", "label", "optionList", "optionLabel", "optionalValue", "placeholder", "accessibilityText", "filter", "filterBy", "showClear", "isRequired", "tooltipPosition", "tooltipText", "formStatus", "nestedGroup", "isLoading", "appendTo", "isLabelVisible", "emptyMessage", "virtualScroll", "ariaFilterLabel", "optionValue"], outputs: ["getValueEvent"] }, { kind: "component", type: ToggleSwitchComponent, selector: "lib-toggle-switch", inputs: ["group", "controlName", "isFormElement", "checked", "disabled"], outputs: ["getValueEvent", "checkedChanged"] }, { kind: "component", type: CheckboxComponent, selector: "lib-checkbox[group][controlName][label]", inputs: ["label", "group", "controlName", "value", "formStatus", "ariaLabel"], outputs: ["clickCheckboxEvent"] }, { kind: "component", type: TagComponent, selector: "lib-tag", inputs: ["tagText", "tagColor", "rounded"] }, { kind: "component", type: IconButtonComponent, selector: "lib-icon-button", inputs: ["icon", "disabled", "color", "styleClass", "size"], outputs: ["clickEvent"] }, { kind: "component", type: ButtonLinkComponent, selector: "lib-button-link", inputs: ["hasIcon", "label", "isDanger", "isPrimary", "icon", "target", "accessibilityText"], outputs: ["clickEvent"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }, { kind: "pipe", type: DatePipe, name: "date" }] });
1982
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: CustomTableComponent, isStandalone: true, selector: "lib-custom-table[tableData][tableColumns]", inputs: { tableData: "tableData", tableColumns: "tableColumns", isPaginatorVisible: "isPaginatorVisible", tableRowCount: "tableRowCount", scrollable: "scrollable", scrollHeight: "scrollHeight", selectedProducts: "selectedProducts", isEditingTable: "isEditingTable", isTableLoading: "isTableLoading", hideColumnsOnMobile: "hideColumnsOnMobile", tableMinWidth: "tableMinWidth", isVirtualScrollButtonVisible: "isVirtualScrollButtonVisible", isVirtualScroll: "isVirtualScroll", virtualScrollRowSize: "virtualScrollRowSize", tableCaption: "tableCaption", captionColorClass: "captionColorClass", isCaptionButtonVisible: "isCaptionButtonVisible", captionButtonLabel: "captionButtonLabel", captionButtonColor: "captionButtonColor", isTableHeaderVisible: "isTableHeaderVisible", emptyColumnWidth: "emptyColumnWidth", toggleTableHeaderName: "toggleTableHeaderName", toggleWidth: "toggleWidth", toggleTwoTableHeaderName: "toggleTwoTableHeaderName", toggleTwoWidth: "toggleTwoWidth", toggleThreeTableHeaderName: "toggleThreeTableHeaderName", toggleThreeWidth: "toggleThreeWidth", toggleFourTableHeaderName: "toggleFourTableHeaderName", toggleFourWidth: "toggleFourWidth", rowColor: "rowColor", formGroup: "formGroup", type: "type", formStatus: "formStatus", tagColor: "tagColor", isWarningTextVisible: "isWarningTextVisible", isButtonOneVisible: "isButtonOneVisible", buttonLabel: "buttonLabel", buttonOneLabel: "buttonOneLabel", buttonOneHasIcon: "buttonOneHasIcon", buttonOneEditIcon: "buttonOneEditIcon", buttonOneSaveIcon: "buttonOneSaveIcon", buttonOneColor: "buttonOneColor", buttonOneIcon: "buttonOneIcon", isPlainTableIconButtonOne: "isPlainTableIconButtonOne", isPlainTableButtonOneLink: "isPlainTableButtonOneLink", isButtonTwoVisible: "isButtonTwoVisible", buttonTwoLabel: "buttonTwoLabel", buttonTwoHasIcon: "buttonTwoHasIcon", buttonTwoDeleteIcon: "buttonTwoDeleteIcon", buttonTwoCancelIcon: "buttonTwoCancelIcon", buttonTwoColor: "buttonTwoColor", buttonTwoIcon: "buttonTwoIcon", isPlainTableIconButtonTwo: "isPlainTableIconButtonTwo", isDeactivateToggle: "isDeactivateToggle", isDeactivateToggleTwo: "isDeactivateToggleTwo", isDeactivateToggleThree: "isDeactivateToggleThree", isDeactivateToggleFour: "isDeactivateToggleFour", showEllipsisFullText: "showEllipsisFullText" }, outputs: { captionButtonClicked: "captionButtonClicked", buttonEditClick: "buttonEditClick", buttonSaveClick: "buttonSaveClick", buttonOneClick: "buttonOneClick", buttonDeleteClick: "buttonDeleteClick", buttonTwoClick: "buttonTwoClick", toggleSwitch: "toggleSwitch", toggleTwoSwitch: "toggleTwoSwitch", toggleThreeSwitch: "toggleThreeSwitch", toggleFourSwitch: "toggleFourSwitch", checkboxOne: "checkboxOne" }, viewQueries: [{ propertyName: "table", first: true, predicate: ["dt"], descendants: true }], ngImport: i0, template: "<p-table\r\n #dt\r\n [value]=\"tableData\"\r\n [paginator]=\"isPaginatorVisible\"\r\n [rows]=\"tableRowCount\"\r\n [showCurrentPageReport]=\"false\"\r\n [scrollable]=\"scrollable\"\r\n [scrollHeight]=\"scrollHeight\"\r\n dataKey=\"id\"\r\n editMode=\"row\"\r\n [ngClass]=\"captionColorClass\"\r\n [loading]=\"isTableLoading\"\r\n [tableStyle]=\"{'min-width': tableMinWidth}\"\r\n [virtualScroll]=\"isVirtualScroll\"\r\n [virtualScrollItemSize]=\"virtualScrollRowSize\"\r\n aria-live=\"polite\"\r\n>\r\n <ng-template pTemplate=\"caption\" *ngIf=\"!!tableCaption\">\r\n <div class=\"flex align-items-center justify-content-between\">\r\n {{ tableCaption }}\r\n <span *ngIf=\"isVirtualScrollButtonVisible\"\r\n (click)=\"isVirtualScroll = !isVirtualScroll\"\r\n [ngStyle]=\"{'color': isVirtualScroll ? '' : 'lightgray'}\"\r\n class=\"pi pi-sort cursor-pointer\">\r\n </span>\r\n <lib-button\r\n *ngIf=\"isCaptionButtonVisible\"\r\n [label]=\"captionButtonLabel\"\r\n [color]=\"captionButtonColor\"\r\n (clickEvent)=\"clickCaptionButton($event)\"\r\n ></lib-button>\r\n </div>\r\n </ng-template>\r\n <ng-template pTemplate=\"header\" *ngIf=\"isTableHeaderVisible\">\r\n <tr>\r\n <ng-container *ngFor=\"let column of tableColumns\">\r\n <ng-container *ngIf=\"!(column.hideOnMobile && isMobile() && hideColumnsOnMobile)\">\r\n <th scope=\"col\" [style.width]=\"column.width\">\r\n {{ column.header | translate }}\r\n </th>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <th *ngFor=\"let _ of emptyHeaderColumnList\" [style.width]=\"emptyColumnWidth\" aria-hidden=\"true\"></th>\r\n <th *ngIf=\"!!toggleTableHeaderName\" scope=\"col\" [style.width]=\"toggleWidth\" class=\"vertical-align-middle\">\r\n {{ toggleTableHeaderName }}\r\n </th>\r\n <th *ngIf=\"!!toggleTwoTableHeaderName\" scope=\"col\" [style.width]=\"toggleTwoWidth\" class=\"vertical-align-middle\">\r\n {{ toggleTwoTableHeaderName }}\r\n </th>\r\n <th *ngIf=\"!!toggleThreeTableHeaderName\" scope=\"col\" [style.width]=\"toggleThreeWidth\" class=\"vertical-align-middle\">\r\n {{ toggleThreeTableHeaderName }}\r\n </th>\r\n <th *ngIf=\"!!toggleFourTableHeaderName\" scope=\"col\" [style.width]=\"toggleFourWidth\" class=\"vertical-align-middle\">\r\n {{ toggleFourTableHeaderName }}\r\n </th>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-rowData let-editing=\"editing\" let-ri=\"rowIndex\">\r\n <!--\r\n Mare; 2024-09-19: dodajanje logike barvanja rowColor za /cms/notifications, delat mora pa tudi v /vsi-termini\r\n -->\r\n <tr [pEditableRow]=\"rowData\" #htmlTableRowElement\r\n [ngClass]=\"\r\n rowData?.cmsStatus ?\r\n (rowData?.cmsStatus === 'expired' ? 'disabled_row_color' :\r\n rowData?.cmsStatus === 'planned' ? '' :\r\n rowData?.cmsStatus === 'active' ? 'success_row_color' : '') :\r\n (!rowData?.registered ? rowColor : '')\r\n \">\r\n <ng-container *ngFor=\"let column of tableColumns; let colIndex = index\">\r\n <ng-container *ngIf=\"!(column.hideOnMobile && isMobile() && hideColumnsOnMobile)\">\r\n <td [class.disabled-row]=\"rowData?.isEnabled === false || rowData?.isEnabled === null\">\r\n <!-- Text input-->\r\n <ng-container *ngIf=\"column.editable && column.component === 'input'\">\r\n <p-cellEditor>\r\n <ng-template pTemplate=\"input\">\r\n <lib-input\r\n [group]=\"formGroup\"\r\n [controlName]=\"column.field\"\r\n [name]=\"column.field\"\r\n [type]=\"column.inputType ? column.inputType : type\"\r\n placeholder=\"{{ column.placeholder! |translate }}\"\r\n [isRequired]=\"false\"\r\n [formStatus]=\"formStatus\"\r\n [hasGap]=\"false\"\r\n ></lib-input>\r\n </ng-template>\r\n <ng-template pTemplate=\"output\">\r\n <ng-container *ngIf=\"rowData[column.field]; else emptyCell\">\r\n <ng-container *ngIf=\"column.isLink; else notLink\">\r\n <a href=\"{{ rowData[column.field] }}\" target=\"_blank\">\r\n {{ rowData[column.field] }}\r\n </a>\r\n </ng-container>\r\n <ng-template #notLink>\r\n {{ rowData[column.field] }} {{ column?.suffix }}\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-template #emptyCell>\r\n /\r\n </ng-template>\r\n </ng-template>\r\n </p-cellEditor>\r\n </ng-container>\r\n\r\n <!-- Date input-->\r\n <ng-container *ngIf=\"column.editable && column.component === 'date'\">\r\n <p-cellEditor>\r\n <ng-template pTemplate=\"input\">\r\n <lib-date-input\r\n appendTo=\"body\"\r\n [group]=\"formGroup\"\r\n [controlName]=\"column.field\"\r\n [name]=\"column.field\"\r\n [setMinAndMax]=\"false\"\r\n [isRequired]=\"false\"\r\n [formStatus]=\"formStatus\"\r\n [hasGap]=\"false\"\r\n placeholder=\"{{ column.placeholder! | translate }}\"\r\n ></lib-date-input>\r\n </ng-template>\r\n <ng-template pTemplate=\"output\">\r\n <ng-container *ngIf=\"rowData[column.field]; else emptyCell\">\r\n {{ rowData[column.field] | date: 'dd.MM.yyyy' }} {{ column?.suffix }}\r\n </ng-container>\r\n <ng-template #emptyCell>\r\n /\r\n </ng-template>\r\n </ng-template>\r\n </p-cellEditor>\r\n </ng-container>\r\n\r\n <!-- Date+Time output-->\r\n <ng-container *ngIf=\"column.editable && column.component === 'dateTime'\">\r\n <p-cellEditor>\r\n <ng-template pTemplate=\"output\">\r\n <ng-container *ngIf=\"rowData[column.field]; else emptyCell\">\r\n {{ rowData[column.field] | date: 'dd.MM.yyyy, HH:mm' }} {{ column?.suffix }}\r\n </ng-container>\r\n <ng-template #emptyCell>\r\n /\r\n </ng-template>\r\n </ng-template>\r\n </p-cellEditor>\r\n </ng-container>\r\n\r\n <!-- TextArea input-->\r\n <ng-container *ngIf=\"column.editable && column.component === 'textarea'\">\r\n <p-cellEditor>\r\n <ng-template pTemplate=\"input\">\r\n <lib-textarea *ngIf=\"column.maxLength === -1\"\r\n [customMaxLength]=\"null\"\r\n [group]=\"formGroup\"\r\n [controlName]=\"column.field\"\r\n [name]=\"column.field\"\r\n [isRequired]=\"false\"\r\n [formStatus]=\"formStatus\"\r\n [hasGap]=\"false\"\r\n placeholder=\"{{ column.placeholder! |translate }}\"\r\n ></lib-textarea>\r\n <lib-textarea *ngIf=\"column.maxLength !== -1\"\r\n [group]=\"formGroup\"\r\n [controlName]=\"column.field\"\r\n [name]=\"column.field\"\r\n [isRequired]=\"false\"\r\n [formStatus]=\"formStatus\"\r\n [hasGap]=\"false\"\r\n placeholder=\"{{ column.placeholder! |translate }}\"\r\n ></lib-textarea>\r\n </ng-template>\r\n <ng-template pTemplate=\"output\">\r\n <ng-container *ngIf=\"rowData[column.field]; else emptyCell\">\r\n <lib-tooltip\r\n [htmlParser]=\"true\"\r\n [text]=\"rowData[column.field]\"\r\n ></lib-tooltip>\r\n </ng-container>\r\n\r\n <ng-template #emptyCell>\r\n /\r\n </ng-template>\r\n </ng-template>\r\n </p-cellEditor>\r\n </ng-container>\r\n\r\n <!-- Dropdown input-->\r\n <ng-container *ngIf=\"column.editable && column.component === 'dropdown'\">\r\n <p-cellEditor>\r\n <ng-template pTemplate=\"input\">\r\n <lib-dropdown\r\n label=\"Moje naloge\"\r\n placeholder=\"Izberite\"\r\n optionLabel=\"name\"\r\n [showClear]=\"true\"\r\n [formStatus]=\"formStatus\"\r\n\r\n [group]=\"formGroup\"\r\n [controlName]=\"column.field\"\r\n [name]=\"column.field\"\r\n\r\n filterBy=\"name\"\r\n [isLoading]=\"false\"\r\n [optionList]=\"overviewList\"\r\n [filter]=\"true\"\r\n [isRequired]=\"false\"\r\n ></lib-dropdown>\r\n </ng-template>\r\n <ng-template pTemplate=\"output\">\r\n <ng-container *ngIf=\"rowData[column.field]; else emptyCell\">\r\n <lib-tooltip\r\n [htmlParser]=\"true\"\r\n [text]=\"rowData[column.field]\"\r\n ></lib-tooltip>\r\n </ng-container>\r\n\r\n <ng-template #emptyCell>\r\n /\r\n </ng-template>\r\n </ng-template>\r\n </p-cellEditor>\r\n </ng-container>\r\n\r\n <!-- Switch input-->\r\n <ng-container *ngIf=\"column.editable && column.component === 'switch'\">\r\n <p-cellEditor>\r\n <ng-template pTemplate=\"input\">\r\n <lib-toggle-switch\r\n [group]=\"formGroup\"\r\n [controlName]=\"column.field\"\r\n [checked]=\"rowData[column.field]\"\r\n ></lib-toggle-switch>\r\n </ng-template>\r\n <ng-template pTemplate=\"output\">\r\n <ng-container *ngIf=\"rowData[column.field]; else emptyCell\">\r\n {{ 'components.customTable.yes' | translate }}\r\n </ng-container>\r\n\r\n <ng-template #emptyCell>\r\n {{ 'components.customTable.no' | translate }}\r\n </ng-template>\r\n </ng-template>\r\n </p-cellEditor>\r\n </ng-container>\r\n\r\n <!-- Mare; dodal custom checkbox za izbiro vrstice -->\r\n <!-- [controlName] je oblike rowChecked_2024-04-11T11:35:00_c3cff776-dc06-40ec-bab5-7cab26e2014a -->\r\n <!-- column.field = rowChecked -->\r\n <!-- rowData[column?.control!] = 2024-04-11T11:35:00 (startDate) -->\r\n <!-- rowData[column?.control2!] = c3cff776-dc06-40ec-bab5-7cab26e2014a (uuid) -->\r\n <ng-container *ngIf=\"column.editable && column.component === 'checkbox'\">\r\n <lib-checkbox class=\"\"\r\n [group]=\"formGroup\"\r\n [controlName]=\"column.field + '_' + rowData[column?.control!] + '_' + rowData[column?.control2!]\"\r\n (clickCheckboxEvent)=\"clickCheckboxOne($event, rowData[column?.control!] + '_' + rowData[column?.control2!])\"\r\n label=\"\">\r\n </lib-checkbox>\r\n </ng-container>\r\n\r\n <!-- Plain table-->\r\n <ng-container *ngIf=\"!column.editable\">\r\n <ng-container *ngIf=\"column.tooltip || column.tag || column.status || column.ellipsis; else valueCell\">\r\n <!-- Tooltip -->\r\n <ng-container *ngIf=\"column.tooltip\">\r\n <ng-container *ngIf=\"getNestedValue(rowData, column.field)\">\r\n <lib-tooltip [htmlParser]=\"true\" [text]=\"getNestedValue(rowData, column.field)\"></lib-tooltip>\r\n </ng-container>\r\n <ng-container *ngIf=\"!getNestedValue(rowData, column.field)\">\r\n /\r\n </ng-container>\r\n </ng-container>\r\n\r\n <!-- Ellipsis -->\r\n <ng-container *ngIf=\"column.ellipsis\">\r\n <ng-container *ngIf=\"getNestedValue(rowData, column.field)\">\r\n <span>\r\n {{ getNestedValue(rowData, column.field) }}\r\n </span>\r\n </ng-container>\r\n <ng-container *ngIf=\"!getNestedValue(rowData, column.field)\">\r\n /\r\n </ng-container>\r\n </ng-container>\r\n\r\n <!-- Tag -->\r\n <ng-container *ngIf=\"column.tag && getNestedValue(rowData, column.field)\">\r\n <lib-tag [tagText]=\"getNestedValue(rowData, column.field)\" [tagColor]=\"rowData.tagColor\" [rounded]=\"true\"></lib-tag>\r\n </ng-container>\r\n\r\n <!-- Status -->\r\n <ng-container *ngIf=\"column.status\">\r\n <ng-container *ngIf=\"getNestedValue(rowData, column.field)\">\r\n <div style=\"background-color: #66952E; height: 25px; width: 75px;\"></div>\r\n </ng-container>\r\n <ng-container *ngIf=\"!getNestedValue(rowData, column.field)\">\r\n <div style=\"background-color: #f44336; height: 25px; width: 75px;\"></div>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #valueCell>\r\n <ng-container *ngIf=\"getNestedValue(rowData, column.field); else emptyCell\">\r\n <!-- Mare; dodal izjemo za 'cmsStatus' -->\r\n <ng-container *ngIf=\"column.field === 'cmsStatus'; else defaultContent\">\r\n {{ 'pages.cms.cmsStatus.' + getNestedValue(rowData, column.field) | translate }}\r\n </ng-container>\r\n <!-- Privzeta vsebina za vse ostale stolpce -->\r\n <ng-template #defaultContent>\r\n {{ column.suffix ? getNestedValue(rowData, column.field) + ' ' + column.suffix : getNestedValue(rowData, column.field) }}\r\n </ng-template>\r\n </ng-container>\r\n <ng-template #emptyCell>\r\n /\r\n </ng-template>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <p class=\"text-red-500 custom-small-text\" *ngIf=\"colIndex === 0 && rowData?.administrativeProcedure?.localJurisdiction && isWarningTextVisible\">\r\n <br/> {{ 'components.customTable.notification' | translate }}\r\n </p>\r\n </td>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <!-- Button column one -->\r\n <td *ngIf=\"isButtonOneVisible\" [class.disabled-row]=\"rowData?.isEnabled === false || rowData?.isEnabled === null\">\r\n <!-- Editing table-->\r\n <ng-container *ngIf=\"isEditingTable; else plainTable\">\r\n <lib-icon-button\r\n *ngIf=\"!editing\"\r\n pInitEditableRow\r\n [color]=\"buttonOneColor\"\r\n [icon]=\"buttonOneEditIcon\"\r\n (click)='onRowEdit(rowData)'\r\n ></lib-icon-button>\r\n <lib-icon-button\r\n *ngIf=\"editing\"\r\n [color]=\"buttonOneColor!\"\r\n [icon]=\"buttonOneSaveIcon\"\r\n (click)='onRowSave(rowData, htmlTableRowElement)'\r\n ></lib-icon-button>\r\n </ng-container>\r\n\r\n <!-- Plain table-->\r\n <ng-template #plainTable>\r\n <ng-container\r\n *ngIf=\"(rowData?.administrativeProcedure === undefined || rowData?.administrativeProcedure?.detailsUrl !== null) && !isPlainTableIconButtonOne\"\r\n >\r\n <lib-button\r\n *ngIf=\"!isPlainTableButtonOneLink\"\r\n [label]=\"rowData?.buttonText ? rowData.buttonText : buttonOneLabel!\"\r\n [hasIcon]=\"buttonOneHasIcon!\"\r\n [color]=\"rowData?.buttonColor ? rowData.buttonColor : buttonOneColor!\"\r\n [icon]=\"buttonOneIcon!\"\r\n (click)='clickButtonOne(rowData)'\r\n ></lib-button>\r\n <lib-button-link\r\n *ngIf=\"isPlainTableButtonOneLink\"\r\n [label]=\"rowData?.buttonText ? rowData.buttonText : buttonOneLabel!\"\r\n [isPrimary]=\"true\"\r\n [hasIcon]=\"buttonOneHasIcon!\"\r\n [icon]=\"buttonOneIcon! + ' md:ml-2'\"\r\n (click)='clickButtonOne(rowData)'\r\n ></lib-button-link>\r\n </ng-container>\r\n <lib-icon-button\r\n *ngIf=\"isPlainTableIconButtonOne\"\r\n [color]=\"buttonOneColor!\"\r\n [icon]=\"buttonOneSaveIcon\"\r\n (click)='clickButtonOne(rowData)'\r\n ></lib-icon-button>\r\n </ng-template>\r\n </td>\r\n\r\n <!-- Button column two -->\r\n <td *ngIf=\"isButtonTwoVisible\" [class.disabled-row]=\"rowData?.isEnabled === false || rowData?.isEnabled === null\">\r\n <!-- Editing table-->\r\n <ng-container *ngIf=\"isEditingTable; else plainTable\">\r\n <lib-icon-button\r\n *ngIf=\"!editing\"\r\n [color]=\"buttonTwoColor\"\r\n [icon]=\"buttonTwoDeleteIcon\"\r\n (click)='onRowDelete(rowData)'\r\n ></lib-icon-button>\r\n <lib-icon-button\r\n *ngIf=\"editing\"\r\n [color]=\"buttonTwoColor\"\r\n [icon]=\"buttonTwoCancelIcon\"\r\n (click)=\"onRowCancel(rowData)\"\r\n ></lib-icon-button>\r\n </ng-container>\r\n\r\n <!-- Plain table-->\r\n <ng-template #plainTable>\r\n <lib-button\r\n *ngIf=\"!isPlainTableIconButtonTwo\"\r\n [label]=\"buttonTwoLabel!\"\r\n [hasIcon]=\"buttonTwoHasIcon!\"\r\n [color]=\"buttonTwoColor!\"\r\n [icon]=\"buttonTwoIcon!\"\r\n (click)='clickButtonTwo(rowData)'\r\n ></lib-button>\r\n <lib-icon-button\r\n *ngIf=\"isPlainTableIconButtonTwo\"\r\n [color]=\"buttonTwoColor!\"\r\n [icon]=\"buttonTwoDeleteIcon\"\r\n (click)='clickButtonTwo(rowData)'\r\n ></lib-icon-button>\r\n </ng-template>\r\n </td>\r\n\r\n <!-- Deactivate toggle -->\r\n <td *ngIf=\"isDeactivateToggle\" [ngStyle]=\"{ 'pointer-events': 'auto' }\">\r\n <lib-toggle-switch\r\n [isFormElement]=\"false\"\r\n [checked]=\"rowData.isEnabled\"\r\n (getValueEvent)=\"toggleEnable({ rowData, $event })\"\r\n ></lib-toggle-switch>\r\n </td>\r\n\r\n <!-- Deactivate toggle two -->\r\n <td *ngIf=\"isDeactivateToggleTwo\" [ngStyle]=\"{ 'pointer-events': 'auto' }\">\r\n <lib-toggle-switch\r\n [disabled]=\"!rowData.isEnabled\"\r\n [isFormElement]=\"false\"\r\n [checked]=\"rowData.isAppointmentEnabled\"\r\n (getValueEvent)=\"toggleTwoEnable({ rowData, $event })\"\r\n ></lib-toggle-switch>\r\n </td>\r\n\r\n <!-- Deactivate toggle three -->\r\n <td *ngIf=\"isDeactivateToggleThree\" [ngStyle]=\"{ 'pointer-events': 'auto' }\">\r\n <lib-toggle-switch\r\n [disabled]=\"!rowData.isEnabled\"\r\n [isFormElement]=\"false\"\r\n [checked]=\"rowData.isNotificationEnabled\"\r\n (getValueEvent)=\"toggleThreeEnable({ rowData, $event })\"\r\n ></lib-toggle-switch>\r\n </td>\r\n\r\n <!-- Deactivate toggle four -->\r\n <td *ngIf=\"isDeactivateToggleFour\" [ngStyle]=\"{ 'pointer-events': 'auto' }\">\r\n <lib-toggle-switch\r\n [disabled]=\"!rowData.isEnabled\"\r\n [isFormElement]=\"false\"\r\n [checked]=\"rowData.isVrstomatEnabled\"\r\n (getValueEvent)=\"toggleFourEnable({ rowData, $event })\"\r\n ></lib-toggle-switch>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n</p-table>\r\n", styles: [":host ::ng-deep .future .p-datatable-header{background:#b2414d}:host ::ng-deep .past .p-datatable-header{background:#6d7375}:host ::ng-deep .p-datatable{border:1px solid #3E7C94;border-radius:8px;overflow:hidden;padding:0}:host ::ng-deep .p-datatable .p-datatable-header{border:none;color:#fff;padding:.5rem 1rem}:host ::ng-deep .p-datatable .p-datatable-thead>tr>th,:host ::ng-deep .p-datatable .p-datatable-thead>tr>td{background:#d9d9d9;border:none;color:#1b495a;font-weight:unset;padding:.5rem 1rem}:host ::ng-deep .p-datatable .p-datatable-thead>tr>th.public-table:first-child,:host ::ng-deep .p-datatable .p-datatable-thead>tr>td.public-table:first-child{width:400px}:host ::ng-deep .p-datatable .p-datatable-thead>tr>th.public-table:nth-child(2),:host ::ng-deep .p-datatable .p-datatable-thead>tr>td.public-table:nth-child(2){width:150px}:host ::ng-deep .p-datatable .p-datatable-tbody>tr{background:transparent;height:50px}:host ::ng-deep .p-datatable .p-datatable-tbody>tr.success_row_color{background:#66952eb3}:host ::ng-deep .p-datatable .p-datatable-tbody>tr.disabled_row_color{background:#b4b4b4b3}:host ::ng-deep .p-datatable .p-datatable-tbody>tr>td{border-color:#3e7c94;padding:.5rem 1rem}:host ::ng-deep .p-datatable .p-datatable-tbody>tr:first-child>td{border-color:transparent}:host ::ng-deep .p-datatable .table-icon-button{width:50px}:host ::ng-deep .p-paginator{background:transparent}:host ::ng-deep .p-paginator .p-paginator-pages .p-paginator-page.p-highlight{background:#3e7c94;border-color:#3e7c94}@media(max-width:600px){:host ::ng-deep .p-datatable .p-datatable-header{padding:.5rem}:host ::ng-deep .p-datatable .p-datatable-thead>tr>th{padding:.5rem}:host ::ng-deep .p-datatable .p-datatable-tbody>tr>td{padding:.5rem}}.disabled-row{opacity:.5;pointer-events:none}.custom-small-text{font-size:.8rem;line-height:.9}.ellipsis-text{cursor:n-resize}\n"], dependencies: [{ kind: "ngmodule", type: TableModule }, { kind: "component", type: i1$7.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "size", "showGridlines", "stripedRows", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "virtualRowHeight", "selectAll"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i1$1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i1$7.CellEditor, selector: "p-cellEditor" }, { kind: "directive", type: i1$7.EditableRow, selector: "[pEditableRow]", inputs: ["pEditableRow", "pEditableRowDisabled"] }, { kind: "directive", type: i1$7.InitEditableRow, selector: "[pInitEditableRow]" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: ButtonComponent, selector: "lib-button", inputs: ["hasIcon", "label", "color", "icon", "iconPos", "disabled", "isLoading", "styleClass", "size", "accessibilityText", "buttonType", "isAccessible", "isSelected", "ariaControlsId", "isExpanded", "link", "isTextareaClear"], outputs: ["clickEvent"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: InputComponent, selector: "lib-input[group][controlName][name]", inputs: ["name", "type", "label", "placeholder", "accessibilityText", "group", "controlName", "isRequired", "isLabelVisible", "tooltipPosition", "tooltipText", "formStatus", "groupError", "hasGap", "hasTitle", "maxLength"] }, { kind: "component", type: DateInputComponent, selector: "lib-date-input[group][controlName][name]", inputs: ["isLabelVisible", "name", "label", "placeholder", "accessibilityText", "isRequired", "tooltipPosition", "tooltipText", "dateFormat", "group", "controlName", "showIcon", "selectionMode", "touchUI", "formStatus", "showClear", "isPublicDate", "minDate", "maxDate", "minDateToday", "maxDateSixMonths", "maxDateThreeMonths", "maxDateRangeOneYear", "setMinAndMax", "hasGap", "disabledDates", "appendTo", "groupError", "showTime", "availableDates", "disabledDays", "disabledWeekends"], outputs: ["onSelect"] }, { kind: "component", type: TextareaComponent, selector: "lib-textarea[group][controlName][name]", inputs: ["name", "resize", "label", "placeholder", "accessibilityText", "rows", "cols", "tooltipPosition", "tooltipText", "group", "controlName", "isRequired", "formStatus", "hasGap", "customMaxLength"], outputs: ["onBlurEvent"] }, { kind: "component", type: TooltipComponent, selector: " lib-tooltip", inputs: ["icon", "htmlParser", "text", "position", "tooltipEvent", "autoHide", "htmlParse"] }, { kind: "component", type: DropdownComponent, selector: "lib-dropdown[group][controlName][name]", inputs: ["name", "isMultiselect", "selectedItemLabel", "group", "controlName", "label", "optionList", "optionLabel", "optionalValue", "placeholder", "accessibilityText", "filter", "filterBy", "showClear", "isRequired", "tooltipPosition", "tooltipText", "formStatus", "nestedGroup", "isLoading", "appendTo", "isLabelVisible", "emptyMessage", "virtualScroll", "ariaFilterLabel", "optionValue"], outputs: ["getValueEvent"] }, { kind: "component", type: ToggleSwitchComponent, selector: "lib-toggle-switch", inputs: ["group", "controlName", "isFormElement", "checked", "disabled"], outputs: ["getValueEvent", "checkedChanged"] }, { kind: "component", type: CheckboxComponent, selector: "lib-checkbox[group][controlName][label]", inputs: ["label", "group", "controlName", "value", "formStatus", "ariaLabel"], outputs: ["clickCheckboxEvent"] }, { kind: "component", type: TagComponent, selector: "lib-tag", inputs: ["tagText", "tagColor", "rounded"] }, { kind: "component", type: IconButtonComponent, selector: "lib-icon-button", inputs: ["icon", "disabled", "color", "styleClass", "size"], outputs: ["clickEvent"] }, { kind: "component", type: ButtonLinkComponent, selector: "lib-button-link", inputs: ["hasIcon", "label", "isDanger", "isPrimary", "icon", "target", "accessibilityText"], outputs: ["clickEvent"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }, { kind: "pipe", type: DatePipe, name: "date" }] });
1979
1983
  }
1980
1984
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: CustomTableComponent, decorators: [{
1981
1985
  type: Component,
@@ -2572,6 +2576,204 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
2572
2576
  type: Output
2573
2577
  }] } });
2574
2578
 
2579
+ class ModalComponent {
2580
+ header = 'Header title';
2581
+ headerColor = DialogColor.primary;
2582
+ width = '50vw';
2583
+ height = '';
2584
+ dynamicContentTemplate;
2585
+ resizable = false;
2586
+ draggable = true;
2587
+ visible;
2588
+ closable = true;
2589
+ modal = false;
2590
+ body = 'Body content';
2591
+ position = 'top';
2592
+ mode = 'create';
2593
+ btnLabel = 'Sem prebral/-a';
2594
+ btnColor = ButtonColor.success;
2595
+ btnIcon = 'pi pi-check';
2596
+ hasIcon = true;
2597
+ disabled = false;
2598
+ hasLeftButton = false;
2599
+ appendTo;
2600
+ leftBtnLabel = 'Zapri';
2601
+ leftBtnColor = ButtonColor.danger;
2602
+ leftBtnIcon = 'pi pi-times';
2603
+ leftHasIcon = true;
2604
+ leftDisabled = false;
2605
+ buttonClickEvent = new EventEmitter();
2606
+ visibleChange = new EventEmitter();
2607
+ leftButtonClickEvent = new EventEmitter();
2608
+ scrollEvent = new EventEmitter();
2609
+ modalClosed = new EventEmitter();
2610
+ isFooterVisible = true;
2611
+ dismissableMask = false;
2612
+ headerClassMap = {
2613
+ primary: 'primary',
2614
+ secondary: 'secondary',
2615
+ info: 'info',
2616
+ warning: 'warning',
2617
+ danger: 'danger',
2618
+ };
2619
+ /**
2620
+ * Event emitted on clicking added button on bottom of modal
2621
+ * @param event mouse click event
2622
+ */
2623
+ buttonCloseModal(event) {
2624
+ event.stopPropagation();
2625
+ this.buttonClickEvent.emit(event);
2626
+ }
2627
+ /**
2628
+ * Event emitted on clicking added button on bottom of modal
2629
+ * @param event mouse click event
2630
+ */
2631
+ leftButtonClick(event) {
2632
+ event.stopPropagation();
2633
+ this.leftButtonClickEvent.emit(event);
2634
+ }
2635
+ changeVisibility(newVisibility) {
2636
+ this.visible = newVisibility;
2637
+ this.visibleChange.emit(this.visible);
2638
+ }
2639
+ handleHide() {
2640
+ this.changeVisibility(false);
2641
+ }
2642
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2643
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: ModalComponent, isStandalone: true, selector: "lib-modal", inputs: { header: "header", headerColor: "headerColor", width: "width", height: "height", dynamicContentTemplate: "dynamicContentTemplate", resizable: "resizable", draggable: "draggable", visible: "visible", closable: "closable", modal: "modal", body: "body", position: "position", mode: "mode", btnLabel: "btnLabel", btnColor: "btnColor", btnIcon: "btnIcon", hasIcon: "hasIcon", disabled: "disabled", hasLeftButton: "hasLeftButton", appendTo: "appendTo", leftBtnLabel: "leftBtnLabel", leftBtnColor: "leftBtnColor", leftBtnIcon: "leftBtnIcon", leftHasIcon: "leftHasIcon", leftDisabled: "leftDisabled", isFooterVisible: "isFooterVisible", dismissableMask: "dismissableMask" }, outputs: { buttonClickEvent: "buttonClickEvent", visibleChange: "visibleChange", leftButtonClickEvent: "leftButtonClickEvent", scrollEvent: "scrollEvent", modalClosed: "modalClosed" }, ngImport: i0, template: "<p-dialog [header]='header' [position]='position' [(visible)]='visible' [modal]='modal' [draggable]='draggable'\r\n [resizable]='resizable' [style]=\"{width: width, height: height, zindex: 10000}\"\r\n [dismissableMask]=\"dismissableMask\"\r\n [appendTo]=\"appendTo\"\r\n [ngClass]=\"headerClassMap[headerColor]\" [closable]=\"closable\"\r\n [footerTemplate]=\"isFooterVisible ? footer : undefined\"\r\n (onHide)=\"handleHide()\" closeTabindex=\"0\">\r\n <ng-template pTemplate=\"content\">\r\n <ng-container [ngTemplateOutlet]=\"dynamicContentTemplate\"></ng-container>\r\n </ng-template>\r\n</p-dialog>\r\n\r\n<ng-template #footer>\r\n <div class=\"w-full flex\"\r\n [ngClass]=\"{'justify-content-end': !hasLeftButton, 'justify-content-between': hasLeftButton}\">\r\n <lib-button\r\n *ngIf=\"hasLeftButton\"\r\n [disabled]=\"leftDisabled\"\r\n (click)=\"leftButtonClick($event)\"\r\n [label]=\"leftBtnLabel\"\r\n [color]=\"leftBtnColor\"\r\n [icon]=\"leftBtnIcon\"\r\n [hasIcon]=\"leftHasIcon\"\r\n ></lib-button>\r\n <lib-button\r\n [disabled]=\"disabled\"\r\n (click)=\"buttonCloseModal($event)\"\r\n [label]=\"btnLabel\"\r\n [color]=\"btnColor\"\r\n [icon]=\"btnIcon\"\r\n [hasIcon]=\"hasIcon\"\r\n ></lib-button>\r\n </div>\r\n</ng-template>\r\n\r\n", styles: [":host ::ng-deep .info .p-dialog .p-dialog-header{background:#529bda!important;color:#fff!important}:host ::ng-deep .info .p-dialog .p-dialog-header .p-dialog-header-icon{color:#fff!important}:host ::ng-deep .secondary .p-dialog .p-dialog-header{background:#facd9c!important}:host ::ng-deep .warning .p-dialog .p-dialog-header{background:#fdca40!important}:host ::ng-deep .danger .p-dialog .p-dialog-header{background:#b2414d!important;color:#fff!important}:host ::ng-deep .danger .p-dialog .p-dialog-header .p-dialog-header-icon{color:#fff!important}@media screen and (max-width:768px){:host ::ng-deep .primary .p-dialog{width:90vw!important;height:90vh!important}}:host ::ng-deep .primary .p-dialog .p-dialog-header{background:#3e7c94!important;color:#fff!important}:host ::ng-deep .primary .p-dialog .p-dialog-header .p-dialog-header-icon{color:#fff!important}@media screen and (max-width:768px){:host ::ng-deep .primary .p-dialog .p-dialog-header .p-dialog-title{font-weight:500;font-size:1rem}}@media screen and (max-width:768px){:host ::ng-deep .primary .p-dialog .p-dialog-content{padding:1rem}:host ::ng-deep .primary .p-dialog .p-dialog-content p{font-size:15px}}:host ::ng-deep .p-dialog .p-dialog-footer button{margin:0!important}\n"], dependencies: [{ kind: "component", type: Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "maskStyle", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "closeButtonProps", "maximizeButtonProps", "visible", "style", "position", "role", "content", "contentTemplate", "footerTemplate", "closeIconTemplate", "maximizeIconTemplate", "minimizeIconTemplate", "headlessTemplate"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "lib-button", inputs: ["hasIcon", "label", "color", "icon", "iconPos", "disabled", "isLoading", "styleClass", "size", "accessibilityText", "buttonType", "isAccessible", "isSelected", "ariaControlsId", "isExpanded", "link", "isTextareaClear"], outputs: ["clickEvent"] }] });
2644
+ }
2645
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ModalComponent, decorators: [{
2646
+ type: Component,
2647
+ args: [{ selector: 'lib-modal', imports: [
2648
+ Dialog,
2649
+ NgClass,
2650
+ PrimeTemplate,
2651
+ NgTemplateOutlet,
2652
+ NgIf,
2653
+ ButtonComponent,
2654
+ ], template: "<p-dialog [header]='header' [position]='position' [(visible)]='visible' [modal]='modal' [draggable]='draggable'\r\n [resizable]='resizable' [style]=\"{width: width, height: height, zindex: 10000}\"\r\n [dismissableMask]=\"dismissableMask\"\r\n [appendTo]=\"appendTo\"\r\n [ngClass]=\"headerClassMap[headerColor]\" [closable]=\"closable\"\r\n [footerTemplate]=\"isFooterVisible ? footer : undefined\"\r\n (onHide)=\"handleHide()\" closeTabindex=\"0\">\r\n <ng-template pTemplate=\"content\">\r\n <ng-container [ngTemplateOutlet]=\"dynamicContentTemplate\"></ng-container>\r\n </ng-template>\r\n</p-dialog>\r\n\r\n<ng-template #footer>\r\n <div class=\"w-full flex\"\r\n [ngClass]=\"{'justify-content-end': !hasLeftButton, 'justify-content-between': hasLeftButton}\">\r\n <lib-button\r\n *ngIf=\"hasLeftButton\"\r\n [disabled]=\"leftDisabled\"\r\n (click)=\"leftButtonClick($event)\"\r\n [label]=\"leftBtnLabel\"\r\n [color]=\"leftBtnColor\"\r\n [icon]=\"leftBtnIcon\"\r\n [hasIcon]=\"leftHasIcon\"\r\n ></lib-button>\r\n <lib-button\r\n [disabled]=\"disabled\"\r\n (click)=\"buttonCloseModal($event)\"\r\n [label]=\"btnLabel\"\r\n [color]=\"btnColor\"\r\n [icon]=\"btnIcon\"\r\n [hasIcon]=\"hasIcon\"\r\n ></lib-button>\r\n </div>\r\n</ng-template>\r\n\r\n", styles: [":host ::ng-deep .info .p-dialog .p-dialog-header{background:#529bda!important;color:#fff!important}:host ::ng-deep .info .p-dialog .p-dialog-header .p-dialog-header-icon{color:#fff!important}:host ::ng-deep .secondary .p-dialog .p-dialog-header{background:#facd9c!important}:host ::ng-deep .warning .p-dialog .p-dialog-header{background:#fdca40!important}:host ::ng-deep .danger .p-dialog .p-dialog-header{background:#b2414d!important;color:#fff!important}:host ::ng-deep .danger .p-dialog .p-dialog-header .p-dialog-header-icon{color:#fff!important}@media screen and (max-width:768px){:host ::ng-deep .primary .p-dialog{width:90vw!important;height:90vh!important}}:host ::ng-deep .primary .p-dialog .p-dialog-header{background:#3e7c94!important;color:#fff!important}:host ::ng-deep .primary .p-dialog .p-dialog-header .p-dialog-header-icon{color:#fff!important}@media screen and (max-width:768px){:host ::ng-deep .primary .p-dialog .p-dialog-header .p-dialog-title{font-weight:500;font-size:1rem}}@media screen and (max-width:768px){:host ::ng-deep .primary .p-dialog .p-dialog-content{padding:1rem}:host ::ng-deep .primary .p-dialog .p-dialog-content p{font-size:15px}}:host ::ng-deep .p-dialog .p-dialog-footer button{margin:0!important}\n"] }]
2655
+ }], propDecorators: { header: [{
2656
+ type: Input
2657
+ }], headerColor: [{
2658
+ type: Input
2659
+ }], width: [{
2660
+ type: Input
2661
+ }], height: [{
2662
+ type: Input
2663
+ }], dynamicContentTemplate: [{
2664
+ type: Input
2665
+ }], resizable: [{
2666
+ type: Input
2667
+ }], draggable: [{
2668
+ type: Input
2669
+ }], visible: [{
2670
+ type: Input
2671
+ }], closable: [{
2672
+ type: Input
2673
+ }], modal: [{
2674
+ type: Input
2675
+ }], body: [{
2676
+ type: Input
2677
+ }], position: [{
2678
+ type: Input
2679
+ }], mode: [{
2680
+ type: Input
2681
+ }], btnLabel: [{
2682
+ type: Input
2683
+ }], btnColor: [{
2684
+ type: Input
2685
+ }], btnIcon: [{
2686
+ type: Input
2687
+ }], hasIcon: [{
2688
+ type: Input
2689
+ }], disabled: [{
2690
+ type: Input
2691
+ }], hasLeftButton: [{
2692
+ type: Input
2693
+ }], appendTo: [{
2694
+ type: Input
2695
+ }], leftBtnLabel: [{
2696
+ type: Input
2697
+ }], leftBtnColor: [{
2698
+ type: Input
2699
+ }], leftBtnIcon: [{
2700
+ type: Input
2701
+ }], leftHasIcon: [{
2702
+ type: Input
2703
+ }], leftDisabled: [{
2704
+ type: Input
2705
+ }], buttonClickEvent: [{
2706
+ type: Output
2707
+ }], visibleChange: [{
2708
+ type: Output
2709
+ }], leftButtonClickEvent: [{
2710
+ type: Output
2711
+ }], scrollEvent: [{
2712
+ type: Output
2713
+ }], modalClosed: [{
2714
+ type: Output
2715
+ }], isFooterVisible: [{
2716
+ type: Input
2717
+ }], dismissableMask: [{
2718
+ type: Input
2719
+ }] } });
2720
+
2721
+ class KameraComponent {
2722
+ sanitizer;
2723
+ video;
2724
+ photoCaptured = new EventEmitter();
2725
+ safeImageUrl;
2726
+ constructor(sanitizer) {
2727
+ this.sanitizer = sanitizer;
2728
+ }
2729
+ async ngAfterViewInit() {
2730
+ try {
2731
+ const devices = await navigator.mediaDevices.enumerateDevices();
2732
+ const videoDevices = devices.filter(device => device.kind === 'videoinput');
2733
+ let constraints;
2734
+ if (videoDevices.length > 1) {
2735
+ const backCameraId = videoDevices[videoDevices.length - 1].deviceId;
2736
+ constraints = { video: { deviceId: { exact: backCameraId } } };
2737
+ }
2738
+ else {
2739
+ constraints = { video: true };
2740
+ }
2741
+ const stream = await navigator.mediaDevices.getUserMedia(constraints);
2742
+ this.video.nativeElement.srcObject = stream;
2743
+ }
2744
+ catch (err) {
2745
+ console.warn('Zunanja kamera ni na voljo. Uporabljam privzeto.', err);
2746
+ const fallbackStream = await navigator.mediaDevices.getUserMedia({ video: true });
2747
+ this.video.nativeElement.srcObject = fallbackStream;
2748
+ }
2749
+ }
2750
+ ngOnDestroy() {
2751
+ const stream = this.video?.nativeElement?.srcObject;
2752
+ stream?.getTracks().forEach(track => track.stop());
2753
+ }
2754
+ async captureAndEmitPhoto() {
2755
+ const canvas = document.createElement('canvas');
2756
+ canvas.width = this.video.nativeElement.videoWidth;
2757
+ canvas.height = this.video.nativeElement.videoHeight;
2758
+ const ctx = canvas.getContext('2d');
2759
+ ctx?.drawImage(this.video.nativeElement, 0, 0);
2760
+ const base64 = canvas.toDataURL('image/jpeg', 0.9);
2761
+ this.safeImageUrl = this.sanitizer.bypassSecurityTrustUrl(base64);
2762
+ this.photoCaptured.emit(base64);
2763
+ }
2764
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: KameraComponent, deps: [{ token: i1$5.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
2765
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: KameraComponent, isStandalone: true, selector: "app-kamera", outputs: { photoCaptured: "photoCaptured" }, viewQueries: [{ propertyName: "video", first: true, predicate: ["video"], descendants: true }], ngImport: i0, template: "<div class=\"camera-container\">\r\n <video #video autoplay playsinline></video>\r\n\r\n <lib-button [label]=\"'Zajemi sliko'\"(click)=\"captureAndEmitPhoto()\">Zajemi fotografijo</lib-button>\r\n</div>\r\n", styles: [".camera-container{display:flex;flex-direction:column;align-items:center}.camera-container video{width:100%;min-height:220px;background:#222}button{margin-top:.5rem}\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "lib-button", inputs: ["hasIcon", "label", "color", "icon", "iconPos", "disabled", "isLoading", "styleClass", "size", "accessibilityText", "buttonType", "isAccessible", "isSelected", "ariaControlsId", "isExpanded", "link", "isTextareaClear"], outputs: ["clickEvent"] }] });
2766
+ }
2767
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: KameraComponent, decorators: [{
2768
+ type: Component,
2769
+ args: [{ selector: 'app-kamera', standalone: true, imports: [ButtonComponent], template: "<div class=\"camera-container\">\r\n <video #video autoplay playsinline></video>\r\n\r\n <lib-button [label]=\"'Zajemi sliko'\"(click)=\"captureAndEmitPhoto()\">Zajemi fotografijo</lib-button>\r\n</div>\r\n", styles: [".camera-container{display:flex;flex-direction:column;align-items:center}.camera-container video{width:100%;min-height:220px;background:#222}button{margin-top:.5rem}\n"] }]
2770
+ }], ctorParameters: () => [{ type: i1$5.DomSanitizer }], propDecorators: { video: [{
2771
+ type: ViewChild,
2772
+ args: ['video']
2773
+ }], photoCaptured: [{
2774
+ type: Output
2775
+ }] } });
2776
+
2575
2777
  class FileUploadComponent {
2576
2778
  config;
2577
2779
  sharedMessageService;
@@ -2592,6 +2794,8 @@ class FileUploadComponent {
2592
2794
  onDownload = new EventEmitter();
2593
2795
  valid = new EventEmitter();
2594
2796
  isCameraVisible = false;
2797
+ hasPreviewImage = false;
2798
+ lastImageUrl = null;
2595
2799
  openCamera() { this.isCameraVisible = true; }
2596
2800
  closeCamera() { this.isCameraVisible = false; }
2597
2801
  // File upload
@@ -2605,13 +2809,6 @@ class FileUploadComponent {
2605
2809
  this.sharedMessageService = sharedMessageService;
2606
2810
  this.translateService = translateService;
2607
2811
  }
2608
- onSelectedFiles(event) {
2609
- const currentFiles = event?.currentFiles ?? [];
2610
- const sanitizedFiles = currentFiles.map((file) => this.sanitizeFile(file));
2611
- this.fileList = sanitizedFiles;
2612
- this.onSaveFile.emit(this.fileList);
2613
- this.calculateFileSize();
2614
- }
2615
2812
  sanitizeFile(file) {
2616
2813
  const lastDotIndex = file.name.lastIndexOf('.');
2617
2814
  const baseName = lastDotIndex > -1 ? file.name.slice(0, lastDotIndex) : file.name;
@@ -2701,8 +2898,15 @@ class FileUploadComponent {
2701
2898
  }
2702
2899
  this.totalSizePercent = this.totalSize / 10;
2703
2900
  }
2901
+ onSelectedFiles(event) {
2902
+ const currentFiles = event?.currentFiles ?? [];
2903
+ const sanitizedFiles = currentFiles.map((file) => this.sanitizeFile(file));
2904
+ this.fileList = sanitizedFiles;
2905
+ this.onSaveFile.emit(this.fileList);
2906
+ this.calculateFileSize();
2907
+ this.updatePreviewState();
2908
+ }
2704
2909
  onPhotoCaptured(base64) {
2705
- // Pretvorba PICK
2706
2910
  const arr = base64.split(',');
2707
2911
  const mime = arr[0].match(/:(.*?);/)[1];
2708
2912
  const bstr = atob(arr[1]);
@@ -2714,9 +2918,35 @@ class FileUploadComponent {
2714
2918
  this.fileList = [...this.fileList, file];
2715
2919
  this.onSaveFile.emit(this.fileList);
2716
2920
  this.closeCamera();
2921
+ // hranimo base64 za predogled
2922
+ this.lastImageUrl = base64;
2923
+ this.updatePreviewState();
2924
+ }
2925
+ updatePreviewState() {
2926
+ this.hasPreviewImage = !!this.lastImageUrl || this.fileList.some(f => f.type.startsWith('image/'));
2927
+ }
2928
+ openLastImagePreview() {
2929
+ if (this.lastImageUrl) {
2930
+ const arr = this.lastImageUrl.split(',');
2931
+ const mime = arr[0].match(/:(.*?);/)[1];
2932
+ const bstr = atob(arr[1]);
2933
+ let n = bstr.length;
2934
+ const u8arr = new Uint8Array(n);
2935
+ while (n--)
2936
+ u8arr[n] = bstr.charCodeAt(n);
2937
+ const blob = new Blob([u8arr], { type: mime });
2938
+ const url = URL.createObjectURL(blob);
2939
+ window.open(url, '_blank');
2940
+ return;
2941
+ }
2942
+ const lastImage = [...this.fileList].reverse().find(f => f.type.startsWith('image/'));
2943
+ if (!lastImage)
2944
+ return;
2945
+ const blobUrl = URL.createObjectURL(lastImage);
2946
+ window.open(blobUrl, '_blank');
2717
2947
  }
2718
2948
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: FileUploadComponent, deps: [{ token: i1$8.PrimeNG }, { token: SharedMessageService }, { token: i1$2.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
2719
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: FileUploadComponent, isStandalone: true, selector: "app-file-upload", inputs: { postavkaPregledaId: "postavkaPregledaId", uploadedFiles: "uploadedFiles", maxFileSize: "maxFileSize", totalMaxFileSize: "totalMaxFileSize", disabled: "disabled", acceptFiles: "acceptFiles", multiple: "multiple" }, outputs: { onSaveFile: "onSaveFile", onDelete: "onDelete", onDownload: "onDownload", valid: "valid" }, ngImport: i0, template: " <p-fileupload\r\n class=\"pt-3\"\r\n name=\"priloge[]\"\r\n invalidFileSizeMessageSummary=\"{{\r\n 'components.fileUpload.invalidFileSizeMessageSummary' | translate\r\n }}\"\r\n invalidFileSizeMessageDetail=\"{{\r\n 'components.fileUpload.invalidFileSizeMessageDetail' | translate\r\n }}\"\r\n invalidFileTypeMessageDetail=\"{{'components.fileUpload.invalidFileTypeMessageDetail' | translate}}\"\r\n invalidFileTypeMessageSummary=\"{{ 'components.fileUpload.invalidFileTypeMessageSummary' | translate}}\"\r\n [multiple]=\"multiple\"\r\n (onRemove)=\"remove($event)\"\r\n [accept]=\"acceptFiles\"\r\n [maxFileSize]=\"maxFileSize\"\r\n (onSelect)=\"onSelectedFiles($event)\">\r\n <ng-template\r\n #header\r\n let-priloge\r\n let-chooseCallback=\"chooseCallback\"\r\n let-clearCallback=\"clearCallback\">\r\n <div class=\"flex gap-2\">\r\n <lib-button\r\n [disabled]=\"disabled\"\r\n (click)=\"choose($event, chooseCallback)\"\r\n label=\"{{ 'components.fileUpload.izberi' | translate }}\"\r\n [hasIcon]=\"true\"\r\n [icon]=\"'pi pi-file'\"\r\n [color]=\"ButtonColor.primary\" />\r\n </div>\r\n </ng-template>\r\n <ng-template #content let-priloge let-removeFileCallback=\"removeFileCallback\">\r\n <div class=\"flex flex-col gap-8 pt-4\">\r\n <div class=\"w-full\" *ngIf=\"uploadedFiles.length > 0\">\r\n <div class=\"flex flex-column gap-4\">\r\n <div\r\n *ngFor=\"let priloga of uploadedFiles; let i = index\"\r\n class=\"flex flex-col justify-content-between items-center gap-2 px-3\">\r\n <div class=\"flex flex-col\">\r\n <div>\r\n <i class=\"pi pi-file\"></i>\r\n </div>\r\n <span class=\"pl-3 text-ellipsis max-w-60 whitespace-nowrap overflow-hidden\">\r\n {{ getDisplayName(priloga) }}\r\n </span>\r\n </div>\r\n <div class=\"flex align-items-center\">\r\n <div *ngIf=\"!isTempFile(priloga)\">\r\n <p-badge value=\"Zaklju\u010Den\" badgeSize=\"small\" severity=\"success\" />\r\n <p-button\r\n (click)=\"downloadFile(priloga)\"\r\n severity=\"primary\"\r\n icon=\"pi pi-download\"\r\n aria-label=\"Prenesi\"\r\n [rounded]=\"true\"\r\n [text]=\"true\" />\r\n </div>\r\n <p-button\r\n [disabled]=\"disabled\"\r\n (click)=\"isTempFile(priloga) ? removeFileCallback() : delete(priloga)\"\r\n severity=\"danger\"\r\n icon=\"pi pi-times\"\r\n [rounded]=\"true\"\r\n [text]=\"true\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <ng-template #priloga></ng-template>\r\n <ng-template #empty>\r\n <div\r\n *ngIf=\"uploadedFiles.length === 0\"\r\n class=\"flex align-center justify-around\"\r\n [style.width]=\"'100%'\">\r\n <span class=\"pi pi-cloud-upload mr-3\"></span>\r\n <p>{{ 'components.fileUpload.povlecitveInSpustiteDatotekeZaNalaganje' | translate }}</p>\r\n </div>\r\n <div *ngIf=\"acceptFiles\" class=\"flex align-center justify-around\">\r\n <div class=\"placeholder\"></div>\r\n <p>{{ ('components.fileUpload.dovoljeneDatoteke' | translate) + acceptFiles }}</p>\r\n </div>\r\n </ng-template>\r\n </p-fileupload>\r\n\r\n\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: InputTextModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: BadgeModule }, { kind: "component", type: i4.Badge, selector: "p-badge", inputs: ["styleClass", "style", "badgeSize", "size", "severity", "value", "badgeDisabled"] }, { kind: "ngmodule", type: FileUploadModule }, { kind: "component", type: i5$1.FileUpload, selector: "p-fileupload, p-fileUpload", inputs: ["name", "url", "method", "multiple", "accept", "disabled", "auto", "withCredentials", "maxFileSize", "invalidFileSizeMessageSummary", "invalidFileSizeMessageDetail", "invalidFileTypeMessageSummary", "invalidFileTypeMessageDetail", "invalidFileLimitMessageDetail", "invalidFileLimitMessageSummary", "style", "styleClass", "previewWidth", "chooseLabel", "uploadLabel", "cancelLabel", "chooseIcon", "uploadIcon", "cancelIcon", "showUploadButton", "showCancelButton", "mode", "headers", "customUpload", "fileLimit", "uploadStyleClass", "cancelStyleClass", "removeStyleClass", "chooseStyleClass", "chooseButtonProps", "uploadButtonProps", "cancelButtonProps", "files"], outputs: ["onBeforeUpload", "onSend", "onUpload", "onError", "onClear", "onRemove", "onSelect", "onProgress", "uploadHandler", "onImageError", "onRemoveUploadedFile"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i6.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "fluid", "buttonProps"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: ButtonComponent, selector: "lib-button", inputs: ["hasIcon", "label", "color", "icon", "iconPos", "disabled", "isLoading", "styleClass", "size", "accessibilityText", "buttonType", "isAccessible", "isSelected", "ariaControlsId", "isExpanded", "link", "isTextareaClear"], outputs: ["clickEvent"] }, { kind: "ngmodule", type: OverlayBadgeModule }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MenubarModule }, { kind: "ngmodule", type: ChipModule }] });
2949
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: FileUploadComponent, isStandalone: true, selector: "app-file-upload", inputs: { postavkaPregledaId: "postavkaPregledaId", uploadedFiles: "uploadedFiles", maxFileSize: "maxFileSize", totalMaxFileSize: "totalMaxFileSize", disabled: "disabled", acceptFiles: "acceptFiles", multiple: "multiple" }, outputs: { onSaveFile: "onSaveFile", onDelete: "onDelete", onDownload: "onDownload", valid: "valid" }, ngImport: i0, template: " <p-fileupload\r\n class=\"pt-3\"\r\n name=\"priloge[]\"\r\n invalidFileSizeMessageSummary=\"{{\r\n 'components.fileUpload.invalidFileSizeMessageSummary' | translate\r\n }}\"\r\n invalidFileSizeMessageDetail=\"{{\r\n 'components.fileUpload.invalidFileSizeMessageDetail' | translate\r\n }}\"\r\n invalidFileTypeMessageDetail=\"{{'components.fileUpload.invalidFileTypeMessageDetail' | translate}}\"\r\n invalidFileTypeMessageSummary=\"{{ 'components.fileUpload.invalidFileTypeMessageSummary' | translate}}\"\r\n [multiple]=\"multiple\"\r\n (onRemove)=\"remove($event)\"\r\n [accept]=\"acceptFiles\"\r\n [maxFileSize]=\"maxFileSize\"\r\n (onSelect)=\"onSelectedFiles($event)\">\r\n <ng-template\r\n #header\r\n let-priloge\r\n let-chooseCallback=\"chooseCallback\"\r\n let-clearCallback=\"clearCallback\">\r\n <div class=\"flex gap-2\">\r\n <lib-button\r\n [disabled]=\"disabled\"\r\n (click)=\"choose($event, chooseCallback)\"\r\n label=\"{{ 'components.fileUpload.izberi' | translate }}\"\r\n [hasIcon]=\"true\"\r\n [icon]=\"'pi pi-file'\"\r\n [color]=\"ButtonColor.primary\" />\r\n <lib-button\r\n [disabled]=\"disabled\"\r\n (click)=\"openCamera()\"\r\n label=\"{{ 'components.fileUpload.kamera' | translate }}\"\r\n [hasIcon]=\"true\"\r\n [icon]=\"'pi pi-camera'\"\r\n [color]=\"ButtonColor.primary\" />\r\n <lib-button\r\n [disabled]=\"!hasPreviewImage\"\r\n (click)=\"openLastImagePreview()\"\r\n [hasIcon]=\"true\"\r\n [icon]=\"'pi pi-eye'\"\r\n [color]=\"ButtonColor.secondary\"\r\n [label]=\"' '\">\r\n </lib-button>\r\n </div>\r\n </ng-template>\r\n <ng-template #content let-priloge let-removeFileCallback=\"removeFileCallback\">\r\n <div class=\"flex flex-col gap-8 pt-4\">\r\n <div class=\"w-full\" *ngIf=\"uploadedFiles.length > 0\">\r\n <div class=\"flex flex-column gap-4\">\r\n <div\r\n *ngFor=\"let priloga of uploadedFiles; let i = index\"\r\n class=\"flex flex-col justify-content-between items-center gap-2 px-3\">\r\n <div class=\"flex flex-col\">\r\n <div>\r\n <i class=\"pi pi-file\"></i>\r\n </div>\r\n <span class=\"pl-3 text-ellipsis max-w-60 whitespace-nowrap overflow-hidden\">\r\n {{ getDisplayName(priloga) }}\r\n </span>\r\n </div>\r\n <div class=\"flex align-items-center\">\r\n <div *ngIf=\"!isTempFile(priloga)\">\r\n <p-badge value=\"Zaklju\u010Den\" badgeSize=\"small\" severity=\"success\" />\r\n <p-button\r\n (click)=\"downloadFile(priloga)\"\r\n severity=\"primary\"\r\n icon=\"pi pi-download\"\r\n aria-label=\"Prenesi\"\r\n [rounded]=\"true\"\r\n [text]=\"true\" />\r\n </div>\r\n <p-button\r\n [disabled]=\"disabled\"\r\n (click)=\"isTempFile(priloga) ? removeFileCallback() : delete(priloga)\"\r\n severity=\"danger\"\r\n icon=\"pi pi-times\"\r\n [rounded]=\"true\"\r\n [text]=\"true\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <ng-template #priloga></ng-template>\r\n <ng-template #empty>\r\n <div\r\n *ngIf=\"uploadedFiles.length === 0\"\r\n class=\"flex align-center justify-around\"\r\n [style.width]=\"'100%'\">\r\n <span class=\"pi pi-cloud-upload mr-3\"></span>\r\n <p>{{ 'components.fileUpload.povlecitveInSpustiteDatotekeZaNalaganje' | translate }}</p>\r\n </div>\r\n <div *ngIf=\"acceptFiles\" class=\"flex align-center justify-around\">\r\n <div class=\"placeholder\"></div>\r\n <p>{{ ('components.fileUpload.dovoljeneDatoteke' | translate) + acceptFiles }}</p>\r\n </div>\r\n </ng-template>\r\n </p-fileupload>\r\n <lib-modal\r\n [(visible)]=\"isCameraVisible\"\r\n [draggable]=\"true\"\r\n [btnColor]=\"ButtonColor.success\"\r\n [closable]=\"true\"\r\n leftBtnLabel=\"{{ 'common.buttonCancel' | translate }}\"\r\n btnLabel=\"{{ 'common.buttonConfirm' | translate }}\"\r\n [hasLeftButton]=\"true\"\r\n (leftButtonClickEvent)=\"closeCamera()\"\r\n (buttonClickEvent)=\"closeCamera()\"\r\n (visibleChange)=\"closeCamera()\"\r\n header=\"Kamera\"\r\n [modal]=\"true\"\r\n [dynamicContentTemplate]=\"dynamicContentListePreverjanjaCamera\">\r\n\r\n <ng-template #dynamicContentListePreverjanjaCamera>\r\n <app-kamera (photoCaptured)=\"onPhotoCaptured($event)\"></app-kamera>\r\n </ng-template>\r\n</lib-modal>\r\n\r\n\r\n\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: InputTextModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: BadgeModule }, { kind: "component", type: i4.Badge, selector: "p-badge", inputs: ["styleClass", "style", "badgeSize", "size", "severity", "value", "badgeDisabled"] }, { kind: "ngmodule", type: FileUploadModule }, { kind: "component", type: i5$1.FileUpload, selector: "p-fileupload, p-fileUpload", inputs: ["name", "url", "method", "multiple", "accept", "disabled", "auto", "withCredentials", "maxFileSize", "invalidFileSizeMessageSummary", "invalidFileSizeMessageDetail", "invalidFileTypeMessageSummary", "invalidFileTypeMessageDetail", "invalidFileLimitMessageDetail", "invalidFileLimitMessageSummary", "style", "styleClass", "previewWidth", "chooseLabel", "uploadLabel", "cancelLabel", "chooseIcon", "uploadIcon", "cancelIcon", "showUploadButton", "showCancelButton", "mode", "headers", "customUpload", "fileLimit", "uploadStyleClass", "cancelStyleClass", "removeStyleClass", "chooseStyleClass", "chooseButtonProps", "uploadButtonProps", "cancelButtonProps", "files"], outputs: ["onBeforeUpload", "onSend", "onUpload", "onError", "onClear", "onRemove", "onSelect", "onProgress", "uploadHandler", "onImageError", "onRemoveUploadedFile"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i6.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "fluid", "buttonProps"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: ButtonComponent, selector: "lib-button", inputs: ["hasIcon", "label", "color", "icon", "iconPos", "disabled", "isLoading", "styleClass", "size", "accessibilityText", "buttonType", "isAccessible", "isSelected", "ariaControlsId", "isExpanded", "link", "isTextareaClear"], outputs: ["clickEvent"] }, { kind: "ngmodule", type: OverlayBadgeModule }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MenubarModule }, { kind: "ngmodule", type: ChipModule }, { kind: "component", type: ModalComponent, selector: "lib-modal", inputs: ["header", "headerColor", "width", "height", "dynamicContentTemplate", "resizable", "draggable", "visible", "closable", "modal", "body", "position", "mode", "btnLabel", "btnColor", "btnIcon", "hasIcon", "disabled", "hasLeftButton", "appendTo", "leftBtnLabel", "leftBtnColor", "leftBtnIcon", "leftHasIcon", "leftDisabled", "isFooterVisible", "dismissableMask"], outputs: ["buttonClickEvent", "visibleChange", "leftButtonClickEvent", "scrollEvent", "modalClosed"] }, { kind: "component", type: KameraComponent, selector: "app-kamera", outputs: ["photoCaptured"] }] });
2720
2950
  }
2721
2951
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: FileUploadComponent, decorators: [{
2722
2952
  type: Component,
@@ -2733,7 +2963,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
2733
2963
  TranslateModule,
2734
2964
  MenubarModule,
2735
2965
  ChipModule,
2736
- ], template: " <p-fileupload\r\n class=\"pt-3\"\r\n name=\"priloge[]\"\r\n invalidFileSizeMessageSummary=\"{{\r\n 'components.fileUpload.invalidFileSizeMessageSummary' | translate\r\n }}\"\r\n invalidFileSizeMessageDetail=\"{{\r\n 'components.fileUpload.invalidFileSizeMessageDetail' | translate\r\n }}\"\r\n invalidFileTypeMessageDetail=\"{{'components.fileUpload.invalidFileTypeMessageDetail' | translate}}\"\r\n invalidFileTypeMessageSummary=\"{{ 'components.fileUpload.invalidFileTypeMessageSummary' | translate}}\"\r\n [multiple]=\"multiple\"\r\n (onRemove)=\"remove($event)\"\r\n [accept]=\"acceptFiles\"\r\n [maxFileSize]=\"maxFileSize\"\r\n (onSelect)=\"onSelectedFiles($event)\">\r\n <ng-template\r\n #header\r\n let-priloge\r\n let-chooseCallback=\"chooseCallback\"\r\n let-clearCallback=\"clearCallback\">\r\n <div class=\"flex gap-2\">\r\n <lib-button\r\n [disabled]=\"disabled\"\r\n (click)=\"choose($event, chooseCallback)\"\r\n label=\"{{ 'components.fileUpload.izberi' | translate }}\"\r\n [hasIcon]=\"true\"\r\n [icon]=\"'pi pi-file'\"\r\n [color]=\"ButtonColor.primary\" />\r\n </div>\r\n </ng-template>\r\n <ng-template #content let-priloge let-removeFileCallback=\"removeFileCallback\">\r\n <div class=\"flex flex-col gap-8 pt-4\">\r\n <div class=\"w-full\" *ngIf=\"uploadedFiles.length > 0\">\r\n <div class=\"flex flex-column gap-4\">\r\n <div\r\n *ngFor=\"let priloga of uploadedFiles; let i = index\"\r\n class=\"flex flex-col justify-content-between items-center gap-2 px-3\">\r\n <div class=\"flex flex-col\">\r\n <div>\r\n <i class=\"pi pi-file\"></i>\r\n </div>\r\n <span class=\"pl-3 text-ellipsis max-w-60 whitespace-nowrap overflow-hidden\">\r\n {{ getDisplayName(priloga) }}\r\n </span>\r\n </div>\r\n <div class=\"flex align-items-center\">\r\n <div *ngIf=\"!isTempFile(priloga)\">\r\n <p-badge value=\"Zaklju\u010Den\" badgeSize=\"small\" severity=\"success\" />\r\n <p-button\r\n (click)=\"downloadFile(priloga)\"\r\n severity=\"primary\"\r\n icon=\"pi pi-download\"\r\n aria-label=\"Prenesi\"\r\n [rounded]=\"true\"\r\n [text]=\"true\" />\r\n </div>\r\n <p-button\r\n [disabled]=\"disabled\"\r\n (click)=\"isTempFile(priloga) ? removeFileCallback() : delete(priloga)\"\r\n severity=\"danger\"\r\n icon=\"pi pi-times\"\r\n [rounded]=\"true\"\r\n [text]=\"true\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <ng-template #priloga></ng-template>\r\n <ng-template #empty>\r\n <div\r\n *ngIf=\"uploadedFiles.length === 0\"\r\n class=\"flex align-center justify-around\"\r\n [style.width]=\"'100%'\">\r\n <span class=\"pi pi-cloud-upload mr-3\"></span>\r\n <p>{{ 'components.fileUpload.povlecitveInSpustiteDatotekeZaNalaganje' | translate }}</p>\r\n </div>\r\n <div *ngIf=\"acceptFiles\" class=\"flex align-center justify-around\">\r\n <div class=\"placeholder\"></div>\r\n <p>{{ ('components.fileUpload.dovoljeneDatoteke' | translate) + acceptFiles }}</p>\r\n </div>\r\n </ng-template>\r\n </p-fileupload>\r\n\r\n\r\n" }]
2966
+ ModalComponent,
2967
+ KameraComponent
2968
+ ], template: " <p-fileupload\r\n class=\"pt-3\"\r\n name=\"priloge[]\"\r\n invalidFileSizeMessageSummary=\"{{\r\n 'components.fileUpload.invalidFileSizeMessageSummary' | translate\r\n }}\"\r\n invalidFileSizeMessageDetail=\"{{\r\n 'components.fileUpload.invalidFileSizeMessageDetail' | translate\r\n }}\"\r\n invalidFileTypeMessageDetail=\"{{'components.fileUpload.invalidFileTypeMessageDetail' | translate}}\"\r\n invalidFileTypeMessageSummary=\"{{ 'components.fileUpload.invalidFileTypeMessageSummary' | translate}}\"\r\n [multiple]=\"multiple\"\r\n (onRemove)=\"remove($event)\"\r\n [accept]=\"acceptFiles\"\r\n [maxFileSize]=\"maxFileSize\"\r\n (onSelect)=\"onSelectedFiles($event)\">\r\n <ng-template\r\n #header\r\n let-priloge\r\n let-chooseCallback=\"chooseCallback\"\r\n let-clearCallback=\"clearCallback\">\r\n <div class=\"flex gap-2\">\r\n <lib-button\r\n [disabled]=\"disabled\"\r\n (click)=\"choose($event, chooseCallback)\"\r\n label=\"{{ 'components.fileUpload.izberi' | translate }}\"\r\n [hasIcon]=\"true\"\r\n [icon]=\"'pi pi-file'\"\r\n [color]=\"ButtonColor.primary\" />\r\n <lib-button\r\n [disabled]=\"disabled\"\r\n (click)=\"openCamera()\"\r\n label=\"{{ 'components.fileUpload.kamera' | translate }}\"\r\n [hasIcon]=\"true\"\r\n [icon]=\"'pi pi-camera'\"\r\n [color]=\"ButtonColor.primary\" />\r\n <lib-button\r\n [disabled]=\"!hasPreviewImage\"\r\n (click)=\"openLastImagePreview()\"\r\n [hasIcon]=\"true\"\r\n [icon]=\"'pi pi-eye'\"\r\n [color]=\"ButtonColor.secondary\"\r\n [label]=\"' '\">\r\n </lib-button>\r\n </div>\r\n </ng-template>\r\n <ng-template #content let-priloge let-removeFileCallback=\"removeFileCallback\">\r\n <div class=\"flex flex-col gap-8 pt-4\">\r\n <div class=\"w-full\" *ngIf=\"uploadedFiles.length > 0\">\r\n <div class=\"flex flex-column gap-4\">\r\n <div\r\n *ngFor=\"let priloga of uploadedFiles; let i = index\"\r\n class=\"flex flex-col justify-content-between items-center gap-2 px-3\">\r\n <div class=\"flex flex-col\">\r\n <div>\r\n <i class=\"pi pi-file\"></i>\r\n </div>\r\n <span class=\"pl-3 text-ellipsis max-w-60 whitespace-nowrap overflow-hidden\">\r\n {{ getDisplayName(priloga) }}\r\n </span>\r\n </div>\r\n <div class=\"flex align-items-center\">\r\n <div *ngIf=\"!isTempFile(priloga)\">\r\n <p-badge value=\"Zaklju\u010Den\" badgeSize=\"small\" severity=\"success\" />\r\n <p-button\r\n (click)=\"downloadFile(priloga)\"\r\n severity=\"primary\"\r\n icon=\"pi pi-download\"\r\n aria-label=\"Prenesi\"\r\n [rounded]=\"true\"\r\n [text]=\"true\" />\r\n </div>\r\n <p-button\r\n [disabled]=\"disabled\"\r\n (click)=\"isTempFile(priloga) ? removeFileCallback() : delete(priloga)\"\r\n severity=\"danger\"\r\n icon=\"pi pi-times\"\r\n [rounded]=\"true\"\r\n [text]=\"true\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <ng-template #priloga></ng-template>\r\n <ng-template #empty>\r\n <div\r\n *ngIf=\"uploadedFiles.length === 0\"\r\n class=\"flex align-center justify-around\"\r\n [style.width]=\"'100%'\">\r\n <span class=\"pi pi-cloud-upload mr-3\"></span>\r\n <p>{{ 'components.fileUpload.povlecitveInSpustiteDatotekeZaNalaganje' | translate }}</p>\r\n </div>\r\n <div *ngIf=\"acceptFiles\" class=\"flex align-center justify-around\">\r\n <div class=\"placeholder\"></div>\r\n <p>{{ ('components.fileUpload.dovoljeneDatoteke' | translate) + acceptFiles }}</p>\r\n </div>\r\n </ng-template>\r\n </p-fileupload>\r\n <lib-modal\r\n [(visible)]=\"isCameraVisible\"\r\n [draggable]=\"true\"\r\n [btnColor]=\"ButtonColor.success\"\r\n [closable]=\"true\"\r\n leftBtnLabel=\"{{ 'common.buttonCancel' | translate }}\"\r\n btnLabel=\"{{ 'common.buttonConfirm' | translate }}\"\r\n [hasLeftButton]=\"true\"\r\n (leftButtonClickEvent)=\"closeCamera()\"\r\n (buttonClickEvent)=\"closeCamera()\"\r\n (visibleChange)=\"closeCamera()\"\r\n header=\"Kamera\"\r\n [modal]=\"true\"\r\n [dynamicContentTemplate]=\"dynamicContentListePreverjanjaCamera\">\r\n\r\n <ng-template #dynamicContentListePreverjanjaCamera>\r\n <app-kamera (photoCaptured)=\"onPhotoCaptured($event)\"></app-kamera>\r\n </ng-template>\r\n</lib-modal>\r\n\r\n\r\n\r\n" }]
2737
2969
  }], ctorParameters: () => [{ type: i1$8.PrimeNG }, { type: SharedMessageService }, { type: i1$2.TranslateService }], propDecorators: { postavkaPregledaId: [{
2738
2970
  type: Input
2739
2971
  }], uploadedFiles: [{
@@ -3020,148 +3252,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
3020
3252
  args: ['document:click', ['$event']]
3021
3253
  }] } });
3022
3254
 
3023
- class ModalComponent {
3024
- header = 'Header title';
3025
- headerColor = DialogColor.primary;
3026
- width = '50vw';
3027
- height = '';
3028
- dynamicContentTemplate;
3029
- resizable = false;
3030
- draggable = true;
3031
- visible;
3032
- closable = true;
3033
- modal = false;
3034
- body = 'Body content';
3035
- position = 'top';
3036
- mode = 'create';
3037
- btnLabel = 'Sem prebral/-a';
3038
- btnColor = ButtonColor.success;
3039
- btnIcon = 'pi pi-check';
3040
- hasIcon = true;
3041
- disabled = false;
3042
- hasLeftButton = false;
3043
- appendTo;
3044
- leftBtnLabel = 'Zapri';
3045
- leftBtnColor = ButtonColor.danger;
3046
- leftBtnIcon = 'pi pi-times';
3047
- leftHasIcon = true;
3048
- leftDisabled = false;
3049
- buttonClickEvent = new EventEmitter();
3050
- visibleChange = new EventEmitter();
3051
- leftButtonClickEvent = new EventEmitter();
3052
- scrollEvent = new EventEmitter();
3053
- modalClosed = new EventEmitter();
3054
- isFooterVisible = true;
3055
- dismissableMask = false;
3056
- headerClassMap = {
3057
- primary: 'primary',
3058
- secondary: 'secondary',
3059
- info: 'info',
3060
- warning: 'warning',
3061
- danger: 'danger',
3062
- };
3063
- /**
3064
- * Event emitted on clicking added button on bottom of modal
3065
- * @param event mouse click event
3066
- */
3067
- buttonCloseModal(event) {
3068
- event.stopPropagation();
3069
- this.buttonClickEvent.emit(event);
3070
- }
3071
- /**
3072
- * Event emitted on clicking added button on bottom of modal
3073
- * @param event mouse click event
3074
- */
3075
- leftButtonClick(event) {
3076
- event.stopPropagation();
3077
- this.leftButtonClickEvent.emit(event);
3078
- }
3079
- changeVisibility(newVisibility) {
3080
- this.visible = newVisibility;
3081
- this.visibleChange.emit(this.visible);
3082
- }
3083
- handleHide() {
3084
- this.changeVisibility(false);
3085
- }
3086
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3087
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: ModalComponent, isStandalone: true, selector: "lib-modal", inputs: { header: "header", headerColor: "headerColor", width: "width", height: "height", dynamicContentTemplate: "dynamicContentTemplate", resizable: "resizable", draggable: "draggable", visible: "visible", closable: "closable", modal: "modal", body: "body", position: "position", mode: "mode", btnLabel: "btnLabel", btnColor: "btnColor", btnIcon: "btnIcon", hasIcon: "hasIcon", disabled: "disabled", hasLeftButton: "hasLeftButton", appendTo: "appendTo", leftBtnLabel: "leftBtnLabel", leftBtnColor: "leftBtnColor", leftBtnIcon: "leftBtnIcon", leftHasIcon: "leftHasIcon", leftDisabled: "leftDisabled", isFooterVisible: "isFooterVisible", dismissableMask: "dismissableMask" }, outputs: { buttonClickEvent: "buttonClickEvent", visibleChange: "visibleChange", leftButtonClickEvent: "leftButtonClickEvent", scrollEvent: "scrollEvent", modalClosed: "modalClosed" }, ngImport: i0, template: "<p-dialog [header]='header' [position]='position' [(visible)]='visible' [modal]='modal' [draggable]='draggable'\r\n [resizable]='resizable' [style]=\"{width: width, height: height, zindex: 10000}\"\r\n [dismissableMask]=\"dismissableMask\"\r\n [appendTo]=\"appendTo\"\r\n [ngClass]=\"headerClassMap[headerColor]\" [closable]=\"closable\"\r\n [footerTemplate]=\"isFooterVisible ? footer : undefined\"\r\n (onHide)=\"handleHide()\" closeTabindex=\"0\">\r\n <ng-template pTemplate=\"content\">\r\n <ng-container [ngTemplateOutlet]=\"dynamicContentTemplate\"></ng-container>\r\n </ng-template>\r\n</p-dialog>\r\n\r\n<ng-template #footer>\r\n <div class=\"w-full flex\"\r\n [ngClass]=\"{'justify-content-end': !hasLeftButton, 'justify-content-between': hasLeftButton}\">\r\n <lib-button\r\n *ngIf=\"hasLeftButton\"\r\n [disabled]=\"leftDisabled\"\r\n (click)=\"leftButtonClick($event)\"\r\n [label]=\"leftBtnLabel\"\r\n [color]=\"leftBtnColor\"\r\n [icon]=\"leftBtnIcon\"\r\n [hasIcon]=\"leftHasIcon\"\r\n ></lib-button>\r\n <lib-button\r\n [disabled]=\"disabled\"\r\n (click)=\"buttonCloseModal($event)\"\r\n [label]=\"btnLabel\"\r\n [color]=\"btnColor\"\r\n [icon]=\"btnIcon\"\r\n [hasIcon]=\"hasIcon\"\r\n ></lib-button>\r\n </div>\r\n</ng-template>\r\n\r\n", styles: [":host ::ng-deep .info .p-dialog .p-dialog-header{background:#529bda!important;color:#fff!important}:host ::ng-deep .info .p-dialog .p-dialog-header .p-dialog-header-icon{color:#fff!important}:host ::ng-deep .secondary .p-dialog .p-dialog-header{background:#facd9c!important}:host ::ng-deep .warning .p-dialog .p-dialog-header{background:#fdca40!important}:host ::ng-deep .danger .p-dialog .p-dialog-header{background:#b2414d!important;color:#fff!important}:host ::ng-deep .danger .p-dialog .p-dialog-header .p-dialog-header-icon{color:#fff!important}@media screen and (max-width:768px){:host ::ng-deep .primary .p-dialog{width:90vw!important;height:90vh!important}}:host ::ng-deep .primary .p-dialog .p-dialog-header{background:#3e7c94!important;color:#fff!important}:host ::ng-deep .primary .p-dialog .p-dialog-header .p-dialog-header-icon{color:#fff!important}@media screen and (max-width:768px){:host ::ng-deep .primary .p-dialog .p-dialog-header .p-dialog-title{font-weight:500;font-size:1rem}}@media screen and (max-width:768px){:host ::ng-deep .primary .p-dialog .p-dialog-content{padding:1rem}:host ::ng-deep .primary .p-dialog .p-dialog-content p{font-size:15px}}:host ::ng-deep .p-dialog .p-dialog-footer button{margin:0!important}\n"], dependencies: [{ kind: "component", type: Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "maskStyle", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "closeButtonProps", "maximizeButtonProps", "visible", "style", "position", "role", "content", "contentTemplate", "footerTemplate", "closeIconTemplate", "maximizeIconTemplate", "minimizeIconTemplate", "headlessTemplate"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "lib-button", inputs: ["hasIcon", "label", "color", "icon", "iconPos", "disabled", "isLoading", "styleClass", "size", "accessibilityText", "buttonType", "isAccessible", "isSelected", "ariaControlsId", "isExpanded", "link", "isTextareaClear"], outputs: ["clickEvent"] }] });
3088
- }
3089
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ModalComponent, decorators: [{
3090
- type: Component,
3091
- args: [{ selector: 'lib-modal', imports: [
3092
- Dialog,
3093
- NgClass,
3094
- PrimeTemplate,
3095
- NgTemplateOutlet,
3096
- NgIf,
3097
- ButtonComponent,
3098
- ], template: "<p-dialog [header]='header' [position]='position' [(visible)]='visible' [modal]='modal' [draggable]='draggable'\r\n [resizable]='resizable' [style]=\"{width: width, height: height, zindex: 10000}\"\r\n [dismissableMask]=\"dismissableMask\"\r\n [appendTo]=\"appendTo\"\r\n [ngClass]=\"headerClassMap[headerColor]\" [closable]=\"closable\"\r\n [footerTemplate]=\"isFooterVisible ? footer : undefined\"\r\n (onHide)=\"handleHide()\" closeTabindex=\"0\">\r\n <ng-template pTemplate=\"content\">\r\n <ng-container [ngTemplateOutlet]=\"dynamicContentTemplate\"></ng-container>\r\n </ng-template>\r\n</p-dialog>\r\n\r\n<ng-template #footer>\r\n <div class=\"w-full flex\"\r\n [ngClass]=\"{'justify-content-end': !hasLeftButton, 'justify-content-between': hasLeftButton}\">\r\n <lib-button\r\n *ngIf=\"hasLeftButton\"\r\n [disabled]=\"leftDisabled\"\r\n (click)=\"leftButtonClick($event)\"\r\n [label]=\"leftBtnLabel\"\r\n [color]=\"leftBtnColor\"\r\n [icon]=\"leftBtnIcon\"\r\n [hasIcon]=\"leftHasIcon\"\r\n ></lib-button>\r\n <lib-button\r\n [disabled]=\"disabled\"\r\n (click)=\"buttonCloseModal($event)\"\r\n [label]=\"btnLabel\"\r\n [color]=\"btnColor\"\r\n [icon]=\"btnIcon\"\r\n [hasIcon]=\"hasIcon\"\r\n ></lib-button>\r\n </div>\r\n</ng-template>\r\n\r\n", styles: [":host ::ng-deep .info .p-dialog .p-dialog-header{background:#529bda!important;color:#fff!important}:host ::ng-deep .info .p-dialog .p-dialog-header .p-dialog-header-icon{color:#fff!important}:host ::ng-deep .secondary .p-dialog .p-dialog-header{background:#facd9c!important}:host ::ng-deep .warning .p-dialog .p-dialog-header{background:#fdca40!important}:host ::ng-deep .danger .p-dialog .p-dialog-header{background:#b2414d!important;color:#fff!important}:host ::ng-deep .danger .p-dialog .p-dialog-header .p-dialog-header-icon{color:#fff!important}@media screen and (max-width:768px){:host ::ng-deep .primary .p-dialog{width:90vw!important;height:90vh!important}}:host ::ng-deep .primary .p-dialog .p-dialog-header{background:#3e7c94!important;color:#fff!important}:host ::ng-deep .primary .p-dialog .p-dialog-header .p-dialog-header-icon{color:#fff!important}@media screen and (max-width:768px){:host ::ng-deep .primary .p-dialog .p-dialog-header .p-dialog-title{font-weight:500;font-size:1rem}}@media screen and (max-width:768px){:host ::ng-deep .primary .p-dialog .p-dialog-content{padding:1rem}:host ::ng-deep .primary .p-dialog .p-dialog-content p{font-size:15px}}:host ::ng-deep .p-dialog .p-dialog-footer button{margin:0!important}\n"] }]
3099
- }], propDecorators: { header: [{
3100
- type: Input
3101
- }], headerColor: [{
3102
- type: Input
3103
- }], width: [{
3104
- type: Input
3105
- }], height: [{
3106
- type: Input
3107
- }], dynamicContentTemplate: [{
3108
- type: Input
3109
- }], resizable: [{
3110
- type: Input
3111
- }], draggable: [{
3112
- type: Input
3113
- }], visible: [{
3114
- type: Input
3115
- }], closable: [{
3116
- type: Input
3117
- }], modal: [{
3118
- type: Input
3119
- }], body: [{
3120
- type: Input
3121
- }], position: [{
3122
- type: Input
3123
- }], mode: [{
3124
- type: Input
3125
- }], btnLabel: [{
3126
- type: Input
3127
- }], btnColor: [{
3128
- type: Input
3129
- }], btnIcon: [{
3130
- type: Input
3131
- }], hasIcon: [{
3132
- type: Input
3133
- }], disabled: [{
3134
- type: Input
3135
- }], hasLeftButton: [{
3136
- type: Input
3137
- }], appendTo: [{
3138
- type: Input
3139
- }], leftBtnLabel: [{
3140
- type: Input
3141
- }], leftBtnColor: [{
3142
- type: Input
3143
- }], leftBtnIcon: [{
3144
- type: Input
3145
- }], leftHasIcon: [{
3146
- type: Input
3147
- }], leftDisabled: [{
3148
- type: Input
3149
- }], buttonClickEvent: [{
3150
- type: Output
3151
- }], visibleChange: [{
3152
- type: Output
3153
- }], leftButtonClickEvent: [{
3154
- type: Output
3155
- }], scrollEvent: [{
3156
- type: Output
3157
- }], modalClosed: [{
3158
- type: Output
3159
- }], isFooterVisible: [{
3160
- type: Input
3161
- }], dismissableMask: [{
3162
- type: Input
3163
- }] } });
3164
-
3165
3255
  class NoDataFoundComponent {
3166
3256
  translateService;
3167
3257
  message = '';
@@ -4033,6 +4123,23 @@ class DateService {
4033
4123
  const withoutTimezone = new Date(date.valueOf() - tzoffset).toISOString();
4034
4124
  return withoutTimezone;
4035
4125
  }
4126
+ parseDateStrToDate(isoString) {
4127
+ // Strip timezone (Z or +hh:mm or -hh:mm)
4128
+ const noTz = isoString.replace(/Z|[+-]\d{2}:\d{2}$/, '');
4129
+ // Split date and time
4130
+ const [datePart, timePart = '00:00:00'] = noTz.split('T');
4131
+ const [year, month, day] = datePart.split('-').map(Number);
4132
+ // timePart might be "HH:MM" or "HH:MM:SS.sss"
4133
+ const [hStr = '0', mStr = '0', sMsStr = '0'] = timePart.split(':');
4134
+ const hour = Number(hStr);
4135
+ const minute = Number(mStr);
4136
+ // sMsStr could be "00" or "00.000"
4137
+ const [secStr = '0', msStr = '0'] = sMsStr.split('.');
4138
+ const second = Number(secStr);
4139
+ const ms = Number(msStr);
4140
+ // Build LOCAL date (no UTC conversion)
4141
+ return new Date(year, month - 1, day, hour, minute, second, ms);
4142
+ }
4036
4143
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: DateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4037
4144
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: DateService, providedIn: 'root' });
4038
4145
  }