@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.
- package/fesm2022/n-isi-platform-design-system.mjs +265 -158
- package/fesm2022/n-isi-platform-design-system.mjs.map +1 -1
- package/lib/file-upload/file-upload.component.d.ts +5 -1
- package/lib/kamera/kamera.component.d.ts +15 -0
- package/lib/textarea/textarea.component.d.ts +3 -2
- package/package.json +1 -1
- package/services/date.service.d.ts +1 -0
|
@@ -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: ["
|
|
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
|
-
|
|
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
|
}
|