@n-isi-platform/design-system 1.0.23 → 1.0.25
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 +51 -23
- package/fesm2022/n-isi-platform-design-system.mjs.map +1 -1
- package/lib/file-upload/file-upload.component.d.ts +6 -1
- package/lib/input/input.component.d.ts +4 -0
- package/models/enums/input/input-type.enum.d.ts +2 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"n-isi-platform-design-system.mjs","sources":["../../../projects/design-system/src/handlers/global-error.handler.ts","../../../projects/design-system/src/helpers/clean-mobile-phone-number.ts","../../../projects/design-system/src/helpers/find-unavailable-dates.ts","../../../projects/design-system/src/helpers/format-date-time.function.ts","../../../projects/design-system/src/helpers/format-date-to-api-datetime.ts","../../../projects/design-system/src/helpers/format-date.function.ts","../../../projects/design-system/src/helpers/get-tomorrow-date.function.ts","../../../projects/design-system/src/helpers/is-object-empty.function.ts","../../../projects/design-system/src/helpers/isFormValid.function.ts","../../../projects/design-system/src/helpers/local-format-date.function.ts","../../../projects/design-system/src/helpers/transform-date-time.function.ts","../../../projects/design-system/src/services/local-storage.service.ts","../../../projects/design-system/src/services/shared-auth.service.ts","../../../projects/design-system/src/services/shared-message.service.ts","../../../projects/design-system/src/interceptors/error.interceptor.ts","../../../projects/design-system/src/models/enums/button/button-color.enum.ts","../../../projects/design-system/src/models/enums/button/button-icon-position.enum.ts","../../../projects/design-system/src/models/enums/button/button-size.enum.ts","../../../projects/design-system/src/lib/button/button.component.ts","../../../projects/design-system/src/lib/button/button.component.html","../../../projects/design-system/src/lib/accordion/accordion.component.ts","../../../projects/design-system/src/lib/accordion/accordion.component.html","../../../projects/design-system/src/models/enums/tooltip/tooltip-position.enum.ts","../../../projects/design-system/src/models/enums/tooltip/tooltip-hover-event.enum.ts","../../../projects/design-system/src/lib/tooltip/tooltip.component.ts","../../../projects/design-system/src/lib/tooltip/tooltip.component.html","../../../projects/design-system/src/lib/error/error.component.ts","../../../projects/design-system/src/lib/error/error.component.html","../../../projects/design-system/src/lib/autocomplete/autocomplete.component.ts","../../../projects/design-system/src/lib/autocomplete/autocomplete.component.html","../../../projects/design-system/src/lib/breadcrumbs/breadcrumbs.component.ts","../../../projects/design-system/src/lib/breadcrumbs/breadcrumbs.component.html","../../../projects/design-system/src/lib/button-link/button-link.component.ts","../../../projects/design-system/src/lib/button-link/button-link.component.html","../../../projects/design-system/src/lib/card/card.component.ts","../../../projects/design-system/src/lib/card/card.component.html","../../../projects/design-system/src/lib/checkbox/checkbox.component.ts","../../../projects/design-system/src/lib/checkbox/checkbox.component.html","../../../projects/design-system/src/models/enums/confirm-modal/confirm-modal-color.enum.ts","../../../projects/design-system/src/lib/confirm-modal/confirm-modal.component.ts","../../../projects/design-system/src/lib/confirm-modal/confirm-modal.component.html","../../../projects/design-system/src/models/enums/input/input-type.enum.ts","../../../projects/design-system/src/models/enums/table/caption-color.enum.ts","../../../projects/design-system/src/models/enums/tag/tag.enum.ts","../../../projects/design-system/src/lib/input/input.component.ts","../../../projects/design-system/src/lib/input/input.component.html","../../../projects/design-system/src/models/enums/dropdown/dropdown-selection-mode.enum.ts","../../../projects/design-system/src/lib/date-input/date-input.component.ts","../../../projects/design-system/src/lib/date-input/date-input.component.html","../../../projects/design-system/src/lib/textarea/textarea.component.ts","../../../projects/design-system/src/lib/textarea/textarea.component.html","../../../projects/design-system/src/lib/dropdown/dropdown.component.ts","../../../projects/design-system/src/lib/dropdown/dropdown.component.html","../../../projects/design-system/src/lib/toggle-switch/toggle-switch.component.ts","../../../projects/design-system/src/lib/toggle-switch/toggle-switch.component.html","../../../projects/design-system/src/lib/tag/tag.component.ts","../../../projects/design-system/src/lib/tag/tag.component.html","../../../projects/design-system/src/lib/icon-button/icon-button.component.ts","../../../projects/design-system/src/lib/icon-button/icon-button.component.html","../../../projects/design-system/src/lib/custom-table/custom-table.component.ts","../../../projects/design-system/src/lib/custom-table/custom-table.component.html","../../../projects/design-system/src/lib/divider/divider.component.ts","../../../projects/design-system/src/lib/divider/divider.component.html","../../../projects/design-system/src/lib/expanded-table/expanded-table.component.ts","../../../projects/design-system/src/lib/expanded-table/expanded-table.component.html","../../../projects/design-system/src/lib/file-upload/file-upload.component.ts","../../../projects/design-system/src/lib/file-upload/file-upload.component.html","../../../projects/design-system/src/lib/filter-header/filter-header.component.ts","../../../projects/design-system/src/lib/filter-header/filter-header.component.html","../../../projects/design-system/src/lib/footer/footer.component.ts","../../../projects/design-system/src/lib/footer/footer.component.html","../../../projects/design-system/src/lib/generic-table/generic-table.component.ts","../../../projects/design-system/src/lib/generic-table/generic-table.component.html","../../../projects/design-system/src/lib/input-mask/input-mask.component.ts","../../../projects/design-system/src/lib/input-mask/input-mask.component.html","../../../projects/design-system/src/lib/loader/loader.component.ts","../../../projects/design-system/src/lib/loader/loader.component.html","../../../projects/design-system/src/lib/main-menu/main-menu.component.ts","../../../projects/design-system/src/lib/main-menu/main-menu.component.html","../../../projects/design-system/src/lib/modal/modal.component.ts","../../../projects/design-system/src/lib/modal/modal.component.html","../../../projects/design-system/src/lib/no-data-found/no-data-found.component.ts","../../../projects/design-system/src/lib/no-data-found/no-data-found.component.html","../../../projects/design-system/src/lib/picklist/picklist.component.ts","../../../projects/design-system/src/lib/picklist/picklist.component.html","../../../projects/design-system/src/lib/progress-bar/progress-bar.component.ts","../../../projects/design-system/src/lib/progress-bar/progress-bar.component.html","../../../projects/design-system/src/lib/table-column-select/table-column-select.component.ts","../../../projects/design-system/src/lib/table-column-select/table-column-select.component.html","../../../projects/design-system/src/lib/tinymce-editor/tinymce-editor.component.ts","../../../projects/design-system/src/lib/tinymce-editor/tinymce-editor.component.html","../../../projects/design-system/src/lib/tree-select/tree-select.component.ts","../../../projects/design-system/src/lib/tree-select/tree-select.component.html","../../../projects/design-system/src/models/profilUporabnikaDTO.ts","../../../projects/design-system/src/models/enums/expanded-table/expanded-table.enum.ts","../../../projects/design-system/src/models/enums/toast/toast-position-key.enum.ts","../../../projects/design-system/src/models/enums/toast/toast-severity.enum.ts","../../../projects/design-system/src/services/app-config.service.ts","../../../projects/design-system/src/services/cache.service.ts","../../../projects/design-system/src/services/translation.service.ts","../../../projects/design-system/src/services/confirm-modal-service.ts","../../../projects/design-system/src/services/dynamic-route.service.ts","../../../projects/design-system/src/services/export.service.ts","../../../projects/design-system/src/services/no-internet.service.ts","../../../projects/design-system/src/services/translate-sanitizer.service.ts","../../../projects/design-system/src/services/table-columns.service.ts","../../../projects/design-system/src/services/filter-header.service.ts","../../../projects/design-system/src/services/date.service.ts","../../../projects/design-system/src/validators/at-least-one-field-present.validator.ts","../../../projects/design-system/src/validators/date-and-time-mismatch.validator.ts","../../../projects/design-system/src/validators/date-mismatch.validator.ts","../../../projects/design-system/src/validators/is-coordinate.validator.ts","../../../projects/design-system/src/validators/is-multiple-of-five.validator.ts","../../../projects/design-system/src/validators/is-not-blank.validator.ts","../../../projects/design-system/src/validators/is-not-decimal.validator.ts","../../../projects/design-system/src/validators/is-one-phone-number.validator.ts","../../../projects/design-system/src/validators/mobile-phone-area-code.validator.ts","../../../projects/design-system/src/validators/multiple-emails-validator.ts","../../../projects/design-system/src/public-api.ts","../../../projects/design-system/src/n-isi-platform-design-system.ts"],"sourcesContent":["import { ErrorHandler, Injectable, Injector } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\n@Injectable()\r\nexport class GlobalErrorHandler implements ErrorHandler {\r\n\r\n constructor(\r\n private injector: Injector,\r\n private router: Router\r\n ) {}\r\n\r\n /**\r\n * globalni error handler: pošlje error na API + output errorja v konzolo\r\n */\r\n handleError(error: any): void {\r\n // const errorLoggingService: ErrorLoggingService = this.getErrorLoggingService();\r\n const errorDetails = this.extractErrorDetails(error);\r\n // errorLoggingService.logError(errorDetails);\r\n console.error(error); // če je console.error ga ponovno pošlje na API\r\n }\r\n\r\n /**\r\n * izbira ustreznega servica za logiranje: backoffice ali public\r\n */\r\n // private getErrorLoggingService(): ErrorLoggingService {\r\n // const environment = this.injector.get('ENVIRONMENT');\r\n // return this.injector.get(environment === 'backoffice' ? BackofficeErrorLoggingService : PublicErrorLoggingService);\r\n // }\r\n\r\n /**\r\n * dobi vse detajle, ki jih pripne v error log: browser, route, error stack, message\r\n */\r\n private extractErrorDetails(error: any): any {\r\n const message = error.message ? error.message : error.toString();\r\n const stack = error.stack ? error.stack : '';\r\n const userAgent = navigator.userAgent;\r\n const browser = this.getBrowserInfo(userAgent);\r\n const route = this.router.url;\r\n\r\n return {\r\n error: stack,\r\n message,\r\n browser,\r\n route\r\n };\r\n }\r\n\r\n private getBrowserInfo(userAgent: string): string {\r\n let browserInfo = 'Unknown';\r\n\r\n if (userAgent.includes('Chrome')) {\r\n const version = userAgent.match(/Chrome\\/([\\d.]+)/);\r\n browserInfo = `Chrome ${version ? version[1] : 'Unknown Version'}`;\r\n } else if (userAgent.includes('Firefox')) {\r\n const version = userAgent.match(/Firefox\\/([\\d.]+)/);\r\n browserInfo = `Firefox ${version ? version[1] : 'Unknown Version'}`;\r\n } else if (userAgent.includes('Safari') && !userAgent.includes('Chrome')) {\r\n const version = userAgent.match(/Version\\/([\\d.]+)/);\r\n browserInfo = `Safari ${version ? version[1] : 'Unknown Version'}`;\r\n } else if (userAgent.includes('MSIE') || userAgent.includes('Trident')) {\r\n const version = userAgent.match(/(?:MSIE |rv:)([\\d.]+)/);\r\n browserInfo = `Internet Explorer ${version ? version[1] : 'Unknown Version'}`;\r\n } else if (userAgent.includes('Edge')) {\r\n const version = userAgent.match(/Edge\\/([\\d.]+)/);\r\n browserInfo = `Edge ${version ? version[1] : 'Unknown Version'}`;\r\n }\r\n\r\n return browserInfo;\r\n }\r\n}\r\n","/**\r\n * počisti mobilno telefonsko, da je pripravljena za API oz null, če je nepravilen format:\r\n * +386(041)234-234 -> +38641234234\r\n */\r\nexport function cleanMobilePhoneNumber(phoneNumber: string): string | null {\r\n if (phoneNumber) {\r\n let cleaned = phoneNumber.replace(/[\\s-]/g, '');\r\n const regex = /^\\+(\\d{3})\\(0?(\\d{2})\\)(\\d{3})(\\d{3,})$/;\r\n const match = cleaned.match(regex);\r\n if (match) {\r\n return `+${match[1]}${match[2]}${match[3]}${match[4]}`;\r\n }\r\n }\r\n return null;\r\n}\r\n"," /**\r\n * funkcija za dobit tiste dneve iz availableDates, ki manjkajo\r\n * -> zato da lahko dam dneve ko storitev na UE ni na voljo na disabled (negacija checkDates)\r\n *\r\n * @param availableDates\r\n * @param includeDaysAfterLastDate opcijski parameter, default = 50. Če je podan bodo v rezultatu\r\n * unavailableDates še toliko datumov po zadnjem datumu v availableDates\r\n * -> to je zato, da lahko disablam datume še naprej od zadnjega v availableDates\r\n */\r\n export function findUnavailableDates(availableDates: string[],includeDaysAfterLastDate: number = 50): Date[] {\r\n if (!availableDates.length) return [];\r\n\r\n availableDates.sort();\r\n const startDate = new Date(availableDates[0]);\r\n const endDate = new Date(availableDates[availableDates.length - 1]);\r\n // Extend the end date by the number of disabled days after the last date\r\n const extendedEndDate = new Date(endDate);\r\n extendedEndDate.setDate(endDate.getDate() + includeDaysAfterLastDate);\r\n\r\n let currentDate = new Date(startDate);\r\n const unavailableDates: Date[] = [];\r\n while (currentDate <= extendedEndDate) {\r\n const formattedDate = currentDate.toISOString().split('T')[0];\r\n if (!availableDates.includes(formattedDate) || currentDate > endDate) {\r\n unavailableDates.push(new Date(currentDate));\r\n }\r\n currentDate.setDate(currentDate.getDate() + 1);\r\n }\r\n return unavailableDates;\r\n }\r\n","export function formatDateTime(date: string, time: string): string {\r\n return date.split('.').reverse().join('-') + 'T' + time;\r\n}\r\n","/**\r\n * Pretvori datum iz JavaScript Date objekta v ISO format brez časovnega pasu\r\n */\r\nexport function formatDateToLocalISOString(date: Date): string {\r\n const year = date.getFullYear();\r\n const month = String(date.getMonth() + 1).padStart(2, '0'); // Meseci so indeksirani od 0\r\n const day = String(date.getDate()).padStart(2, '0');\r\n const hours = String(date.getHours()).padStart(2, '0');\r\n const minutes = String(date.getMinutes()).padStart(2, '0');\r\n const seconds = String(date.getSeconds()).padStart(2, '0');\r\n const milliseconds = String(date.getMilliseconds()).padStart(3, '0');\r\n\r\n return `${year}-${month}-${day}T${hours}:${minutes}:${seconds}.${milliseconds}Z`;\r\n}\r\n","/**\r\n * Formats a date from a string into the 'YYYY-MM-DD' format.\r\n *\r\n * @param {string} inputDate - The date string to be formatted.\r\n *\r\n * @returns {string} A date string formatted into 'YYYY-MM-DD'.\r\n * */\r\nexport function formatDate(inputDate: string): string {\r\n const date = new Date(inputDate);\r\n\r\n const year = date.getFullYear();\r\n let month: number | string = date.getMonth() + 1;\r\n let day: number | string = date.getDate();\r\n\r\n // Ensure month and day are two digits\r\n month = month < 10 ? '0' + month : month;\r\n day = day < 10 ? '0' + day : day;\r\n\r\n return `${year}-${month}-${day}`;\r\n}\r\n","/**\r\n * Returns the date of tomorrow, excluding specified disabled dates.\r\n *\r\n * @param {Date[]} disabledDates - An array of disabled dates.\r\n * @return {Date} The date of tomorrow, excluding disabled dates.\r\n */\r\nexport function getTomorrowDate(disabledDates: Date[]): Date {\r\n const today: Date = new Date();\r\n let tomorrow: Date = new Date(today.getTime() + 24 * 60 * 60 * 1000);\r\n let day = tomorrow.getDay();\r\n\r\n const isDisabled = (date: Date): any =>\r\n disabledDates.some(\r\n disabledDate =>\r\n new Date(disabledDate).getDate() === date.getDate() &&\r\n new Date(disabledDate).getMonth() === date.getMonth() &&\r\n new Date(disabledDate).getFullYear() === date.getFullYear()\r\n );\r\n\r\n // If tomorrow is Saturday or Sunday or in disabled dates\r\n while (day === 6 || day === 0 || isDisabled(tomorrow)) {\r\n tomorrow = new Date(tomorrow.getTime() + 24 * 60 * 60 * 1000);\r\n day = tomorrow.getDay();\r\n }\r\n\r\n return tomorrow;\r\n}\r\n","/**\r\n * Checks if the provided object is empty (has no properties of its own)\r\n *\r\n * @param {object} obj - The object to check\r\n * @returns {boolean} - Returns true if the object is empty, false otherwise\r\n */\r\nexport function isEmpty(obj: object): boolean {\r\n return Object.keys(obj).length === 0 && obj.constructor === Object;\r\n}\r\n","import { FormGroup } from '@angular/forms';\r\n\r\n/**\r\n * Checks whether a form is invalid and if a submit action has been triggered.\r\n *\r\n * @param {FormGroup} form - The form to check for validity.\r\n * @param {boolean} isSubmitTriggered - Flag indicating whether a submit action has been triggered.\r\n * @returns {boolean} - Returns `true` if the form is invalid and a submit action has been triggered, `false` otherwise.\r\n */\r\nexport function isFormInvalid(form: FormGroup, isSubmitTriggered: boolean): boolean {\r\n return form.invalid && isSubmitTriggered;\r\n}\r\n","export function localFormatDate(inputDate: string): string {\r\n const date = new Date(inputDate);\r\n const day = String(date.getDate()).padStart(2, '0');\r\n const month = String(date.getMonth() + 1).padStart(2, '0');\r\n const year = date.getFullYear();\r\n\r\n return `${day}.${month}.${year}`;\r\n}\r\n","/**\r\n * Transforms a given date and time string into a formatted date and time representation.\r\n *\r\n * @param {string} dateTime - The date and time string to transform.\r\n *\r\n * @return {Object} - An object containing the transformed date and time.\r\n * @return {string} dateOfVisit - The formatted date.\r\n * @return {string} hourOfVisit - The formatted time.\r\n */\r\nexport function transformDateTime(dateTime: string): { dateOfVisit: string; hourOfVisit: string } {\r\n const date = new Date(dateTime);\r\n const options: any = { year: 'numeric', month: '2-digit', day: '2-digit' };\r\n const formattedDate = date\r\n .toLocaleDateString('sl', options)\r\n .replace('. ', '.')\r\n .replace('. ', '.');\r\n const formattedTime = date.toLocaleTimeString('sl', {\r\n hour: '2-digit',\r\n minute: '2-digit',\r\n });\r\n return { dateOfVisit: formattedDate, hourOfVisit: formattedTime };\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class LocalStorageService {\r\n private storageChangeSubject = new BehaviorSubject<string | null>(null);\r\n\r\n constructor() {\r\n window.addEventListener('storage', event => {\r\n if (event.key === 'userData') {\r\n this.storageChangeSubject.next(event.newValue);\r\n }\r\n });\r\n }\r\n\r\n getStorageChangeObservable(): Observable<string | null> {\r\n return this.storageChangeSubject.asObservable();\r\n }\r\n\r\n /**\r\n * Retrieves an item from local storage.\r\n *\r\n * @param {string} key - The key of the item to retrieve.\r\n * @returns {any|null} - The item retrieved from local storage, or null if the item does not exist.\r\n *\r\n */\r\n getItem(key: string): any | null {\r\n const item = localStorage.getItem(key);\r\n // Mare; bugfix - da pohendla pravilno tudi primer da je lang = undefined\r\n if (item === \"undefined\" || item === null) {\r\n return null;\r\n }\r\n return item ? JSON.parse(item) : null;\r\n }\r\n\r\n /**\r\n * Stores an item in local storage.\r\n *\r\n * @param {string} key - The key under which to store the item.\r\n * @param {any} value - The item to store in local storage.\r\n *\r\n */\r\n setItem(key: string, value: any): void {\r\n localStorage.setItem(key, JSON.stringify(value));\r\n this.storageChangeSubject.next(value);\r\n }\r\n\r\n /**\r\n * Removes an item from local storage.\r\n *\r\n * @param {string} key - The key of the item to remove.\r\n *\r\n * @example\r\n * removeItem('myKey');\r\n */\r\n removeItem(key: string): void {\r\n localStorage.removeItem(key);\r\n this.storageChangeSubject.next(null);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { LocalStorageService } from \"./local-storage.service\";\r\nimport { ProfilUporabnikaDTO } from '../models/profilUporabnikaDTO';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\ninterface UserVloga {\r\n vloga: string,\r\n sektor?: {id: number, obmocniUradIds: number[]}[]\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SharedAuthService {\r\n\r\n userDataBehavior$ = new BehaviorSubject<ProfilUporabnikaDTO | null>(null);\r\n userData$ = this.userDataBehavior$.asObservable();\r\n\r\n constructor(private router: Router, private localStorageService: LocalStorageService) {}\r\n\r\n logout(): void {\r\n this.localStorageService.removeItem('userData');\r\n this.router.navigate(['/login']);\r\n }\r\n\r\n setUserData(userData: ProfilUporabnikaDTO): void {\r\n this.localStorageService.setItem('userData', userData);\r\n this.userDataBehavior$.next(userData);\r\n }\r\n\r\n getUserData(): ProfilUporabnikaDTO {\r\n return this.localStorageService.getItem(\"userData\") as ProfilUporabnikaDTO\r\n }\r\n\r\n getUserVloge(): UserVloga[] {\r\n const userData = this.localStorageService.getItem(\"userData\") as ProfilUporabnikaDTO\r\n\r\n if (!userData.vloge) return [];\r\n\r\n return Object.entries(userData.vloge).map(([vloga, sektorMap]) => {\r\n const sektor = Object.entries(sektorMap).map(([idStr, obmocniUradIds]) => ({\r\n id: parseInt(idStr),\r\n obmocniUradIds\r\n }));\r\n\r\n return {\r\n vloga,\r\n sektor: sektor.length > 0 ? sektor : undefined\r\n };\r\n });\r\n }\r\n\r\n getObmocniUradiUporabnika(): number[] {\r\n const vloge = this.getUserVloge();\r\n if (vloge && vloge.length > 0) {\r\n const vloga = vloge[0]\r\n let ids: number[] = [];\r\n vloga.sektor?.forEach(item => {\r\n ids = [...ids, ...item.obmocniUradIds.filter(f => f !== -1)]\r\n })\r\n return ids;\r\n } \r\n\r\n return [];\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { MessageService } from 'primeng/api';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SharedMessageService {\r\n constructor(\r\n private messageService: MessageService,\r\n private translateService: TranslateService\r\n ) {}\r\n\r\n successMessage(message?: string): void {\r\n this.messageService.add({\r\n key: 'notification',\r\n severity: 'success',\r\n summary: message ? message :this.translateService.instant('common.akcijaUspesna'),\r\n life: 6000,\r\n });\r\n }\r\n\r\n errorMessage(message?: string): void {\r\n this.messageService.add({\r\n key: 'notification',\r\n severity: 'error',\r\n summary: message ? message : this.translateService.instant(\"errors.thereWasAnError\"),\r\n life: 5000\r\n });\r\n }\r\n}\r\n","import {\r\n HttpErrorResponse,\r\n HttpEvent,\r\n HttpHandler,\r\n HttpInterceptor,\r\n HttpRequest,\r\n} from '@angular/common/http';\r\nimport { inject, Injectable } from \"@angular/core\";\r\nimport { Router } from '@angular/router';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { SharedAuthService } from \"../services/shared-auth.service\";\r\nimport { SharedMessageService } from \"../services/shared-message.service\";\r\n\r\n/**\r\n * 2024-07-04 Mare:\r\n * pustil samo ta generalni error.interceptor v design-system, prej je bil za backoffice posebej\r\n * * loči se preko this.injector.get('ENVIRONMENT') === 'backoffice' oz. 'public'\r\n */\r\n@Injectable()\r\nexport class ErrorInterceptor implements HttpInterceptor {\r\n\r\n private sharedAuthService = inject(SharedAuthService)\r\n private sharedMessageService = inject(SharedMessageService)\r\n private translateService = inject(TranslateService)\r\n private router = inject(Router)\r\n\r\n constructor() {}\r\n\r\n public intercept(httpRequest: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\r\n return next.handle(httpRequest).pipe(\r\n catchError((err: HttpErrorResponse) => {\r\n if (err.status === 401) {\r\n if (err?.error?.errorCode == 2056) {\r\n this.sharedMessageService.errorMessage(this.translateService?.instant('errors.deactivatedAccount'));\r\n this.sharedAuthService.logout();\r\n } else {\r\n this.sharedMessageService.errorMessage(this.translateService?.instant('errors.jwtTokenExpired'));\r\n this.sharedAuthService.logout();\r\n }\r\n } else if (err.status === 500 && err.error.message && err.error.message.includes('JWT')) {\r\n // JWT malformed: če npr. spremeniš jwt token\r\n this.sharedAuthService.logout();\r\n console.error('Invalid session detected. Please log in again.');\r\n } else if (err.status === 403) {\r\n this.router.navigate([\"\"]);\r\n } else {\r\n // Seznam end-pointov pri katerih se error ne prikaže.\r\n const whiteListEndPoints = [\"preveri-nove-dokumente-v-krpanu\", \"preveri-nove-zadeve-v-krpanu\"];\r\n let displayError = true;\r\n whiteListEndPoints.forEach(item => {\r\n if (err.url?.includes(item)) {\r\n displayError = false;\r\n }\r\n })\r\n \r\n if (displayError) {\r\n // Mapping of error codes and their corresponding translation keys\r\n const errorTranslationKeyMapping: any = {\r\n 'VE-0001': 'errors.timeslotNotAvailable',\r\n 'VE-0002': 'errors.jwtTokenExpired',\r\n 'VE-0003': 'errors.unauthorizedRole',\r\n 'VE-0007': 'errors.applicationNotFound',\r\n };\r\n\r\n const translationKey = errorTranslationKeyMapping[err.error] || 'errors.thereWasAnError';\r\n // If error message exists in the response display it, otherwise take error message from error code \r\n const errorMessage = err.error.message ? err.error.message : this.translateService?.instant(translationKey);\r\n\r\n // ES-307; 2024-07-02: Mare; dodajanje kode napake uporabniku\r\n const errorCode = err.error?.code ? `${this.translateService.instant('errors.errorCode')} ${err.error.code}` : '';\r\n\r\n this.sharedMessageService.errorMessage(`${errorMessage} ${errorCode}`);\r\n }\r\n }\r\n\r\n return throwError(() => new Error(err.error?.error?.message! + '\\n' + err.message!));\r\n })\r\n );\r\n }\r\n}\r\n","export enum ButtonColor {\r\n primary = 'primary',\r\n secondary = 'secondary',\r\n success = 'success',\r\n info = 'info',\r\n warning = 'warning',\r\n help = 'help',\r\n danger = 'danger',\r\n link = 'link',\r\n}\r\n","export enum ButtonIconPosition {\r\n right = 'right',\r\n left = 'left',\r\n}\r\n","export enum ButtonSize {\r\n small = 'p-button p-button-sm',\r\n normal = 'p-button',\r\n large = 'p-button p-button-lg',\r\n}\r\n","import { Component, EventEmitter, Input, Output,output } from '@angular/core';\r\nimport { ButtonColor } from '../../models/enums/button/button-color.enum';\r\nimport { ButtonIconPosition } from '../../models/enums/button/button-icon-position.enum';\r\nimport { ButtonSize } from '../../models/enums/button/button-size.enum';\r\nimport { NgIf, NgClass } from '@angular/common';\r\nimport { Button } from 'primeng/button';\r\n\r\n@Component({\r\n selector: 'lib-button',\r\n templateUrl: './button.component.html',\r\n styleUrls: ['./button.component.scss'],\r\n imports: [\r\n NgIf,\r\n Button,\r\n NgClass,\r\n ],\r\n})\r\nexport class ButtonComponent {\r\n @Input() hasIcon = false;\r\n\r\n @Input() label!: string;\r\n\r\n @Input() color: ButtonColor = ButtonColor.primary;\r\n\r\n @Input() icon = 'pi-check';\r\n\r\n @Input() iconPos: ButtonIconPosition = ButtonIconPosition.right;\r\n\r\n @Input() disabled = false;\r\n\r\n @Input() isLoading = false;\r\n\r\n // You have the option to add multiple classes, but if you don't add any, the default class will be used instead.\r\n // p-button-raised, p-button-outlined, p-button-text, p-button-rounded\r\n @Input() styleClass!: string;\r\n\r\n @Input() size: ButtonSize = ButtonSize.normal;\r\n\r\n @Input() accessibilityText = '';\r\n\r\n @Input() buttonType = 'button';\r\n\r\n @Input() isAccessible = false;\r\n\r\n @Input() isSelected = false;\r\n\r\n @Input() ariaControlsId: string | null = null;\r\n\r\n @Input() isExpanded = false;\r\n\r\n @Output() clickEvent = new EventEmitter();\r\n\r\n @Input() link: boolean = false;\r\n @Input() isTextareaClear: boolean = false;\r\n\r\n click(event: MouseEvent): void {\r\n this.clickEvent.emit(event);\r\n }\r\n}\r\n\r\n\r\n","<p-button\r\n *ngIf='!hasIcon'\r\n label=\"{{label}}\"\r\n styleClass=\"p-button-{{color}} {{styleClass}} p-button-{{size}}\"\r\n [disabled]='disabled'\r\n [loading]=\"isLoading\"\r\n (click)='click($event)'\r\n [ariaLabel]=\"accessibilityText\"\r\n [type]=\"buttonType\"\r\n [ngClass]=\"{ 'selected ': isSelected, 'accessible-btn' : isAccessible }\"\r\n [attr.aria-controls]=\"ariaControlsId\"\r\n [attr.aria-expanded]=\"isExpanded\"\r\n [link]=\"link\"\r\n></p-button>\r\n<p-button\r\n *ngIf='hasIcon'\r\n label=\"{{label}}\"\r\n styleClass=\"p-button-{{color}} {{styleClass}} p-button-{{size}}\"\r\n icon='pi {{icon}}'\r\n [iconPos]='iconPos'\r\n [disabled]='disabled'\r\n [loading]=\"isLoading\"\r\n (click)=\"click($event)\"\r\n [ariaLabel]=\"accessibilityText\"\r\n [type]=\"buttonType\"\r\n [ngClass]=\"{ 'selected ': isSelected, 'accessible-btn' : isAccessible }\"\r\n [attr.aria-controls]=\"ariaControlsId\"\r\n [attr.aria-expanded]=\"isExpanded\"\r\n [link]=\"link\"\r\n></p-button>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { ButtonColor } from '../../models/enums/button/button-color.enum';\r\nimport { Accordion } from 'primeng/accordion';\r\nimport { NgIf, NgClass, NgTemplateOutlet } from '@angular/common';\r\nimport { InputText } from 'primeng/inputtext';\r\nimport { OverlayPanelModule } from 'primeng/overlaypanel';\r\nimport { SelectButton } from 'primeng/selectbutton';\r\nimport { ButtonComponent } from '../button/button.component';\r\nimport { PopoverModule } from 'primeng/popover';\r\nimport { AccordionModule } from 'primeng/accordion';\r\n\r\n@Component({\r\n selector: 'lib-accordion[headerTitle]',\r\n templateUrl: './accordion.component.html',\r\n styleUrls: ['./accordion.component.scss'],\r\n imports: [\r\n Accordion,\r\n AccordionModule,\r\n NgIf,\r\n NgClass,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n InputText,\r\n NgTemplateOutlet,\r\n PopoverModule,\r\n SelectButton,\r\n ButtonComponent,\r\n ],\r\n})\r\nexport class AccordionComponent {\r\n @Input() isHeaderEditable = false;\r\n\r\n @Input() isAccordionDeletable = false;\r\n\r\n @Input() isAccordionCloneable = false;\r\n\r\n @Input() headerTitle!: string;\r\n\r\n @Input() selected: boolean | null = false;\r\n\r\n @Input() icon?: string;\r\n\r\n @Input() headerTitlePlaceholder?: string;\r\n\r\n @Input() headerTitleEditable?: string;\r\n\r\n @Input() group!: FormGroup;\r\n\r\n @Input() controlName!: string;\r\n\r\n @Input() name!: string;\r\n\r\n @Input() canDisable = false;\r\n\r\n @Input() toggleLabel = 'Label';\r\n\r\n @Input() toggleControlName!: string;\r\n\r\n @Output() clickEvent = new EventEmitter();\r\n\r\n @Output() clickToggleEvent = new EventEmitter();\r\n\r\n @Output() clickCloneEvent = new EventEmitter();\r\n\r\n stateOptions: any[] = [\r\n { label: 'Ne', value: false },\r\n { label: 'Da', value: true },\r\n ];\r\n\r\n click(event: MouseEvent): void {\r\n this.clickEvent.emit(event);\r\n event.stopPropagation();\r\n }\r\n\r\n clickToggleButton(event: MouseEvent): void {\r\n this.clickToggleEvent.emit(event);\r\n event.stopPropagation();\r\n }\r\n\r\n clickCloneButton(event: MouseEvent): void {\r\n this.clickCloneEvent.emit(event);\r\n event.stopPropagation();\r\n }\r\n\r\n protected readonly ButtonColor = ButtonColor;\r\n}\r\n","<p-accordion class=\"w-full\" [value]=\"selected ? 1 : 0\" [id]=\"headerTitle\">\r\n <p-accordion-panel [value]=\"1\">\r\n <p-accordion-header>\r\n <div class=\"flex justify-content-between align-items-center overflow-auto\">\r\n <ng-container>\r\n <div class=\"flex align-items-center\" *ngIf=\"!isHeaderEditable\">\r\n <i [ngClass]=\"icon\"></i>\r\n <span class=\"vertical-align-middle\">{{ headerTitle }}</span>\r\n </div>\r\n <div class=\"flex align-items-center\" *ngIf=\"isHeaderEditable\" [formGroup]=\"group\">\r\n <i [ngClass]=\"icon\"></i>\r\n <input type=\"text\" pInputText [formControlName]=\"controlName\" (click)=\"$event.stopPropagation()\"\r\n (keydown.space)=\"$event.stopPropagation()\"/>\r\n </div>\r\n <i class=\"pi pi-ellipsis-v controls-mobile\" (click)=\"controlsMenu.toggle($event)\"\r\n *ngIf=\"canDisable || isAccordionDeletable\"></i>\r\n <div class=\"controls-lg-screen\">\r\n <ng-container *ngIf=\"canDisable || isAccordionDeletable\" [ngTemplateOutlet]=\"controls\"></ng-container>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </p-accordion-header>\r\n <p-accordion-content>\r\n <ng-content></ng-content>\r\n </p-accordion-content>\r\n </p-accordion-panel>\r\n</p-accordion>\r\n\r\n<p-popover #controlsMenu>\r\n <ng-container [ngTemplateOutlet]=\"smallerDevicesControls\"></ng-container>\r\n</p-popover>\r\n\r\n<ng-template #controls>\r\n <div class=\"controls\">\r\n <div class=\"flex align-items-center\">\r\n <form [formGroup]=\"group\" class=\"flex align-items-center ml-5\" *ngIf=\"canDisable\">\r\n <label class=\"mr-2\">{{ toggleLabel }}</label>\r\n <p-selectButton\r\n (click)=\"clickToggleButton($event)\"\r\n [options]=\"stateOptions\"\r\n [formControlName]=\"toggleControlName\"\r\n optionLabel=\"label\"\r\n optionValue=\"value\"\r\n ></p-selectButton>\r\n </form>\r\n <lib-button\r\n *ngIf=\"isAccordionCloneable\"\r\n class=\"ml-5 clone-button\"\r\n label=\"Kopiraj okence\"\r\n [hasIcon]=\"true\"\r\n icon=\"pi pi-clone\"\r\n (clickEvent)=\"clickCloneButton($event)\"\r\n [color]=\"ButtonColor.warning\"\r\n ></lib-button>\r\n </div>\r\n\r\n <lib-button\r\n *ngIf=\"isAccordionDeletable\"\r\n class=\"ml-5 delete-button\"\r\n label=\"Izbriši okence\"\r\n [hasIcon]=\"true\"\r\n icon=\"pi pi-trash\"\r\n (clickEvent)=\"click($event)\"\r\n [color]=\"ButtonColor.danger\"\r\n ></lib-button>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #smallerDevicesControls>\r\n <div class=\"flex-column p-1\">\r\n <form [formGroup]=\"group\" class=\"flex align-items-center ml-5\" *ngIf=\"canDisable\">\r\n <label class=\"mr-2\">{{ toggleLabel }}</label>\r\n <p-selectButton\r\n (click)=\"clickToggleButton($event)\"\r\n [options]=\"stateOptions\"\r\n [formControlName]=\"toggleControlName\"\r\n optionLabel=\"label\"\r\n optionValue=\"value\"\r\n ></p-selectButton>\r\n </form>\r\n\r\n <div class=\"flex align-items-center mt-2\">\r\n <lib-button\r\n *ngIf=\"isAccordionCloneable\"\r\n class=\"clone-button\"\r\n label=\"Kopiraj okence\"\r\n [hasIcon]=\"true\"\r\n icon=\"pi pi-clone\"\r\n (clickEvent)=\"clickCloneButton($event)\"\r\n [color]=\"ButtonColor.warning\"\r\n ></lib-button>\r\n\r\n <lib-button\r\n *ngIf=\"isAccordionDeletable\"\r\n class=\"ml-2 delete-button\"\r\n label=\"Izbriši okence\"\r\n [hasIcon]=\"true\"\r\n icon=\"pi pi-trash\"\r\n (clickEvent)=\"click($event)\"\r\n [color]=\"ButtonColor.danger\"\r\n ></lib-button>\r\n </div>\r\n </div>\r\n</ng-template>\r\n","export enum TooltipPosition {\r\n left = 'left',\r\n right = 'right',\r\n top = 'top',\r\n bottom = 'bottom',\r\n}\r\n","export enum TooltipHoverEventEnum {\r\n hover = 'hover',\r\n focus = 'focus',\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n HostListener,\r\n Input,\r\n OnInit,\r\n SecurityContext,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { TooltipPosition } from '../../models/enums/tooltip/tooltip-position.enum';\r\nimport { TooltipHoverEventEnum } from '../../models/enums/tooltip/tooltip-hover-event.enum';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { Tooltip } from 'primeng/tooltip';\r\n\r\n@Component({\r\n selector: ' lib-tooltip',\r\n templateUrl: './tooltip.component.html',\r\n styleUrls: ['./tooltip.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [Tooltip],\r\n})\r\nexport class TooltipComponent implements OnInit {\r\n @Input() icon = 'pi-info-circle';\r\n\r\n @Input() htmlParser = false;\r\n\r\n private _text!: string;\r\n\r\n @Input()\r\n set text(value: string) {\r\n if (value && this.htmlParser) {\r\n const sanitizedValue = this.sanitizer.sanitize(SecurityContext.HTML, value) ?? '';\r\n const parser = new DOMParser();\r\n const decodedString = parser.parseFromString(sanitizedValue, 'text/html').documentElement\r\n .textContent;\r\n this._text = decodedString ?? '';\r\n } else {\r\n this._text = value;\r\n }\r\n }\r\n\r\n get text(): string {\r\n return this._text;\r\n }\r\n\r\n @Input() position: TooltipPosition = TooltipPosition.right;\r\n\r\n @Input() tooltipEvent!: TooltipHoverEventEnum;\r\n\r\n @Input() autoHide = false;\r\n\r\n @Input() htmlParse = true;\r\n\r\n @ViewChild(Tooltip) tooltip!: Tooltip;\r\n\r\n constructor(private sanitizer: DomSanitizer) {}\r\n\r\n ngOnInit(): void {\r\n if (window.innerWidth > 768) {\r\n this.tooltipEvent = TooltipHoverEventEnum.focus;\r\n }\r\n }\r\n\r\n onClick(): void {\r\n if (window.innerWidth <= 768) {\r\n this.tooltip.activate();\r\n }\r\n }\r\n\r\n @HostListener('document:click', ['$event'])\r\n onDocumentClick(event: MouseEvent): void {\r\n if (!this.tooltip.el.nativeElement.contains(event.target)) {\r\n this.tooltip.deactivate();\r\n }\r\n }\r\n}\r\n","<i\r\n tabindex=\"0\"\r\n class=\"pi {{ icon }}\"\r\n pTooltip=\"{{ text }}\"\r\n [tooltipPosition]=\"position\"\r\n [tooltipEvent]='tooltipEvent'\r\n [autoHide]=\"autoHide\"\r\n [escape]=\"htmlParse\"\r\n (click)=\"onClick()\"\r\n [attr.aria-label]=\"text\"\r\n aria-describedby=\"tooltipId\"\r\n></i>\r\n\r\n<div id=\"tooltipId\" style=\"display: none;\">{{ text }}</div>\r\n\r\n","import { Component, Input } from '@angular/core';\r\nimport { NgIf } from '@angular/common';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'lib-error',\r\n templateUrl: './error.component.html',\r\n styleUrls: ['./error.component.scss'],\r\n imports: [NgIf, TranslateModule],\r\n})\r\nexport class ErrorComponent {\r\n // eslint-disable-next-line\r\n @Input() hasError: any;\r\n\r\n @Input() isTouched = false;\r\n\r\n @Input() isSubmitTriggered = false;\r\n\r\n @Input() isNestedFormSubmit = false;\r\n\r\n @Input() isDirty = false;\r\n\r\n @Input() isRequired = false;\r\n\r\n @Input() hasGroupError = false;\r\n\r\n @Input() errorId!: string;\r\n}\r\n","<small class=\"required\" aria-live=\"polite\" [id]=\"errorId\">\r\n <ng-container *ngIf=\"hasError\">\r\n <ng-container *ngIf=\"(isTouched || isSubmitTriggered || isNestedFormSubmit) && hasError.required\">\r\n {{ 'errors.isRequired' | translate }}\r\n </ng-container>\r\n <ng-container *ngIf=\"(isTouched || isSubmitTriggered || isNestedFormSubmit) && !hasError.required && hasError.isNotBlank\">\r\n {{ 'errors.isNotBlank' | translate }}\r\n </ng-container>\r\n <ng-container *ngIf=\"(isTouched || isSubmitTriggered || isNestedFormSubmit) && !hasError.required && !hasError.isNotBlank && hasError.isCoordinate\">\r\n {{ 'errors.isCoordinate' | translate }}\r\n </ng-container>\r\n <ng-container *ngIf=\"((isTouched || isSubmitTriggered || isNestedFormSubmit) && !hasError.required && hasError.isNotDecimal)\">\r\n {{ 'errors.decimal' | translate }}\r\n </ng-container>\r\n <ng-container *ngIf=\"((isTouched || isSubmitTriggered || isNestedFormSubmit) && !hasError.required && hasError.min)\">\r\n {{ 'errors.minNumber' | translate }}\r\n </ng-container>\r\n <ng-container *ngIf=\"((isTouched || isSubmitTriggered || isNestedFormSubmit) && !hasError.required && !hasError.min && hasError.max)\">\r\n {{ 'errors.maxNumber' | translate }}\r\n </ng-container>\r\n <ng-container *ngIf=\"((isTouched || isSubmitTriggered || isNestedFormSubmit) && !hasError.required && hasError.email)\">\r\n {{ 'errors.email' | translate }}\r\n </ng-container>\r\n <ng-container *ngIf=\"((isTouched || isSubmitTriggered || isNestedFormSubmit) && !hasError.required && !hasGroupError && hasError.isNotValidPhoneNumber)\">\r\n {{ 'errors.phoneNumber' | translate }}\r\n </ng-container>\r\n <ng-container *ngIf=\"((isTouched || isSubmitTriggered || isNestedFormSubmit) && !hasError.required && hasError.isMultipleOfFive)\">\r\n {{ 'errors.isMultipleOfFive' | translate }}\r\n </ng-container>\r\n </ng-container>\r\n</small>\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { FormStatusInterface } from '../../models/interaces/shared/form-status.interface';\r\nimport { TooltipPosition } from '../../models/enums/tooltip/tooltip-position.enum';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { TooltipHoverEventEnum } from '../../models/enums/tooltip/tooltip-hover-event.enum';\r\nimport { NgIf, NgClass } from '@angular/common';\r\nimport { TooltipComponent } from '../tooltip/tooltip.component';\r\nimport { AutoComplete } from 'primeng/autocomplete';\r\nimport { PrimeTemplate } from 'primeng/api';\r\nimport { MultiSelect } from 'primeng/multiselect';\r\nimport { ErrorComponent } from '../error/error.component';\r\n\r\n@Component({\r\n selector: 'lib-autocomplete[group][controlName][name]',\r\n templateUrl: './autocomplete.component.html',\r\n styleUrls: ['./autocomplete.component.scss'],\r\n imports: [\r\n FormsModule,\r\n ReactiveFormsModule,\r\n NgIf,\r\n TooltipComponent,\r\n AutoComplete,\r\n PrimeTemplate,\r\n MultiSelect,\r\n NgClass,\r\n ErrorComponent,\r\n ],\r\n})\r\nexport class AutocompleteComponent implements OnInit {\r\n protected readonly TooltipHoverEventEnum = TooltipHoverEventEnum;\r\n\r\n _isTooltipVisible!: boolean;\r\n\r\n dynamicItemsLabel!: any;\r\n\r\n @Input() name!: string;\r\n\r\n @Input() isMultiselect = false;\r\n\r\n @Input() selectedItemLabel = 'Izbrano število:';\r\n\r\n @Input() group!: FormGroup;\r\n\r\n @Input() controlName!: string;\r\n\r\n @Input() label = 'autocomplete';\r\n\r\n @Input() optionList: object[] = [];\r\n\r\n @Input() optionLabel = 'name';\r\n\r\n @Input() optionalValue = 'value';\r\n\r\n @Input() placeholder = '';\r\n\r\n @Input() accessibilityText = '';\r\n\r\n @Input() filter = false;\r\n\r\n @Input() appendTo?: string;\r\n\r\n @Input() filterBy = 'name';\r\n\r\n @Input() showClear = true;\r\n \r\n @Input() forceSelection = true\r\n\r\n @Input() isRequired = true;\r\n\r\n @Input() tooltipPosition: TooltipPosition = TooltipPosition.right;\r\n\r\n @Input() tooltipText?: string = '';\r\n\r\n @Input() formStatus?: FormStatusInterface;\r\n\r\n @Input() nestedGroup = false;\r\n\r\n @Input() isLoading = false;\r\n\r\n @Input() emptyMessage?: string;\r\n\r\n @Input() ariaFilterLabel?: string;\r\n\r\n @Output() getValueEvent = new EventEmitter();\r\n\r\n filteredOptions?: any;\r\n\r\n // TODO: tole (še) ne deluje\r\n // aliasi za glavne besede / za SLOVENŠČINO\r\n // aliases: { [key: string]: string[] } = {\r\n // 'pridobitev': ['dobiti', 'izdaja'],\r\n // 'izkaznica': ['karta', 'dovoljenje']\r\n // };\r\n\r\n // suffixi / za SLOVENŠČINO\r\n suffixes = [\r\n 'ega',\r\n 'ej',\r\n 'emu',\r\n 'eva',\r\n 'em',\r\n 'om',\r\n 'ev',\r\n 'ih',\r\n 'ic',\r\n 'is',\r\n 'im',\r\n 'a',\r\n 'e',\r\n 'i',\r\n 'o',\r\n 'u',\r\n ];\r\n\r\n constructor(private readonly translateService: TranslateService) {}\r\n\r\n getSelectedValue(event: any): void {\r\n this.getValueEvent.emit(event);\r\n }\r\n\r\n ngOnInit(): void {\r\n this._isTooltipVisible = !!this.tooltipText;\r\n this.dynamicItemsLabel = this.selectedItemLabel + ' {0}';\r\n\r\n // this.normalizeAliases();\r\n }\r\n\r\n onClear(): void {\r\n this.group.get(this.controlName)?.setValue(null);\r\n }\r\n\r\n get emptyAutocompleteMessage(): string {\r\n if (this.emptyMessage) {\r\n return this.emptyMessage;\r\n } else {\r\n return this.translateService.instant('components.autocomplete.emptyList');\r\n }\r\n }\r\n\r\n get emptyFilterAutocompleteMessage(): string {\r\n return this.translateService.instant('components.autocomplete.emptyFilterList');\r\n }\r\n\r\n /**\r\n * vrne aliase brez končnic, ki so definirane zgoraj + lowerCase\r\n */\r\n // normalizeAliases(): void {\r\n // // Normalize aliases\r\n // for (const word in this.aliases) {\r\n // this.aliases[word] = this.aliases[word].map(alias => this.normalizeSlovenianSuffixes(alias.toLowerCase()));\r\n // }\r\n // }\r\n\r\n /**\r\n * vrne besede brez končnic, ki so definirane zgoraj + lowerCase\r\n */\r\n normalizeSlovenianSuffixes(word: string): string {\r\n // Iterate through the suffixes and remove them from the word\r\n if (word) {\r\n for (const suffix of this.suffixes) {\r\n if (word.toLowerCase().endsWith(suffix)) {\r\n return word.toLowerCase().slice(0, -suffix.length); // Remove the suffix from the word\r\n }\r\n }\r\n return word.toLowerCase();\r\n }\r\n\r\n return \"\";\r\n }\r\n\r\n /**\r\n * filter metoda za p-autocomplete: vsebuje preprosto varianto fuzzy searcha\r\n * TODO: iskanje po aliasih\r\n */\r\n completeMethod(event: { query: string }): void {\r\n // dobi user input\r\n const normalizedUserInput = this.normalizeSlovenianSuffixes(event.query);\r\n\r\n // filtrira optionList na osnovi preprostega fuzzy search\r\n this.filteredOptions = this.optionList.filter(option => {\r\n const normalizedOption = this.normalizeSlovenianSuffixes((option as any)[this.filterBy]);\r\n const userWords = normalizedUserInput.split(/\\s+/);\r\n return userWords.some(word => normalizedOption.includes(this.normalizeSlovenianSuffixes(word)));\r\n });\r\n }\r\n}\r\n","<div class='flex flex-column gap-1' [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 <p-autoComplete *ngIf=\"!isMultiselect\"\r\n [inputId]=\"name\"\r\n [dropdown]=\"true\"\r\n [forceSelection]=\"true\"\r\n [suggestions]=\"filteredOptions\"\r\n (completeMethod)=\"completeMethod($event)\"\r\n [appendTo]=\"appendTo\"\r\n [optionLabel]=\"filterBy\"\r\n [formControlName]=\"controlName\"\r\n [placeholder]='placeholder'\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\r\n <!-- custom template for button - dropdownicon | aria support -->\r\n <ng-template pTemplate=\"dropdownicon\">\r\n <span class=\"p-button-icon pi pi-chevron-down\"\r\n id=\"dropdownLabel\"\r\n [attr.aria-label]=\"ariaFilterLabel\"></span>\r\n </ng-template>\r\n </p-autoComplete>\r\n\r\n <p-multiSelect\r\n *ngIf=\"isMultiselect\"\r\n [inputId]=\"name\"\r\n (onChange)='getSelectedValue($event)'\r\n [options]=\"optionList\"\r\n [optionLabel]=\"!nestedGroup ? optionLabel : ''\"\r\n [formControlName]=\"controlName\"\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]=\"emptyAutocompleteMessage\"\r\n [emptyFilterMessage]=\"emptyFilterAutocompleteMessage\"\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","import { Component, Input } from '@angular/core';\r\nimport { MenuItem, PrimeTemplate } from 'primeng/api';\r\nimport { Breadcrumb } from 'primeng/breadcrumb';\r\n\r\n@Component({\r\n selector: 'lib-breadcrumbs[itemList][homeItem]',\r\n templateUrl: './breadcrumbs.component.html',\r\n styleUrls: ['./breadcrumbs.component.scss'],\r\n imports: [Breadcrumb, PrimeTemplate],\r\n})\r\nexport class BreadcrumbsComponent {\r\n @Input() itemList: MenuItem[] = [];\r\n\r\n @Input() homeItem: MenuItem = {};\r\n}\r\n","<p-breadcrumb\r\n class=\"max-w-full\"\r\n [model]=\"itemList\"\r\n [home]=\"homeItem\"\r\n>\r\n <ng-template pTemplate=\"separator\"> > </ng-template>\r\n</p-breadcrumb>\r\n<!--<lib-divider></lib-divider>-->\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { NgIf, NgClass } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'lib-button-link',\r\n templateUrl: './button-link.component.html',\r\n styleUrls: ['./button-link.component.scss'],\r\n imports: [NgIf, NgClass],\r\n})\r\nexport class ButtonLinkComponent {\r\n @Input() hasIcon = false;\r\n\r\n @Input() label!: string;\r\n\r\n @Input() isDanger = false;\r\n\r\n @Input() isPrimary = false;\r\n\r\n @Input() icon = 'pi-check';\r\n\r\n @Input() target?: string;\r\n\r\n @Input() accessibilityText = '';\r\n\r\n @Output() clickEvent = new EventEmitter();\r\n\r\n click(event: MouseEvent): void {\r\n this.clickEvent.emit(event);\r\n }\r\n}\r\n","<ng-container *ngIf=\"isDanger\">\r\n <a href=\"#\"\r\n [target]=\"target\"\r\n [attr.aria-label]=\"accessibilityText\"\r\n (click)='click($event)'\r\n class=\"p-button-link p-button-link-danger text-center\">\r\n {{ label }} <i *ngIf=\"hasIcon\" class=\"pi\" [ngClass]=\"icon\"></i>\r\n </a>\r\n</ng-container>\r\n<ng-container *ngIf=\"isPrimary\">\r\n <a href=\"#\"\r\n [target]=\"target\"\r\n [attr.aria-label]=\"accessibilityText\"\r\n (click)='click($event)'\r\n class=\"p-button-link p-button-link-primary text-center\">\r\n {{ label }} <i *ngIf=\"hasIcon\" class=\"pi\" [ngClass]=\"icon\"></i>\r\n </a>\r\n</ng-container>\r\n\r\n","import { Component, Input } from '@angular/core';\r\nimport { Card } from 'primeng/card';\r\n\r\n@Component({\r\n selector: 'lib-card',\r\n templateUrl: './card.component.html',\r\n styleUrls: ['./card.component.scss'],\r\n imports: [Card],\r\n})\r\nexport class CardComponent {\r\n @Input() title!: string;\r\n\r\n @Input() cardBody!: string;\r\n}\r\n","<p-card header=\"{{ title }}\">\r\n <p class=\"m-0 flex align-items-center\"><i class=\"pi pi-exclamation-triangle mr-3\"></i>{{ cardBody }}</p>\r\n</p-card>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { FormStatusInterface } from '../../models/interaces/shared/form-status.interface';\r\nimport { Checkbox } from 'primeng/checkbox';\r\n\r\n@Component({\r\n selector: 'lib-checkbox[group][controlName][label]',\r\n templateUrl: './checkbox.component.html',\r\n styleUrls: ['./checkbox.component.scss'],\r\n imports: [\r\n FormsModule,\r\n ReactiveFormsModule,\r\n Checkbox,\r\n ],\r\n})\r\nexport class CheckboxComponent {\r\n @Input() label!: string;\r\n\r\n @Input() group!: FormGroup;\r\n\r\n @Input() controlName!: string;\r\n\r\n @Input() value = false;\r\n\r\n @Output() clickCheckboxEvent = new EventEmitter();\r\n\r\n @Input() formStatus?: FormStatusInterface;\r\n\r\n @Input() ariaLabel = '';\r\n\r\n /**\r\n * Emit event on checkbox click\r\n * @param event\r\n */\r\n clickCheckbox(event: MouseEvent): void {\r\n this.clickCheckboxEvent.emit(event);\r\n event.stopPropagation();\r\n }\r\n}\r\n","<div [formGroup]=\"group\">\r\n <p-checkbox [binary]=\"true\"\r\n (click)=\"clickCheckbox($event)\"\r\n [formControlName]=\"controlName\"\r\n [value]=\"value\"\r\n [inputId]=\"controlName\" \r\n [ariaLabel]=\"ariaLabel\"\r\n ></p-checkbox>\r\n <label [for]=\"controlName\" class=\"ml-2\">{{ label }}</label>\r\n</div>\r\n","export enum DialogColor {\r\n primary = 'primary',\r\n secondary = 'secondary',\r\n info = 'info',\r\n warning = 'warning',\r\n danger = 'danger',\r\n}\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { DialogColor } from '../../models/enums/confirm-modal/confirm-modal-color.enum';\r\nimport { NgClass } from '@angular/common';\r\nimport { PrimeTemplate } from 'primeng/api';\r\nimport { Button } from 'primeng/button';\r\nimport { ConfirmDialogModule } from 'primeng/confirmdialog';\r\n\r\n@Component({\r\n selector: 'lib-confirm-modal',\r\n templateUrl: './confirm-modal.component.html',\r\n styleUrls: ['./confirm-modal.component.scss'],\r\n imports: [\r\n NgClass,\r\n PrimeTemplate,\r\n ConfirmDialogModule,\r\n Button,\r\n ],\r\n})\r\nexport class ConfirmModalComponent {\r\n @Input() acceptBtnLabel = 'Da';\r\n\r\n @Input() acceptBtnIcon = 'pi pi-check';\r\n\r\n @Input() rejectBtnLabel = 'Ne';\r\n\r\n @Input() rejectBtnIcon = 'pi pi-times';\r\n\r\n @Input() dialogHeaderColor = DialogColor.danger;\r\n\r\n @Output() rejectClickEvent = new EventEmitter();\r\n\r\n @Output() acceptClickEvent = new EventEmitter();\r\n\r\n headerClassMap = {\r\n primary: 'primary',\r\n secondary: 'secondary',\r\n info: 'info',\r\n warning: 'warning',\r\n danger: 'danger',\r\n };\r\n\r\n reject(event: MouseEvent): void {\r\n this.rejectClickEvent.emit(event);\r\n }\r\n\r\n accept(event: MouseEvent): void {\r\n this.acceptClickEvent.emit(event);\r\n }\r\n}\r\n","<p-confirmdialog [ngClass]=\"headerClassMap[dialogHeaderColor]\"\r\n #cd [style]=\"{width: 'max-content'}\">\r\n <ng-template pTemplate=\"footer\">\r\n <div class=\"confirm-button-container\">\r\n <p-button styleClass=\"p-button-danger\" [icon]=\"rejectBtnIcon\" [label]=\"rejectBtnLabel\" (click)=\"reject($event);\"></p-button>\r\n <p-button styleClass=\"p-button-primary\" [icon]=\"acceptBtnIcon\" [label]=\"acceptBtnLabel\" (click)=\"accept($event);\"></p-button>\r\n </div>\r\n </ng-template>\r\n</p-confirmdialog>\r\n","export enum InputType {\r\n text = 'text',\r\n number = 'number',\r\n email = 'email',\r\n}\r\n","export enum CaptionColor {\r\n today = 'today',\r\n past = 'past',\r\n future = 'future',\r\n}\r\n","export enum TagColor {\r\n success = 'success',\r\n secondary = 'secondary',\r\n info = 'info',\r\n warning = 'warning',\r\n danger = 'danger',\r\n contrast = 'contrast',\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { FormStatusInterface } from '../../models/interaces/shared/form-status.interface';\r\nimport { TooltipPosition } from '../../models/enums/tooltip/tooltip-position.enum';\r\nimport { InputType } from '../../models/enums/input/input-type.enum';\r\nimport { TooltipHoverEventEnum } from '../../models/enums/tooltip/tooltip-hover-event.enum';\r\nimport { NgClass, NgIf } from '@angular/common';\r\nimport { TooltipComponent } from '../tooltip/tooltip.component';\r\nimport { InputText } from 'primeng/inputtext';\r\nimport { ErrorComponent } from '../error/error.component';\r\n\r\n@Component({\r\n selector: 'lib-input[group][controlName][name]',\r\n templateUrl: './input.component.html',\r\n styleUrls: ['./input.component.scss'],\r\n imports: [\r\n FormsModule,\r\n ReactiveFormsModule,\r\n NgClass,\r\n NgIf,\r\n TooltipComponent,\r\n InputText,\r\n ErrorComponent,\r\n ],\r\n})\r\nexport class InputComponent implements OnInit {\r\n _isTooltipVisible!: boolean;\r\n\r\n @Input() name!: string;\r\n\r\n @Input() type: InputType = InputType.text;\r\n\r\n @Input() label!: string;\r\n\r\n @Input() placeholder?: string;\r\n\r\n @Input() accessibilityText = '';\r\n\r\n @Input() group!: FormGroup;\r\n\r\n @Input() controlName!: string;\r\n\r\n @Input() isRequired = true;\r\n\r\n @Input() isLabelVisible = true;\r\n\r\n @Input() tooltipPosition: TooltipPosition = TooltipPosition.right;\r\n\r\n @Input() tooltipText?: string = '';\r\n\r\n @Input() formStatus?: FormStatusInterface;\r\n\r\n @Input() groupError = false;\r\n\r\n @Input() hasGap = true;\r\n\r\n @Input() hasTitle = false;\r\n\r\n @Input() maxLength: number | null = null;\r\n\r\n\r\n ngOnInit(): void {\r\n this._isTooltipVisible = !!this.tooltipText;\r\n }\r\n\r\n onNumberKeyDown(event: KeyboardEvent): void {\r\n const invalidKeys = ['e', 'E', '+', '-', ',', '.'];\r\n\r\n if (invalidKeys.includes(event.key)) {\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n protected readonly TooltipHoverEventEnum = TooltipHoverEventEnum;\r\n}\r\n","<div class=\"flex flex-column\" [formGroup]=\"group\" [ngClass]=\"{ 'gap-1': hasGap }\">\r\n <div class=\"flex\" *ngIf=\"isLabelVisible\">\r\n <label [title]=\"hasTitle ? 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 <input\r\n [type]='type'\r\n [id]=\"name\"\r\n pInputText\r\n [placeholder]='placeholder ?? \" \"'\r\n [formControlName]=\"controlName\"\r\n [min]=\"type === 'number' && 1\"\r\n [max]=\"type === 'number' && 10\"\r\n [maxlength]=\"maxLength\" \r\n [attr.aria-label]=\"accessibilityText\"\r\n [ngClass]=\"{ 'ng-dirty ng-invalid': (group.get(controlName)!.errors && (group.get(controlName)!.touched || formStatus!.isSubmitTriggered)) || groupError }\"\r\n (keydown)=\"type === 'number' ? onNumberKeyDown($event) : null\"\r\n [attr.aria-describedby]=\"name + 'Error'\"\r\n [attr.aria-invalid]=\"(group.get(controlName)!.errors && (group.get(controlName)!.touched || formStatus!.isSubmitTriggered)) || groupError\"\r\n [attr.aria-required]=\"isRequired\"\r\n />\r\n</div>\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 [hasGroupError]=\"groupError\"\r\n [errorId]=\"name+'Error'\"\r\n ></lib-error>\r\n","export enum SelectionMode {\r\n single = 'single',\r\n range = 'range',\r\n multiple = 'multiple',\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { FormStatusInterface } from '../../models/interaces/shared/form-status.interface';\r\nimport { TooltipPosition } from '../../models/enums/tooltip/tooltip-position.enum';\r\nimport { SelectionMode } from '../../models/enums/dropdown/dropdown-selection-mode.enum';\r\nimport { TooltipHoverEventEnum } from '../../models/enums/tooltip/tooltip-hover-event.enum';\r\nimport { getTomorrowDate } from \"../../helpers/get-tomorrow-date.function\";\r\nimport { NgClass, NgIf } from '@angular/common';\r\nimport { TooltipComponent } from '../tooltip/tooltip.component';\r\nimport { PrimeTemplate } from 'primeng/api';\r\nimport { ErrorComponent } from '../error/error.component';\r\nimport { DatePickerModule } from 'primeng/datepicker';\r\n\r\n@Component({\r\n selector: 'lib-date-input[group][controlName][name]',\r\n templateUrl: './date-input.component.html',\r\n styleUrls: ['./date-input.component.scss'],\r\n imports: [\r\n FormsModule,\r\n ReactiveFormsModule,\r\n NgClass,\r\n NgIf,\r\n TooltipComponent,\r\n DatePickerModule,\r\n PrimeTemplate,\r\n ErrorComponent,\r\n ],\r\n})\r\nexport class DateInputComponent implements OnInit {\r\n protected readonly TooltipHoverEventEnum = TooltipHoverEventEnum;\r\n\r\n _isTooltipVisible!: boolean;\r\n\r\n @Input() isLabelVisible = true;\r\n\r\n @Input() name!: string;\r\n\r\n @Input() label!: string;\r\n\r\n @Input() placeholder = '';\r\n\r\n @Input() accessibilityText = '';\r\n\r\n @Input() isRequired = true;\r\n\r\n @Input() tooltipPosition: TooltipPosition = TooltipPosition.right;\r\n\r\n @Input() tooltipText?: string = '';\r\n\r\n @Input() dateFormat = 'dd.mm.yy';\r\n\r\n @Input() group!: FormGroup;\r\n\r\n @Input() controlName!: string;\r\n\r\n @Input() showIcon = true;\r\n\r\n @Input() selectionMode: SelectionMode = SelectionMode.single;\r\n\r\n @Input() touchUI = false;\r\n\r\n @Input() formStatus?: FormStatusInterface;\r\n\r\n @Input() showClear = false;\r\n\r\n @Input() isPublicDate = true;\r\n\r\n @Input() minDate!: Date | undefined; // Mare: da je možno izbrati datum od danes naprej\r\n @Input() maxDate?: Date | undefined;\r\n\r\n\r\n @Input() minDateToday = false;\r\n\r\n @Input() maxDateSixMonths: boolean = false; // da je možno datum izbirat 6 mesecev vnaprej\r\n @Input() maxDateThreeMonths: boolean = false; // da je možno datum izbirat 3 mesece vnaprej\r\n@Input() maxDateRangeOneYear:boolean= false; // da je možno datum izbirat 1 leto vnaprej\r\n @Input() setMinAndMax = false;\r\n\r\n @Input() hasGap = true;\r\n\r\n @Input() disabledDates!: Date[];\r\n\r\n @Input() appendTo!: string;\r\n\r\n @Input() groupError = false;\r\n\r\n @Input() showTime = false;\r\n\r\n // Mare: dnevi ko ni naročanja\r\n @Input() availableDates: string[] = [];\r\n\r\n // Mare; da je možno ročno nastavit disablane dneve, default ostane SOB, NED\r\n // -1 da ni noben disablan\r\n @Input() disabledDays: number[] = [];\r\n @Input() disabledWeekends: boolean = false;\r\n @Output() onSelect: EventEmitter<Date> = new EventEmitter()\r\n\r\n\r\n ngOnInit(): void {\r\n this._isTooltipVisible = !!this.tooltipText;\r\n\r\n if (this.maxDateSixMonths) {\r\n this.maxDate = this.getDateInSixMonths()\r\n } else if (this.maxDateThreeMonths) {\r\n this.maxDate = this.getDateInThreeMonths();\r\n }\r\n\r\n if (this.disabledWeekends) {\r\n this.disabledDays = [0, 6];\r\n }\r\n\r\n if (this.minDateToday) {\r\n this.minDate = new Date();\r\n }\r\n\r\n if(this.maxDateRangeOneYear){\r\n this.maxDate=this.getDateRangeInYear();\r\n }\r\n\r\n }\r\n\r\n getDateInThreeMonths(): Date {\r\n const currentDate: Date = new Date();\r\n return new Date(currentDate.getFullYear(), currentDate.getMonth() + 3, currentDate.getDate());\r\n }\r\n\r\n getDateFifteenDaysAgo(): Date {\r\n const currentDate: Date = new Date();\r\n currentDate.setDate(currentDate.getDate() - 15);\r\n return currentDate;\r\n }\r\n\r\n getDateInSixMonths(): Date {\r\n const currentDate: Date = new Date();\r\n currentDate.setMonth(currentDate.getMonth() + 6);\r\n return currentDate;\r\n }\r\n getDateRangeUnlimited(): Date {\r\n const currentDate:Date= new Date();\r\n currentDate.setFullYear(currentDate.getFullYear()+10);\r\n return currentDate;\r\n\r\n }\r\n getDateRangeInYear(): Date{\r\n const currentDate:Date= new Date();\r\n currentDate.setFullYear(currentDate.getFullYear()+1);\r\n return currentDate;\r\n }\r\n\r\n\r\n getDateTomorrow(time: string): Date {\r\n const currentTime = new Date();\r\n const [hours, minutes] = time.split(':').map(Number);\r\n return new Date(currentTime.getFullYear(), currentTime.getMonth(), currentTime.getDate() + 1, hours, minutes);\r\n }\r\n\r\n /**\r\n * preverjanje, če je datum znotraj availableDates\r\n */\r\n isAppointmentDateAvailable(date: { day: number, month: number, year: number }): boolean {\r\n const dateString = `${date.year}-${(date.month + 1).toString().padStart(2, '0')}-${date.day.toString().padStart(2, '0')}`;\r\n return this.availableDates.includes(dateString);\r\n }\r\n\r\n protected readonly getTomorrowDate = getTomorrowDate;\r\n}\r\n","<form class='flex flex-column' [formGroup]=\"group\" [ngClass]=\"{ 'gap-1': hasGap }\">\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\r\n <p-datepicker\r\n [class.ng-invalid.ng-dirty]=\"(group.get(controlName)!.errors && (group.get(controlName)!.touched || formStatus!.isSubmitTriggered)) || groupError\"\r\n [appendTo]=\"appendTo\"\r\n *ngIf=\"setMinAndMax\"\r\n [inputId]=\"name\"\r\n (onSelect)=\"onSelect.emit($event)\"\r\n [placeholder]='placeholder'\r\n [dateFormat]=\"dateFormat\"\r\n [showIcon]=\"showIcon\"\r\n [selectionMode]=\"selectionMode\"\r\n [formControlName]=\"controlName\"\r\n [touchUI]=\"touchUI\"\r\n [minDate]=\"minDate || getDateFifteenDaysAgo()\"\r\n [maxDate]=\"maxDate\"\r\n [showClear]=\"showClear\"\r\n (onClear)=\"group.get(controlName)?.reset()\"\r\n [attr.aria-label]=\"accessibilityText\"\r\n [ngClass]=\"{ 'ng-dirty': (group.get(controlName)!.errors && (group.get(controlName)!.touched) || formStatus!.isSubmitTriggered) }\"\r\n [disabledDays]=\"disabledDays\"\r\n [disabledDates]=\"disabledDates\"\r\n [showTime]=\"showTime\"\r\n hourFormat=\"24\"\r\n [attr.aria-describedby]=\"name + 'Error'\"\r\n [attr.aria-invalid]=\"(group.get(controlName)!.errors && (group.get(controlName)!.touched || formStatus!.isSubmitTriggered)) || groupError\"\r\n [attr.aria-required]=\"isRequired\"\r\n >\r\n <!-- Mare; ideja da barva določene dneve (npr. takrat ki ni prostih terminov) -->\r\n <!-- 24.05.2024 Mare; zaenkrat ne potrebujemo več, ker so neprosti dnevi kar disabled -->\r\n <ng-template pTemplate=\"date\" let-date>\r\n <div>{{date.day}}</div>\r\n </ng-template>\r\n </p-datepicker>\r\n\r\n <p-datepicker\r\n [class.ng-invalid.ng-dirty]=\"(group.get(controlName)!.errors && (group.get(controlName)!.touched || formStatus!.isSubmitTriggered)) || groupError\"\r\n [appendTo]=\"appendTo\"\r\n *ngIf=\"!setMinAndMax\"\r\n (onSelect)=\"onSelect.emit($event)\"\r\n [inputId]=\"name\"\r\n [placeholder]='placeholder'\r\n [dateFormat]=\"dateFormat\"\r\n [showIcon]=\"showIcon\"\r\n [selectionMode]=\"selectionMode\"\r\n [formControlName]=\"controlName\"\r\n [touchUI]=\"touchUI\"\r\n [showClear]=\"showClear\"\r\n (onClear)=\"group.get(controlName)?.reset()\"\r\n [ngClass]=\"{ 'ng-dirty': (group.get(controlName)!.errors && (group.get(controlName)!.touched) || formStatus!.isSubmitTriggered) }\"\r\n [attr.aria-label]=\"accessibilityText\"\r\n [disabledDays]=\"disabledDays\"\r\n [disabledDates]=\"disabledDates\"\r\n [showTime]=\"showTime\"\r\n hourFormat=\"24\"\r\n [attr.aria-describedby]=\"name + 'Error'\"\r\n [attr.aria-invalid]=\"(group.get(controlName)!.errors && (group.get(controlName)!.touched || formStatus!.isSubmitTriggered)) || groupError\"\r\n [attr.aria-required]=\"isRequired\"\r\n ></p-datepicker>\r\n</form>\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 [hasGroupError]=\"groupError\"\r\n [errorId]=\"name+'Error'\"\r\n></lib-error>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { FormStatusInterface } from '../../models/interaces/shared/form-status.interface';\r\nimport { TooltipPosition } from '../../models/enums/tooltip/tooltip-position.enum';\r\nimport { TooltipHoverEventEnum } from '../../models/enums/tooltip/tooltip-hover-event.enum';\r\nimport { NgClass, NgIf } from '@angular/common';\r\nimport { TooltipComponent } from '../tooltip/tooltip.component';\r\nimport { ErrorComponent } from '../error/error.component';\r\nimport { TextareaModule } from 'primeng/textarea';\r\n\r\n@Component({\r\n selector: 'lib-textarea[group][controlName][name]',\r\n templateUrl: './textarea.component.html',\r\n styleUrls: ['./textarea.component.scss'],\r\n imports: [\r\n NgClass,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n TextareaModule,\r\n NgIf,\r\n TooltipComponent,\r\n ErrorComponent,\r\n ],\r\n})\r\nexport class TextareaComponent implements OnInit {\r\n _isTooltipVisible!: boolean;\r\n\r\n @Input() name!: string;\r\n\r\n @Input() resize = false;\r\n\r\n @Input() label!: string;\r\n\r\n @Input() placeholder = '';\r\n\r\n @Input() accessibilityText = '';\r\n\r\n @Input() rows = 5;\r\n\r\n @Input() cols = 30;\r\n\r\n @Input() tooltipPosition: TooltipPosition = TooltipPosition.right;\r\n\r\n @Input() tooltipText?: string = '';\r\n\r\n @Input() group!: FormGroup;\r\n\r\n @Input() controlName!: string;\r\n\r\n @Input() isRequired = false;\r\n\r\n @Input() formStatus?: FormStatusInterface;\r\n\r\n @Input() hasGap = true;\r\n\r\n // 2024-03-19; zato da je možno maxlength zaobit v določenih primerih (npr. inline forma na upravni-postopki)\r\n @Input() customMaxLength: number | null = 255;\r\n\r\n ngOnInit(): void {\r\n this._isTooltipVisible = !!this.tooltipText;\r\n }\r\n\r\n protected readonly TooltipHoverEventEnum = TooltipHoverEventEnum;\r\n}\r\n","<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","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { FormStatusInterface } from '../../models/interaces/shared/form-status.interface';\r\nimport { TooltipPosition } from '../../models/enums/tooltip/tooltip-position.enum';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { TooltipHoverEventEnum } from '../../models/enums/tooltip/tooltip-hover-event.enum';\r\nimport { NgIf, NgClass } from '@angular/common';\r\nimport { TooltipComponent } from '../tooltip/tooltip.component';\r\nimport { PrimeTemplate } from 'primeng/api';\r\nimport { MultiSelectModule } from 'primeng/multiselect';\r\nimport { ErrorComponent } from '../error/error.component';\r\nimport { SelectModule } from 'primeng/select';\r\n\r\n@Component({\r\n selector: 'lib-dropdown[group][controlName][name]',\r\n templateUrl: './dropdown.component.html',\r\n styleUrls: ['./dropdown.component.scss'],\r\n imports: [\r\n FormsModule,\r\n ReactiveFormsModule,\r\n NgIf,\r\n TooltipComponent,\r\n SelectModule,\r\n NgClass,\r\n PrimeTemplate,\r\n MultiSelectModule,\r\n ErrorComponent,\r\n ],\r\n})\r\nexport class DropdownComponent implements OnInit {\r\n protected readonly TooltipHoverEventEnum = TooltipHoverEventEnum;\r\n\r\n _isTooltipVisible!: boolean;\r\n\r\n dynamicItemsLabel!: any;\r\n\r\n @Input() name!: string;\r\n\r\n @Input() isMultiselect = false;\r\n\r\n @Input() selectedItemLabel = 'Izbrano število:';\r\n\r\n @Input() group!: FormGroup;\r\n\r\n @Input() controlName!: string;\r\n\r\n @Input() label = '';\r\n\r\n @Input() optionList: object[] = [];\r\n\r\n @Input() optionLabel = 'name';\r\n\r\n @Input() optionalValue = 'value';\r\n\r\n @Input() placeholder = '';\r\n\r\n @Input() accessibilityText = '';\r\n\r\n @Input() filter = true;\r\n\r\n @Input() filterBy = 'name';\r\n\r\n @Input() showClear = true;\r\n\r\n @Input() isRequired = true;\r\n\r\n @Input() tooltipPosition: TooltipPosition = TooltipPosition.right;\r\n\r\n @Input() tooltipText?: string = '';\r\n\r\n @Input() formStatus?: FormStatusInterface;\r\n\r\n @Input() nestedGroup = false;\r\n\r\n @Input() isLoading = false;\r\n\r\n @Input() appendTo!: string;\r\n\r\n @Input() isLabelVisible = true;\r\n\r\n @Input() emptyMessage?: string;\r\n\r\n @Input() virtualScroll: boolean = false;\r\n\r\n @Input() ariaFilterLabel?: string;\r\n\r\n @Input() optionValue?: string;\r\n\r\n @Output() getValueEvent = new EventEmitter();\r\n\r\n constructor(private readonly translateService: TranslateService) {}\r\n\r\n getSelectedValue(event: any): void {\r\n this.getValueEvent.emit(event);\r\n }\r\n\r\n ngOnInit(): void {\r\n this._isTooltipVisible = !!this.tooltipText;\r\n this.dynamicItemsLabel = this.selectedItemLabel + ' {0}';\r\n }\r\n\r\n onClear(): void {\r\n this.group.get(this.controlName)?.setValue(null);\r\n }\r\n\r\n get emptyDropdownMessage(): string {\r\n if (this.emptyMessage) {\r\n return this.emptyMessage;\r\n } else {\r\n return this.translateService.instant('components.dropdown.emptyList');\r\n }\r\n }\r\n\r\n get emptyFilterDropdownMessage(): string {\r\n return this.translateService.instant('components.dropdown.emptyFilterList');\r\n }\r\n}\r\n","<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","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { NgIf } from '@angular/common';\r\nimport { InputSwitch } from 'primeng/inputswitch';\r\nimport { ToggleSwitchModule } from 'primeng/toggleswitch';\r\n\r\n@Component({\r\n selector: 'lib-toggle-switch',\r\n templateUrl: './toggle-switch.component.html',\r\n styleUrls: ['./toggle-switch.component.scss'],\r\n imports: [\r\n NgIf,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n ToggleSwitchModule,\r\n ],\r\n})\r\nexport class ToggleSwitchComponent {\r\n @Input() group!: FormGroup;\r\n\r\n @Input() controlName!: string;\r\n\r\n @Input() isFormElement = true;\r\n\r\n @Input() checked!: boolean;\r\n\r\n @Output() getValueEvent = new EventEmitter();\r\n\r\n @Output() checkedChanged: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n @Input() disabled!: boolean;\r\n\r\n toggleValue($event: any, isForm: boolean): void {\r\n this.getValueEvent.emit($event);\r\n if (!isForm) {\r\n this.handleToggle();\r\n }\r\n }\r\n\r\n changeChecked(newToggleValue: boolean): void {\r\n this.checked = newToggleValue;\r\n this.checkedChanged.emit(this.checked);\r\n }\r\n\r\n handleToggle(): void {\r\n this.changeChecked(false);\r\n }\r\n}\r\n","<div class=\"flex flex-column mt-2\" [formGroup]=\"group\" *ngIf=\"isFormElement\">\r\n <p-toggleswitch\r\n (onChange)=\"toggleValue($event, true)\"\r\n [formControlName]=\"controlName\"\r\n ></p-toggleswitch>\r\n</div>\r\n<div class=\"flex flex-column mt-2\" *ngIf=\"!isFormElement\">\r\n <p-toggleswitch [disabled]=\"disabled\" [(ngModel)]=\"checked\" (onChange)=\"toggleValue($event, false)\"></p-toggleswitch>\r\n</div>\r\n","import { Component, Input } from '@angular/core';\r\nimport { TagColor } from '../../models/enums/tag/tag.enum';\r\nimport { Tag } from 'primeng/tag';\r\n\r\n@Component({\r\n selector: 'lib-tag',\r\n templateUrl: './tag.component.html',\r\n styleUrls: ['./tag.component.scss'],\r\n imports: [Tag],\r\n})\r\nexport class TagComponent {\r\n @Input() tagText!: string;\r\n\r\n @Input() tagColor: TagColor = TagColor.success;\r\n\r\n @Input() rounded = true;\r\n\r\n getColor(): any {\r\n return this.tagColor\r\n }\r\n}\r\n","<p-tag\r\n [value]=\"tagText\"\r\n [severity]=\"getColor()\"\r\n [rounded]=\"rounded\"\r\n></p-tag>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { ButtonColor } from '../../models/enums/button/button-color.enum';\r\nimport { ButtonSize } from '../../models/enums/button/button-size.enum';\r\nimport { Button } from 'primeng/button';\r\n\r\n@Component({\r\n selector: 'lib-icon-button',\r\n templateUrl: './icon-button.component.html',\r\n styleUrls: ['./icon-button.component.scss'],\r\n imports: [Button],\r\n})\r\nexport class IconButtonComponent {\r\n @Input() icon = 'check';\r\n\r\n @Input() disabled = false;\r\n\r\n @Input() color: ButtonColor = ButtonColor.primary;\r\n\r\n // You have the option to add multiple classes, but if you don't add any, the default class will be used instead.\r\n // p-button-raised, p-button-outlined, p-button-text, p-button-rounded\r\n @Input() styleClass = 'p-button-raised';\r\n\r\n @Input() size: ButtonSize = ButtonSize.normal;\r\n\r\n @Output() clickEvent = new EventEmitter();\r\n\r\n click(event: MouseEvent): void {\r\n this.clickEvent.emit(event);\r\n }\r\n}\r\n","<p-button\r\n icon=\"pi pi-{{icon}}\"\r\n styleClass='p-button-{{color}}\r\n {{styleClass}} {{size}}'\r\n [disabled]='disabled'\r\n (click)='click($event)'\r\n></p-button>\r\n","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { TableColumn } from '../../models/interaces/custom-table/custom-table.interface';\r\nimport { InputType } from '../../models/enums/input/input-type.enum';\r\nimport { FormStatusInterface } from '../../models/interaces/shared/form-status.interface';\r\nimport { ButtonColor } from '../../models/enums/button/button-color.enum';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { CaptionColor } from '../../models/enums/table/caption-color.enum';\r\nimport { Table, TableModule } from 'primeng/table';\r\nimport { TagColor } from '../../models/enums/tag/tag.enum';\r\nimport { NgClass, NgIf, NgStyle, NgFor, DatePipe } from '@angular/common';\r\nimport { PrimeTemplate } from 'primeng/api';\r\nimport { ButtonComponent } from '../button/button.component';\r\nimport { InputComponent } from '../input/input.component';\r\nimport { DateInputComponent } from '../date-input/date-input.component';\r\nimport { TextareaComponent } from '../textarea/textarea.component';\r\nimport { TooltipComponent } from '../tooltip/tooltip.component';\r\nimport { DropdownComponent } from '../dropdown/dropdown.component';\r\nimport { ToggleSwitchComponent } from '../toggle-switch/toggle-switch.component';\r\nimport { CheckboxComponent } from '../checkbox/checkbox.component';\r\nimport { TagComponent } from '../tag/tag.component';\r\nimport { IconButtonComponent } from '../icon-button/icon-button.component';\r\nimport { ButtonLinkComponent } from '../button-link/button-link.component';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'lib-custom-table[tableData][tableColumns]',\r\n templateUrl: './custom-table.component.html',\r\n styleUrls: ['./custom-table.component.scss'],\r\n imports: [\r\n TableModule,\r\n NgClass,\r\n NgIf,\r\n PrimeTemplate,\r\n NgStyle,\r\n ButtonComponent,\r\n NgFor,\r\n InputComponent,\r\n DateInputComponent,\r\n TextareaComponent,\r\n TooltipComponent,\r\n DropdownComponent,\r\n ToggleSwitchComponent,\r\n CheckboxComponent,\r\n TagComponent,\r\n IconButtonComponent,\r\n ButtonLinkComponent,\r\n TranslateModule,\r\n DatePipe,\r\n ],\r\n})\r\nexport class CustomTableComponent implements OnInit {\r\n @ViewChild('dt', { static: false }) table!: Table;\r\n\r\n // Table configuration\r\n @Input() tableData!: any;\r\n\r\n @Input() tableColumns: TableColumn[] = [];\r\n\r\n @Input() isPaginatorVisible = false;\r\n\r\n @Input() tableRowCount = 10;\r\n\r\n @Input() scrollable = false;\r\n\r\n @Input() scrollHeight!: string;\r\n\r\n @Input() selectedProducts: any = [];\r\n\r\n @Input() isEditingTable = false;\r\n\r\n @Input() isTableLoading = false;\r\n\r\n @Input() hideColumnsOnMobile = false;\r\n\r\n @Input() tableMinWidth = '15rem';\r\n\r\n @Input() isVirtualScrollButtonVisible: boolean = false;\r\n @Input() isVirtualScroll = false;\r\n @Input() virtualScrollRowSize = 60;\r\n\r\n // Caption\r\n @Input() tableCaption?: string;\r\n\r\n @Input() captionColorClass: CaptionColor = CaptionColor.today;\r\n\r\n @Input() isCaptionButtonVisible = false;\r\n\r\n @Input() captionButtonLabel!: string;\r\n\r\n @Input() captionButtonColor: ButtonColor = ButtonColor.primary;\r\n\r\n @Output() captionButtonClicked = new EventEmitter();\r\n\r\n // Table header\r\n @Input() isTableHeaderVisible = true;\r\n\r\n emptyHeaderColumnList: string[] = [];\r\n\r\n @Input() emptyColumnWidth!: string;\r\n\r\n // Disable switch - toggle\r\n @Input() toggleTableHeaderName!: string;\r\n\r\n @Input() toggleWidth = '100px';\r\n\r\n @Input() toggleTwoTableHeaderName!: string;\r\n\r\n @Input() toggleTwoWidth = '100px';\r\n\r\n @Input() toggleThreeTableHeaderName!: string;\r\n\r\n @Input() toggleThreeWidth = '100px';\r\n\r\n @Input() toggleFourTableHeaderName!: string;\r\n\r\n @Input() toggleFourWidth = '100px';\r\n\r\n // Row color\r\n @Input() rowColor = '';\r\n\r\n // Form stuff\r\n @Input() formGroup!: FormGroup;\r\n\r\n // Input\r\n @Input() type: InputType = InputType.text;\r\n\r\n @Input() formStatus!: FormStatusInterface;\r\n\r\n // Tag\r\n @Input() tagColor: TagColor = TagColor.success;\r\n\r\n // Warning text in first column\r\n @Input() isWarningTextVisible = false;\r\n\r\n // Button column one\r\n @Input() isButtonOneVisible = false;\r\n\r\n @Input() buttonLabel!: string;\r\n\r\n @Input() buttonOneLabel!: string;\r\n\r\n @Input() buttonOneHasIcon!: boolean;\r\n\r\n @Input() buttonOneEditIcon!: string;\r\n\r\n @Input() buttonOneSaveIcon!: string;\r\n\r\n @Input() buttonOneColor!: ButtonColor;\r\n\r\n @Input() buttonOneIcon?: string;\r\n\r\n @Input() isPlainTableIconButtonOne!: boolean;\r\n\r\n @Input() isPlainTableButtonOneLink = false;\r\n\r\n @Output() buttonEditClick = new EventEmitter();\r\n\r\n @Output() buttonSaveClick = new EventEmitter();\r\n\r\n @Output() buttonOneClick = new EventEmitter();\r\n\r\n // Button column two\r\n @Input() isButtonTwoVisible = false;\r\n\r\n @Input() buttonTwoLabel!: string;\r\n\r\n @Input() buttonTwoHasIcon!: boolean;\r\n\r\n @Input() buttonTwoDeleteIcon!: string;\r\n\r\n @Input() buttonTwoCancelIcon!: string;\r\n\r\n @Input() buttonTwoColor!: ButtonColor;\r\n\r\n @Input() buttonTwoIcon!: string;\r\n\r\n @Input() isPlainTableIconButtonTwo!: boolean;\r\n\r\n @Output() buttonDeleteClick = new EventEmitter();\r\n\r\n @Output() buttonTwoClick = new EventEmitter();\r\n\r\n // Deactivate toggle\r\n @Input() isDeactivateToggle = false;\r\n\r\n @Output() toggleSwitch = new EventEmitter();\r\n\r\n @Input() isDeactivateToggleTwo = false;\r\n\r\n @Output() toggleTwoSwitch = new EventEmitter();\r\n\r\n @Input() isDeactivateToggleThree = false;\r\n\r\n @Output() toggleThreeSwitch = new EventEmitter();\r\n\r\n @Input() isDeactivateToggleFour = false;\r\n\r\n @Output() toggleFourSwitch = new EventEmitter();\r\n\r\n @Input() showEllipsisFullText = false;\r\n\r\n @Output() checkboxOne = new EventEmitter();\r\n\r\n textDisplayStates: { [id: string]: boolean } = {};\r\n\r\n overviewList = [\r\n { name: 'Moje naloge', value: 'Item1' },\r\n { name: 'Zapadle naloge', value: 'Item1' },\r\n { name: 'Tuje naloge', value: 'Item1' },\r\n { name: 'Oddane naloge', value: 'Item1' },\r\n ];\r\n\r\n // Editing table - BUTTONS\r\n onRowEdit(event: any): void {\r\n this.table.editingRowKeys = { [event.id]: true };\r\n this.buttonEditClick.emit(event);\r\n }\r\n\r\n onRowSave(event: MouseEvent, htmlTableRowElement: any): void {\r\n this.buttonSaveClick.emit(event);\r\n setTimeout(() => {\r\n this.table.saveRowEdit(event, htmlTableRowElement);\r\n }, 200);\r\n }\r\n\r\n onRowDelete(event: MouseEvent): void {\r\n this.buttonDeleteClick.emit(event);\r\n }\r\n\r\n onRowCancel(event: MouseEvent): void {\r\n this.table.cancelRowEdit(event);\r\n }\r\n\r\n // Caption\r\n clickCaptionButton(event: MouseEvent): void {\r\n this.captionButtonClicked.emit(event);\r\n }\r\n\r\n // Button column one\r\n clickButtonOne(event: MouseEvent): void {\r\n this.buttonOneClick.emit(event);\r\n }\r\n\r\n // Button column one\r\n clickButtonTwo(event: MouseEvent): void {\r\n this.buttonTwoClick.emit(event);\r\n }\r\n\r\n // Deactivate toggle\r\n toggleEnable(event: any): void {\r\n if (!event.$event.checked) {\r\n setTimeout(() => {\r\n this.onRowCancel(event.rowData);\r\n }, 100);\r\n }\r\n this.toggleSwitch.emit(event);\r\n }\r\n\r\n toggleTwoEnable(event: any): void {\r\n if (!event.$event.checked) {\r\n setTimeout(() => {\r\n this.onRowCancel(event.rowData);\r\n }, 100);\r\n }\r\n this.toggleTwoSwitch.emit(event);\r\n }\r\n\r\n toggleThreeEnable(event: any): void {\r\n if (!event.$event.checked) {\r\n setTimeout(() => {\r\n this.onRowCancel(event.rowData);\r\n }, 100);\r\n }\r\n this.toggleThreeSwitch.emit(event);\r\n }\r\n\r\n toggleFourEnable(event: any): void {\r\n if (!event.$event.checked) {\r\n setTimeout(() => {\r\n this.onRowCancel(event.rowData);\r\n }, 100);\r\n }\r\n this.toggleFourSwitch.emit(event);\r\n }\r\n\r\n clickCheckboxOne(event: any, fieldValue: any): void {\r\n this.checkboxOne.emit({ event: event, fieldValue: fieldValue});\r\n }\r\n\r\n // Helper method for nested field structures\r\n getNestedValue(data: any, field: string): any {\r\n if (!field) {\r\n return null;\r\n }\r\n\r\n const fields = field.split('.');\r\n let value = data;\r\n\r\n for (const f of fields) {\r\n // eslint-disable-next-line no-prototype-builtins\r\n if (value && value.hasOwnProperty(f)) {\r\n value = value[f];\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n return value;\r\n }\r\n\r\n isMobile(): boolean {\r\n return window.innerWidth <= 768;\r\n }\r\n\r\n ngOnInit(): void {\r\n const conditions: boolean[] = [this.isButtonOneVisible, this.isButtonTwoVisible];\r\n\r\n conditions.forEach((condition: boolean) => {\r\n if (condition) {\r\n this.emptyHeaderColumnList.push('');\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * da skrije/prikaže poln oz. skrajšan tekst na 50 znakov\r\n * TODO: zaenkrat izpuščeno\r\n */\r\n toggleTextDisplay(rowData: any): void {\r\n if (!this.textDisplayStates.hasOwnProperty(rowData.id)) {\r\n this.textDisplayStates[rowData.id] = false; // default je komplet tekst\r\n }\r\n this.textDisplayStates[rowData.id] = !this.textDisplayStates[rowData.id];\r\n }\r\n\r\n /**\r\n * da skrije/prikaže poln oz. skrajšan tekst na 50 znakov\r\n * TODO: zaenkrat izpuščeno\r\n */\r\n getDisplayText(rowData: any, field: string): string {\r\n const isShortened = this.textDisplayStates[rowData.id];\r\n const text = this.getNestedValue(rowData, field);\r\n if (!isShortened || text.length <= 50) {\r\n return text; // poln text je default\r\n } else {\r\n return text.substring(0, 50) + ' ...'; // skrajšan text\r\n }\r\n }\r\n}\r\n","<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","import { Component } from '@angular/core';\r\nimport { Divider } from 'primeng/divider';\r\n\r\n@Component({\r\n selector: 'lib-divider',\r\n templateUrl: './divider.component.html',\r\n styleUrls: ['./divider.component.scss'],\r\n imports: [Divider],\r\n})\r\nexport class DividerComponent {}\r\n","<p-divider aria-hidden=\"true\"></p-divider>\r\n","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { ButtonColor } from '../../models/enums/button/button-color.enum';\r\nimport { ExpandedTable } from '../../models/enums/expanded-table/expanded-table.enum';\r\nimport { isEmpty } from '../../helpers/is-object-empty.function';\r\nimport { TableColumn } from '../../models/interaces/custom-table/custom-table.interface';\r\nimport { Table, TableModule } from 'primeng/table';\r\nimport { CaptionColor } from '../../models/enums/table/caption-color.enum';\r\nimport { FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { InputType } from '../../models/enums/input/input-type.enum';\r\nimport { FormStatusInterface } from '../../models/interaces/shared/form-status.interface';\r\nimport { NgClass, NgIf, NgFor, NgStyle } from '@angular/common';\r\nimport { PrimeTemplate } from 'primeng/api';\r\nimport { ButtonComponent } from '../button/button.component';\r\nimport { CustomTableComponent } from '../custom-table/custom-table.component';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'lib-expanded-table[tableData]',\r\n templateUrl: './expanded-table.component.html',\r\n styleUrls: ['./expanded-table.component.scss'],\r\n imports: [\r\n TableModule,\r\n NgClass,\r\n NgIf,\r\n PrimeTemplate,\r\n NgFor,\r\n ButtonComponent,\r\n NgStyle,\r\n CustomTableComponent,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n TranslateModule,\r\n ],\r\n})\r\nexport class ExpandedTableComponent implements OnInit {\r\n protected readonly Array = Array;\r\n\r\n protected readonly ButtonColor = ButtonColor;\r\n\r\n protected readonly isEmpty = isEmpty;\r\n\r\n // Main Table configuration\r\n @Input() tableData!: any;\r\n\r\n @Input() tableColumns: TableColumn[] = [];\r\n\r\n @Input() isPaginatorVisible = false;\r\n\r\n @Input() tableRowCount = 10;\r\n\r\n @Input() isEnabledTable = true;\r\n\r\n @Input() scrollable = false;\r\n\r\n @Input() scrollHeight!: string;\r\n\r\n @Input() isTableLoading = false;\r\n\r\n @Input() mainCaptionColorClass?: ExpandedTable;\r\n\r\n @Input() isEditingTable = false;\r\n\r\n @Input() hideColumnsOnMobile = false;\r\n\r\n @Input() innerTableHideColumnsOnMobile = false;\r\n\r\n // Main table data\r\n @Input() tableCaption?: string;\r\n\r\n // Table header\r\n @Input() isTableHeaderVisible = true;\r\n\r\n emptyHeaderColumnList: string[] = [];\r\n\r\n @Input() emptyColumnWidth!: string;\r\n\r\n @Input() rowColor!: string;\r\n\r\n // Main table data - Column one button\r\n @Input() isButtonOneVisible = false;\r\n\r\n @Input() isPlainTableIconButtonOne = false;\r\n\r\n @Input() buttonLabel?: string;\r\n\r\n @Input() buttonOneLabel?: string;\r\n\r\n @Input() buttonOneHasIcon?: boolean;\r\n\r\n @Input() buttonOneColor?: ButtonColor;\r\n\r\n @Input() buttonOneIcon?: string;\r\n\r\n @Output() buttonOneClick = new EventEmitter();\r\n\r\n // Main table data - Column one button\r\n @Input() isButtonTwoVisible = false;\r\n\r\n @Input() buttonTwoLabel?: string;\r\n\r\n @Input() buttonTwoHasIcon?: boolean;\r\n\r\n @Input() buttonTwoColor?: ButtonColor;\r\n\r\n @Input() buttonTwoIcon?: string;\r\n\r\n @Input() isButtonTwoToggle = true;\r\n\r\n @Output() buttonTwoClick = new EventEmitter();\r\n\r\n // Main table data - Arrow\r\n @Input() isArrowToggle = false;\r\n\r\n // Inner table\r\n @ViewChild('dt', { static: false }) table!: Table;\r\n\r\n @Input() innerTableStyle = '';\r\n\r\n // Table configuration\r\n @Input() innerTableColumns: TableColumn[] = [];\r\n\r\n @Input() innerIsPaginatorVisible = false;\r\n\r\n @Input() innerTableRowCount = 10;\r\n\r\n @Input() innerScrollable = false;\r\n\r\n @Input() innerScrollHeight!: string;\r\n\r\n @Input() innerIsEditingTable = false;\r\n\r\n @Input() innerIsTableLoading = false;\r\n\r\n // Caption\r\n @Input() innerTableCaption?: string;\r\n\r\n @Input() innerCaptionColorClass: CaptionColor = CaptionColor.today;\r\n\r\n @Input() innerIsCaptionButtonVisible = false;\r\n\r\n @Input() innerCaptionButtonLabel!: string;\r\n\r\n @Input() innerCaptionButtonColor: ButtonColor = ButtonColor.primary;\r\n\r\n @Output() innerCaptionButtonClicked = new EventEmitter();\r\n\r\n // Table header\r\n @Input() innerIsTableHeaderVisible = true;\r\n\r\n innerEmptyHeaderColumnList: string[] = [];\r\n\r\n @Input() innerEmptyColumnWidth!: string;\r\n\r\n // Disable switch - toggle\r\n @Input() innerToggleTableHeaderName!: string;\r\n\r\n @Input() innerToggleWidth = '100px';\r\n\r\n // Disable switchTwo - toggle\r\n @Input() innerToggleTwoTableHeaderName!: string;\r\n\r\n @Input() innerToggleTwoWidth = '100px';\r\n\r\n @Input() innerToggleThreeTableHeaderName!: string;\r\n\r\n @Input() innerToggleThreeWidth = '100px';\r\n\r\n @Input() innerToggleFourTableHeaderName!: string;\r\n\r\n @Input() innerToggleFourWidth = '100px';\r\n\r\n // Form stuff\r\n @Input() innerFormGroup = new FormGroup({});\r\n\r\n // Input\r\n @Input() innerType: InputType = InputType.text;\r\n\r\n @Input() innerFormStatus!: FormStatusInterface;\r\n\r\n // Button column one\r\n @Input() innerIsButtonOneVisible = false;\r\n\r\n @Input() innerIsPlainTableIconButtonOne = false;\r\n\r\n @Input() innerButtonOneLabel!: string;\r\n\r\n @Input() innerButtonOneHasIcon!: boolean;\r\n\r\n @Input() innerButtonOneEditIcon!: string;\r\n\r\n @Input() innerButtonOneSaveIcon!: string;\r\n\r\n @Input() innerButtonOneColor!: ButtonColor;\r\n\r\n @Input() innerButtonOneIcon?: string;\r\n\r\n @Output() innerButtonEditClick = new EventEmitter();\r\n\r\n @Output() innerButtonSaveClick = new EventEmitter();\r\n\r\n @Output() innerButtonOneClick = new EventEmitter();\r\n\r\n // Button column two\r\n @Input() innerIsButtonTwoVisible = false;\r\n\r\n @Input() innerIsPlainTableIconButtonTwo = false;\r\n\r\n @Input() innerButtonTwoLabel!: string;\r\n\r\n @Input() innerButtonTwoHasIcon!: boolean;\r\n\r\n @Input() innerButtonTwoDeleteIcon!: string;\r\n\r\n @Input() innerButtonTwoCancelIcon!: string;\r\n\r\n @Input() innerButtonTwoColor!: ButtonColor;\r\n\r\n @Input() innerButtonTwoIcon!: string;\r\n\r\n @Output() innerButtonDeleteClick = new EventEmitter();\r\n\r\n @Output() innerButtonTwoClick = new EventEmitter();\r\n\r\n // Deactivate toggle\r\n @Input() innerIsDeactivateToggle = false;\r\n\r\n @Output() innerToggleSwitch = new EventEmitter();\r\n\r\n @Input() innerIsDeactivateToggleTwo = false;\r\n\r\n @Output() innerToggleTwoSwitch = new EventEmitter();\r\n\r\n @Input() innerIsDeactivateToggleThree = false;\r\n\r\n @Output() innerToggleThreeSwitch = new EventEmitter();\r\n\r\n @Input() innerIsDeactivateToggleFour = false;\r\n\r\n @Output() innerToggleFourSwitch = new EventEmitter();\r\n\r\n // Main table functions\r\n clickButtonOne(event: MouseEvent): void {\r\n this.buttonOneClick.emit(event);\r\n }\r\n\r\n clickButtonTwo(event: MouseEvent): void {\r\n this.buttonTwoClick.emit(event);\r\n }\r\n\r\n // Inner Editing table - BUTTONS\r\n onRowEdit(event: any): void {\r\n this.table.editingRowKeys = { [event.id]: true };\r\n this.innerButtonEditClick.emit(event);\r\n }\r\n\r\n onRowSave(event: MouseEvent, htmlTableRowElement: any): void {\r\n this.innerButtonSaveClick.emit(event);\r\n setTimeout(() => {\r\n this.table.saveRowEdit(event, htmlTableRowElement);\r\n }, 200);\r\n }\r\n\r\n onRowDelete(event: MouseEvent): void {\r\n this.innerButtonDeleteClick.emit(event);\r\n }\r\n\r\n onRowCancel(event: MouseEvent): void {\r\n this.table.cancelRowEdit(event);\r\n }\r\n\r\n // Inner Caption\r\n clickInnerCaptionButton(event: MouseEvent): void {\r\n this.innerCaptionButtonClicked.emit(event);\r\n }\r\n\r\n // Inner Button column one\r\n clickInnerButtonOne(event: MouseEvent): void {\r\n this.innerButtonOneClick.emit(event);\r\n }\r\n\r\n // Inner Button column one\r\n clickInnerButtonTwo(event: MouseEvent): void {\r\n this.innerButtonTwoClick.emit(event);\r\n }\r\n\r\n // Deactivate toggle\r\n toggleEnable(event: any): void {\r\n if (!event.$event.checked) {\r\n setTimeout(() => {\r\n this.onRowCancel(event.rowData);\r\n }, 100);\r\n }\r\n this.innerToggleSwitch.emit(event);\r\n }\r\n\r\n toggleTwoEnable(event: any): void {\r\n if (!event.$event.checked) {\r\n setTimeout(() => {\r\n this.onRowCancel(event.rowData);\r\n }, 100);\r\n }\r\n this.innerToggleTwoSwitch.emit(event);\r\n }\r\n\r\n toggleThreeEnable(event: any): void {\r\n if (!event.$event.checked) {\r\n setTimeout(() => {\r\n this.onRowCancel(event.rowData);\r\n }, 100);\r\n }\r\n this.innerToggleThreeSwitch.emit(event);\r\n }\r\n\r\n toggleFourEnable(event: any): void {\r\n if (!event.$event.checked) {\r\n setTimeout(() => {\r\n this.onRowCancel(event.rowData);\r\n }, 100);\r\n }\r\n this.innerToggleFourSwitch.emit(event);\r\n }\r\n\r\n // Helper method for nested field structures\r\n getNestedValue(data: any, field: string): any {\r\n if (!field) {\r\n return null;\r\n }\r\n\r\n const fields = field.split('.');\r\n let value = data;\r\n\r\n for (const f of fields) {\r\n // eslint-disable-next-line no-prototype-builtins\r\n if (value && value.hasOwnProperty(f)) {\r\n value = value[f];\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n return value;\r\n }\r\n\r\n isMobile(): boolean {\r\n return window.innerWidth <= 768;\r\n }\r\n\r\n ngOnInit(): void {\r\n // If there is button just add it to the end of header list array\r\n const conditions: boolean[] = [\r\n this.isButtonOneVisible,\r\n this.isButtonTwoVisible,\r\n this.isArrowToggle,\r\n ];\r\n\r\n conditions.forEach((condition: boolean) => {\r\n if (condition) {\r\n this.emptyHeaderColumnList.push('');\r\n }\r\n });\r\n\r\n const conditionsInner: boolean[] = [this.innerIsButtonOneVisible, this.innerIsButtonTwoVisible];\r\n\r\n conditionsInner.forEach(condition => {\r\n if (condition) {\r\n this.innerEmptyHeaderColumnList.push('');\r\n }\r\n });\r\n }\r\n}\r\n","<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 [ngClass]=\"mainCaptionColorClass\"\r\n dataKey=\"id\"\r\n [loading]=\"isTableLoading\"\r\n>\r\n <ng-template pTemplate=\"caption\" *ngIf=\"!!tableCaption\">{{ tableCaption }}</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\r\n </ng-container>\r\n <th *ngFor=\"let _ of emptyHeaderColumnList\" scope=\"col\" [style.width]=\"emptyColumnWidth\"></th>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-rowData let-expanded=\"expanded\">\r\n <tr [ngClass]=\"rowColor\">\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]=\"isEditingTable && !rowData?.isEnabled\">\r\n {{ column.suffix ? getNestedValue(rowData, column.field) + ' ' + column.suffix : getNestedValue(rowData, column.field) }}\r\n </td>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <!-- Main table - Button column one -->\r\n <ng-container *ngIf=\"isButtonOneVisible\">\r\n <td [class.disabled-row]=\"isEditingTable && !rowData?.isEnabled\">\r\n <lib-button\r\n [label]=\"buttonOneLabel!\"\r\n [hasIcon]=\"buttonOneHasIcon!\"\r\n [color]=\"buttonOneColor!\"\r\n [icon]=\"buttonOneIcon!\"\r\n (click)=\"clickButtonOne(rowData)\"\r\n ></lib-button>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Main table - Button column two -->\r\n <ng-container *ngIf=\"isButtonTwoVisible\">\r\n <td [class.disabled-row]=\"isEditingTable && !rowData?.isEnabled\">\r\n <lib-button\r\n [pRowToggler]=\"isButtonTwoToggle ? rowData : null\"\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 </td>\r\n </ng-container>\r\n\r\n <!-- Main table - Button column three - Arrow -->\r\n <ng-container *ngIf=\"isArrowToggle\">\r\n <td [ngStyle]=\"{ 'width': '20px' }\">\r\n <i class=\"pi\" [ngClass]=\"expanded ? 'pi pi-chevron-up' : 'pi pi-chevron-down'\"\r\n [pRowToggler]=\"!rowData['isEnabled'] ? null : rowData\"></i>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </ng-template>\r\n\r\n <!-- Inner table-->\r\n <ng-template pTemplate=\"rowexpansion\" let-rowData>\r\n <tr>\r\n <td colspan=\"7\">\r\n <lib-custom-table\r\n #dt\r\n #htmlTableRowElement\r\n [tableData]=\"rowData.other\"\r\n [tableColumns]=\"innerTableColumns\"\r\n [isPaginatorVisible]=\"innerIsPaginatorVisible\"\r\n [tableRowCount]=\"innerTableRowCount\"\r\n [isEditingTable]=\"innerIsEditingTable\"\r\n [isTableLoading]=\"innerIsTableLoading\"\r\n [scrollable]=\"true\"\r\n [hideColumnsOnMobile]=\"innerTableHideColumnsOnMobile\"\r\n tableMinWidth=\"10rem\"\r\n\r\n [tableCaption]=\"innerTableCaption\"\r\n [captionColorClass]=\"innerCaptionColorClass\"\r\n [isCaptionButtonVisible]=\"innerIsCaptionButtonVisible\"\r\n [captionButtonColor]=\"innerCaptionButtonColor\"\r\n (captionButtonClicked)=\"clickInnerCaptionButton($event)\"\r\n\r\n [isTableHeaderVisible]=\"innerIsTableHeaderVisible\"\r\n [emptyColumnWidth]=\"innerEmptyColumnWidth\"\r\n\r\n [toggleTableHeaderName]=\"innerToggleTableHeaderName\"\r\n [toggleWidth]=\"innerToggleWidth\"\r\n\r\n [toggleTwoTableHeaderName]=\"innerToggleTwoTableHeaderName\"\r\n [toggleTwoWidth]=\"innerToggleTwoWidth\"\r\n\r\n [toggleThreeTableHeaderName]=\"innerToggleThreeTableHeaderName\"\r\n [toggleThreeWidth]=\"innerToggleThreeWidth\"\r\n\r\n [toggleFourTableHeaderName]=\"innerToggleFourTableHeaderName\"\r\n [toggleFourWidth]=\"innerToggleFourWidth\"\r\n\r\n [formGroup]=\"innerFormGroup\"\r\n\r\n [type]=\"innerType\"\r\n [formStatus]=\"innerFormStatus\"\r\n\r\n [isButtonOneVisible]=\"innerIsButtonOneVisible\"\r\n [isPlainTableIconButtonOne]=\"innerIsPlainTableIconButtonOne\"\r\n [buttonOneLabel]=\"innerButtonOneLabel\"\r\n [buttonOneHasIcon]=\"innerButtonOneHasIcon\"\r\n [buttonOneEditIcon]=\"innerButtonOneEditIcon\"\r\n [buttonOneSaveIcon]=\"innerButtonOneSaveIcon\"\r\n [buttonOneColor]=\"innerButtonOneColor\"\r\n [buttonOneIcon]=\"innerButtonOneIcon\"\r\n (buttonEditClick)=\"onRowEdit($event)\"\r\n (buttonSaveClick)=\"onRowSave($event, htmlTableRowElement)\"\r\n (buttonOneClick)=\"clickInnerButtonOne($event)\"\r\n\r\n [isButtonTwoVisible]=\"innerIsButtonTwoVisible\"\r\n [isPlainTableIconButtonTwo]=\"innerIsPlainTableIconButtonTwo\"\r\n [buttonTwoLabel]=\"innerButtonTwoLabel\"\r\n [buttonTwoHasIcon]=\"innerButtonTwoHasIcon\"\r\n [buttonTwoDeleteIcon]=\"innerButtonTwoDeleteIcon\"\r\n [buttonTwoCancelIcon]=\"innerButtonTwoCancelIcon\"\r\n [buttonTwoColor]=\"innerButtonTwoColor\"\r\n [buttonTwoIcon]=\"innerButtonTwoIcon\"\r\n (buttonDeleteClick)=\"onRowDelete($event)\"\r\n (buttonTwoClick)=\"clickInnerButtonTwo($event)\"\r\n\r\n [isDeactivateToggle]=\"innerIsDeactivateToggle\"\r\n (toggleSwitch)=\"toggleEnable($event)\"\r\n\r\n [isDeactivateToggleTwo]=\"innerIsDeactivateToggleTwo\"\r\n (toggleTwoSwitch)=\"toggleTwoEnable($event)\"\r\n\r\n [isDeactivateToggleThree]=\"innerIsDeactivateToggleThree\"\r\n (toggleThreeSwitch)=\"toggleThreeEnable($event)\"\r\n\r\n [isDeactivateToggleFour]=\"innerIsDeactivateToggleFour\"\r\n (toggleFourSwitch)=\"toggleFourEnable($event)\"\r\n ></lib-custom-table>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n</p-table>\r\n\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output\r\n} from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { TranslateModule, TranslateService } from '@ngx-translate/core';\r\nimport { BadgeModule } from 'primeng/badge';\r\nimport { ButtonModule } from 'primeng/button';\r\nimport { ChipModule } from 'primeng/chip';\r\nimport { PrimeNG } from 'primeng/config';\r\nimport { FileUploadModule } from 'primeng/fileupload';\r\nimport { InputTextModule } from 'primeng/inputtext';\r\nimport { MenubarModule } from 'primeng/menubar';\r\nimport { OverlayBadgeModule } from 'primeng/overlaybadge';\r\nimport { NalogaDTO } from '../../models/nalogaDTO';\r\nimport { ButtonColor } from '../../models/enums/button/button-color.enum';\r\nimport { ButtonSize } from '../../models/enums/button/button-size.enum';\r\nimport { ButtonComponent } from '../button/button.component';\r\nimport { SharedMessageService } from '../../services/shared-message.service';\r\n@Component({\r\n selector: 'app-file-upload',\r\n imports: [\r\n InputTextModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n BadgeModule,\r\n FileUploadModule,\r\n ButtonModule,\r\n ButtonComponent,\r\n OverlayBadgeModule,\r\n CommonModule,\r\n TranslateModule,\r\n MenubarModule,\r\n ChipModule,\r\n ],\r\n templateUrl: './file-upload.component.html',\r\n styleUrl: './file-upload.component.scss',\r\n})\r\nexport class FileUploadComponent {\r\n protected readonly ButtonSize = ButtonSize;\r\n protected readonly ButtonColor = ButtonColor;\r\n\r\n @Input() uploadedFiles: { id: number; name: string; }[] = [];\r\n @Input() maxFileSize: number = 10000000;\r\n @Input() totalMaxFileSize: number = 20000000;\r\n @Input() disabled: boolean = false;\r\n @Input() acceptFiles: string | undefined = undefined;\r\n @Input() multiple: boolean = true;\r\n\r\n @Output() onSaveFile: EventEmitter<File[]> = new EventEmitter();\r\n @Output() onDelete: EventEmitter<number> = new EventEmitter();\r\n @Output() onDownload: EventEmitter<{ id: number; name: string }> =\r\n new EventEmitter();\r\n\r\n @Output() valid: EventEmitter<boolean> = new EventEmitter();\r\n\r\n // File upload\r\n fileList: File[] = [];\r\n totalSize: number = 0;\r\n index: number = 0;\r\n totalSizePercent: number = 0;\r\n selectedNaloga: NalogaDTO | undefined;\r\n\r\n constructor(\r\n private config: PrimeNG,\r\n private sharedMessageService: SharedMessageService,\r\n private translateService: TranslateService\r\n ) {}\r\n\r\n\r\n onSelectedFiles(event: any) {\r\n this.fileList = event.currentFiles;\r\n this.onSaveFile.emit(this.fileList);\r\n this.calculateFileSize();\r\n }\r\n\r\n delete(fileId: number): void {\r\n this.onDelete.emit(fileId);\r\n }\r\n\r\n formatSize(bytes: any) {\r\n const k = 1024;\r\n const dm = 3;\r\n const sizes = this.config.translation.fileSizeTypes ?? [];\r\n if (bytes === 0) {\r\n return `0 ${sizes[0] ?? ''}`;\r\n }\r\n\r\n const i = Math.floor(Math.log(bytes) / Math.log(k));\r\n const formattedSize = parseFloat((bytes / Math.pow(k, i)).toFixed(dm));\r\n\r\n return `${formattedSize} ${sizes[i] ?? ''}`;\r\n }\r\n\r\n choose(event: any, callback: any) {\r\n callback();\r\n }\r\n\r\n remove(event: any): void {\r\n this.fileList = [...this.fileList.filter(f => f.name !== event.file.name)];\r\n this.onSaveFile.emit(this.fileList);\r\n this.calculateFileSize();\r\n }\r\n\r\n onRemoveTemplatingFile(event: any, priloga: any, removeFileCallback: any, index: any) {\r\n removeFileCallback(event, index);\r\n this.totalSize -= this.totalSize -= parseInt(this.formatSize(priloga.size));\r\n this.totalSizePercent = this.totalSize / 10;\r\n }\r\n\r\n downloadFile(id: number, name: string): void {\r\n this.onDownload.emit({ id, name});\r\n }\r\n\r\n onClearTemplatingUpload() {\r\n this.fileList = [];\r\n this.onSaveFile.emit([]);\r\n this.totalSize = 0;\r\n this.totalSizePercent = 0;\r\n }\r\n\r\n private calculateFileSize(): void {\r\n this.totalSize = 0;\r\n this.fileList.forEach((priloga: any) => {\r\n this.totalSize += parseInt(priloga.size);\r\n });\r\n\r\n if (this.totalMaxFileSize < this.totalSize) {\r\n this.sharedMessageService.errorMessage( this.translateService.instant(\"components.fileUpload.invalidTotalFileSize\") + \" \" + (this.totalMaxFileSize / 1000000) + \"mb\");\r\n this.valid.emit(false);\r\n } else {\r\n this.valid.emit(true)\r\n }\r\n\r\n this.totalSizePercent = this.totalSize / 10;\r\n }\r\n}\r\n"," <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 priloga.name\r\n }}</span>\r\n </div>\r\n <div class=\"flex align-items-center\">\r\n <p-badge value=\"Zaključen\" badgeSize=\"small\" severity=\"success\" />\r\n <p-button\r\n (click)=\"downloadFile(priloga.id, priloga.name)\"\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 <p-button\r\n [disabled]=\"disabled\"\r\n (click)=\"removeFileCallback()\"\r\n (click)=\"delete(priloga.id)\"\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","import { CommonModule } from '@angular/common';\r\nimport { Component, Input } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { ChipModule } from 'primeng/chip';\r\nimport { InputTextModule } from 'primeng/inputtext';\r\nimport { MenubarModule } from 'primeng/menubar';\r\n\r\n@Component({\r\n selector: 'app-filter-header',\r\n imports: [\r\n InputTextModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n CommonModule,\r\n MenubarModule,\r\n ChipModule,\r\n ],\r\n templateUrl: './filter-header.component.html',\r\n styleUrl: './filter-header.component.scss',\r\n})\r\nexport class FilterHeaderComponent {\r\n\r\n @Input() filterItems: string[] = [];\r\n\r\n constructor() {}\r\n\r\n}\r\n","<!-- app.component.html -->\r\n\r\n<p-menubar class=\"accordion_menubar \">\r\n <ng-template pTemplate=\"start\">\r\n <div class=\"filter-chips\" >\r\n <p-chip\r\n *ngFor=\"let item of filterItems\"\r\n [label]=\"item\"\r\n styleClass=\"filter-chip\">\r\n </p-chip>\r\n </div>\r\n </ng-template>\r\n</p-menubar>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { MessageService } from 'primeng/api';\r\nimport { TranslateService, TranslateModule } from '@ngx-translate/core';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'lib-footer',\r\n templateUrl: './footer.component.html',\r\n styleUrls: ['./footer.component.scss'],\r\n imports: [TranslateModule],\r\n})\r\nexport class FooterComponent {\r\n @Input() version!: string;\r\n\r\n constructor(\r\n private readonly messageService: MessageService,\r\n private readonly translateService: TranslateService,\r\n private router: Router\r\n ) {}\r\n\r\n\r\n /**\r\n * @deprecated\r\n * @see openPersonalDataInfo()\r\n */\r\n openGdpr(event: any): void {\r\n event.preventDefault();\r\n\r\n this.messageService.add({\r\n key: 'notification',\r\n severity: 'info',\r\n summary: this.translateService?.instant('components.footer.modal.GDPR'),\r\n });\r\n }\r\n\r\n /**\r\n * ES-267 odpre stran z obvestilom glede osebnih podatkov\r\n * @param event\r\n */\r\n openPersonalDataInfo(event: any): void {\r\n event.preventDefault();\r\n const url: string = window.location.href;\r\n const organisation: string = url.split('/')[3];\r\n const language: string = url.split('/')[4];\r\n this.router.navigateByUrl(`${organisation}/${language}/obvestilo-glede-osebnih-podatkov`);\r\n }\r\n\r\n openAccessibilityInfo(event: any): void {\r\n event.preventDefault();\r\n const url: string = window.location.href;\r\n const organisation: string = url.split('/')[3];\r\n const language: string = url.split('/')[4];\r\n this.router.navigateByUrl(`${organisation}/${language}/izjava-o-dostopnosti`);\r\n }\r\n}\r\n","<footer class=\"footer\">\r\n <div class=\"footer-logo-list\">\r\n <p class=\"container text-white\">{{ 'components.footer.version' | translate }}: {{ version }}</p>\r\n </div>\r\n</footer>\r\n","import { Component, EventEmitter, Input, OnInit, Output, TemplateRef } from \"@angular/core\";\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Observable, of } from \"rxjs\";\r\nimport { TableModule } from \"primeng/table\";\r\nimport { PrimeTemplate } from \"primeng/api\";\r\nimport { NgFor, NgIf } from \"@angular/common\";\r\nimport { FormsModule } from \"@angular/forms\";\r\nimport { InputText } from \"primeng/inputtext\";\r\nimport { SelectModule } from 'primeng/select';\r\n\r\n@Component({\r\n selector: 'app-generic-table',\r\n templateUrl: './generic-table.component.html',\r\n styleUrls: ['./generic-table.component.scss'],\r\n imports: [TableModule, PrimeTemplate, NgFor, NgIf, FormsModule, InputText, SelectModule]\r\n})\r\nexport class GenericTableComponent implements OnInit {\r\n constructor(private translateService: TranslateService) {}\r\n\r\n // stolpci tabele\r\n @Input() columns: {\r\n field: string; // id polja za referenco\r\n header: string; // ime polja za prikaz\r\n selectable?: boolean; // true: pokaže checkbox (to daš pri prvem polju, npr. id)\r\n filterType?: string; // filtriranje, iskanje zapisov: text oz. dropdown\r\n options?: any; // filtriranje, iskanje zapisov: če je dropdown opcija je tukaj zaloga vrednosti\r\n placeholder?: string; // placeholder ki je zapisan v filtru\r\n }[] = [];\r\n // podatki tabele\r\n @Input() data: any[] = [];\r\n // ali prikaže filtre: privzeto v vrstici pod imeni stolpcev\r\n @Input() filtersEnabled: boolean = true;\r\n // sporočilo ki se pokaže v body tabele, če filtriranje, iskanje ne najde nič\r\n @Input() emptyMessage: string = '';\r\n // TODO: tole je, da bi lahko customiziral body tabele - ne deluje\r\n @Input() customBodyTemplate: TemplateRef<any> | null = null;\r\n\r\n // za checked vrstice\r\n private _selectedRows: any[] = [];\r\n @Input()\r\n get selectedRows(): any[] {\r\n return this._selectedRows;\r\n }\r\n set selectedRows(value: any[]) {\r\n this._selectedRows = value;\r\n this.selectedRowsChange.emit(this._selectedRows); // Emitiramo dogodek ob spremembi\r\n }\r\n\r\n @Output() selectedRowsChange = new EventEmitter<any[]>(); // Dogodek za dvosmerno vezavo\r\n\r\n ngOnInit(): void {\r\n if (!this.emptyMessage) {\r\n this.emptyMessage = this.translateService.instant('errors.table.noData');\r\n }\r\n }\r\n\r\n get globalFilterFields(): string[] {\r\n return this.columns.map(c => c.field);\r\n }\r\n\r\n clearOnEscape(event: KeyboardEvent, filter: (value: any) => void): void {\r\n if (event.key === 'Escape') {\r\n filter(''); // Počisti vrednost filtra\r\n (event.target as HTMLInputElement).value = ''; // Počisti vrednost vnosnega polja\r\n event.preventDefault(); // Prepreči privzeto vedenje\r\n }\r\n }\r\n\r\n // Inicializacija stolpcev (z možnostjo prevodov)\r\n initializeColumns(columnsConfig: { field: string; headerKey: string; filterType?: string; options?: any }[]): void {\r\n this.columns = columnsConfig.map(col => ({\r\n ...col,\r\n header: this.translateService.instant(col.headerKey),\r\n }));\r\n }\r\n\r\n}\r\n","<p-table\r\n [value]=\"data\"\r\n [globalFilterFields]=\"globalFilterFields\"\r\n class=\"p-datatable-gridlines\"\r\n [(selection)]=\"selectedRows\"\r\n>\r\n <!-- header tabele -->\r\n <ng-template pTemplate=\"header\">\r\n <!-- header vrstica kjer so imena fieldov -->\r\n <tr>\r\n <th *ngFor=\"let col of columns\">\r\n <ng-container *ngIf=\"col.selectable; else regularHeader\">\r\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\r\n </ng-container>\r\n <ng-template #regularHeader>\r\n {{ col.header }}\r\n </ng-template>\r\n </th>\r\n </tr>\r\n <!-- filter vrstica kjer so vsi filtri -->\r\n <tr *ngIf=\"filtersEnabled\">\r\n <th *ngFor=\"let col of columns\">\r\n <!-- text filter -->\r\n <ng-container *ngIf=\"col.filterType === 'text'\">\r\n <p-columnFilter\r\n [field]=\"col.field\"\r\n [type]=\"'text'\"\r\n [showMenu]=\"false\"\r\n [placeholder]=\"col.placeholder || col.header\"\r\n [matchMode]=\"'contains'\"\r\n >\r\n <ng-template pTemplate=\"filter\" let-value let-filter=\"filterCallback\">\r\n <input\r\n pInputText\r\n type=\"text\"\r\n [ngModel]=\"value\"\r\n (ngModelChange)=\"filter($event)\"\r\n (keydown)=\"clearOnEscape($event, filter)\"\r\n [placeholder]=\"col.placeholder || col.header\"\r\n />\r\n </ng-template>\r\n </p-columnFilter>\r\n </ng-container>\r\n\r\n <!-- dropdown filter -->\r\n <ng-container *ngIf=\"col.filterType === 'dropdown'\">\r\n <p-columnFilter [field]=\"col.field\" [showMenu]=\"false\">\r\n <ng-template pTemplate=\"filter\" let-value let-filter=\"filterCallback\">\r\n <p-select\r\n [ngModel]=\"value\"\r\n [options]=\"col.options\"\r\n (onChange)=\"filter($event.value)\"\r\n placeholder=\"{{ col.placeholder || col.header }}\"\r\n [showClear]=\"true\"\r\n ></p-select>\r\n </ng-template>\r\n </p-columnFilter>\r\n </ng-container>\r\n </th>\r\n </tr>\r\n\r\n </ng-template>\r\n\r\n <!-- body tabele -->\r\n <ng-template pTemplate=\"body\" let-rowData>\r\n <tr>\r\n <td *ngFor=\"let col of columns\">\r\n <ng-container *ngIf=\"col.selectable; else regularCell\">\r\n <p-tableCheckbox [value]=\"rowData\"></p-tableCheckbox>\r\n </ng-container>\r\n <ng-template #regularCell>\r\n <ng-container *ngIf=\"!customBodyTemplate; else customBody\">\r\n {{ rowData[col.field] }}\r\n </ng-container>\r\n </ng-template>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n\r\n\r\n\r\n <!-- TODO: tale del z $implicit: rowData ne deluje, meče errorje -->\r\n <ng-template #customBody>\r\n<!-- <ng-container *ngTemplateOutlet=\"customBodyTemplate; context: { $implicit: rowData }\"></ng-container>-->\r\n </ng-template>\r\n\r\n <!-- empty message: če ni podatkov -->\r\n <ng-template pTemplate=\"emptymessage\">\r\n <tr class=\"empty-message\">\r\n <td [attr.colspan]=\"columns.length\">{{ emptyMessage }}</td>\r\n </tr>\r\n </ng-template>\r\n</p-table>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { InputType } from '../../models/enums/input/input-type.enum';\r\nimport { FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { TooltipPosition } from '../../models/enums/tooltip/tooltip-position.enum';\r\nimport { FormStatusInterface } from '../../models/interaces/shared/form-status.interface';\r\nimport { TooltipHoverEventEnum } from '../../models/enums/tooltip/tooltip-hover-event.enum';\r\nimport { NgClass, NgIf } from '@angular/common';\r\nimport { TooltipComponent } from '../tooltip/tooltip.component';\r\nimport { InputMask } from 'primeng/inputmask';\r\nimport { ErrorComponent } from '../error/error.component';\r\n\r\n@Component({\r\n selector: 'lib-input-mask',\r\n templateUrl: './input-mask.component.html',\r\n styleUrls: ['./input-mask.component.scss'],\r\n imports: [\r\n FormsModule,\r\n ReactiveFormsModule,\r\n NgClass,\r\n NgIf,\r\n TooltipComponent,\r\n InputMask,\r\n ErrorComponent,\r\n ],\r\n})\r\nexport class InputMaskComponent implements OnInit {\r\n protected readonly TooltipHoverEventEnum = TooltipHoverEventEnum;\r\n\r\n _isTooltipVisible!: boolean;\r\n\r\n @Input() name!: string;\r\n\r\n @Input() type: InputType = InputType.text;\r\n\r\n @Input() label!: string;\r\n\r\n @Input() placeholder!: string;\r\n\r\n @Input() accessibilityText = '';\r\n\r\n @Input() group!: FormGroup;\r\n\r\n @Input() controlName!: string;\r\n\r\n @Input() isRequired = true;\r\n\r\n @Input() tooltipPosition: TooltipPosition = TooltipPosition.right;\r\n\r\n @Input() tooltipText?: string = '';\r\n\r\n @Input() formStatus?: FormStatusInterface;\r\n\r\n @Input() groupError = false;\r\n\r\n @Input() hasGap = true;\r\n\r\n @Input() mask!: string;\r\n\r\n ngOnInit(): void {\r\n this._isTooltipVisible = !!this.tooltipText;\r\n }\r\n}\r\n","<div class=\"flex flex-column\" [formGroup]=\"group\" [ngClass]=\"{ 'gap-1': hasGap }\">\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 <p-inputMask\r\n [inputId]=\"name\"\r\n [formControlName]=\"controlName\"\r\n [mask]=\"mask\"\r\n [placeholder]='placeholder'\r\n [attr.aria-label]=\"accessibilityText\"\r\n [ngClass]=\"{ 'ng-dirty ng-invalid': (group.get(controlName)!.errors && (group.get(controlName)!.touched || formStatus!.isSubmitTriggered)) || groupError }\"\r\n [attr.aria-describedby]=\"name + 'Error'\"\r\n [attr.aria-invalid]=\"(group.get(controlName)!.errors && (group.get(controlName)!.touched || formStatus!.isSubmitTriggered)) || groupError\"\r\n [attr.aria-required]=\"isRequired\"\r\n ></p-inputMask>\r\n</div>\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 [hasGroupError]=\"groupError\"\r\n [errorId]=\"name+'Error'\"\r\n></lib-error>\r\n","import { Component } from '@angular/core';\r\nimport { ProgressSpinner } from 'primeng/progressspinner';\r\n\r\n@Component({\r\n selector: 'lib-loader',\r\n templateUrl: './loader.component.html',\r\n styleUrls: ['./loader.component.scss'],\r\n imports: [ProgressSpinner]\r\n})\r\nexport class LoaderComponent {\r\n\r\n}\r\n","<p-progressSpinner strokeWidth=\"5\" animationDuration=\"2.5s\"></p-progressSpinner>\r\n","import { Component, HostListener, Input } from '@angular/core';\r\nimport { NavbarLinkList } from '../../models/interaces/navbar/navbar-link-list.interface';\r\nimport { Button } from 'primeng/button';\r\nimport { NgClass, NgIf, NgFor, UpperCasePipe } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'lib-main-menu',\r\n templateUrl: './main-menu.component.html',\r\n styleUrls: ['./main-menu.component.scss'],\r\n imports: [\r\n Button,\r\n NgClass,\r\n NgIf,\r\n NgFor,\r\n UpperCasePipe,\r\n ],\r\n})\r\nexport class MainMenuComponent {\r\n openNavigation = false;\r\n\r\n @Input() navLinkList!: NavbarLinkList[];\r\n\r\n @Input() buttonTitle = 'Vsebine';\r\n\r\n @Input() mainMenuTitle = 'Področja';\r\n\r\n /**\r\n * toggle menu\r\n */\r\n openMenu(): void {\r\n this.openNavigation = !this.openNavigation;\r\n }\r\n\r\n /**\r\n * Listen to all clickEvents and if menu is open, and you click outside the menu or toggle-menu-button the close menu\r\n * @param event MouseEvent, click\r\n */\r\n @HostListener('document:click', ['$event'])\r\n onClick(event: MouseEvent): void {\r\n if (this.openNavigation) {\r\n const menuContainer = document.querySelector('.menu-container');\r\n const navContainer = document.getElementById('toggle-menu-button');\r\n if (\r\n menuContainer &&\r\n navContainer &&\r\n !menuContainer.contains(event.target as Node) &&\r\n !navContainer.contains(event.target as Node)\r\n ) {\r\n this.openNavigation = false;\r\n }\r\n }\r\n }\r\n}\r\n","<nav class=\"navigation flex align-items-center\">\r\n <div class=\"nav-container\">\r\n <p-button id=\"toggle-menu-button\" aria-label=\"Click to open\" [ngClass]=\"{'openNavStyle': openNavigation}\"\r\n [label]=\"buttonTitle\"\r\n icon=\"pi pi-chevron-{{openNavigation ? 'up' : 'down'}}\" iconPos=\"right\" styleClass=\"p-button-text\"\r\n (click)=\"openMenu()\"></p-button>\r\n </div>\r\n</nav>\r\n\r\n<div *ngIf=\"openNavigation\" class=\"menu-container flex justify-content-center\" aria-expanded=\"true\">\r\n <div class=\"container grid p-0 m-0\">\r\n <h5 class=\"text-lg font-normal col-12 mb-3\">{{ mainMenuTitle | uppercase}}</h5>\r\n <div class=\"footer-links col-12 md:col-6 lg:col-4 xl:col-2\" *ngFor=\"let navColumn of navLinkList\">\r\n <ul>\r\n <li class=\"pb-1\" *ngFor=\"let link of navColumn.columnLinkList\">\r\n <span class=\"arrow-link\"></span><a href=\"#\" class=\"link\">{{ link }}</a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n</div>\r\n","import { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges, TemplateRef } from '@angular/core';\r\nimport { ButtonColor } from '../../models/enums/button/button-color.enum';\r\nimport { DialogColor } from '../../models/enums/confirm-modal/confirm-modal-color.enum';\r\nimport { Dialog } from 'primeng/dialog';\r\nimport { NgClass, NgTemplateOutlet, NgIf } from '@angular/common';\r\nimport { PrimeTemplate } from 'primeng/api';\r\nimport { ButtonComponent } from '../button/button.component';\r\n\r\n@Component({\r\n selector: 'lib-modal',\r\n templateUrl: './modal.component.html',\r\n styleUrls: ['./modal.component.scss'],\r\n imports: [\r\n Dialog,\r\n NgClass,\r\n PrimeTemplate,\r\n NgTemplateOutlet,\r\n NgIf,\r\n ButtonComponent,\r\n ],\r\n})\r\nexport class ModalComponent {\r\n @Input() header = 'Header title';\r\n\r\n @Input() headerColor = DialogColor.primary;\r\n\r\n @Input() width = '50vw';\r\n\r\n @Input() height = '';\r\n\r\n @Input() dynamicContentTemplate!: TemplateRef<any>;\r\n\r\n @Input() resizable = false;\r\n\r\n @Input() draggable = true;\r\n\r\n @Input() visible!: boolean;\r\n\r\n @Input() closable = true;\r\n\r\n @Input() modal = false;\r\n\r\n @Input() body = 'Body content';\r\n\r\n @Input() position: 'top' | 'bottom' = 'top';\r\n\r\n @Input() mode: 'edit' | 'create' = 'create';\r\n\r\n @Input() btnLabel = 'Sem prebral/-a';\r\n\r\n @Input() btnColor = ButtonColor.success;\r\n\r\n @Input() btnIcon = 'pi pi-check';\r\n\r\n @Input() hasIcon = true;\r\n\r\n @Input() disabled = false;\r\n\r\n @Input() hasLeftButton = false;\r\n\r\n @Input() appendTo?: string;\r\n\r\n @Input() leftBtnLabel = 'Zapri';\r\n\r\n @Input() leftBtnColor = ButtonColor.danger;\r\n\r\n @Input() leftBtnIcon = 'pi pi-times';\r\n\r\n @Input() leftHasIcon = true;\r\n\r\n @Input() leftDisabled = false;\r\n\r\n @Output() buttonClickEvent = new EventEmitter();\r\n\r\n @Output() visibleChange: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n @Output() leftButtonClickEvent = new EventEmitter();\r\n\r\n @Output() scrollEvent = new EventEmitter();\r\n\r\n @Output() modalClosed: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @Input() isFooterVisible = true;\r\n\r\n @Input() dismissableMask = false;\r\n\r\n headerClassMap = {\r\n primary: 'primary',\r\n secondary: 'secondary',\r\n info: 'info',\r\n warning: 'warning',\r\n danger: 'danger',\r\n };\r\n\r\n /**\r\n * Event emitted on clicking added button on bottom of modal\r\n * @param event mouse click event\r\n */\r\n buttonCloseModal(event: MouseEvent): void {\r\n event.stopPropagation();\r\n this.buttonClickEvent.emit(event);\r\n }\r\n\r\n /**\r\n * Event emitted on clicking added button on bottom of modal\r\n * @param event mouse click event\r\n */\r\n leftButtonClick(event: MouseEvent): void {\r\n event.stopPropagation();\r\n this.leftButtonClickEvent.emit(event);\r\n }\r\n\r\n changeVisibility(newVisibility: boolean): void {\r\n this.visible = newVisibility;\r\n this.visibleChange.emit(this.visible);\r\n }\r\n\r\n handleHide(): void {\r\n this.changeVisibility(false);\r\n }\r\n}\r\n","<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","import { Component, Input, OnInit } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { MessageModule } from 'primeng/message';\r\n\r\n@Component({\r\n selector: 'lib-no-data-found',\r\n templateUrl: './no-data-found.component.html',\r\n styleUrls: ['./no-data-found.component.scss'],\r\n imports: [\r\n MessageModule\r\n ],\r\n})\r\nexport class NoDataFoundComponent implements OnInit {\r\n @Input() message:string = '';\r\n @Input() alternativeMessage: boolean = false;\r\n\r\n constructor(private translateService: TranslateService) {}\r\n\r\n ngOnInit(): void {\r\n if (this.alternativeMessage) {\r\n this.message = this.translateService.instant(\"common.niPodatkov\");\r\n } else {\r\n this.message = this.translateService.instant(\"common.niPodatkovZaIzbraneFilter\");\r\n }\r\n }\r\n}\r\n","<div class=\"container\">\r\n <i class=\"pi pi-info-circle pb-2\" style=\"font-size: 1.5rem\"></i>\r\n <span class=\"ml-2\">{{ message }}</span>\r\n</div>","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { PickListModule } from 'primeng/picklist';\r\nimport { PrimeTemplate } from 'primeng/api';\r\nimport { NgIf } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'lib-picklist[sourceData][targetData][name]',\r\n templateUrl: './picklist.component.html',\r\n styleUrls: ['./picklist.component.scss'],\r\n imports: [\r\n PickListModule,\r\n PrimeTemplate,\r\n NgIf,\r\n ],\r\n})\r\nexport class PicklistComponent {\r\n // Dynamic class\r\n @Input() primaryPickList = 'primary-pick-list';\r\n\r\n @Input() sourceData!: any[];\r\n\r\n @Input() targetData!: any[];\r\n\r\n @Input() name!: string;\r\n\r\n @Input() sourceFilterPlaceholder = 'Iščite...';\r\n\r\n @Input() targetFilterPlaceholder = 'Iščite...';\r\n\r\n @Input() sourceHeader = 'Na voljo';\r\n\r\n @Input() targetHeader = 'Izbrano';\r\n\r\n @Input() style = { height: '15rem' };\r\n\r\n @Input() dragdrop = true;\r\n\r\n @Input() responsive = true;\r\n\r\n @Input() showSourceControls = true;\r\n\r\n @Input() showTargetControls = true;\r\n\r\n @Output() moveToSourceClicked = new EventEmitter();\r\n\r\n @Output() moveToTargetClicked = new EventEmitter();\r\n\r\n @Output() moveToSourceAllClicked = new EventEmitter();\r\n\r\n @Output() moveToTargetAllClicked = new EventEmitter();\r\n\r\n // Custom headers\r\n @Input() isCustomSourceHeader = false;\r\n\r\n @Input() isCustomTargetHeader = false;\r\n\r\n @Input() sourceLength!: string;\r\n\r\n @Input() targetLength!: string;\r\n\r\n moveToSource(event: any): void {\r\n this.moveToSourceClicked.emit(event);\r\n }\r\n\r\n moveToTarget(event: any): void {\r\n this.moveToTargetClicked.emit(event);\r\n }\r\n\r\n moveAllToSource(event: any): void {\r\n this.moveToSourceAllClicked.emit(event);\r\n }\r\n\r\n moveAllToTarget(event: any): void {\r\n this.moveToTargetAllClicked.emit(event);\r\n }\r\n}\r\n","<p-picklist\r\n [source]=\"sourceData\"\r\n [target]=\"targetData\"\r\n [sourceHeader]=\"sourceHeader\"\r\n [targetHeader]=\"targetHeader\"\r\n [dragdrop]=\"dragdrop\"\r\n [responsive]=\"responsive\"\r\n [sourceStyle]=\"style\"\r\n [showSourceControls]=\"showSourceControls\"\r\n [showTargetControls]=\"showTargetControls\"\r\n [targetStyle]=\"style\"\r\n [filterBy]=\"name\"\r\n [sourceFilterPlaceholder]=\"sourceFilterPlaceholder\"\r\n [targetFilterPlaceholder]=\"targetFilterPlaceholder\"\r\n breakpoint=\"1400px\"\r\n (onMoveToSource)=\"moveToSource($event)\"\r\n (onMoveToTarget)=\"moveToTarget($event)\"\r\n (onMoveAllToSource)=\"moveAllToSource($event)\"\r\n (onMoveAllToTarget)=\"moveAllToTarget($event)\"\r\n [class]=\"primaryPickList\"\r\n>\r\n <ng-template let-product pTemplate=\"item\">\r\n <div class=\"flex flex-wrap p-2 align-items-center gap-3\">\r\n <div class=\"flex-1 flex flex-column gap-2\">\r\n <span class=\"font-bold\">{{ product[name] }}</span>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n <!-- Header template for source list -->\r\n <ng-template let-product pTemplate=\"sourceHeader\" *ngIf=\"isCustomSourceHeader\">\r\n <div class=\"custom-picklist-header flex align-items-center justify-content-between\">\r\n <span>{{ sourceHeader }}</span>\r\n <span>{{ sourceLength }}</span>\r\n </div>\r\n </ng-template>\r\n\r\n <!-- Header template for target list -->\r\n <ng-template let-product pTemplate=\"targetHeader\" *ngIf=\"isCustomTargetHeader\">\r\n <div class=\"custom-picklist-header flex align-items-center justify-content-between\">\r\n <span>{{ targetHeader }}</span>\r\n <span>{{ targetLength }}</span>\r\n </div>\r\n </ng-template>\r\n</p-picklist>\r\n","import { Component, Input } from '@angular/core';\r\nimport { ProgressBar } from 'primeng/progressbar';\r\n\r\n@Component({\r\n selector: 'lib-progress-bar[value]',\r\n templateUrl: './progress-bar.component.html',\r\n styleUrls: ['./progress-bar.component.scss'],\r\n imports: [ProgressBar],\r\n})\r\nexport class ProgressBarComponent {\r\n @Input() value!: number;\r\n}\r\n","<p-progressBar [value]=\"value\"></p-progressBar>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { TranslateModule, TranslateService } from '@ngx-translate/core';\r\nimport { ButtonModule } from 'primeng/button';\r\nimport { CheckboxModule } from 'primeng/checkbox';\r\nimport { DialogModule } from 'primeng/dialog';\r\nimport { Draggable, Droppable } from \"primeng/dragdrop\";\r\nimport { ListboxModule } from 'primeng/listbox';\r\nimport { OrderListModule } from 'primeng/orderlist';\r\nimport { TableColumn } from '../../models/interaces/table/table-column.interface';\r\nimport { ButtonComponent, LocalStorageService, ModalComponent } from '../../public-api';\r\n\r\ninterface ColumnContainers {\r\n id: number\r\n items: TableColumn[];\r\n}\r\n\r\n@Component({\r\n selector: 'table-column-select',\r\n templateUrl: './table-column-select.component.html',\r\n styleUrls: ['./table-column-select.component.scss'],\r\n imports: [ButtonModule, ListboxModule, DialogModule, CheckboxModule, CommonModule, FormsModule, OrderListModule, ModalComponent, TranslateModule, Droppable, Draggable, ButtonComponent],\r\n})\r\nexport class TableColumnSelectComponent implements OnChanges {\r\n @Input() columns!: TableColumn[];\r\n @Input() defaultColumns!: TableColumn[];\r\n @Input() enableResizableColumns = true; \r\n @Input() pregled!: string;\r\n\r\n @Output() updateColumns = new EventEmitter<TableColumn[]>();\r\n @Output() updateResizableColumns = new EventEmitter<boolean>();\r\n\r\n selectedColumns: TableColumn[] = [];\r\n draggedTask!: TableColumn;\r\n dropContainers: ColumnContainers[] = [];\r\n \r\n enableResizableColumnsLocalStorageKey = \"EnableResizableColumns\"\r\n\r\n constructor(private localStorageService: LocalStorageService, private translateService: TranslateService) {}\r\n\r\n ngOnChanges(): void {\r\n this.setColumns(false);\r\n }\r\n\r\n visible: boolean = false;\r\n\r\n showDialog() {\r\n this.visible = true;\r\n }\r\n\r\n changeValue(): void {\r\n const columns: TableColumn[] = [];\r\n\r\n this.dropContainers.forEach((container, index) => {\r\n const item = container.items[0];\r\n if (this.selectedColumns.find(f => f.field === item.field)) {\r\n item.show = true;\r\n } else {\r\n item.show = false;\r\n }\r\n\r\n item.position = index;\r\n columns.push(item);\r\n })\r\n this.columns = [...columns];\r\n this.updateColumns.emit(columns);\r\n this.updateResizableColumns.emit(this.enableResizableColumns);\r\n \r\n this.localStorageService.setItem(this.pregled, columns);\r\n this.localStorageService.setItem(this.enableResizableColumnsLocalStorageKey, this.enableResizableColumns);\r\n\r\n\r\n this.visible = false;\r\n }\r\n\r\n\r\n dragStart(task: TableColumn) {\r\n this.draggedTask = task;\r\n }\r\n\r\n drop(id: number) { \r\n let previousContainerId: number;\r\n this.dropContainers.forEach(container => {\r\n const found = container.items.find(f => f.field === this.draggedTask.field);\r\n if (found) {\r\n previousContainerId = container.id;\r\n }\r\n })\r\n \r\n this.dropContainers.find(f => f.id === id)?.items.push(this.draggedTask);\r\n const previousItem = this.dropContainers.find(f => f.id === id)?.items[0];\r\n if (previousItem) {\r\n this.dropContainers.find(f => f.id === previousContainerId)?.items.push(previousItem);\r\n this.dropContainers.find(f => f.id === id)?.items.shift();\r\n this.dropContainers.find(f => f.id === previousContainerId)?.items.shift();\r\n }\r\n }\r\n\r\n onReset(): void {\r\n this.setColumns(true); \r\n }\r\n\r\n setColumns(setDefault: boolean): void {\r\n this.dropContainers = [];\r\n if (setDefault) {\r\n this.selectedColumns = [];\r\n this.defaultColumns.forEach((item, index) => {\r\n this.dropContainers.push({items: [{...item}], id: index})\r\n this.dropContainers.sort((s1, s2) => s1.items[0].position - s2.items[0].position\r\n )\r\n \r\n if (item.show) {\r\n this.selectedColumns.push(item);\r\n }\r\n })\r\n } else {\r\n this.columns.forEach((item, index) => {\r\n this.dropContainers.push({items: [{...item}], id: index})\r\n this.dropContainers.sort((s1, s2) => s1.items[0].position - s2.items[0].position\r\n )\r\n \r\n if (item.show) {\r\n this.selectedColumns.push(item);\r\n }\r\n })\r\n } \r\n }\r\n}\r\n","<p-button (click)=\"showDialog()\" icon=\"pi pi-cog\" aria-label=\"Save\" />\r\n\r\n<lib-modal\r\n header=\"{{ 'components.modals.tableColumnSelect.title' | translate }}\"\r\n btnLabel=\"{{ 'common.buttonConfirm' | translate }}\"\r\n [(visible)]=\"visible\"\r\n [closable]=\"true\"\r\n [modal]=\"true\"\r\n width=\"30vw\"\r\n (buttonClickEvent)=\"changeValue()\"\r\n [dynamicContentTemplate]=\"dynamicContentCollection\">\r\n</lib-modal>\r\n\r\n<ng-template class=\"modal-content\" #dynamicContentCollection>\r\n <div class=\"flex w-full justify-content-between align-items-center gap-2\">\r\n <lib-button label=\"{{'components.modals.tableColumnSelect.ponastaviStolpce' | translate}}\" (click)=\"onReset()\">\r\n </lib-button>\r\n <div class=\"flex gap-2\">\r\n <p-checkbox [binary]=\"true\" [(ngModel)]=\"enableResizableColumns\" /> \r\n <h4>{{ 'components.modals.tableColumnSelect.spreminjanjeVelikostiStolpcev' | translate }}</h4>\r\n </div>\r\n </div>\r\n \r\n <div pDroppable (onDrop)=\"drop(i)\" [pDroppableDisabled]=\"i < 2 ? true : false\" *ngFor=\"let item of dropContainers; index as i\" class=\"drop-container\">\r\n <div (onDragStart)=\"dragStart(item.items[0])\" [dragHandle]=\"i < 2 ? 'invalid' : undefined\" pDraggable [ngClass]=\"i < 2 ? 'disabled': ''\" class=\"item\">\r\n <p-checkbox [inputId]=\"item.items[0].field\" [disabled]=\"i < 2\" name=\"group\" [value]=\"item.items[0]\" [(ngModel)]=\"selectedColumns\" /> \r\n <h4>{{item.items[0].header}}</h4>\r\n </div> \r\n </div>\r\n</ng-template>\r\n","import { Component, Input, AfterViewInit, OnDestroy, forwardRef } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\r\n\r\ndeclare var tinymce: any;\r\n\r\n@Component({\r\n selector: 'lib-tinymce-editor',\r\n templateUrl: './tinymce-editor.component.html',\r\n styleUrls: ['./tinymce-editor.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => TinymceEditorComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class TinymceEditorComponent implements AfterViewInit, OnDestroy, ControlValueAccessor {\r\n @Input() editorId: string = ''; // Dinamični ID za vsak urejevalnik\r\n content: string = ''; // Shranjevanje vsebine editorja\r\n private editor: any;\r\n\r\n // Funkcije ControlValueAccessor\r\n onChange = (content: string) => {};\r\n onTouched = () => {};\r\n\r\n // Nastavi vrednost (ngModel) v TinyMCE editor\r\n writeValue(content: string): void {\r\n this.content = content;\r\n if (this.editor) {\r\n this.editor.setContent(content || '');\r\n }\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n ngAfterViewInit() {\r\n tinymce.init({\r\n selector: `#${this.editorId}`,\r\n plugins: 'link image code',\r\n toolbar: 'undo redo | formatselect | bold italic | alignleft aligncenter alignright | code',\r\n content_css: this.getCorrectCssPath(),\r\n setup: (editor: any) => {\r\n this.editor = editor;\r\n\r\n // Nastavi začetno vsebino\r\n editor.on('init', () => {\r\n editor.setContent(this.content || '');\r\n });\r\n\r\n // Ko se vsebina spremeni, posodobi model\r\n editor.on('change', () => {\r\n const content = editor.getContent();\r\n this.onChange(content); // Sprememba vsebine urejevalnika\r\n this.content = content; // Posodobi lokalno vsebino\r\n });\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * ker ima styles.css dodan anticache (npr. styles.f4479a007049fba8.css), dobi ustrezen css iz končnega htmlja\r\n */\r\n getCorrectCssPath(): string {\r\n const linkElement = document.querySelector('link[href^=\"styles\"][rel=\"stylesheet\"]') as HTMLLinkElement;\r\n return linkElement ? linkElement.href : '';\r\n }\r\n\r\n ngOnDestroy() {\r\n tinymce.remove(this.editor); // Uničite TinyMCE ob zapiranju komponente\r\n }\r\n}\r\n","<textarea class=\"tinyEditor\"\r\n [id]=\"editorId\"\r\n></textarea>\r\n","import { NgClass, NgIf } from '@angular/common';\r\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { TreeNode } from 'primeng/api';\r\nimport { TreeSelectModule } from 'primeng/treeselect';\r\nimport { TooltipHoverEventEnum } from '../../models/enums/tooltip/tooltip-hover-event.enum';\r\nimport { TooltipPosition } from '../../models/enums/tooltip/tooltip-position.enum';\r\nimport { FormStatusInterface } from '../../models/interaces/shared/form-status.interface';\r\nimport { ErrorComponent } from '../error/error.component';\r\nimport { TooltipComponent } from '../tooltip/tooltip.component';\r\n\r\n@Component({\r\n selector: 'lib-tree-select[group][controlName][name]',\r\n templateUrl: './tree-select.component.html',\r\n styleUrls: ['./tree-select.component.scss'],\r\n imports: [\r\n FormsModule,\r\n ReactiveFormsModule,\r\n NgIf,\r\n TooltipComponent,\r\n TreeSelectModule,\r\n NgClass,\r\n ErrorComponent,\r\n ],\r\n})\r\nexport class TreeSelectComponent implements OnInit {\r\n protected readonly TooltipHoverEventEnum = TooltipHoverEventEnum;\r\n\r\n _isTooltipVisible!: boolean;\r\n\r\n @Input() name!: string;\r\n\r\n @Input() group!: FormGroup;\r\n\r\n @Input() controlName!: string;\r\n\r\n @Input() label = '';\r\n\r\n @Input() optionList: TreeNode<any>[] = [];\r\n\r\n @Input() placeholder = '';\r\n\r\n @Input() accessibilityText = '';\r\n\r\n @Input() filter = true;\r\n\r\n @Input() showClear = true;\r\n\r\n @Input() isRequired = true;\r\n\r\n @Input() tooltipPosition: TooltipPosition = TooltipPosition.right;\r\n\r\n @Input() tooltipText?: string = '';\r\n\r\n @Input() formStatus?: FormStatusInterface;\r\n\r\n @Input() isLoading = false;\r\n\r\n @Input() appendTo!: string;\r\n\r\n @Input() isLabelVisible = true;\r\n\r\n @Input() emptyMessage?: string;\r\n\r\n @Input() virtualScroll: boolean = false;\r\n\r\n @Output() getValueEvent = new EventEmitter();\r\n\r\n constructor(private readonly translateService: TranslateService) {}\r\n\r\n getSelectedValue(event: any): void {\r\n this.getValueEvent.emit(event);\r\n }\r\n\r\n ngOnInit(): void {\r\n this._isTooltipVisible = !!this.tooltipText;\r\n }\r\n\r\n onClear(): void {\r\n this.group.get(this.controlName)?.setValue(null);\r\n }\r\n\r\n get emptyDropdownMessage(): string {\r\n if (this.emptyMessage) {\r\n return this.emptyMessage;\r\n } else {\r\n return this.translateService.instant('components.dropdown.emptyList');\r\n }\r\n }\r\n}\r\n","<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-treeselect \r\n [ngClass]=\"{ 'ng-dirty': (group.get(controlName)!.errors && (group.get(controlName)!.touched) || formStatus!.isSubmitTriggered || formStatus!.isNestedFormSubmit!) }\"\r\n [inputId]=\"name\"\r\n [appendTo]=\"appendTo\" \r\n (onNodeSelect)='getSelectedValue($event.node)'\r\n [options]=\"optionList\"\r\n [placeholder]='placeholder'\r\n [formControlName]=\"controlName\"\r\n [virtualScroll]=\"virtualScroll\"\r\n [virtualScrollItemSize]=\"38\"\r\n [filter]=\"filter\"\r\n [virtualScrollOptions]=\"{scrollHeight: '250px'}\" \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 [showClear]=\"group.get(controlName)?.value && showClear\"\r\n [attr.aria-label]=\"accessibilityText\"\r\n (onClear)=\"onClear()\"\r\n [emptyMessage]=\"emptyDropdownMessage\" \r\n containerStyleClass=\"w-full\" \r\n [showClear]=\"false\" \r\n formControlName=\"klasifikacijskiRazredId\" \r\n />\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","/**\r\n * Auth API\r\n *\r\n *\r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface ProfilUporabnikaDTO {\r\n id?: number;\r\n /**\r\n * Ime uporabnika\r\n */\r\n ime?: string;\r\n /**\r\n * Priimek uporabnika\r\n */\r\n priimek?: string;\r\n /**\r\n * Krovna inšpekcija\r\n */\r\n krovnaInspekcija?: string;\r\n /**\r\n * vloge\r\n */\r\n vloge?: { [key: string]: { [key: string]: Array<number>; }; };\r\n /**\r\n * Menijska struktura glede na vlogo\r\n */\r\n meni?: string;\r\n}\r\n\r\n","export enum ExpandedTable {\r\n danger = 'danger_row_color',\r\n warning = 'warning_row_color',\r\n success = 'success_row_color',\r\n}\r\n","export enum PositionKey {\r\n topCenter = 'topCenter',\r\n topLeft = 'topLeft',\r\n topRight = 'topRight',\r\n bottomCenter = 'bottomCenter',\r\n bottomLeft = 'bottomLeft',\r\n bottomRight = 'bottomRight',\r\n}\r\n","export enum ToastSeverity {\r\n success = 'success',\r\n info = 'info',\r\n warning = 'warn',\r\n error = 'error',\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\nexport interface RemoteFrontend {\r\n routePath: string; // Pot v host aplikaciji (npr. 'mfe-app')\r\n exposedModule: string; // Kaj exporta remote (npr. './routes')\r\n}\r\n\r\nexport interface MfeRemoteEntry {\r\n remoteName: string;\r\n remoteUrl: string;\r\n basePath: string;\r\n basePathPlatform: string;\r\n remoteComponents?: Record<string, string>;\r\n remoteFrontends?: Record<string, RemoteFrontend>;\r\n}\r\n\r\nexport interface AppConfig {\r\n basePathAuth: string;\r\n basePathCommon: string;\r\n vsLoginPath: string;\r\n sipassLoginPath: string;\r\n enableStandaloneRemote: boolean;\r\n production: boolean;\r\n mfeRemote: MfeRemoteEntry[];\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AppConfigService {\r\n private config: AppConfig;\r\n\r\n constructor() {\r\n this.config = (globalThis as any).APP_CONFIG;\r\n }\r\n\r\n getConfig(): AppConfig {\r\n return this.config;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CacheService {\r\n getCacheItem(key: string): any | null {\r\n const item = sessionStorage.getItem(key);\r\n return item ? JSON.parse(item) : null;\r\n }\r\n\r\n cacheItem(key: string, value: any): void {\r\n sessionStorage.setItem(key, JSON.stringify(value));\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { BehaviorSubject, firstValueFrom } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TranslationService {\r\n public translationsLoaded = new BehaviorSubject<boolean>(true);\r\n\r\n constructor(private http: HttpClient, private translateService: TranslateService) {}\r\n\r\n async loadTranslations(organisation: string, language: string): Promise<void> {\r\n const translationPath = `assets/i18n/${language}.json`;\r\n const translations = await firstValueFrom(this.http.get(translationPath));\r\n this.translateService.setTranslation(language, translations);\r\n this.translateService.use(language);\r\n this.translationsLoaded.next(false);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Subscription, take } from 'rxjs';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ConfirmationService, ConfirmEventType, MessageService } from 'primeng/api';\r\nimport { TranslationService } from './translation.service';\r\nimport { PositionKey } from '../models/enums/toast/toast-position-key.enum';\r\nimport { ToastSeverity } from '../models/enums/toast/toast-severity.enum';\r\nimport { ConfirmModalContentInterface } from '../models/interaces/confirm-modal/confirm-modal-service.interface';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ConfirmModalService {\r\n // Key must be the same as key in confirm-modal.component.html toast !!\r\n private positionKey: PositionKey = PositionKey.topCenter;\r\n\r\n private modalContent$ = new Subscription();\r\n\r\n public content!: ConfirmModalContentInterface;\r\n\r\n constructor(\r\n private confirmationService: ConfirmationService,\r\n private messageService: MessageService,\r\n private translateService: TranslateService,\r\n private translationService: TranslationService\r\n ) {\r\n this.loadModalContent();\r\n }\r\n\r\n private loadModalContent(): void {\r\n this.modalContent$.add(\r\n this.translationService.translationsLoaded.pipe(take(1)).subscribe(() => {\r\n this.translateService.get('confirmModalService').subscribe(contentText => {\r\n this.content = {\r\n message: contentText.message,\r\n header: contentText.header,\r\n acceptSummary: contentText.acceptSummary,\r\n acceptDetail: contentText.acceptDetail,\r\n rejectSummary: contentText.rejectSummary,\r\n rejectDetail: contentText.rejectDetail,\r\n cancelSummary: contentText.cancelSummary,\r\n cancelDetail: contentText.cancelDetail,\r\n };\r\n });\r\n })\r\n );\r\n }\r\n\r\n confirm(): void {\r\n this.confirmationService.confirm({\r\n message: this.content.message,\r\n header: this.content.header,\r\n icon: 'pi pi-exclamation-circle',\r\n accept: () => {\r\n this.messageService.add({\r\n key: this.positionKey,\r\n severity: ToastSeverity.info,\r\n summary: this.content?.acceptSummary,\r\n detail: this.content?.acceptDetail,\r\n });\r\n },\r\n reject: (type: ConfirmEventType) => {\r\n switch (type) {\r\n case ConfirmEventType.REJECT:\r\n this.messageService.add({\r\n key: this.positionKey,\r\n severity: ToastSeverity.error,\r\n summary: this.content?.rejectSummary,\r\n detail: this.content?.rejectDetail,\r\n });\r\n break;\r\n case ConfirmEventType.CANCEL:\r\n this.messageService.add({\r\n key: this.positionKey,\r\n severity: ToastSeverity.warning,\r\n summary: this.content?.cancelSummary,\r\n detail: this.content?.cancelDetail,\r\n });\r\n break;\r\n }\r\n },\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class DynamicRouteService {\r\n constructor(private readonly router: Router) {}\r\n\r\n getDynamicUrl(\r\n activatedRoute: ActivatedRoute,\r\n url: string,\r\n queryParams?: any,\r\n state?: any\r\n ): Promise<boolean> {\r\n const organisation = activatedRoute.snapshot.url[0];\r\n const language = activatedRoute.snapshot.url[1];\r\n\r\n return this.router\r\n .navigate([`/${organisation}/${language}/${url}`], { state: state, queryParams: queryParams })\r\n .then();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport * as XLSX from 'xlsx';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ExportService {\r\n\r\n /**\r\n * izračun širine stolpcev na podlagi vsebine\r\n */\r\n private calculateColumnWidths(objArray: any[]): { wch: number }[] {\r\n const maxLengths = Object.keys(objArray[0]).map(key => {\r\n return Math.max(\r\n key.length, // Dolžina headerja\r\n ...objArray.map(obj => (obj[key] ? obj[key].toString().length : 0)) // Dolžina podatkov v stolpcu\r\n );\r\n });\r\n\r\n return maxLengths.map(length => ({ wch: length + 2 })); // Dodamo nekaj prostora (2 znaka)\r\n }\r\n\r\n exportExcel(objArray: any[], filename?: string): any {\r\n const ws: XLSX.WorkSheet = XLSX.utils.json_to_sheet(objArray);\r\n ws['!cols'] = this.calculateColumnWidths(objArray); // da so širši stolpci\r\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\r\n XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');\r\n XLSX.writeFile(wb, filename ?? 'izvoz.xlsx');\r\n }\r\n\r\n exportCSV(objArray: any[]): string {\r\n const header = Object.keys(objArray[0]).join(',') + '\\n';\r\n const rows = objArray\r\n .map(obj =>\r\n Object.values(obj)\r\n .map(val => `\"${val}\"`)\r\n .join(',')\r\n )\r\n .join('\\n');\r\n return header + rows;\r\n }\r\n\r\n exportXML(array: any): string {\r\n const rootTag = 'data';\r\n const rowTag = 'record';\r\n\r\n const rows = array\r\n .map((obj: any) => {\r\n const rowAttrs = Object.entries(obj)\r\n .map(([key, val]) => `${key}=\"${val}\"`)\r\n .join(' ');\r\n return `<${rowTag} ${rowAttrs} />`;\r\n })\r\n .join('\\n');\r\n\r\n return `<${rootTag}>\\n${rows}\\n</${rootTag}>`;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { MessageService } from 'primeng/api';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class NoInternetService {\r\n constructor(private translateService: TranslateService, private messageService: MessageService) {}\r\n\r\n checkInternetConnection(): boolean {\r\n if (!navigator.onLine) {\r\n this.messageService.add({\r\n key: 'notification',\r\n severity: 'error',\r\n summary: this.translateService.instant('errors.noInternetConnection'),\r\n life: 6000\r\n });\r\n\r\n return false;\r\n }\r\n return true;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TranslateSanitizerService {\r\n constructor(private translateService: TranslateService, private sanitizer: DomSanitizer) {}\r\n\r\n /**\r\n * Sanitizes the values of the interpolateParams object and inserts them into a translated HTML string.\r\n * This function sanitizes the values of the interpolateParams object by replacing special HTML\r\n * characters with their respective HTML entities. The sanitized values are then used as parameters\r\n * in the translation process, where the translateKey is translated into an HTML string.\r\n * The resulting HTML string is marked as trusted to be used within Angular templates.\r\n * @param translateKey - The key used for translation\r\n * @param interpolateParams - The object containing the parameters to be inserted into the translated HTML string.\r\n * @returns {SafeHtml} The sanitized HTML string, marked as trusted for use within Angular templates.\r\n */\r\n sanitizeValues(translateKey: string, interpolateParams: object): SafeHtml {\r\n // Sanitize interpolateParams values\r\n const sanitizedParams: { [key: string | number]: string } = {};\r\n for (const key in interpolateParams) {\r\n if (Object.prototype.hasOwnProperty.call(interpolateParams, key)) {\r\n const value = (interpolateParams as { [key: string | number]: string })[key];\r\n sanitizedParams[key] = value\r\n .toString()\r\n .replace(/&/g, '&')\r\n .replace(/</g, '<')\r\n .replace(/>/g, '>');\r\n }\r\n }\r\n return this.sanitizer.bypassSecurityTrustHtml(\r\n this.translateService.instant(translateKey, sanitizedParams)\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { LocalStorageService } from './local-storage.service';\r\nimport { TableColumn } from '../models/interaces/table/table-column.interface';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TableColumnsService {\r\n enableResizableColumnsLocalStorageKey = 'EnableResizableColumns';\r\n\r\n constructor(private localStorageService: LocalStorageService) {}\r\n\r\n getTableColumns(tableColumns: TableColumn[], page: string): TableColumn[] {\r\n const savedColumns = this.localStorageService.getItem(page) as TableColumn[];\r\n\r\n if (!savedColumns) {\r\n return tableColumns;\r\n }\r\n\r\n const updatedTableColumns: TableColumn[] = [];\r\n\r\n tableColumns.forEach(item => {\r\n const found = savedColumns.find(f => f.field === item.field);\r\n if (found) {\r\n updatedTableColumns.push({\r\n ...item,\r\n position: found.position,\r\n show: found.show,\r\n });\r\n }\r\n });\r\n\r\n return updatedTableColumns;\r\n }\r\n\r\n getEnableResizableColumns(): boolean {\r\n const enableResizableColumns = this.localStorageService.getItem(\r\n this.enableResizableColumnsLocalStorageKey,\r\n );\r\n if (enableResizableColumns !== null) {\r\n return enableResizableColumns;\r\n } else {\r\n this.localStorageService.setItem(this.enableResizableColumnsLocalStorageKey, false);\r\n return false;\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { FilterItemsDefiniton } from '../models/interaces/filter-header/filter-items-definition.interface'\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class FilterHeaderService {\r\n constructor(private translationService: TranslateService) {}\r\n\r\n getFilterItems(filterItemsDefiniton: FilterItemsDefiniton[], formValues: any): string[] {\r\n const filters: string[] = [];\r\n for (const [key, value] of Object.entries(formValues)) {\r\n if (formValues[key]) {\r\n const item = filterItemsDefiniton.find(f => f.fieldName === key);\r\n // Check for multi select values to make sure array has at least one item\r\n if (item?.fieldType === 'multi-select') {\r\n const arrayValue = value as any[];\r\n if (arrayValue.length !== 0) {\r\n const filter = `${item.displayedName}: ${this.formatValue(value, item.fieldType, item?.selectFieldName)}`;\r\n filters.push(filter);\r\n }\r\n } else {\r\n if (item) {\r\n const filter = `${item.displayedName}: ${this.formatValue(value, item.fieldType, item?.selectFieldName)}`;\r\n filters.push(filter);\r\n }\r\n }\r\n }\r\n }\r\n return filters;\r\n }\r\n\r\n private formatValue(value: any, type: string, selectOption?: string): string {\r\n if (type === 'date') {\r\n const date = new Date(value);\r\n return date.toLocaleDateString();\r\n } else if (type === 'boolean') {\r\n if (value === true) {\r\n return this.translationService.instant('common.da');\r\n } else {\r\n return this.translationService.instant('common.ne');\r\n }\r\n } else if (type === 'string') {\r\n return value;\r\n } else if (type === 'select' && selectOption) {\r\n return value[selectOption];\r\n } else if (type === 'multi-select' && selectOption) {\r\n const result: string[] = [];\r\n value.forEach((item: any) => {\r\n result.push(item[selectOption]);\r\n });\r\n\r\n return result.join(',');\r\n }\r\n\r\n return '';\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class DateService {\r\n\r\n constructor() {}\r\n\r\n formatDate(inputDate: string | Date): string {\r\n const date = new Date(inputDate);\r\n\r\n const year = date.getFullYear();\r\n let month: number | string = date.getMonth() + 1;\r\n let day: number | string = date.getDate();\r\n\r\n // Ensure month and day are two digits\r\n month = month < 10 ? '0' + month : month;\r\n day = day < 10 ? '0' + day : day;\r\n\r\n return `${year}-${month}-${day}`;\r\n }\r\n\r\n formatMonth(inputDate: string | Date): string {\r\n const date = new Date(inputDate);\r\n\r\n const year = date.getFullYear();\r\n let month: number | string = date.getMonth() + 1;\r\n let day: number | string = date.getDate();\r\n\r\n // Ensure month and day are two digits\r\n month = month < 10 ? '0' + month : month;\r\n return `${year}-${month}`;\r\n }\r\n\r\n dateWithoutTimeZone(date: Date): string {\r\n const tzoffset = date.getTimezoneOffset() * 60000; //offset in milliseconds\r\n const withoutTimezone = new Date(date.valueOf() - tzoffset).toISOString();\r\n return withoutTimezone;\r\n }\r\n}\r\n","import { ValidationErrors, ValidatorFn, AbstractControl } from \"@angular/forms\";\r\n\r\n// Utility function to check if an object is empty\r\nfunction isEmptyObject(obj: any): boolean {\r\n return obj && Object.keys(obj).length === 0 && obj.constructor === Object;\r\n}\r\n\r\nexport function atLeastOneFieldPresentValidator(...fieldNames: string[]): ValidatorFn {\r\n return (formGroup: AbstractControl): ValidationErrors | null => {\r\n const values = fieldNames.map(fieldName => formGroup.get(fieldName)?.value);\r\n const atLeastOneFieldHasValue = values.some(value => value !== null && value !== '' && !isEmptyObject(value));\r\n return atLeastOneFieldHasValue ? null : { atLeastOneFieldRequired: true };\r\n };\r\n}\r\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\r\n\r\nexport function dateAndTimeMismatchValidator(): ValidatorFn {\r\n return (control: AbstractControl): { dateMismatch: boolean } | null => {\r\n const startDate = control.get('startDate')?.value;\r\n const endDate = control.get('endDate')?.value;\r\n\r\n if (startDate && endDate) {\r\n const startDateTime = new Date(startDate);\r\n const endDateTime = new Date(endDate);\r\n\r\n if (startDateTime > endDateTime) {\r\n return { dateMismatch: true };\r\n }\r\n }\r\n\r\n return null;\r\n };\r\n}\r\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\r\n\r\nexport function dateMismatchValidator(): ValidatorFn {\r\n return (control: AbstractControl): { dateMismatch: boolean } | null => {\r\n const startDate = control.get('startDate')?.value;\r\n const endDate = control.get('endDate')?.value;\r\n\r\n if (startDate && endDate && startDate > endDate) {\r\n return { dateMismatch: true };\r\n }\r\n\r\n return null;\r\n };\r\n}\r\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\r\n\r\nexport function coordinateValidator(): ValidatorFn {\r\n return (control: AbstractControl): { isCoordinate: boolean } | null => {\r\n const value = control.value;\r\n const isValid = /^-?(\\d+(\\.\\d+)?|\\d+)$/.test(value);\r\n\r\n return !isValid ? { isCoordinate: true } : null;\r\n };\r\n}\r\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\r\n\r\nexport function isMultipleOfFiveValidator(): ValidatorFn {\r\n return (control: AbstractControl): { isMultipleOfFive: boolean } | null => {\r\n const value = control.value;\r\n const isValid = value % 5 === 0 && value > 0;\r\n\r\n return !isValid ? { isMultipleOfFive: true } : null;\r\n };\r\n}\r\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\r\n\r\nexport function IsNotBlank(): ValidatorFn {\r\n return (control: AbstractControl): { isNotBlank: boolean } | null => {\r\n const isWhitespace = (control.value || '').trim().length === 0;\r\n const isValid = !isWhitespace;\r\n return isValid ? null : { isNotBlank: true };\r\n };\r\n}\r\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\r\n\r\nexport function IsNotDecimal(): ValidatorFn {\r\n return (control: AbstractControl): { isNotDecimal: boolean } | null => {\r\n const valid = Number.isInteger(Number(control.value));\r\n return valid ? null : { isNotDecimal: true };\r\n };\r\n}\r\n","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\r\n\r\nexport function isOnePhoneNumberValidator(): ValidatorFn {\r\n return (group: AbstractControl): ValidationErrors | null => {\r\n const mobilePhoneNumber = group.get('mobilePhoneNumber')?.value;\r\n const homePhoneNumber = group.get('landline')?.value;\r\n\r\n if (\r\n (mobilePhoneNumber && mobilePhoneNumber.length > 0) ||\r\n (homePhoneNumber && homePhoneNumber.length > 0)\r\n ) {\r\n return null;\r\n } else {\r\n return { isOnePhoneNumberRequired: true };\r\n }\r\n };\r\n}\r\n","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\r\n\r\nexport function mobilePhoneAreaCodeValidator(): ValidatorFn {\r\n return (group: AbstractControl): ValidationErrors | null => {\r\n const value = group.value || '';\r\n const areaCode = value.match(/\\(\\d{3}\\)/g);\r\n if (areaCode && areaCode[0]) {\r\n const digits = areaCode[0].replace(/[()]/g, '');\r\n if (digits.charAt(1) === '0' || digits.charAt(2) === '0') {\r\n return { invalidAreaCode: true };\r\n }\r\n }\r\n return null;\r\n };\r\n}\r\n","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\r\n\r\n/**\r\n * angular forms validator to accept only valid emails separated by comma, this are valid inputs:\r\n * janez.novak@gov.si\r\n * janez.novak@gov.si,andrej.novak@arnes.si\r\n */\r\nexport function emailListValidator(): ValidatorFn {\r\n return (control: AbstractControl): ValidationErrors | null => {\r\n if (!control.value) return null; // Guard clause for control without value\r\n const emails: string[] = control.value.split(',').map((email: string) => email.trim());\r\n const emailRegex: RegExp = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n const invalidEmails: string[] = emails.filter(email => !emailRegex.test(email));\r\n return invalidEmails.length > 0 ? { 'email': true } : null;\r\n };\r\n}\r\n","/*\r\n * Public API Surface of design-system\r\n */\r\n\r\nexport * from './handlers/global-error.handler';\r\n\r\nexport * from './helpers/clean-mobile-phone-number';\r\nexport * from './helpers/find-unavailable-dates';\r\nexport * from './helpers/format-date-time.function';\r\nexport * from './helpers/format-date-to-api-datetime';\r\nexport * from './helpers/format-date.function';\r\nexport * from './helpers/get-tomorrow-date.function';\r\nexport * from './helpers/is-object-empty.function';\r\nexport * from './helpers/isFormValid.function';\r\nexport * from './helpers/local-format-date.function';\r\nexport * from './helpers/transform-date-time.function';\r\n\r\nexport * from './interceptors/error.interceptor';\r\n\r\nexport * from './lib/accordion/accordion.component';\r\nexport * from './lib/autocomplete/autocomplete.component';\r\nexport * from './lib/breadcrumbs/breadcrumbs.component';\r\nexport * from './lib/button/button.component';\r\nexport * from './lib/button-link/button-link.component';\r\nexport * from './lib/card/card.component';\r\nexport * from './lib/checkbox/checkbox.component';\r\nexport * from './lib/confirm-modal/confirm-modal.component';\r\nexport * from './lib/custom-table/custom-table.component';\r\nexport * from './lib/date-input/date-input.component';\r\nexport * from './lib/divider/divider.component';\r\nexport * from './lib/dropdown/dropdown.component';\r\nexport * from './lib/error/error.component';\r\nexport * from './lib/expanded-table/expanded-table.component';\r\nexport * from './lib/file-upload/file-upload.component';\r\nexport * from './lib/filter-header/filter-header.component';\r\nexport * from './lib/footer/footer.component';\r\nexport * from './lib/generic-table/generic-table.component';\r\nexport * from './lib/icon-button/icon-button.component';\r\nexport * from './lib/input/input.component';\r\nexport * from './lib/input-mask/input-mask.component';\r\nexport * from './lib/loader/loader.component';\r\nexport * from './lib/main-menu/main-menu.component';\r\nexport * from './lib/modal/modal.component';\r\n// 2025-09-25: odstranil (neuporabljeno) navbar.component zaradi checkmarx false positive\r\n// export * from './lib/navbar/navbar.component';\r\nexport * from './lib/no-data-found/no-data-found.component';\r\nexport * from './lib/picklist/picklist.component';\r\nexport * from './lib/progress-bar/progress-bar.component';\r\nexport * from './lib/table-column-select/table-column-select.component';\r\nexport * from './lib/tag/tag.component';\r\nexport * from './lib/textarea/textarea.component';\r\nexport * from './lib/tinymce-editor/tinymce-editor.component';\r\nexport * from './lib/toggle-switch/toggle-switch.component';\r\nexport * from './lib/tooltip/tooltip.component';\r\nexport * from './lib/tree-select/tree-select.component';\r\n\r\nexport * from './models/profilUporabnikaDTO';\r\nexport * from './models/enums/button/button-color.enum';\r\nexport * from './models/enums/button/button-icon-position.enum';\r\nexport * from './models/enums/button/button-size.enum';\r\nexport * from './models/enums/confirm-modal/confirm-modal-color.enum';\r\nexport * from './models/enums/dropdown/dropdown-selection-mode.enum';\r\nexport * from './models/enums/expanded-table/expanded-table.enum';\r\nexport * from './models/enums/input/input-type.enum';\r\nexport * from './models/enums/table/caption-color.enum';\r\nexport * from './models/enums/tag/tag.enum';\r\nexport * from './models/enums/toast/toast-position-key.enum';\r\nexport * from './models/enums/toast/toast-severity.enum';\r\nexport * from './models/enums/tooltip/tooltip-hover-event.enum';\r\nexport * from './models/enums/tooltip/tooltip-position.enum';\r\nexport * from './models/interaces/breadcrumbs/breadcrumbs.interface';\r\nexport * from './models/interaces/confirm-modal/confirm-modal-service.interface';\r\nexport * from './models/interaces/filter-header/filter-items-definition.interface';\r\nexport * from './models/interaces/item-checked/item-checked.interface';\r\nexport * from './models/interaces/navbar/navbar-link-list.interface';\r\nexport * from './models/interaces/shared/administrative-unit-list';\r\nexport * from './models/interaces/shared/form-status.interface';\r\nexport * from './models/interaces/shared/service-list-item.interface';\r\nexport * from './models/interaces/shared/service-list.interface';\r\nexport * from './models/interaces/shared/unit-list-dropdown.interface';\r\nexport * from './models/interaces/table/table-column.interface';\r\nexport * from './models/interaces/table/table-header.interface';\r\n\r\nexport * from './services/app-config.service';\r\nexport * from './services/cache.service';\r\nexport * from './services/confirm-modal-service';\r\nexport * from './services/dynamic-route.service';\r\nexport * from './services/error-logging.service';\r\nexport * from './services/export.service';\r\nexport * from './services/local-storage.service';\r\nexport * from './services/no-internet.service';\r\nexport * from './services/shared-auth.service';\r\nexport * from './services/shared-message.service';\r\nexport * from './services/translate-sanitizer.service';\r\nexport * from './services/translation.service';\r\nexport * from './services/table-columns.service';\r\nexport * from './services/filter-header.service';\r\nexport * from './services/date.service';\r\n\r\nexport * from './validators/at-least-one-field-present.validator';\r\nexport * from './validators/date-and-time-mismatch.validator';\r\nexport * from './validators/date-mismatch.validator';\r\nexport * from './validators/is-coordinate.validator';\r\nexport * from './validators/is-multiple-of-five.validator';\r\nexport * from './validators/is-not-blank.validator';\r\nexport * from './validators/is-not-decimal.validator';\r\nexport * from './validators/is-one-phone-number.validator';\r\nexport * from './validators/mobile-phone-area-code.validator';\r\nexport * from './validators/multiple-emails-validator';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.LocalStorageService","i1","i2","i3","i4","i2.SharedMessageService","i5","i1.LocalStorageService","i6","i3.TranslationService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"n-isi-platform-design-system.mjs","sources":["../../../projects/design-system/src/handlers/global-error.handler.ts","../../../projects/design-system/src/helpers/clean-mobile-phone-number.ts","../../../projects/design-system/src/helpers/find-unavailable-dates.ts","../../../projects/design-system/src/helpers/format-date-time.function.ts","../../../projects/design-system/src/helpers/format-date-to-api-datetime.ts","../../../projects/design-system/src/helpers/format-date.function.ts","../../../projects/design-system/src/helpers/get-tomorrow-date.function.ts","../../../projects/design-system/src/helpers/is-object-empty.function.ts","../../../projects/design-system/src/helpers/isFormValid.function.ts","../../../projects/design-system/src/helpers/local-format-date.function.ts","../../../projects/design-system/src/helpers/transform-date-time.function.ts","../../../projects/design-system/src/services/local-storage.service.ts","../../../projects/design-system/src/services/shared-auth.service.ts","../../../projects/design-system/src/services/shared-message.service.ts","../../../projects/design-system/src/interceptors/error.interceptor.ts","../../../projects/design-system/src/models/enums/button/button-color.enum.ts","../../../projects/design-system/src/models/enums/button/button-icon-position.enum.ts","../../../projects/design-system/src/models/enums/button/button-size.enum.ts","../../../projects/design-system/src/lib/button/button.component.ts","../../../projects/design-system/src/lib/button/button.component.html","../../../projects/design-system/src/lib/accordion/accordion.component.ts","../../../projects/design-system/src/lib/accordion/accordion.component.html","../../../projects/design-system/src/models/enums/tooltip/tooltip-position.enum.ts","../../../projects/design-system/src/models/enums/tooltip/tooltip-hover-event.enum.ts","../../../projects/design-system/src/lib/tooltip/tooltip.component.ts","../../../projects/design-system/src/lib/tooltip/tooltip.component.html","../../../projects/design-system/src/lib/error/error.component.ts","../../../projects/design-system/src/lib/error/error.component.html","../../../projects/design-system/src/lib/autocomplete/autocomplete.component.ts","../../../projects/design-system/src/lib/autocomplete/autocomplete.component.html","../../../projects/design-system/src/lib/breadcrumbs/breadcrumbs.component.ts","../../../projects/design-system/src/lib/breadcrumbs/breadcrumbs.component.html","../../../projects/design-system/src/lib/button-link/button-link.component.ts","../../../projects/design-system/src/lib/button-link/button-link.component.html","../../../projects/design-system/src/lib/card/card.component.ts","../../../projects/design-system/src/lib/card/card.component.html","../../../projects/design-system/src/lib/checkbox/checkbox.component.ts","../../../projects/design-system/src/lib/checkbox/checkbox.component.html","../../../projects/design-system/src/models/enums/confirm-modal/confirm-modal-color.enum.ts","../../../projects/design-system/src/lib/confirm-modal/confirm-modal.component.ts","../../../projects/design-system/src/lib/confirm-modal/confirm-modal.component.html","../../../projects/design-system/src/models/enums/input/input-type.enum.ts","../../../projects/design-system/src/models/enums/table/caption-color.enum.ts","../../../projects/design-system/src/models/enums/tag/tag.enum.ts","../../../projects/design-system/src/lib/input/input.component.ts","../../../projects/design-system/src/lib/input/input.component.html","../../../projects/design-system/src/models/enums/dropdown/dropdown-selection-mode.enum.ts","../../../projects/design-system/src/lib/date-input/date-input.component.ts","../../../projects/design-system/src/lib/date-input/date-input.component.html","../../../projects/design-system/src/lib/textarea/textarea.component.ts","../../../projects/design-system/src/lib/textarea/textarea.component.html","../../../projects/design-system/src/lib/dropdown/dropdown.component.ts","../../../projects/design-system/src/lib/dropdown/dropdown.component.html","../../../projects/design-system/src/lib/toggle-switch/toggle-switch.component.ts","../../../projects/design-system/src/lib/toggle-switch/toggle-switch.component.html","../../../projects/design-system/src/lib/tag/tag.component.ts","../../../projects/design-system/src/lib/tag/tag.component.html","../../../projects/design-system/src/lib/icon-button/icon-button.component.ts","../../../projects/design-system/src/lib/icon-button/icon-button.component.html","../../../projects/design-system/src/lib/custom-table/custom-table.component.ts","../../../projects/design-system/src/lib/custom-table/custom-table.component.html","../../../projects/design-system/src/lib/divider/divider.component.ts","../../../projects/design-system/src/lib/divider/divider.component.html","../../../projects/design-system/src/lib/expanded-table/expanded-table.component.ts","../../../projects/design-system/src/lib/expanded-table/expanded-table.component.html","../../../projects/design-system/src/lib/file-upload/file-upload.component.ts","../../../projects/design-system/src/lib/file-upload/file-upload.component.html","../../../projects/design-system/src/lib/filter-header/filter-header.component.ts","../../../projects/design-system/src/lib/filter-header/filter-header.component.html","../../../projects/design-system/src/lib/footer/footer.component.ts","../../../projects/design-system/src/lib/footer/footer.component.html","../../../projects/design-system/src/lib/generic-table/generic-table.component.ts","../../../projects/design-system/src/lib/generic-table/generic-table.component.html","../../../projects/design-system/src/lib/input-mask/input-mask.component.ts","../../../projects/design-system/src/lib/input-mask/input-mask.component.html","../../../projects/design-system/src/lib/loader/loader.component.ts","../../../projects/design-system/src/lib/loader/loader.component.html","../../../projects/design-system/src/lib/main-menu/main-menu.component.ts","../../../projects/design-system/src/lib/main-menu/main-menu.component.html","../../../projects/design-system/src/lib/modal/modal.component.ts","../../../projects/design-system/src/lib/modal/modal.component.html","../../../projects/design-system/src/lib/no-data-found/no-data-found.component.ts","../../../projects/design-system/src/lib/no-data-found/no-data-found.component.html","../../../projects/design-system/src/lib/picklist/picklist.component.ts","../../../projects/design-system/src/lib/picklist/picklist.component.html","../../../projects/design-system/src/lib/progress-bar/progress-bar.component.ts","../../../projects/design-system/src/lib/progress-bar/progress-bar.component.html","../../../projects/design-system/src/lib/table-column-select/table-column-select.component.ts","../../../projects/design-system/src/lib/table-column-select/table-column-select.component.html","../../../projects/design-system/src/lib/tinymce-editor/tinymce-editor.component.ts","../../../projects/design-system/src/lib/tinymce-editor/tinymce-editor.component.html","../../../projects/design-system/src/lib/tree-select/tree-select.component.ts","../../../projects/design-system/src/lib/tree-select/tree-select.component.html","../../../projects/design-system/src/models/profilUporabnikaDTO.ts","../../../projects/design-system/src/models/enums/expanded-table/expanded-table.enum.ts","../../../projects/design-system/src/models/enums/toast/toast-position-key.enum.ts","../../../projects/design-system/src/models/enums/toast/toast-severity.enum.ts","../../../projects/design-system/src/services/app-config.service.ts","../../../projects/design-system/src/services/cache.service.ts","../../../projects/design-system/src/services/translation.service.ts","../../../projects/design-system/src/services/confirm-modal-service.ts","../../../projects/design-system/src/services/dynamic-route.service.ts","../../../projects/design-system/src/services/export.service.ts","../../../projects/design-system/src/services/no-internet.service.ts","../../../projects/design-system/src/services/translate-sanitizer.service.ts","../../../projects/design-system/src/services/table-columns.service.ts","../../../projects/design-system/src/services/filter-header.service.ts","../../../projects/design-system/src/services/date.service.ts","../../../projects/design-system/src/validators/at-least-one-field-present.validator.ts","../../../projects/design-system/src/validators/date-and-time-mismatch.validator.ts","../../../projects/design-system/src/validators/date-mismatch.validator.ts","../../../projects/design-system/src/validators/is-coordinate.validator.ts","../../../projects/design-system/src/validators/is-multiple-of-five.validator.ts","../../../projects/design-system/src/validators/is-not-blank.validator.ts","../../../projects/design-system/src/validators/is-not-decimal.validator.ts","../../../projects/design-system/src/validators/is-one-phone-number.validator.ts","../../../projects/design-system/src/validators/mobile-phone-area-code.validator.ts","../../../projects/design-system/src/validators/multiple-emails-validator.ts","../../../projects/design-system/src/public-api.ts","../../../projects/design-system/src/n-isi-platform-design-system.ts"],"sourcesContent":["import { ErrorHandler, Injectable, Injector } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\n@Injectable()\r\nexport class GlobalErrorHandler implements ErrorHandler {\r\n\r\n constructor(\r\n private injector: Injector,\r\n private router: Router\r\n ) {}\r\n\r\n /**\r\n * globalni error handler: pošlje error na API + output errorja v konzolo\r\n */\r\n handleError(error: any): void {\r\n // const errorLoggingService: ErrorLoggingService = this.getErrorLoggingService();\r\n const errorDetails = this.extractErrorDetails(error);\r\n // errorLoggingService.logError(errorDetails);\r\n console.error(error); // če je console.error ga ponovno pošlje na API\r\n }\r\n\r\n /**\r\n * izbira ustreznega servica za logiranje: backoffice ali public\r\n */\r\n // private getErrorLoggingService(): ErrorLoggingService {\r\n // const environment = this.injector.get('ENVIRONMENT');\r\n // return this.injector.get(environment === 'backoffice' ? BackofficeErrorLoggingService : PublicErrorLoggingService);\r\n // }\r\n\r\n /**\r\n * dobi vse detajle, ki jih pripne v error log: browser, route, error stack, message\r\n */\r\n private extractErrorDetails(error: any): any {\r\n const message = error.message ? error.message : error.toString();\r\n const stack = error.stack ? error.stack : '';\r\n const userAgent = navigator.userAgent;\r\n const browser = this.getBrowserInfo(userAgent);\r\n const route = this.router.url;\r\n\r\n return {\r\n error: stack,\r\n message,\r\n browser,\r\n route\r\n };\r\n }\r\n\r\n private getBrowserInfo(userAgent: string): string {\r\n let browserInfo = 'Unknown';\r\n\r\n if (userAgent.includes('Chrome')) {\r\n const version = userAgent.match(/Chrome\\/([\\d.]+)/);\r\n browserInfo = `Chrome ${version ? version[1] : 'Unknown Version'}`;\r\n } else if (userAgent.includes('Firefox')) {\r\n const version = userAgent.match(/Firefox\\/([\\d.]+)/);\r\n browserInfo = `Firefox ${version ? version[1] : 'Unknown Version'}`;\r\n } else if (userAgent.includes('Safari') && !userAgent.includes('Chrome')) {\r\n const version = userAgent.match(/Version\\/([\\d.]+)/);\r\n browserInfo = `Safari ${version ? version[1] : 'Unknown Version'}`;\r\n } else if (userAgent.includes('MSIE') || userAgent.includes('Trident')) {\r\n const version = userAgent.match(/(?:MSIE |rv:)([\\d.]+)/);\r\n browserInfo = `Internet Explorer ${version ? version[1] : 'Unknown Version'}`;\r\n } else if (userAgent.includes('Edge')) {\r\n const version = userAgent.match(/Edge\\/([\\d.]+)/);\r\n browserInfo = `Edge ${version ? version[1] : 'Unknown Version'}`;\r\n }\r\n\r\n return browserInfo;\r\n }\r\n}\r\n","/**\r\n * počisti mobilno telefonsko, da je pripravljena za API oz null, če je nepravilen format:\r\n * +386(041)234-234 -> +38641234234\r\n */\r\nexport function cleanMobilePhoneNumber(phoneNumber: string): string | null {\r\n if (phoneNumber) {\r\n let cleaned = phoneNumber.replace(/[\\s-]/g, '');\r\n const regex = /^\\+(\\d{3})\\(0?(\\d{2})\\)(\\d{3})(\\d{3,})$/;\r\n const match = cleaned.match(regex);\r\n if (match) {\r\n return `+${match[1]}${match[2]}${match[3]}${match[4]}`;\r\n }\r\n }\r\n return null;\r\n}\r\n"," /**\r\n * funkcija za dobit tiste dneve iz availableDates, ki manjkajo\r\n * -> zato da lahko dam dneve ko storitev na UE ni na voljo na disabled (negacija checkDates)\r\n *\r\n * @param availableDates\r\n * @param includeDaysAfterLastDate opcijski parameter, default = 50. Če je podan bodo v rezultatu\r\n * unavailableDates še toliko datumov po zadnjem datumu v availableDates\r\n * -> to je zato, da lahko disablam datume še naprej od zadnjega v availableDates\r\n */\r\n export function findUnavailableDates(availableDates: string[],includeDaysAfterLastDate: number = 50): Date[] {\r\n if (!availableDates.length) return [];\r\n\r\n availableDates.sort();\r\n const startDate = new Date(availableDates[0]);\r\n const endDate = new Date(availableDates[availableDates.length - 1]);\r\n // Extend the end date by the number of disabled days after the last date\r\n const extendedEndDate = new Date(endDate);\r\n extendedEndDate.setDate(endDate.getDate() + includeDaysAfterLastDate);\r\n\r\n let currentDate = new Date(startDate);\r\n const unavailableDates: Date[] = [];\r\n while (currentDate <= extendedEndDate) {\r\n const formattedDate = currentDate.toISOString().split('T')[0];\r\n if (!availableDates.includes(formattedDate) || currentDate > endDate) {\r\n unavailableDates.push(new Date(currentDate));\r\n }\r\n currentDate.setDate(currentDate.getDate() + 1);\r\n }\r\n return unavailableDates;\r\n }\r\n","export function formatDateTime(date: string, time: string): string {\r\n return date.split('.').reverse().join('-') + 'T' + time;\r\n}\r\n","/**\r\n * Pretvori datum iz JavaScript Date objekta v ISO format brez časovnega pasu\r\n */\r\nexport function formatDateToLocalISOString(date: Date): string {\r\n const year = date.getFullYear();\r\n const month = String(date.getMonth() + 1).padStart(2, '0'); // Meseci so indeksirani od 0\r\n const day = String(date.getDate()).padStart(2, '0');\r\n const hours = String(date.getHours()).padStart(2, '0');\r\n const minutes = String(date.getMinutes()).padStart(2, '0');\r\n const seconds = String(date.getSeconds()).padStart(2, '0');\r\n const milliseconds = String(date.getMilliseconds()).padStart(3, '0');\r\n\r\n return `${year}-${month}-${day}T${hours}:${minutes}:${seconds}.${milliseconds}Z`;\r\n}\r\n","/**\r\n * Formats a date from a string into the 'YYYY-MM-DD' format.\r\n *\r\n * @param {string} inputDate - The date string to be formatted.\r\n *\r\n * @returns {string} A date string formatted into 'YYYY-MM-DD'.\r\n * */\r\nexport function formatDate(inputDate: string): string {\r\n const date = new Date(inputDate);\r\n\r\n const year = date.getFullYear();\r\n let month: number | string = date.getMonth() + 1;\r\n let day: number | string = date.getDate();\r\n\r\n // Ensure month and day are two digits\r\n month = month < 10 ? '0' + month : month;\r\n day = day < 10 ? '0' + day : day;\r\n\r\n return `${year}-${month}-${day}`;\r\n}\r\n","/**\r\n * Returns the date of tomorrow, excluding specified disabled dates.\r\n *\r\n * @param {Date[]} disabledDates - An array of disabled dates.\r\n * @return {Date} The date of tomorrow, excluding disabled dates.\r\n */\r\nexport function getTomorrowDate(disabledDates: Date[]): Date {\r\n const today: Date = new Date();\r\n let tomorrow: Date = new Date(today.getTime() + 24 * 60 * 60 * 1000);\r\n let day = tomorrow.getDay();\r\n\r\n const isDisabled = (date: Date): any =>\r\n disabledDates.some(\r\n disabledDate =>\r\n new Date(disabledDate).getDate() === date.getDate() &&\r\n new Date(disabledDate).getMonth() === date.getMonth() &&\r\n new Date(disabledDate).getFullYear() === date.getFullYear()\r\n );\r\n\r\n // If tomorrow is Saturday or Sunday or in disabled dates\r\n while (day === 6 || day === 0 || isDisabled(tomorrow)) {\r\n tomorrow = new Date(tomorrow.getTime() + 24 * 60 * 60 * 1000);\r\n day = tomorrow.getDay();\r\n }\r\n\r\n return tomorrow;\r\n}\r\n","/**\r\n * Checks if the provided object is empty (has no properties of its own)\r\n *\r\n * @param {object} obj - The object to check\r\n * @returns {boolean} - Returns true if the object is empty, false otherwise\r\n */\r\nexport function isEmpty(obj: object): boolean {\r\n return Object.keys(obj).length === 0 && obj.constructor === Object;\r\n}\r\n","import { FormGroup } from '@angular/forms';\r\n\r\n/**\r\n * Checks whether a form is invalid and if a submit action has been triggered.\r\n *\r\n * @param {FormGroup} form - The form to check for validity.\r\n * @param {boolean} isSubmitTriggered - Flag indicating whether a submit action has been triggered.\r\n * @returns {boolean} - Returns `true` if the form is invalid and a submit action has been triggered, `false` otherwise.\r\n */\r\nexport function isFormInvalid(form: FormGroup, isSubmitTriggered: boolean): boolean {\r\n return form.invalid && isSubmitTriggered;\r\n}\r\n","export function localFormatDate(inputDate: string): string {\r\n const date = new Date(inputDate);\r\n const day = String(date.getDate()).padStart(2, '0');\r\n const month = String(date.getMonth() + 1).padStart(2, '0');\r\n const year = date.getFullYear();\r\n\r\n return `${day}.${month}.${year}`;\r\n}\r\n","/**\r\n * Transforms a given date and time string into a formatted date and time representation.\r\n *\r\n * @param {string} dateTime - The date and time string to transform.\r\n *\r\n * @return {Object} - An object containing the transformed date and time.\r\n * @return {string} dateOfVisit - The formatted date.\r\n * @return {string} hourOfVisit - The formatted time.\r\n */\r\nexport function transformDateTime(dateTime: string): { dateOfVisit: string; hourOfVisit: string } {\r\n const date = new Date(dateTime);\r\n const options: any = { year: 'numeric', month: '2-digit', day: '2-digit' };\r\n const formattedDate = date\r\n .toLocaleDateString('sl', options)\r\n .replace('. ', '.')\r\n .replace('. ', '.');\r\n const formattedTime = date.toLocaleTimeString('sl', {\r\n hour: '2-digit',\r\n minute: '2-digit',\r\n });\r\n return { dateOfVisit: formattedDate, hourOfVisit: formattedTime };\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class LocalStorageService {\r\n private storageChangeSubject = new BehaviorSubject<string | null>(null);\r\n\r\n constructor() {\r\n window.addEventListener('storage', event => {\r\n if (event.key === 'userData') {\r\n this.storageChangeSubject.next(event.newValue);\r\n }\r\n });\r\n }\r\n\r\n getStorageChangeObservable(): Observable<string | null> {\r\n return this.storageChangeSubject.asObservable();\r\n }\r\n\r\n /**\r\n * Retrieves an item from local storage.\r\n *\r\n * @param {string} key - The key of the item to retrieve.\r\n * @returns {any|null} - The item retrieved from local storage, or null if the item does not exist.\r\n *\r\n */\r\n getItem(key: string): any | null {\r\n const item = localStorage.getItem(key);\r\n // Mare; bugfix - da pohendla pravilno tudi primer da je lang = undefined\r\n if (item === \"undefined\" || item === null) {\r\n return null;\r\n }\r\n return item ? JSON.parse(item) : null;\r\n }\r\n\r\n /**\r\n * Stores an item in local storage.\r\n *\r\n * @param {string} key - The key under which to store the item.\r\n * @param {any} value - The item to store in local storage.\r\n *\r\n */\r\n setItem(key: string, value: any): void {\r\n localStorage.setItem(key, JSON.stringify(value));\r\n this.storageChangeSubject.next(value);\r\n }\r\n\r\n /**\r\n * Removes an item from local storage.\r\n *\r\n * @param {string} key - The key of the item to remove.\r\n *\r\n * @example\r\n * removeItem('myKey');\r\n */\r\n removeItem(key: string): void {\r\n localStorage.removeItem(key);\r\n this.storageChangeSubject.next(null);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { LocalStorageService } from \"./local-storage.service\";\r\nimport { ProfilUporabnikaDTO } from '../models/profilUporabnikaDTO';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\ninterface UserVloga {\r\n vloga: string,\r\n sektor?: {id: number, obmocniUradIds: number[]}[]\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SharedAuthService {\r\n\r\n userDataBehavior$ = new BehaviorSubject<ProfilUporabnikaDTO | null>(null);\r\n userData$ = this.userDataBehavior$.asObservable();\r\n\r\n constructor(private router: Router, private localStorageService: LocalStorageService) {}\r\n\r\n logout(): void {\r\n this.localStorageService.removeItem('userData');\r\n this.router.navigate(['/login']);\r\n }\r\n\r\n setUserData(userData: ProfilUporabnikaDTO): void {\r\n this.localStorageService.setItem('userData', userData);\r\n this.userDataBehavior$.next(userData);\r\n }\r\n\r\n getUserData(): ProfilUporabnikaDTO {\r\n return this.localStorageService.getItem(\"userData\") as ProfilUporabnikaDTO\r\n }\r\n\r\n getUserVloge(): UserVloga[] {\r\n const userData = this.localStorageService.getItem(\"userData\") as ProfilUporabnikaDTO\r\n\r\n if (!userData.vloge) return [];\r\n\r\n return Object.entries(userData.vloge).map(([vloga, sektorMap]) => {\r\n const sektor = Object.entries(sektorMap).map(([idStr, obmocniUradIds]) => ({\r\n id: parseInt(idStr),\r\n obmocniUradIds\r\n }));\r\n\r\n return {\r\n vloga,\r\n sektor: sektor.length > 0 ? sektor : undefined\r\n };\r\n });\r\n }\r\n\r\n getObmocniUradiUporabnika(): number[] {\r\n const vloge = this.getUserVloge();\r\n if (vloge && vloge.length > 0) {\r\n const vloga = vloge[0]\r\n let ids: number[] = [];\r\n vloga.sektor?.forEach(item => {\r\n ids = [...ids, ...item.obmocniUradIds.filter(f => f !== -1)]\r\n })\r\n return ids;\r\n } \r\n\r\n return [];\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { MessageService } from 'primeng/api';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SharedMessageService {\r\n constructor(\r\n private messageService: MessageService,\r\n private translateService: TranslateService\r\n ) {}\r\n\r\n successMessage(message?: string): void {\r\n this.messageService.add({\r\n key: 'notification',\r\n severity: 'success',\r\n summary: message ? message :this.translateService.instant('common.akcijaUspesna'),\r\n life: 6000,\r\n });\r\n }\r\n\r\n errorMessage(message?: string): void {\r\n this.messageService.add({\r\n key: 'notification',\r\n severity: 'error',\r\n summary: message ? message : this.translateService.instant(\"errors.thereWasAnError\"),\r\n life: 5000\r\n });\r\n }\r\n}\r\n","import {\r\n HttpErrorResponse,\r\n HttpEvent,\r\n HttpHandler,\r\n HttpInterceptor,\r\n HttpRequest,\r\n} from '@angular/common/http';\r\nimport { inject, Injectable } from \"@angular/core\";\r\nimport { Router } from '@angular/router';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { SharedAuthService } from \"../services/shared-auth.service\";\r\nimport { SharedMessageService } from \"../services/shared-message.service\";\r\n\r\n/**\r\n * 2024-07-04 Mare:\r\n * pustil samo ta generalni error.interceptor v design-system, prej je bil za backoffice posebej\r\n * * loči se preko this.injector.get('ENVIRONMENT') === 'backoffice' oz. 'public'\r\n */\r\n@Injectable()\r\nexport class ErrorInterceptor implements HttpInterceptor {\r\n\r\n private sharedAuthService = inject(SharedAuthService)\r\n private sharedMessageService = inject(SharedMessageService)\r\n private translateService = inject(TranslateService)\r\n private router = inject(Router)\r\n\r\n constructor() {}\r\n\r\n public intercept(httpRequest: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\r\n return next.handle(httpRequest).pipe(\r\n catchError((err: HttpErrorResponse) => {\r\n if (err.status === 401) {\r\n if (err?.error?.errorCode == 2056) {\r\n this.sharedMessageService.errorMessage(this.translateService?.instant('errors.deactivatedAccount'));\r\n this.sharedAuthService.logout();\r\n } else {\r\n this.sharedMessageService.errorMessage(this.translateService?.instant('errors.jwtTokenExpired'));\r\n this.sharedAuthService.logout();\r\n }\r\n } else if (err.status === 500 && err.error.message && err.error.message.includes('JWT')) {\r\n // JWT malformed: če npr. spremeniš jwt token\r\n this.sharedAuthService.logout();\r\n console.error('Invalid session detected. Please log in again.');\r\n } else if (err.status === 403) {\r\n this.router.navigate([\"\"]);\r\n } else {\r\n // Seznam end-pointov pri katerih se error ne prikaže.\r\n const whiteListEndPoints = [\"preveri-nove-dokumente-v-krpanu\", \"preveri-nove-zadeve-v-krpanu\"];\r\n let displayError = true;\r\n whiteListEndPoints.forEach(item => {\r\n if (err.url?.includes(item)) {\r\n displayError = false;\r\n }\r\n })\r\n \r\n if (displayError) {\r\n // Mapping of error codes and their corresponding translation keys\r\n const errorTranslationKeyMapping: any = {\r\n 'VE-0001': 'errors.timeslotNotAvailable',\r\n 'VE-0002': 'errors.jwtTokenExpired',\r\n 'VE-0003': 'errors.unauthorizedRole',\r\n 'VE-0007': 'errors.applicationNotFound',\r\n };\r\n\r\n const translationKey = errorTranslationKeyMapping[err.error] || 'errors.thereWasAnError';\r\n // If error message exists in the response display it, otherwise take error message from error code \r\n const errorMessage = err.error.message ? err.error.message : this.translateService?.instant(translationKey);\r\n\r\n // ES-307; 2024-07-02: Mare; dodajanje kode napake uporabniku\r\n const errorCode = err.error?.code ? `${this.translateService.instant('errors.errorCode')} ${err.error.code}` : '';\r\n\r\n this.sharedMessageService.errorMessage(`${errorMessage} ${errorCode}`);\r\n }\r\n }\r\n\r\n return throwError(() => new Error(err.error?.error?.message! + '\\n' + err.message!));\r\n })\r\n );\r\n }\r\n}\r\n","export enum ButtonColor {\r\n primary = 'primary',\r\n secondary = 'secondary',\r\n success = 'success',\r\n info = 'info',\r\n warning = 'warning',\r\n help = 'help',\r\n danger = 'danger',\r\n link = 'link',\r\n}\r\n","export enum ButtonIconPosition {\r\n right = 'right',\r\n left = 'left',\r\n}\r\n","export enum ButtonSize {\r\n small = 'p-button p-button-sm',\r\n normal = 'p-button',\r\n large = 'p-button p-button-lg',\r\n}\r\n","import { Component, EventEmitter, Input, Output,output } from '@angular/core';\r\nimport { ButtonColor } from '../../models/enums/button/button-color.enum';\r\nimport { ButtonIconPosition } from '../../models/enums/button/button-icon-position.enum';\r\nimport { ButtonSize } from '../../models/enums/button/button-size.enum';\r\nimport { NgIf, NgClass } from '@angular/common';\r\nimport { Button } from 'primeng/button';\r\n\r\n@Component({\r\n selector: 'lib-button',\r\n templateUrl: './button.component.html',\r\n styleUrls: ['./button.component.scss'],\r\n imports: [\r\n NgIf,\r\n Button,\r\n NgClass,\r\n ],\r\n})\r\nexport class ButtonComponent {\r\n @Input() hasIcon = false;\r\n\r\n @Input() label!: string;\r\n\r\n @Input() color: ButtonColor = ButtonColor.primary;\r\n\r\n @Input() icon = 'pi-check';\r\n\r\n @Input() iconPos: ButtonIconPosition = ButtonIconPosition.right;\r\n\r\n @Input() disabled = false;\r\n\r\n @Input() isLoading = false;\r\n\r\n // You have the option to add multiple classes, but if you don't add any, the default class will be used instead.\r\n // p-button-raised, p-button-outlined, p-button-text, p-button-rounded\r\n @Input() styleClass!: string;\r\n\r\n @Input() size: ButtonSize = ButtonSize.normal;\r\n\r\n @Input() accessibilityText = '';\r\n\r\n @Input() buttonType = 'button';\r\n\r\n @Input() isAccessible = false;\r\n\r\n @Input() isSelected = false;\r\n\r\n @Input() ariaControlsId: string | null = null;\r\n\r\n @Input() isExpanded = false;\r\n\r\n @Output() clickEvent = new EventEmitter();\r\n\r\n @Input() link: boolean = false;\r\n @Input() isTextareaClear: boolean = false;\r\n\r\n click(event: MouseEvent): void {\r\n this.clickEvent.emit(event);\r\n }\r\n}\r\n\r\n\r\n","<p-button\r\n *ngIf='!hasIcon'\r\n label=\"{{label}}\"\r\n styleClass=\"p-button-{{color}} {{styleClass}} p-button-{{size}}\"\r\n [disabled]='disabled'\r\n [loading]=\"isLoading\"\r\n (click)='click($event)'\r\n [ariaLabel]=\"accessibilityText\"\r\n [type]=\"buttonType\"\r\n [ngClass]=\"{ 'selected ': isSelected, 'accessible-btn' : isAccessible }\"\r\n [attr.aria-controls]=\"ariaControlsId\"\r\n [attr.aria-expanded]=\"isExpanded\"\r\n [link]=\"link\"\r\n></p-button>\r\n<p-button\r\n *ngIf='hasIcon'\r\n label=\"{{label}}\"\r\n styleClass=\"p-button-{{color}} {{styleClass}} p-button-{{size}}\"\r\n icon='pi {{icon}}'\r\n [iconPos]='iconPos'\r\n [disabled]='disabled'\r\n [loading]=\"isLoading\"\r\n (click)=\"click($event)\"\r\n [ariaLabel]=\"accessibilityText\"\r\n [type]=\"buttonType\"\r\n [ngClass]=\"{ 'selected ': isSelected, 'accessible-btn' : isAccessible }\"\r\n [attr.aria-controls]=\"ariaControlsId\"\r\n [attr.aria-expanded]=\"isExpanded\"\r\n [link]=\"link\"\r\n></p-button>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { ButtonColor } from '../../models/enums/button/button-color.enum';\r\nimport { Accordion } from 'primeng/accordion';\r\nimport { NgIf, NgClass, NgTemplateOutlet } from '@angular/common';\r\nimport { InputText } from 'primeng/inputtext';\r\nimport { OverlayPanelModule } from 'primeng/overlaypanel';\r\nimport { SelectButton } from 'primeng/selectbutton';\r\nimport { ButtonComponent } from '../button/button.component';\r\nimport { PopoverModule } from 'primeng/popover';\r\nimport { AccordionModule } from 'primeng/accordion';\r\n\r\n@Component({\r\n selector: 'lib-accordion[headerTitle]',\r\n templateUrl: './accordion.component.html',\r\n styleUrls: ['./accordion.component.scss'],\r\n imports: [\r\n Accordion,\r\n AccordionModule,\r\n NgIf,\r\n NgClass,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n InputText,\r\n NgTemplateOutlet,\r\n PopoverModule,\r\n SelectButton,\r\n ButtonComponent,\r\n ],\r\n})\r\nexport class AccordionComponent {\r\n @Input() isHeaderEditable = false;\r\n\r\n @Input() isAccordionDeletable = false;\r\n\r\n @Input() isAccordionCloneable = false;\r\n\r\n @Input() headerTitle!: string;\r\n\r\n @Input() selected: boolean | null = false;\r\n\r\n @Input() icon?: string;\r\n\r\n @Input() headerTitlePlaceholder?: string;\r\n\r\n @Input() headerTitleEditable?: string;\r\n\r\n @Input() group!: FormGroup;\r\n\r\n @Input() controlName!: string;\r\n\r\n @Input() name!: string;\r\n\r\n @Input() canDisable = false;\r\n\r\n @Input() toggleLabel = 'Label';\r\n\r\n @Input() toggleControlName!: string;\r\n\r\n @Output() clickEvent = new EventEmitter();\r\n\r\n @Output() clickToggleEvent = new EventEmitter();\r\n\r\n @Output() clickCloneEvent = new EventEmitter();\r\n\r\n stateOptions: any[] = [\r\n { label: 'Ne', value: false },\r\n { label: 'Da', value: true },\r\n ];\r\n\r\n click(event: MouseEvent): void {\r\n this.clickEvent.emit(event);\r\n event.stopPropagation();\r\n }\r\n\r\n clickToggleButton(event: MouseEvent): void {\r\n this.clickToggleEvent.emit(event);\r\n event.stopPropagation();\r\n }\r\n\r\n clickCloneButton(event: MouseEvent): void {\r\n this.clickCloneEvent.emit(event);\r\n event.stopPropagation();\r\n }\r\n\r\n protected readonly ButtonColor = ButtonColor;\r\n}\r\n","<p-accordion class=\"w-full\" [value]=\"selected ? 1 : 0\" [id]=\"headerTitle\">\r\n <p-accordion-panel [value]=\"1\">\r\n <p-accordion-header>\r\n <div class=\"flex justify-content-between align-items-center overflow-auto\">\r\n <ng-container>\r\n <div class=\"flex align-items-center\" *ngIf=\"!isHeaderEditable\">\r\n <i [ngClass]=\"icon\"></i>\r\n <span class=\"vertical-align-middle\">{{ headerTitle }}</span>\r\n </div>\r\n <div class=\"flex align-items-center\" *ngIf=\"isHeaderEditable\" [formGroup]=\"group\">\r\n <i [ngClass]=\"icon\"></i>\r\n <input type=\"text\" pInputText [formControlName]=\"controlName\" (click)=\"$event.stopPropagation()\"\r\n (keydown.space)=\"$event.stopPropagation()\"/>\r\n </div>\r\n <i class=\"pi pi-ellipsis-v controls-mobile\" (click)=\"controlsMenu.toggle($event)\"\r\n *ngIf=\"canDisable || isAccordionDeletable\"></i>\r\n <div class=\"controls-lg-screen\">\r\n <ng-container *ngIf=\"canDisable || isAccordionDeletable\" [ngTemplateOutlet]=\"controls\"></ng-container>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </p-accordion-header>\r\n <p-accordion-content>\r\n <ng-content></ng-content>\r\n </p-accordion-content>\r\n </p-accordion-panel>\r\n</p-accordion>\r\n\r\n<p-popover #controlsMenu>\r\n <ng-container [ngTemplateOutlet]=\"smallerDevicesControls\"></ng-container>\r\n</p-popover>\r\n\r\n<ng-template #controls>\r\n <div class=\"controls\">\r\n <div class=\"flex align-items-center\">\r\n <form [formGroup]=\"group\" class=\"flex align-items-center ml-5\" *ngIf=\"canDisable\">\r\n <label class=\"mr-2\">{{ toggleLabel }}</label>\r\n <p-selectButton\r\n (click)=\"clickToggleButton($event)\"\r\n [options]=\"stateOptions\"\r\n [formControlName]=\"toggleControlName\"\r\n optionLabel=\"label\"\r\n optionValue=\"value\"\r\n ></p-selectButton>\r\n </form>\r\n <lib-button\r\n *ngIf=\"isAccordionCloneable\"\r\n class=\"ml-5 clone-button\"\r\n label=\"Kopiraj okence\"\r\n [hasIcon]=\"true\"\r\n icon=\"pi pi-clone\"\r\n (clickEvent)=\"clickCloneButton($event)\"\r\n [color]=\"ButtonColor.warning\"\r\n ></lib-button>\r\n </div>\r\n\r\n <lib-button\r\n *ngIf=\"isAccordionDeletable\"\r\n class=\"ml-5 delete-button\"\r\n label=\"Izbriši okence\"\r\n [hasIcon]=\"true\"\r\n icon=\"pi pi-trash\"\r\n (clickEvent)=\"click($event)\"\r\n [color]=\"ButtonColor.danger\"\r\n ></lib-button>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #smallerDevicesControls>\r\n <div class=\"flex-column p-1\">\r\n <form [formGroup]=\"group\" class=\"flex align-items-center ml-5\" *ngIf=\"canDisable\">\r\n <label class=\"mr-2\">{{ toggleLabel }}</label>\r\n <p-selectButton\r\n (click)=\"clickToggleButton($event)\"\r\n [options]=\"stateOptions\"\r\n [formControlName]=\"toggleControlName\"\r\n optionLabel=\"label\"\r\n optionValue=\"value\"\r\n ></p-selectButton>\r\n </form>\r\n\r\n <div class=\"flex align-items-center mt-2\">\r\n <lib-button\r\n *ngIf=\"isAccordionCloneable\"\r\n class=\"clone-button\"\r\n label=\"Kopiraj okence\"\r\n [hasIcon]=\"true\"\r\n icon=\"pi pi-clone\"\r\n (clickEvent)=\"clickCloneButton($event)\"\r\n [color]=\"ButtonColor.warning\"\r\n ></lib-button>\r\n\r\n <lib-button\r\n *ngIf=\"isAccordionDeletable\"\r\n class=\"ml-2 delete-button\"\r\n label=\"Izbriši okence\"\r\n [hasIcon]=\"true\"\r\n icon=\"pi pi-trash\"\r\n (clickEvent)=\"click($event)\"\r\n [color]=\"ButtonColor.danger\"\r\n ></lib-button>\r\n </div>\r\n </div>\r\n</ng-template>\r\n","export enum TooltipPosition {\r\n left = 'left',\r\n right = 'right',\r\n top = 'top',\r\n bottom = 'bottom',\r\n}\r\n","export enum TooltipHoverEventEnum {\r\n hover = 'hover',\r\n focus = 'focus',\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n HostListener,\r\n Input,\r\n OnInit,\r\n SecurityContext,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { TooltipPosition } from '../../models/enums/tooltip/tooltip-position.enum';\r\nimport { TooltipHoverEventEnum } from '../../models/enums/tooltip/tooltip-hover-event.enum';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { Tooltip } from 'primeng/tooltip';\r\n\r\n@Component({\r\n selector: ' lib-tooltip',\r\n templateUrl: './tooltip.component.html',\r\n styleUrls: ['./tooltip.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [Tooltip],\r\n})\r\nexport class TooltipComponent implements OnInit {\r\n @Input() icon = 'pi-info-circle';\r\n\r\n @Input() htmlParser = false;\r\n\r\n private _text!: string;\r\n\r\n @Input()\r\n set text(value: string) {\r\n if (value && this.htmlParser) {\r\n const sanitizedValue = this.sanitizer.sanitize(SecurityContext.HTML, value) ?? '';\r\n const parser = new DOMParser();\r\n const decodedString = parser.parseFromString(sanitizedValue, 'text/html').documentElement\r\n .textContent;\r\n this._text = decodedString ?? '';\r\n } else {\r\n this._text = value;\r\n }\r\n }\r\n\r\n get text(): string {\r\n return this._text;\r\n }\r\n\r\n @Input() position: TooltipPosition = TooltipPosition.right;\r\n\r\n @Input() tooltipEvent!: TooltipHoverEventEnum;\r\n\r\n @Input() autoHide = false;\r\n\r\n @Input() htmlParse = true;\r\n\r\n @ViewChild(Tooltip) tooltip!: Tooltip;\r\n\r\n constructor(private sanitizer: DomSanitizer) {}\r\n\r\n ngOnInit(): void {\r\n if (window.innerWidth > 768) {\r\n this.tooltipEvent = TooltipHoverEventEnum.focus;\r\n }\r\n }\r\n\r\n onClick(): void {\r\n if (window.innerWidth <= 768) {\r\n this.tooltip.activate();\r\n }\r\n }\r\n\r\n @HostListener('document:click', ['$event'])\r\n onDocumentClick(event: MouseEvent): void {\r\n if (!this.tooltip.el.nativeElement.contains(event.target)) {\r\n this.tooltip.deactivate();\r\n }\r\n }\r\n}\r\n","<i\r\n tabindex=\"0\"\r\n class=\"pi {{ icon }}\"\r\n pTooltip=\"{{ text }}\"\r\n [tooltipPosition]=\"position\"\r\n [tooltipEvent]='tooltipEvent'\r\n [autoHide]=\"autoHide\"\r\n [escape]=\"htmlParse\"\r\n (click)=\"onClick()\"\r\n [attr.aria-label]=\"text\"\r\n aria-describedby=\"tooltipId\"\r\n></i>\r\n\r\n<div id=\"tooltipId\" style=\"display: none;\">{{ text }}</div>\r\n\r\n","import { Component, Input } from '@angular/core';\r\nimport { NgIf } from '@angular/common';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'lib-error',\r\n templateUrl: './error.component.html',\r\n styleUrls: ['./error.component.scss'],\r\n imports: [NgIf, TranslateModule],\r\n})\r\nexport class ErrorComponent {\r\n // eslint-disable-next-line\r\n @Input() hasError: any;\r\n\r\n @Input() isTouched = false;\r\n\r\n @Input() isSubmitTriggered = false;\r\n\r\n @Input() isNestedFormSubmit = false;\r\n\r\n @Input() isDirty = false;\r\n\r\n @Input() isRequired = false;\r\n\r\n @Input() hasGroupError = false;\r\n\r\n @Input() errorId!: string;\r\n}\r\n","<small class=\"required\" aria-live=\"polite\" [id]=\"errorId\">\r\n <ng-container *ngIf=\"hasError\">\r\n <ng-container *ngIf=\"(isTouched || isSubmitTriggered || isNestedFormSubmit) && hasError.required\">\r\n {{ 'errors.isRequired' | translate }}\r\n </ng-container>\r\n <ng-container *ngIf=\"(isTouched || isSubmitTriggered || isNestedFormSubmit) && !hasError.required && hasError.isNotBlank\">\r\n {{ 'errors.isNotBlank' | translate }}\r\n </ng-container>\r\n <ng-container *ngIf=\"(isTouched || isSubmitTriggered || isNestedFormSubmit) && !hasError.required && !hasError.isNotBlank && hasError.isCoordinate\">\r\n {{ 'errors.isCoordinate' | translate }}\r\n </ng-container>\r\n <ng-container *ngIf=\"((isTouched || isSubmitTriggered || isNestedFormSubmit) && !hasError.required && hasError.isNotDecimal)\">\r\n {{ 'errors.decimal' | translate }}\r\n </ng-container>\r\n <ng-container *ngIf=\"((isTouched || isSubmitTriggered || isNestedFormSubmit) && !hasError.required && hasError.min)\">\r\n {{ 'errors.minNumber' | translate }}\r\n </ng-container>\r\n <ng-container *ngIf=\"((isTouched || isSubmitTriggered || isNestedFormSubmit) && !hasError.required && !hasError.min && hasError.max)\">\r\n {{ 'errors.maxNumber' | translate }}\r\n </ng-container>\r\n <ng-container *ngIf=\"((isTouched || isSubmitTriggered || isNestedFormSubmit) && !hasError.required && hasError.email)\">\r\n {{ 'errors.email' | translate }}\r\n </ng-container>\r\n <ng-container *ngIf=\"((isTouched || isSubmitTriggered || isNestedFormSubmit) && !hasError.required && !hasGroupError && hasError.isNotValidPhoneNumber)\">\r\n {{ 'errors.phoneNumber' | translate }}\r\n </ng-container>\r\n <ng-container *ngIf=\"((isTouched || isSubmitTriggered || isNestedFormSubmit) && !hasError.required && !hasGroupError && hasError.pattern)\">\r\n {{ 'errors.invalidInput' | translate }}\r\n </ng-container>\r\n <ng-container *ngIf=\"((isTouched || isSubmitTriggered || isNestedFormSubmit) && !hasError.required && hasError.isMultipleOfFive)\">\r\n {{ 'errors.isMultipleOfFive' | translate }}\r\n </ng-container>\r\n </ng-container>\r\n</small>\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { FormStatusInterface } from '../../models/interaces/shared/form-status.interface';\r\nimport { TooltipPosition } from '../../models/enums/tooltip/tooltip-position.enum';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { TooltipHoverEventEnum } from '../../models/enums/tooltip/tooltip-hover-event.enum';\r\nimport { NgIf, NgClass } from '@angular/common';\r\nimport { TooltipComponent } from '../tooltip/tooltip.component';\r\nimport { AutoComplete } from 'primeng/autocomplete';\r\nimport { PrimeTemplate } from 'primeng/api';\r\nimport { MultiSelect } from 'primeng/multiselect';\r\nimport { ErrorComponent } from '../error/error.component';\r\n\r\n@Component({\r\n selector: 'lib-autocomplete[group][controlName][name]',\r\n templateUrl: './autocomplete.component.html',\r\n styleUrls: ['./autocomplete.component.scss'],\r\n imports: [\r\n FormsModule,\r\n ReactiveFormsModule,\r\n NgIf,\r\n TooltipComponent,\r\n AutoComplete,\r\n PrimeTemplate,\r\n MultiSelect,\r\n NgClass,\r\n ErrorComponent,\r\n ],\r\n})\r\nexport class AutocompleteComponent implements OnInit {\r\n protected readonly TooltipHoverEventEnum = TooltipHoverEventEnum;\r\n\r\n _isTooltipVisible!: boolean;\r\n\r\n dynamicItemsLabel!: any;\r\n\r\n @Input() name!: string;\r\n\r\n @Input() isMultiselect = false;\r\n\r\n @Input() selectedItemLabel = 'Izbrano število:';\r\n\r\n @Input() group!: FormGroup;\r\n\r\n @Input() controlName!: string;\r\n\r\n @Input() label = 'autocomplete';\r\n\r\n @Input() optionList: object[] = [];\r\n\r\n @Input() optionLabel = 'name';\r\n\r\n @Input() optionalValue = 'value';\r\n\r\n @Input() placeholder = '';\r\n\r\n @Input() accessibilityText = '';\r\n\r\n @Input() filter = false;\r\n\r\n @Input() appendTo?: string;\r\n\r\n @Input() filterBy = 'name';\r\n\r\n @Input() showClear = true;\r\n \r\n @Input() forceSelection = true\r\n\r\n @Input() isRequired = true;\r\n\r\n @Input() tooltipPosition: TooltipPosition = TooltipPosition.right;\r\n\r\n @Input() tooltipText?: string = '';\r\n\r\n @Input() formStatus?: FormStatusInterface;\r\n\r\n @Input() nestedGroup = false;\r\n\r\n @Input() isLoading = false;\r\n\r\n @Input() emptyMessage?: string;\r\n\r\n @Input() ariaFilterLabel?: string;\r\n\r\n @Output() getValueEvent = new EventEmitter();\r\n\r\n filteredOptions?: any;\r\n\r\n // TODO: tole (še) ne deluje\r\n // aliasi za glavne besede / za SLOVENŠČINO\r\n // aliases: { [key: string]: string[] } = {\r\n // 'pridobitev': ['dobiti', 'izdaja'],\r\n // 'izkaznica': ['karta', 'dovoljenje']\r\n // };\r\n\r\n // suffixi / za SLOVENŠČINO\r\n suffixes = [\r\n 'ega',\r\n 'ej',\r\n 'emu',\r\n 'eva',\r\n 'em',\r\n 'om',\r\n 'ev',\r\n 'ih',\r\n 'ic',\r\n 'is',\r\n 'im',\r\n 'a',\r\n 'e',\r\n 'i',\r\n 'o',\r\n 'u',\r\n ];\r\n\r\n constructor(private readonly translateService: TranslateService) {}\r\n\r\n getSelectedValue(event: any): void {\r\n this.getValueEvent.emit(event);\r\n }\r\n\r\n ngOnInit(): void {\r\n this._isTooltipVisible = !!this.tooltipText;\r\n this.dynamicItemsLabel = this.selectedItemLabel + ' {0}';\r\n\r\n // this.normalizeAliases();\r\n }\r\n\r\n onClear(): void {\r\n this.group.get(this.controlName)?.setValue(null);\r\n }\r\n\r\n get emptyAutocompleteMessage(): string {\r\n if (this.emptyMessage) {\r\n return this.emptyMessage;\r\n } else {\r\n return this.translateService.instant('components.autocomplete.emptyList');\r\n }\r\n }\r\n\r\n get emptyFilterAutocompleteMessage(): string {\r\n return this.translateService.instant('components.autocomplete.emptyFilterList');\r\n }\r\n\r\n /**\r\n * vrne aliase brez končnic, ki so definirane zgoraj + lowerCase\r\n */\r\n // normalizeAliases(): void {\r\n // // Normalize aliases\r\n // for (const word in this.aliases) {\r\n // this.aliases[word] = this.aliases[word].map(alias => this.normalizeSlovenianSuffixes(alias.toLowerCase()));\r\n // }\r\n // }\r\n\r\n /**\r\n * vrne besede brez končnic, ki so definirane zgoraj + lowerCase\r\n */\r\n normalizeSlovenianSuffixes(word: string): string {\r\n // Iterate through the suffixes and remove them from the word\r\n if (word) {\r\n for (const suffix of this.suffixes) {\r\n if (word.toLowerCase().endsWith(suffix)) {\r\n return word.toLowerCase().slice(0, -suffix.length); // Remove the suffix from the word\r\n }\r\n }\r\n return word.toLowerCase();\r\n }\r\n\r\n return \"\";\r\n }\r\n\r\n /**\r\n * filter metoda za p-autocomplete: vsebuje preprosto varianto fuzzy searcha\r\n * TODO: iskanje po aliasih\r\n */\r\n completeMethod(event: { query: string }): void {\r\n // dobi user input\r\n const normalizedUserInput = this.normalizeSlovenianSuffixes(event.query);\r\n\r\n // filtrira optionList na osnovi preprostega fuzzy search\r\n this.filteredOptions = this.optionList.filter(option => {\r\n const normalizedOption = this.normalizeSlovenianSuffixes((option as any)[this.filterBy]);\r\n const userWords = normalizedUserInput.split(/\\s+/);\r\n return userWords.some(word => normalizedOption.includes(this.normalizeSlovenianSuffixes(word)));\r\n });\r\n }\r\n}\r\n","<div class='flex flex-column gap-1' [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 <p-autoComplete *ngIf=\"!isMultiselect\"\r\n [inputId]=\"name\"\r\n [dropdown]=\"true\"\r\n [forceSelection]=\"true\"\r\n [suggestions]=\"filteredOptions\"\r\n (completeMethod)=\"completeMethod($event)\"\r\n [appendTo]=\"appendTo\"\r\n [optionLabel]=\"filterBy\"\r\n [formControlName]=\"controlName\"\r\n [placeholder]='placeholder'\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\r\n <!-- custom template for button - dropdownicon | aria support -->\r\n <ng-template pTemplate=\"dropdownicon\">\r\n <span class=\"p-button-icon pi pi-chevron-down\"\r\n id=\"dropdownLabel\"\r\n [attr.aria-label]=\"ariaFilterLabel\"></span>\r\n </ng-template>\r\n </p-autoComplete>\r\n\r\n <p-multiSelect\r\n *ngIf=\"isMultiselect\"\r\n [inputId]=\"name\"\r\n (onChange)='getSelectedValue($event)'\r\n [options]=\"optionList\"\r\n [optionLabel]=\"!nestedGroup ? optionLabel : ''\"\r\n [formControlName]=\"controlName\"\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]=\"emptyAutocompleteMessage\"\r\n [emptyFilterMessage]=\"emptyFilterAutocompleteMessage\"\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","import { Component, Input } from '@angular/core';\r\nimport { MenuItem, PrimeTemplate } from 'primeng/api';\r\nimport { Breadcrumb } from 'primeng/breadcrumb';\r\n\r\n@Component({\r\n selector: 'lib-breadcrumbs[itemList][homeItem]',\r\n templateUrl: './breadcrumbs.component.html',\r\n styleUrls: ['./breadcrumbs.component.scss'],\r\n imports: [Breadcrumb, PrimeTemplate],\r\n})\r\nexport class BreadcrumbsComponent {\r\n @Input() itemList: MenuItem[] = [];\r\n\r\n @Input() homeItem: MenuItem = {};\r\n}\r\n","<p-breadcrumb\r\n class=\"max-w-full\"\r\n [model]=\"itemList\"\r\n [home]=\"homeItem\"\r\n>\r\n <ng-template pTemplate=\"separator\"> > </ng-template>\r\n</p-breadcrumb>\r\n<!--<lib-divider></lib-divider>-->\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { NgIf, NgClass } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'lib-button-link',\r\n templateUrl: './button-link.component.html',\r\n styleUrls: ['./button-link.component.scss'],\r\n imports: [NgIf, NgClass],\r\n})\r\nexport class ButtonLinkComponent {\r\n @Input() hasIcon = false;\r\n\r\n @Input() label!: string;\r\n\r\n @Input() isDanger = false;\r\n\r\n @Input() isPrimary = false;\r\n\r\n @Input() icon = 'pi-check';\r\n\r\n @Input() target?: string;\r\n\r\n @Input() accessibilityText = '';\r\n\r\n @Output() clickEvent = new EventEmitter();\r\n\r\n click(event: MouseEvent): void {\r\n this.clickEvent.emit(event);\r\n }\r\n}\r\n","<ng-container *ngIf=\"isDanger\">\r\n <a href=\"#\"\r\n [target]=\"target\"\r\n [attr.aria-label]=\"accessibilityText\"\r\n (click)='click($event)'\r\n class=\"p-button-link p-button-link-danger text-center\">\r\n {{ label }} <i *ngIf=\"hasIcon\" class=\"pi\" [ngClass]=\"icon\"></i>\r\n </a>\r\n</ng-container>\r\n<ng-container *ngIf=\"isPrimary\">\r\n <a href=\"#\"\r\n [target]=\"target\"\r\n [attr.aria-label]=\"accessibilityText\"\r\n (click)='click($event)'\r\n class=\"p-button-link p-button-link-primary text-center\">\r\n {{ label }} <i *ngIf=\"hasIcon\" class=\"pi\" [ngClass]=\"icon\"></i>\r\n </a>\r\n</ng-container>\r\n\r\n","import { Component, Input } from '@angular/core';\r\nimport { Card } from 'primeng/card';\r\n\r\n@Component({\r\n selector: 'lib-card',\r\n templateUrl: './card.component.html',\r\n styleUrls: ['./card.component.scss'],\r\n imports: [Card],\r\n})\r\nexport class CardComponent {\r\n @Input() title!: string;\r\n\r\n @Input() cardBody!: string;\r\n}\r\n","<p-card header=\"{{ title }}\">\r\n <p class=\"m-0 flex align-items-center\"><i class=\"pi pi-exclamation-triangle mr-3\"></i>{{ cardBody }}</p>\r\n</p-card>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { FormStatusInterface } from '../../models/interaces/shared/form-status.interface';\r\nimport { Checkbox } from 'primeng/checkbox';\r\n\r\n@Component({\r\n selector: 'lib-checkbox[group][controlName][label]',\r\n templateUrl: './checkbox.component.html',\r\n styleUrls: ['./checkbox.component.scss'],\r\n imports: [\r\n FormsModule,\r\n ReactiveFormsModule,\r\n Checkbox,\r\n ],\r\n})\r\nexport class CheckboxComponent {\r\n @Input() label!: string;\r\n\r\n @Input() group!: FormGroup;\r\n\r\n @Input() controlName!: string;\r\n\r\n @Input() value = false;\r\n\r\n @Output() clickCheckboxEvent = new EventEmitter();\r\n\r\n @Input() formStatus?: FormStatusInterface;\r\n\r\n @Input() ariaLabel = '';\r\n\r\n /**\r\n * Emit event on checkbox click\r\n * @param event\r\n */\r\n clickCheckbox(event: MouseEvent): void {\r\n this.clickCheckboxEvent.emit(event);\r\n event.stopPropagation();\r\n }\r\n}\r\n","<div [formGroup]=\"group\">\r\n <p-checkbox [binary]=\"true\"\r\n (click)=\"clickCheckbox($event)\"\r\n [formControlName]=\"controlName\"\r\n [value]=\"value\"\r\n [inputId]=\"controlName\" \r\n [ariaLabel]=\"ariaLabel\"\r\n ></p-checkbox>\r\n <label [for]=\"controlName\" class=\"ml-2\">{{ label }}</label>\r\n</div>\r\n","export enum DialogColor {\r\n primary = 'primary',\r\n secondary = 'secondary',\r\n info = 'info',\r\n warning = 'warning',\r\n danger = 'danger',\r\n}\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { DialogColor } from '../../models/enums/confirm-modal/confirm-modal-color.enum';\r\nimport { NgClass } from '@angular/common';\r\nimport { PrimeTemplate } from 'primeng/api';\r\nimport { Button } from 'primeng/button';\r\nimport { ConfirmDialogModule } from 'primeng/confirmdialog';\r\n\r\n@Component({\r\n selector: 'lib-confirm-modal',\r\n templateUrl: './confirm-modal.component.html',\r\n styleUrls: ['./confirm-modal.component.scss'],\r\n imports: [\r\n NgClass,\r\n PrimeTemplate,\r\n ConfirmDialogModule,\r\n Button,\r\n ],\r\n})\r\nexport class ConfirmModalComponent {\r\n @Input() acceptBtnLabel = 'Da';\r\n\r\n @Input() acceptBtnIcon = 'pi pi-check';\r\n\r\n @Input() rejectBtnLabel = 'Ne';\r\n\r\n @Input() rejectBtnIcon = 'pi pi-times';\r\n\r\n @Input() dialogHeaderColor = DialogColor.danger;\r\n\r\n @Output() rejectClickEvent = new EventEmitter();\r\n\r\n @Output() acceptClickEvent = new EventEmitter();\r\n\r\n headerClassMap = {\r\n primary: 'primary',\r\n secondary: 'secondary',\r\n info: 'info',\r\n warning: 'warning',\r\n danger: 'danger',\r\n };\r\n\r\n reject(event: MouseEvent): void {\r\n this.rejectClickEvent.emit(event);\r\n }\r\n\r\n accept(event: MouseEvent): void {\r\n this.acceptClickEvent.emit(event);\r\n }\r\n}\r\n","<p-confirmdialog [ngClass]=\"headerClassMap[dialogHeaderColor]\"\r\n #cd [style]=\"{width: 'max-content'}\">\r\n <ng-template pTemplate=\"footer\">\r\n <div class=\"confirm-button-container\">\r\n <p-button styleClass=\"p-button-danger\" [icon]=\"rejectBtnIcon\" [label]=\"rejectBtnLabel\" (click)=\"reject($event);\"></p-button>\r\n <p-button styleClass=\"p-button-primary\" [icon]=\"acceptBtnIcon\" [label]=\"acceptBtnLabel\" (click)=\"accept($event);\"></p-button>\r\n </div>\r\n </ng-template>\r\n</p-confirmdialog>\r\n","export enum InputType {\r\n text = 'text',\r\n alpha = \"alpha\",\r\n alphaNumeric = \"alphaNumeric\",\r\n number = 'number',\r\n email = 'email',\r\n}\r\n","export enum CaptionColor {\r\n today = 'today',\r\n past = 'past',\r\n future = 'future',\r\n}\r\n","export enum TagColor {\r\n success = 'success',\r\n secondary = 'secondary',\r\n info = 'info',\r\n warning = 'warning',\r\n danger = 'danger',\r\n contrast = 'contrast',\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { FormStatusInterface } from '../../models/interaces/shared/form-status.interface';\r\nimport { TooltipPosition } from '../../models/enums/tooltip/tooltip-position.enum';\r\nimport { InputType } from '../../models/enums/input/input-type.enum';\r\nimport { TooltipHoverEventEnum } from '../../models/enums/tooltip/tooltip-hover-event.enum';\r\nimport { NgClass, NgIf } from '@angular/common';\r\nimport { TooltipComponent } from '../tooltip/tooltip.component';\r\nimport { InputText } from 'primeng/inputtext';\r\nimport { ErrorComponent } from '../error/error.component';\r\nimport { KeyFilterModule } from 'primeng/keyfilter';\r\n\r\n@Component({\r\n selector: 'lib-input[group][controlName][name]',\r\n templateUrl: './input.component.html',\r\n styleUrls: ['./input.component.scss'],\r\n imports: [\r\n FormsModule,\r\n ReactiveFormsModule,\r\n NgClass,\r\n KeyFilterModule,\r\n NgIf,\r\n TooltipComponent,\r\n InputText,\r\n ErrorComponent,\r\n ],\r\n})\r\nexport class InputComponent implements OnInit {\r\n _isTooltipVisible!: boolean;\r\n\r\n @Input() name!: string;\r\n\r\n @Input() type: InputType = InputType.text;\r\n\r\n @Input() label!: string;\r\n\r\n @Input() placeholder?: string;\r\n\r\n @Input() accessibilityText = '';\r\n\r\n @Input() group!: FormGroup;\r\n\r\n @Input() controlName!: string;\r\n\r\n @Input() isRequired = true;\r\n\r\n @Input() isLabelVisible = true;\r\n\r\n @Input() tooltipPosition: TooltipPosition = TooltipPosition.right;\r\n\r\n @Input() tooltipText?: string = '';\r\n\r\n @Input() formStatus?: FormStatusInterface;\r\n\r\n @Input() groupError = false;\r\n\r\n @Input() hasGap = true;\r\n\r\n @Input() hasTitle = false;\r\n\r\n @Input() maxLength: number | null = null;\r\n\r\n\r\n public pKeyFilter?: RegExp;\r\n private readonly alpha: RegExp = /^[A-Za-zCcŠšŽžÐdCcÀ-ÿ\\s]+$/;\r\n private readonly numbersOnly: RegExp = /^[0-9]*$/;\r\n private readonly alphanumeric: RegExp = /^[0-9A-Za-zČčŠšŽžĐđĆćÀ-ÿ\\s]+$/;\r\n\r\n ngOnInit(): void {\r\n this._isTooltipVisible = !!this.tooltipText;\r\n\r\n if (this.type === InputType.alpha) {\r\n this.pKeyFilter = this.alpha;\r\n } else if (this.type === InputType.number) {\r\n this.pKeyFilter = this.numbersOnly;\r\n } else if (this.type === InputType.alphaNumeric) {\r\n this.pKeyFilter = this.alphanumeric;\r\n }\r\n }\r\n\r\n onNumberKeyDown(event: KeyboardEvent): void {\r\n const invalidKeys = ['e', 'E', '+', '-', ',', '.'];\r\n\r\n if (invalidKeys.includes(event.key)) {\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n\r\n protected readonly TooltipHoverEventEnum = TooltipHoverEventEnum;\r\n}\r\n","<div class=\"flex flex-column\" [formGroup]=\"group\" [ngClass]=\"{ 'gap-1': hasGap }\">\r\n <div class=\"flex\" *ngIf=\"isLabelVisible\">\r\n <label [title]=\"hasTitle ? 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 <input\r\n [type]='type'\r\n [id]=\"name\"\r\n [pKeyFilter]=\"pKeyFilter\"\r\n pInputText\r\n [placeholder]='placeholder ?? \" \"'\r\n [formControlName]=\"controlName\"\r\n [min]=\"type === 'number' && 1\"\r\n [max]=\"type === 'number' && 10\"\r\n [maxlength]=\"maxLength\" \r\n [attr.aria-label]=\"accessibilityText\"\r\n [ngClass]=\"{ 'ng-dirty ng-invalid': (group.get(controlName)!.errors && (group.get(controlName)!.touched || formStatus!.isSubmitTriggered)) || groupError }\"\r\n (keydown)=\"type === 'number' ? onNumberKeyDown($event) : null\"\r\n [attr.aria-describedby]=\"name + 'Error'\"\r\n [attr.aria-invalid]=\"(group.get(controlName)!.errors && (group.get(controlName)!.touched || formStatus!.isSubmitTriggered)) || groupError\"\r\n [attr.aria-required]=\"isRequired\"\r\n />\r\n</div>\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 [hasGroupError]=\"groupError\"\r\n [errorId]=\"name+'Error'\"\r\n ></lib-error>\r\n","export enum SelectionMode {\r\n single = 'single',\r\n range = 'range',\r\n multiple = 'multiple',\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { FormStatusInterface } from '../../models/interaces/shared/form-status.interface';\r\nimport { TooltipPosition } from '../../models/enums/tooltip/tooltip-position.enum';\r\nimport { SelectionMode } from '../../models/enums/dropdown/dropdown-selection-mode.enum';\r\nimport { TooltipHoverEventEnum } from '../../models/enums/tooltip/tooltip-hover-event.enum';\r\nimport { getTomorrowDate } from \"../../helpers/get-tomorrow-date.function\";\r\nimport { NgClass, NgIf } from '@angular/common';\r\nimport { TooltipComponent } from '../tooltip/tooltip.component';\r\nimport { PrimeTemplate } from 'primeng/api';\r\nimport { ErrorComponent } from '../error/error.component';\r\nimport { DatePickerModule } from 'primeng/datepicker';\r\n\r\n@Component({\r\n selector: 'lib-date-input[group][controlName][name]',\r\n templateUrl: './date-input.component.html',\r\n styleUrls: ['./date-input.component.scss'],\r\n imports: [\r\n FormsModule,\r\n ReactiveFormsModule,\r\n NgClass,\r\n NgIf,\r\n TooltipComponent,\r\n DatePickerModule,\r\n PrimeTemplate,\r\n ErrorComponent,\r\n ],\r\n})\r\nexport class DateInputComponent implements OnInit {\r\n protected readonly TooltipHoverEventEnum = TooltipHoverEventEnum;\r\n\r\n _isTooltipVisible!: boolean;\r\n\r\n @Input() isLabelVisible = true;\r\n\r\n @Input() name!: string;\r\n\r\n @Input() label!: string;\r\n\r\n @Input() placeholder = '';\r\n\r\n @Input() accessibilityText = '';\r\n\r\n @Input() isRequired = true;\r\n\r\n @Input() tooltipPosition: TooltipPosition = TooltipPosition.right;\r\n\r\n @Input() tooltipText?: string = '';\r\n\r\n @Input() dateFormat = 'dd.mm.yy';\r\n\r\n @Input() group!: FormGroup;\r\n\r\n @Input() controlName!: string;\r\n\r\n @Input() showIcon = true;\r\n\r\n @Input() selectionMode: SelectionMode = SelectionMode.single;\r\n\r\n @Input() touchUI = false;\r\n\r\n @Input() formStatus?: FormStatusInterface;\r\n\r\n @Input() showClear = false;\r\n\r\n @Input() isPublicDate = true;\r\n\r\n @Input() minDate!: Date | undefined; // Mare: da je možno izbrati datum od danes naprej\r\n @Input() maxDate?: Date | undefined;\r\n\r\n\r\n @Input() minDateToday = false;\r\n\r\n @Input() maxDateSixMonths: boolean = false; // da je možno datum izbirat 6 mesecev vnaprej\r\n @Input() maxDateThreeMonths: boolean = false; // da je možno datum izbirat 3 mesece vnaprej\r\n@Input() maxDateRangeOneYear:boolean= false; // da je možno datum izbirat 1 leto vnaprej\r\n @Input() setMinAndMax = false;\r\n\r\n @Input() hasGap = true;\r\n\r\n @Input() disabledDates!: Date[];\r\n\r\n @Input() appendTo!: string;\r\n\r\n @Input() groupError = false;\r\n\r\n @Input() showTime = false;\r\n\r\n // Mare: dnevi ko ni naročanja\r\n @Input() availableDates: string[] = [];\r\n\r\n // Mare; da je možno ročno nastavit disablane dneve, default ostane SOB, NED\r\n // -1 da ni noben disablan\r\n @Input() disabledDays: number[] = [];\r\n @Input() disabledWeekends: boolean = false;\r\n @Output() onSelect: EventEmitter<Date> = new EventEmitter()\r\n\r\n\r\n ngOnInit(): void {\r\n this._isTooltipVisible = !!this.tooltipText;\r\n\r\n if (this.maxDateSixMonths) {\r\n this.maxDate = this.getDateInSixMonths()\r\n } else if (this.maxDateThreeMonths) {\r\n this.maxDate = this.getDateInThreeMonths();\r\n }\r\n\r\n if (this.disabledWeekends) {\r\n this.disabledDays = [0, 6];\r\n }\r\n\r\n if (this.minDateToday) {\r\n this.minDate = new Date();\r\n }\r\n\r\n if(this.maxDateRangeOneYear){\r\n this.maxDate=this.getDateRangeInYear();\r\n }\r\n\r\n }\r\n\r\n getDateInThreeMonths(): Date {\r\n const currentDate: Date = new Date();\r\n return new Date(currentDate.getFullYear(), currentDate.getMonth() + 3, currentDate.getDate());\r\n }\r\n\r\n getDateFifteenDaysAgo(): Date {\r\n const currentDate: Date = new Date();\r\n currentDate.setDate(currentDate.getDate() - 15);\r\n return currentDate;\r\n }\r\n\r\n getDateInSixMonths(): Date {\r\n const currentDate: Date = new Date();\r\n currentDate.setMonth(currentDate.getMonth() + 6);\r\n return currentDate;\r\n }\r\n getDateRangeUnlimited(): Date {\r\n const currentDate:Date= new Date();\r\n currentDate.setFullYear(currentDate.getFullYear()+10);\r\n return currentDate;\r\n\r\n }\r\n getDateRangeInYear(): Date{\r\n const currentDate:Date= new Date();\r\n currentDate.setFullYear(currentDate.getFullYear()+1);\r\n return currentDate;\r\n }\r\n\r\n\r\n getDateTomorrow(time: string): Date {\r\n const currentTime = new Date();\r\n const [hours, minutes] = time.split(':').map(Number);\r\n return new Date(currentTime.getFullYear(), currentTime.getMonth(), currentTime.getDate() + 1, hours, minutes);\r\n }\r\n\r\n /**\r\n * preverjanje, če je datum znotraj availableDates\r\n */\r\n isAppointmentDateAvailable(date: { day: number, month: number, year: number }): boolean {\r\n const dateString = `${date.year}-${(date.month + 1).toString().padStart(2, '0')}-${date.day.toString().padStart(2, '0')}`;\r\n return this.availableDates.includes(dateString);\r\n }\r\n\r\n protected readonly getTomorrowDate = getTomorrowDate;\r\n}\r\n","<form class='flex flex-column' [formGroup]=\"group\" [ngClass]=\"{ 'gap-1': hasGap }\">\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\r\n <p-datepicker\r\n [class.ng-invalid.ng-dirty]=\"(group.get(controlName)!.errors && (group.get(controlName)!.touched || formStatus!.isSubmitTriggered)) || groupError\"\r\n [appendTo]=\"appendTo\"\r\n *ngIf=\"setMinAndMax\"\r\n [inputId]=\"name\"\r\n (onSelect)=\"onSelect.emit($event)\"\r\n [placeholder]='placeholder'\r\n [dateFormat]=\"dateFormat\"\r\n [showIcon]=\"showIcon\"\r\n [selectionMode]=\"selectionMode\"\r\n [formControlName]=\"controlName\"\r\n [touchUI]=\"touchUI\"\r\n [minDate]=\"minDate || getDateFifteenDaysAgo()\"\r\n [maxDate]=\"maxDate\"\r\n [showClear]=\"showClear\"\r\n (onClear)=\"group.get(controlName)?.reset()\"\r\n [attr.aria-label]=\"accessibilityText\"\r\n [ngClass]=\"{ 'ng-dirty': (group.get(controlName)!.errors && (group.get(controlName)!.touched) || formStatus!.isSubmitTriggered) }\"\r\n [disabledDays]=\"disabledDays\"\r\n [disabledDates]=\"disabledDates\"\r\n [showTime]=\"showTime\"\r\n hourFormat=\"24\"\r\n [attr.aria-describedby]=\"name + 'Error'\"\r\n [attr.aria-invalid]=\"(group.get(controlName)!.errors && (group.get(controlName)!.touched || formStatus!.isSubmitTriggered)) || groupError\"\r\n [attr.aria-required]=\"isRequired\"\r\n >\r\n <!-- Mare; ideja da barva določene dneve (npr. takrat ki ni prostih terminov) -->\r\n <!-- 24.05.2024 Mare; zaenkrat ne potrebujemo več, ker so neprosti dnevi kar disabled -->\r\n <ng-template pTemplate=\"date\" let-date>\r\n <div>{{date.day}}</div>\r\n </ng-template>\r\n </p-datepicker>\r\n\r\n <p-datepicker\r\n [class.ng-invalid.ng-dirty]=\"(group.get(controlName)!.errors && (group.get(controlName)!.touched || formStatus!.isSubmitTriggered)) || groupError\"\r\n [appendTo]=\"appendTo\"\r\n *ngIf=\"!setMinAndMax\"\r\n (onSelect)=\"onSelect.emit($event)\"\r\n [inputId]=\"name\"\r\n [placeholder]='placeholder'\r\n [dateFormat]=\"dateFormat\"\r\n [showIcon]=\"showIcon\"\r\n [selectionMode]=\"selectionMode\"\r\n [formControlName]=\"controlName\"\r\n [touchUI]=\"touchUI\"\r\n [showClear]=\"showClear\"\r\n (onClear)=\"group.get(controlName)?.reset()\"\r\n [ngClass]=\"{ 'ng-dirty': (group.get(controlName)!.errors && (group.get(controlName)!.touched) || formStatus!.isSubmitTriggered) }\"\r\n [attr.aria-label]=\"accessibilityText\"\r\n [disabledDays]=\"disabledDays\"\r\n [disabledDates]=\"disabledDates\"\r\n [showTime]=\"showTime\"\r\n hourFormat=\"24\"\r\n [attr.aria-describedby]=\"name + 'Error'\"\r\n [attr.aria-invalid]=\"(group.get(controlName)!.errors && (group.get(controlName)!.touched || formStatus!.isSubmitTriggered)) || groupError\"\r\n [attr.aria-required]=\"isRequired\"\r\n ></p-datepicker>\r\n</form>\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 [hasGroupError]=\"groupError\"\r\n [errorId]=\"name+'Error'\"\r\n></lib-error>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { FormStatusInterface } from '../../models/interaces/shared/form-status.interface';\r\nimport { TooltipPosition } from '../../models/enums/tooltip/tooltip-position.enum';\r\nimport { TooltipHoverEventEnum } from '../../models/enums/tooltip/tooltip-hover-event.enum';\r\nimport { NgClass, NgIf } from '@angular/common';\r\nimport { TooltipComponent } from '../tooltip/tooltip.component';\r\nimport { ErrorComponent } from '../error/error.component';\r\nimport { TextareaModule } from 'primeng/textarea';\r\n\r\n@Component({\r\n selector: 'lib-textarea[group][controlName][name]',\r\n templateUrl: './textarea.component.html',\r\n styleUrls: ['./textarea.component.scss'],\r\n imports: [\r\n NgClass,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n TextareaModule,\r\n NgIf,\r\n TooltipComponent,\r\n ErrorComponent,\r\n ],\r\n})\r\nexport class TextareaComponent implements OnInit {\r\n _isTooltipVisible!: boolean;\r\n\r\n @Input() name!: string;\r\n\r\n @Input() resize = false;\r\n\r\n @Input() label!: string;\r\n\r\n @Input() placeholder = '';\r\n\r\n @Input() accessibilityText = '';\r\n\r\n @Input() rows = 5;\r\n\r\n @Input() cols = 30;\r\n\r\n @Input() tooltipPosition: TooltipPosition = TooltipPosition.right;\r\n\r\n @Input() tooltipText?: string = '';\r\n\r\n @Input() group!: FormGroup;\r\n\r\n @Input() controlName!: string;\r\n\r\n @Input() isRequired = false;\r\n\r\n @Input() formStatus?: FormStatusInterface;\r\n\r\n @Input() hasGap = true;\r\n\r\n // 2024-03-19; zato da je možno maxlength zaobit v določenih primerih (npr. inline forma na upravni-postopki)\r\n @Input() customMaxLength: number | null = 255;\r\n\r\n ngOnInit(): void {\r\n this._isTooltipVisible = !!this.tooltipText;\r\n }\r\n\r\n protected readonly TooltipHoverEventEnum = TooltipHoverEventEnum;\r\n}\r\n","<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","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { FormStatusInterface } from '../../models/interaces/shared/form-status.interface';\r\nimport { TooltipPosition } from '../../models/enums/tooltip/tooltip-position.enum';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { TooltipHoverEventEnum } from '../../models/enums/tooltip/tooltip-hover-event.enum';\r\nimport { NgIf, NgClass } from '@angular/common';\r\nimport { TooltipComponent } from '../tooltip/tooltip.component';\r\nimport { PrimeTemplate } from 'primeng/api';\r\nimport { MultiSelectModule } from 'primeng/multiselect';\r\nimport { ErrorComponent } from '../error/error.component';\r\nimport { SelectModule } from 'primeng/select';\r\n\r\n@Component({\r\n selector: 'lib-dropdown[group][controlName][name]',\r\n templateUrl: './dropdown.component.html',\r\n styleUrls: ['./dropdown.component.scss'],\r\n imports: [\r\n FormsModule,\r\n ReactiveFormsModule,\r\n NgIf,\r\n TooltipComponent,\r\n SelectModule,\r\n NgClass,\r\n PrimeTemplate,\r\n MultiSelectModule,\r\n ErrorComponent,\r\n ],\r\n})\r\nexport class DropdownComponent implements OnInit {\r\n protected readonly TooltipHoverEventEnum = TooltipHoverEventEnum;\r\n\r\n _isTooltipVisible!: boolean;\r\n\r\n dynamicItemsLabel!: any;\r\n\r\n @Input() name!: string;\r\n\r\n @Input() isMultiselect = false;\r\n\r\n @Input() selectedItemLabel = 'Izbrano število:';\r\n\r\n @Input() group!: FormGroup;\r\n\r\n @Input() controlName!: string;\r\n\r\n @Input() label = '';\r\n\r\n @Input() optionList: object[] = [];\r\n\r\n @Input() optionLabel = 'name';\r\n\r\n @Input() optionalValue = 'value';\r\n\r\n @Input() placeholder = '';\r\n\r\n @Input() accessibilityText = '';\r\n\r\n @Input() filter = true;\r\n\r\n @Input() filterBy = 'name';\r\n\r\n @Input() showClear = true;\r\n\r\n @Input() isRequired = true;\r\n\r\n @Input() tooltipPosition: TooltipPosition = TooltipPosition.right;\r\n\r\n @Input() tooltipText?: string = '';\r\n\r\n @Input() formStatus?: FormStatusInterface;\r\n\r\n @Input() nestedGroup = false;\r\n\r\n @Input() isLoading = false;\r\n\r\n @Input() appendTo!: string;\r\n\r\n @Input() isLabelVisible = true;\r\n\r\n @Input() emptyMessage?: string;\r\n\r\n @Input() virtualScroll: boolean = false;\r\n\r\n @Input() ariaFilterLabel?: string;\r\n\r\n @Input() optionValue?: string;\r\n\r\n @Output() getValueEvent = new EventEmitter();\r\n\r\n constructor(private readonly translateService: TranslateService) {}\r\n\r\n getSelectedValue(event: any): void {\r\n this.getValueEvent.emit(event);\r\n }\r\n\r\n ngOnInit(): void {\r\n this._isTooltipVisible = !!this.tooltipText;\r\n this.dynamicItemsLabel = this.selectedItemLabel + ' {0}';\r\n }\r\n\r\n onClear(): void {\r\n this.group.get(this.controlName)?.setValue(null);\r\n }\r\n\r\n get emptyDropdownMessage(): string {\r\n if (this.emptyMessage) {\r\n return this.emptyMessage;\r\n } else {\r\n return this.translateService.instant('components.dropdown.emptyList');\r\n }\r\n }\r\n\r\n get emptyFilterDropdownMessage(): string {\r\n return this.translateService.instant('components.dropdown.emptyFilterList');\r\n }\r\n}\r\n","<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","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { NgIf } from '@angular/common';\r\nimport { InputSwitch } from 'primeng/inputswitch';\r\nimport { ToggleSwitchModule } from 'primeng/toggleswitch';\r\n\r\n@Component({\r\n selector: 'lib-toggle-switch',\r\n templateUrl: './toggle-switch.component.html',\r\n styleUrls: ['./toggle-switch.component.scss'],\r\n imports: [\r\n NgIf,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n ToggleSwitchModule,\r\n ],\r\n})\r\nexport class ToggleSwitchComponent {\r\n @Input() group!: FormGroup;\r\n\r\n @Input() controlName!: string;\r\n\r\n @Input() isFormElement = true;\r\n\r\n @Input() checked!: boolean;\r\n\r\n @Output() getValueEvent = new EventEmitter();\r\n\r\n @Output() checkedChanged: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n @Input() disabled!: boolean;\r\n\r\n toggleValue($event: any, isForm: boolean): void {\r\n this.getValueEvent.emit($event);\r\n if (!isForm) {\r\n this.handleToggle();\r\n }\r\n }\r\n\r\n changeChecked(newToggleValue: boolean): void {\r\n this.checked = newToggleValue;\r\n this.checkedChanged.emit(this.checked);\r\n }\r\n\r\n handleToggle(): void {\r\n this.changeChecked(false);\r\n }\r\n}\r\n","<div class=\"flex flex-column mt-2\" [formGroup]=\"group\" *ngIf=\"isFormElement\">\r\n <p-toggleswitch\r\n (onChange)=\"toggleValue($event, true)\"\r\n [formControlName]=\"controlName\"\r\n ></p-toggleswitch>\r\n</div>\r\n<div class=\"flex flex-column mt-2\" *ngIf=\"!isFormElement\">\r\n <p-toggleswitch [disabled]=\"disabled\" [(ngModel)]=\"checked\" (onChange)=\"toggleValue($event, false)\"></p-toggleswitch>\r\n</div>\r\n","import { Component, Input } from '@angular/core';\r\nimport { TagColor } from '../../models/enums/tag/tag.enum';\r\nimport { Tag } from 'primeng/tag';\r\n\r\n@Component({\r\n selector: 'lib-tag',\r\n templateUrl: './tag.component.html',\r\n styleUrls: ['./tag.component.scss'],\r\n imports: [Tag],\r\n})\r\nexport class TagComponent {\r\n @Input() tagText!: string;\r\n\r\n @Input() tagColor: TagColor = TagColor.success;\r\n\r\n @Input() rounded = true;\r\n\r\n getColor(): any {\r\n return this.tagColor\r\n }\r\n}\r\n","<p-tag\r\n [value]=\"tagText\"\r\n [severity]=\"getColor()\"\r\n [rounded]=\"rounded\"\r\n></p-tag>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { ButtonColor } from '../../models/enums/button/button-color.enum';\r\nimport { ButtonSize } from '../../models/enums/button/button-size.enum';\r\nimport { Button } from 'primeng/button';\r\n\r\n@Component({\r\n selector: 'lib-icon-button',\r\n templateUrl: './icon-button.component.html',\r\n styleUrls: ['./icon-button.component.scss'],\r\n imports: [Button],\r\n})\r\nexport class IconButtonComponent {\r\n @Input() icon = 'check';\r\n\r\n @Input() disabled = false;\r\n\r\n @Input() color: ButtonColor = ButtonColor.primary;\r\n\r\n // You have the option to add multiple classes, but if you don't add any, the default class will be used instead.\r\n // p-button-raised, p-button-outlined, p-button-text, p-button-rounded\r\n @Input() styleClass = 'p-button-raised';\r\n\r\n @Input() size: ButtonSize = ButtonSize.normal;\r\n\r\n @Output() clickEvent = new EventEmitter();\r\n\r\n click(event: MouseEvent): void {\r\n this.clickEvent.emit(event);\r\n }\r\n}\r\n","<p-button\r\n icon=\"pi pi-{{icon}}\"\r\n styleClass='p-button-{{color}}\r\n {{styleClass}} {{size}}'\r\n [disabled]='disabled'\r\n (click)='click($event)'\r\n></p-button>\r\n","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { TableColumn } from '../../models/interaces/custom-table/custom-table.interface';\r\nimport { InputType } from '../../models/enums/input/input-type.enum';\r\nimport { FormStatusInterface } from '../../models/interaces/shared/form-status.interface';\r\nimport { ButtonColor } from '../../models/enums/button/button-color.enum';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { CaptionColor } from '../../models/enums/table/caption-color.enum';\r\nimport { Table, TableModule } from 'primeng/table';\r\nimport { TagColor } from '../../models/enums/tag/tag.enum';\r\nimport { NgClass, NgIf, NgStyle, NgFor, DatePipe } from '@angular/common';\r\nimport { PrimeTemplate } from 'primeng/api';\r\nimport { ButtonComponent } from '../button/button.component';\r\nimport { InputComponent } from '../input/input.component';\r\nimport { DateInputComponent } from '../date-input/date-input.component';\r\nimport { TextareaComponent } from '../textarea/textarea.component';\r\nimport { TooltipComponent } from '../tooltip/tooltip.component';\r\nimport { DropdownComponent } from '../dropdown/dropdown.component';\r\nimport { ToggleSwitchComponent } from '../toggle-switch/toggle-switch.component';\r\nimport { CheckboxComponent } from '../checkbox/checkbox.component';\r\nimport { TagComponent } from '../tag/tag.component';\r\nimport { IconButtonComponent } from '../icon-button/icon-button.component';\r\nimport { ButtonLinkComponent } from '../button-link/button-link.component';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'lib-custom-table[tableData][tableColumns]',\r\n templateUrl: './custom-table.component.html',\r\n styleUrls: ['./custom-table.component.scss'],\r\n imports: [\r\n TableModule,\r\n NgClass,\r\n NgIf,\r\n PrimeTemplate,\r\n NgStyle,\r\n ButtonComponent,\r\n NgFor,\r\n InputComponent,\r\n DateInputComponent,\r\n TextareaComponent,\r\n TooltipComponent,\r\n DropdownComponent,\r\n ToggleSwitchComponent,\r\n CheckboxComponent,\r\n TagComponent,\r\n IconButtonComponent,\r\n ButtonLinkComponent,\r\n TranslateModule,\r\n DatePipe,\r\n ],\r\n})\r\nexport class CustomTableComponent implements OnInit {\r\n @ViewChild('dt', { static: false }) table!: Table;\r\n\r\n // Table configuration\r\n @Input() tableData!: any;\r\n\r\n @Input() tableColumns: TableColumn[] = [];\r\n\r\n @Input() isPaginatorVisible = false;\r\n\r\n @Input() tableRowCount = 10;\r\n\r\n @Input() scrollable = false;\r\n\r\n @Input() scrollHeight!: string;\r\n\r\n @Input() selectedProducts: any = [];\r\n\r\n @Input() isEditingTable = false;\r\n\r\n @Input() isTableLoading = false;\r\n\r\n @Input() hideColumnsOnMobile = false;\r\n\r\n @Input() tableMinWidth = '15rem';\r\n\r\n @Input() isVirtualScrollButtonVisible: boolean = false;\r\n @Input() isVirtualScroll = false;\r\n @Input() virtualScrollRowSize = 60;\r\n\r\n // Caption\r\n @Input() tableCaption?: string;\r\n\r\n @Input() captionColorClass: CaptionColor = CaptionColor.today;\r\n\r\n @Input() isCaptionButtonVisible = false;\r\n\r\n @Input() captionButtonLabel!: string;\r\n\r\n @Input() captionButtonColor: ButtonColor = ButtonColor.primary;\r\n\r\n @Output() captionButtonClicked = new EventEmitter();\r\n\r\n // Table header\r\n @Input() isTableHeaderVisible = true;\r\n\r\n emptyHeaderColumnList: string[] = [];\r\n\r\n @Input() emptyColumnWidth!: string;\r\n\r\n // Disable switch - toggle\r\n @Input() toggleTableHeaderName!: string;\r\n\r\n @Input() toggleWidth = '100px';\r\n\r\n @Input() toggleTwoTableHeaderName!: string;\r\n\r\n @Input() toggleTwoWidth = '100px';\r\n\r\n @Input() toggleThreeTableHeaderName!: string;\r\n\r\n @Input() toggleThreeWidth = '100px';\r\n\r\n @Input() toggleFourTableHeaderName!: string;\r\n\r\n @Input() toggleFourWidth = '100px';\r\n\r\n // Row color\r\n @Input() rowColor = '';\r\n\r\n // Form stuff\r\n @Input() formGroup!: FormGroup;\r\n\r\n // Input\r\n @Input() type: InputType = InputType.text;\r\n\r\n @Input() formStatus!: FormStatusInterface;\r\n\r\n // Tag\r\n @Input() tagColor: TagColor = TagColor.success;\r\n\r\n // Warning text in first column\r\n @Input() isWarningTextVisible = false;\r\n\r\n // Button column one\r\n @Input() isButtonOneVisible = false;\r\n\r\n @Input() buttonLabel!: string;\r\n\r\n @Input() buttonOneLabel!: string;\r\n\r\n @Input() buttonOneHasIcon!: boolean;\r\n\r\n @Input() buttonOneEditIcon!: string;\r\n\r\n @Input() buttonOneSaveIcon!: string;\r\n\r\n @Input() buttonOneColor!: ButtonColor;\r\n\r\n @Input() buttonOneIcon?: string;\r\n\r\n @Input() isPlainTableIconButtonOne!: boolean;\r\n\r\n @Input() isPlainTableButtonOneLink = false;\r\n\r\n @Output() buttonEditClick = new EventEmitter();\r\n\r\n @Output() buttonSaveClick = new EventEmitter();\r\n\r\n @Output() buttonOneClick = new EventEmitter();\r\n\r\n // Button column two\r\n @Input() isButtonTwoVisible = false;\r\n\r\n @Input() buttonTwoLabel!: string;\r\n\r\n @Input() buttonTwoHasIcon!: boolean;\r\n\r\n @Input() buttonTwoDeleteIcon!: string;\r\n\r\n @Input() buttonTwoCancelIcon!: string;\r\n\r\n @Input() buttonTwoColor!: ButtonColor;\r\n\r\n @Input() buttonTwoIcon!: string;\r\n\r\n @Input() isPlainTableIconButtonTwo!: boolean;\r\n\r\n @Output() buttonDeleteClick = new EventEmitter();\r\n\r\n @Output() buttonTwoClick = new EventEmitter();\r\n\r\n // Deactivate toggle\r\n @Input() isDeactivateToggle = false;\r\n\r\n @Output() toggleSwitch = new EventEmitter();\r\n\r\n @Input() isDeactivateToggleTwo = false;\r\n\r\n @Output() toggleTwoSwitch = new EventEmitter();\r\n\r\n @Input() isDeactivateToggleThree = false;\r\n\r\n @Output() toggleThreeSwitch = new EventEmitter();\r\n\r\n @Input() isDeactivateToggleFour = false;\r\n\r\n @Output() toggleFourSwitch = new EventEmitter();\r\n\r\n @Input() showEllipsisFullText = false;\r\n\r\n @Output() checkboxOne = new EventEmitter();\r\n\r\n textDisplayStates: { [id: string]: boolean } = {};\r\n\r\n overviewList = [\r\n { name: 'Moje naloge', value: 'Item1' },\r\n { name: 'Zapadle naloge', value: 'Item1' },\r\n { name: 'Tuje naloge', value: 'Item1' },\r\n { name: 'Oddane naloge', value: 'Item1' },\r\n ];\r\n\r\n // Editing table - BUTTONS\r\n onRowEdit(event: any): void {\r\n this.table.editingRowKeys = { [event.id]: true };\r\n this.buttonEditClick.emit(event);\r\n }\r\n\r\n onRowSave(event: MouseEvent, htmlTableRowElement: any): void {\r\n this.buttonSaveClick.emit(event);\r\n setTimeout(() => {\r\n this.table.saveRowEdit(event, htmlTableRowElement);\r\n }, 200);\r\n }\r\n\r\n onRowDelete(event: MouseEvent): void {\r\n this.buttonDeleteClick.emit(event);\r\n }\r\n\r\n onRowCancel(event: MouseEvent): void {\r\n this.table.cancelRowEdit(event);\r\n }\r\n\r\n // Caption\r\n clickCaptionButton(event: MouseEvent): void {\r\n this.captionButtonClicked.emit(event);\r\n }\r\n\r\n // Button column one\r\n clickButtonOne(event: MouseEvent): void {\r\n this.buttonOneClick.emit(event);\r\n }\r\n\r\n // Button column one\r\n clickButtonTwo(event: MouseEvent): void {\r\n this.buttonTwoClick.emit(event);\r\n }\r\n\r\n // Deactivate toggle\r\n toggleEnable(event: any): void {\r\n if (!event.$event.checked) {\r\n setTimeout(() => {\r\n this.onRowCancel(event.rowData);\r\n }, 100);\r\n }\r\n this.toggleSwitch.emit(event);\r\n }\r\n\r\n toggleTwoEnable(event: any): void {\r\n if (!event.$event.checked) {\r\n setTimeout(() => {\r\n this.onRowCancel(event.rowData);\r\n }, 100);\r\n }\r\n this.toggleTwoSwitch.emit(event);\r\n }\r\n\r\n toggleThreeEnable(event: any): void {\r\n if (!event.$event.checked) {\r\n setTimeout(() => {\r\n this.onRowCancel(event.rowData);\r\n }, 100);\r\n }\r\n this.toggleThreeSwitch.emit(event);\r\n }\r\n\r\n toggleFourEnable(event: any): void {\r\n if (!event.$event.checked) {\r\n setTimeout(() => {\r\n this.onRowCancel(event.rowData);\r\n }, 100);\r\n }\r\n this.toggleFourSwitch.emit(event);\r\n }\r\n\r\n clickCheckboxOne(event: any, fieldValue: any): void {\r\n this.checkboxOne.emit({ event: event, fieldValue: fieldValue});\r\n }\r\n\r\n // Helper method for nested field structures\r\n getNestedValue(data: any, field: string): any {\r\n if (!field) {\r\n return null;\r\n }\r\n\r\n const fields = field.split('.');\r\n let value = data;\r\n\r\n for (const f of fields) {\r\n // eslint-disable-next-line no-prototype-builtins\r\n if (value && value.hasOwnProperty(f)) {\r\n value = value[f];\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n return value;\r\n }\r\n\r\n isMobile(): boolean {\r\n return window.innerWidth <= 768;\r\n }\r\n\r\n ngOnInit(): void {\r\n const conditions: boolean[] = [this.isButtonOneVisible, this.isButtonTwoVisible];\r\n\r\n conditions.forEach((condition: boolean) => {\r\n if (condition) {\r\n this.emptyHeaderColumnList.push('');\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * da skrije/prikaže poln oz. skrajšan tekst na 50 znakov\r\n * TODO: zaenkrat izpuščeno\r\n */\r\n toggleTextDisplay(rowData: any): void {\r\n if (!this.textDisplayStates.hasOwnProperty(rowData.id)) {\r\n this.textDisplayStates[rowData.id] = false; // default je komplet tekst\r\n }\r\n this.textDisplayStates[rowData.id] = !this.textDisplayStates[rowData.id];\r\n }\r\n\r\n /**\r\n * da skrije/prikaže poln oz. skrajšan tekst na 50 znakov\r\n * TODO: zaenkrat izpuščeno\r\n */\r\n getDisplayText(rowData: any, field: string): string {\r\n const isShortened = this.textDisplayStates[rowData.id];\r\n const text = this.getNestedValue(rowData, field);\r\n if (!isShortened || text.length <= 50) {\r\n return text; // poln text je default\r\n } else {\r\n return text.substring(0, 50) + ' ...'; // skrajšan text\r\n }\r\n }\r\n}\r\n","<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","import { Component } from '@angular/core';\r\nimport { Divider } from 'primeng/divider';\r\n\r\n@Component({\r\n selector: 'lib-divider',\r\n templateUrl: './divider.component.html',\r\n styleUrls: ['./divider.component.scss'],\r\n imports: [Divider],\r\n})\r\nexport class DividerComponent {}\r\n","<p-divider aria-hidden=\"true\"></p-divider>\r\n","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { ButtonColor } from '../../models/enums/button/button-color.enum';\r\nimport { ExpandedTable } from '../../models/enums/expanded-table/expanded-table.enum';\r\nimport { isEmpty } from '../../helpers/is-object-empty.function';\r\nimport { TableColumn } from '../../models/interaces/custom-table/custom-table.interface';\r\nimport { Table, TableModule } from 'primeng/table';\r\nimport { CaptionColor } from '../../models/enums/table/caption-color.enum';\r\nimport { FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { InputType } from '../../models/enums/input/input-type.enum';\r\nimport { FormStatusInterface } from '../../models/interaces/shared/form-status.interface';\r\nimport { NgClass, NgIf, NgFor, NgStyle } from '@angular/common';\r\nimport { PrimeTemplate } from 'primeng/api';\r\nimport { ButtonComponent } from '../button/button.component';\r\nimport { CustomTableComponent } from '../custom-table/custom-table.component';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'lib-expanded-table[tableData]',\r\n templateUrl: './expanded-table.component.html',\r\n styleUrls: ['./expanded-table.component.scss'],\r\n imports: [\r\n TableModule,\r\n NgClass,\r\n NgIf,\r\n PrimeTemplate,\r\n NgFor,\r\n ButtonComponent,\r\n NgStyle,\r\n CustomTableComponent,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n TranslateModule,\r\n ],\r\n})\r\nexport class ExpandedTableComponent implements OnInit {\r\n protected readonly Array = Array;\r\n\r\n protected readonly ButtonColor = ButtonColor;\r\n\r\n protected readonly isEmpty = isEmpty;\r\n\r\n // Main Table configuration\r\n @Input() tableData!: any;\r\n\r\n @Input() tableColumns: TableColumn[] = [];\r\n\r\n @Input() isPaginatorVisible = false;\r\n\r\n @Input() tableRowCount = 10;\r\n\r\n @Input() isEnabledTable = true;\r\n\r\n @Input() scrollable = false;\r\n\r\n @Input() scrollHeight!: string;\r\n\r\n @Input() isTableLoading = false;\r\n\r\n @Input() mainCaptionColorClass?: ExpandedTable;\r\n\r\n @Input() isEditingTable = false;\r\n\r\n @Input() hideColumnsOnMobile = false;\r\n\r\n @Input() innerTableHideColumnsOnMobile = false;\r\n\r\n // Main table data\r\n @Input() tableCaption?: string;\r\n\r\n // Table header\r\n @Input() isTableHeaderVisible = true;\r\n\r\n emptyHeaderColumnList: string[] = [];\r\n\r\n @Input() emptyColumnWidth!: string;\r\n\r\n @Input() rowColor!: string;\r\n\r\n // Main table data - Column one button\r\n @Input() isButtonOneVisible = false;\r\n\r\n @Input() isPlainTableIconButtonOne = false;\r\n\r\n @Input() buttonLabel?: string;\r\n\r\n @Input() buttonOneLabel?: string;\r\n\r\n @Input() buttonOneHasIcon?: boolean;\r\n\r\n @Input() buttonOneColor?: ButtonColor;\r\n\r\n @Input() buttonOneIcon?: string;\r\n\r\n @Output() buttonOneClick = new EventEmitter();\r\n\r\n // Main table data - Column one button\r\n @Input() isButtonTwoVisible = false;\r\n\r\n @Input() buttonTwoLabel?: string;\r\n\r\n @Input() buttonTwoHasIcon?: boolean;\r\n\r\n @Input() buttonTwoColor?: ButtonColor;\r\n\r\n @Input() buttonTwoIcon?: string;\r\n\r\n @Input() isButtonTwoToggle = true;\r\n\r\n @Output() buttonTwoClick = new EventEmitter();\r\n\r\n // Main table data - Arrow\r\n @Input() isArrowToggle = false;\r\n\r\n // Inner table\r\n @ViewChild('dt', { static: false }) table!: Table;\r\n\r\n @Input() innerTableStyle = '';\r\n\r\n // Table configuration\r\n @Input() innerTableColumns: TableColumn[] = [];\r\n\r\n @Input() innerIsPaginatorVisible = false;\r\n\r\n @Input() innerTableRowCount = 10;\r\n\r\n @Input() innerScrollable = false;\r\n\r\n @Input() innerScrollHeight!: string;\r\n\r\n @Input() innerIsEditingTable = false;\r\n\r\n @Input() innerIsTableLoading = false;\r\n\r\n // Caption\r\n @Input() innerTableCaption?: string;\r\n\r\n @Input() innerCaptionColorClass: CaptionColor = CaptionColor.today;\r\n\r\n @Input() innerIsCaptionButtonVisible = false;\r\n\r\n @Input() innerCaptionButtonLabel!: string;\r\n\r\n @Input() innerCaptionButtonColor: ButtonColor = ButtonColor.primary;\r\n\r\n @Output() innerCaptionButtonClicked = new EventEmitter();\r\n\r\n // Table header\r\n @Input() innerIsTableHeaderVisible = true;\r\n\r\n innerEmptyHeaderColumnList: string[] = [];\r\n\r\n @Input() innerEmptyColumnWidth!: string;\r\n\r\n // Disable switch - toggle\r\n @Input() innerToggleTableHeaderName!: string;\r\n\r\n @Input() innerToggleWidth = '100px';\r\n\r\n // Disable switchTwo - toggle\r\n @Input() innerToggleTwoTableHeaderName!: string;\r\n\r\n @Input() innerToggleTwoWidth = '100px';\r\n\r\n @Input() innerToggleThreeTableHeaderName!: string;\r\n\r\n @Input() innerToggleThreeWidth = '100px';\r\n\r\n @Input() innerToggleFourTableHeaderName!: string;\r\n\r\n @Input() innerToggleFourWidth = '100px';\r\n\r\n // Form stuff\r\n @Input() innerFormGroup = new FormGroup({});\r\n\r\n // Input\r\n @Input() innerType: InputType = InputType.text;\r\n\r\n @Input() innerFormStatus!: FormStatusInterface;\r\n\r\n // Button column one\r\n @Input() innerIsButtonOneVisible = false;\r\n\r\n @Input() innerIsPlainTableIconButtonOne = false;\r\n\r\n @Input() innerButtonOneLabel!: string;\r\n\r\n @Input() innerButtonOneHasIcon!: boolean;\r\n\r\n @Input() innerButtonOneEditIcon!: string;\r\n\r\n @Input() innerButtonOneSaveIcon!: string;\r\n\r\n @Input() innerButtonOneColor!: ButtonColor;\r\n\r\n @Input() innerButtonOneIcon?: string;\r\n\r\n @Output() innerButtonEditClick = new EventEmitter();\r\n\r\n @Output() innerButtonSaveClick = new EventEmitter();\r\n\r\n @Output() innerButtonOneClick = new EventEmitter();\r\n\r\n // Button column two\r\n @Input() innerIsButtonTwoVisible = false;\r\n\r\n @Input() innerIsPlainTableIconButtonTwo = false;\r\n\r\n @Input() innerButtonTwoLabel!: string;\r\n\r\n @Input() innerButtonTwoHasIcon!: boolean;\r\n\r\n @Input() innerButtonTwoDeleteIcon!: string;\r\n\r\n @Input() innerButtonTwoCancelIcon!: string;\r\n\r\n @Input() innerButtonTwoColor!: ButtonColor;\r\n\r\n @Input() innerButtonTwoIcon!: string;\r\n\r\n @Output() innerButtonDeleteClick = new EventEmitter();\r\n\r\n @Output() innerButtonTwoClick = new EventEmitter();\r\n\r\n // Deactivate toggle\r\n @Input() innerIsDeactivateToggle = false;\r\n\r\n @Output() innerToggleSwitch = new EventEmitter();\r\n\r\n @Input() innerIsDeactivateToggleTwo = false;\r\n\r\n @Output() innerToggleTwoSwitch = new EventEmitter();\r\n\r\n @Input() innerIsDeactivateToggleThree = false;\r\n\r\n @Output() innerToggleThreeSwitch = new EventEmitter();\r\n\r\n @Input() innerIsDeactivateToggleFour = false;\r\n\r\n @Output() innerToggleFourSwitch = new EventEmitter();\r\n\r\n // Main table functions\r\n clickButtonOne(event: MouseEvent): void {\r\n this.buttonOneClick.emit(event);\r\n }\r\n\r\n clickButtonTwo(event: MouseEvent): void {\r\n this.buttonTwoClick.emit(event);\r\n }\r\n\r\n // Inner Editing table - BUTTONS\r\n onRowEdit(event: any): void {\r\n this.table.editingRowKeys = { [event.id]: true };\r\n this.innerButtonEditClick.emit(event);\r\n }\r\n\r\n onRowSave(event: MouseEvent, htmlTableRowElement: any): void {\r\n this.innerButtonSaveClick.emit(event);\r\n setTimeout(() => {\r\n this.table.saveRowEdit(event, htmlTableRowElement);\r\n }, 200);\r\n }\r\n\r\n onRowDelete(event: MouseEvent): void {\r\n this.innerButtonDeleteClick.emit(event);\r\n }\r\n\r\n onRowCancel(event: MouseEvent): void {\r\n this.table.cancelRowEdit(event);\r\n }\r\n\r\n // Inner Caption\r\n clickInnerCaptionButton(event: MouseEvent): void {\r\n this.innerCaptionButtonClicked.emit(event);\r\n }\r\n\r\n // Inner Button column one\r\n clickInnerButtonOne(event: MouseEvent): void {\r\n this.innerButtonOneClick.emit(event);\r\n }\r\n\r\n // Inner Button column one\r\n clickInnerButtonTwo(event: MouseEvent): void {\r\n this.innerButtonTwoClick.emit(event);\r\n }\r\n\r\n // Deactivate toggle\r\n toggleEnable(event: any): void {\r\n if (!event.$event.checked) {\r\n setTimeout(() => {\r\n this.onRowCancel(event.rowData);\r\n }, 100);\r\n }\r\n this.innerToggleSwitch.emit(event);\r\n }\r\n\r\n toggleTwoEnable(event: any): void {\r\n if (!event.$event.checked) {\r\n setTimeout(() => {\r\n this.onRowCancel(event.rowData);\r\n }, 100);\r\n }\r\n this.innerToggleTwoSwitch.emit(event);\r\n }\r\n\r\n toggleThreeEnable(event: any): void {\r\n if (!event.$event.checked) {\r\n setTimeout(() => {\r\n this.onRowCancel(event.rowData);\r\n }, 100);\r\n }\r\n this.innerToggleThreeSwitch.emit(event);\r\n }\r\n\r\n toggleFourEnable(event: any): void {\r\n if (!event.$event.checked) {\r\n setTimeout(() => {\r\n this.onRowCancel(event.rowData);\r\n }, 100);\r\n }\r\n this.innerToggleFourSwitch.emit(event);\r\n }\r\n\r\n // Helper method for nested field structures\r\n getNestedValue(data: any, field: string): any {\r\n if (!field) {\r\n return null;\r\n }\r\n\r\n const fields = field.split('.');\r\n let value = data;\r\n\r\n for (const f of fields) {\r\n // eslint-disable-next-line no-prototype-builtins\r\n if (value && value.hasOwnProperty(f)) {\r\n value = value[f];\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n return value;\r\n }\r\n\r\n isMobile(): boolean {\r\n return window.innerWidth <= 768;\r\n }\r\n\r\n ngOnInit(): void {\r\n // If there is button just add it to the end of header list array\r\n const conditions: boolean[] = [\r\n this.isButtonOneVisible,\r\n this.isButtonTwoVisible,\r\n this.isArrowToggle,\r\n ];\r\n\r\n conditions.forEach((condition: boolean) => {\r\n if (condition) {\r\n this.emptyHeaderColumnList.push('');\r\n }\r\n });\r\n\r\n const conditionsInner: boolean[] = [this.innerIsButtonOneVisible, this.innerIsButtonTwoVisible];\r\n\r\n conditionsInner.forEach(condition => {\r\n if (condition) {\r\n this.innerEmptyHeaderColumnList.push('');\r\n }\r\n });\r\n }\r\n}\r\n","<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 [ngClass]=\"mainCaptionColorClass\"\r\n dataKey=\"id\"\r\n [loading]=\"isTableLoading\"\r\n>\r\n <ng-template pTemplate=\"caption\" *ngIf=\"!!tableCaption\">{{ tableCaption }}</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\r\n </ng-container>\r\n <th *ngFor=\"let _ of emptyHeaderColumnList\" scope=\"col\" [style.width]=\"emptyColumnWidth\"></th>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-rowData let-expanded=\"expanded\">\r\n <tr [ngClass]=\"rowColor\">\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]=\"isEditingTable && !rowData?.isEnabled\">\r\n {{ column.suffix ? getNestedValue(rowData, column.field) + ' ' + column.suffix : getNestedValue(rowData, column.field) }}\r\n </td>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <!-- Main table - Button column one -->\r\n <ng-container *ngIf=\"isButtonOneVisible\">\r\n <td [class.disabled-row]=\"isEditingTable && !rowData?.isEnabled\">\r\n <lib-button\r\n [label]=\"buttonOneLabel!\"\r\n [hasIcon]=\"buttonOneHasIcon!\"\r\n [color]=\"buttonOneColor!\"\r\n [icon]=\"buttonOneIcon!\"\r\n (click)=\"clickButtonOne(rowData)\"\r\n ></lib-button>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Main table - Button column two -->\r\n <ng-container *ngIf=\"isButtonTwoVisible\">\r\n <td [class.disabled-row]=\"isEditingTable && !rowData?.isEnabled\">\r\n <lib-button\r\n [pRowToggler]=\"isButtonTwoToggle ? rowData : null\"\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 </td>\r\n </ng-container>\r\n\r\n <!-- Main table - Button column three - Arrow -->\r\n <ng-container *ngIf=\"isArrowToggle\">\r\n <td [ngStyle]=\"{ 'width': '20px' }\">\r\n <i class=\"pi\" [ngClass]=\"expanded ? 'pi pi-chevron-up' : 'pi pi-chevron-down'\"\r\n [pRowToggler]=\"!rowData['isEnabled'] ? null : rowData\"></i>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </ng-template>\r\n\r\n <!-- Inner table-->\r\n <ng-template pTemplate=\"rowexpansion\" let-rowData>\r\n <tr>\r\n <td colspan=\"7\">\r\n <lib-custom-table\r\n #dt\r\n #htmlTableRowElement\r\n [tableData]=\"rowData.other\"\r\n [tableColumns]=\"innerTableColumns\"\r\n [isPaginatorVisible]=\"innerIsPaginatorVisible\"\r\n [tableRowCount]=\"innerTableRowCount\"\r\n [isEditingTable]=\"innerIsEditingTable\"\r\n [isTableLoading]=\"innerIsTableLoading\"\r\n [scrollable]=\"true\"\r\n [hideColumnsOnMobile]=\"innerTableHideColumnsOnMobile\"\r\n tableMinWidth=\"10rem\"\r\n\r\n [tableCaption]=\"innerTableCaption\"\r\n [captionColorClass]=\"innerCaptionColorClass\"\r\n [isCaptionButtonVisible]=\"innerIsCaptionButtonVisible\"\r\n [captionButtonColor]=\"innerCaptionButtonColor\"\r\n (captionButtonClicked)=\"clickInnerCaptionButton($event)\"\r\n\r\n [isTableHeaderVisible]=\"innerIsTableHeaderVisible\"\r\n [emptyColumnWidth]=\"innerEmptyColumnWidth\"\r\n\r\n [toggleTableHeaderName]=\"innerToggleTableHeaderName\"\r\n [toggleWidth]=\"innerToggleWidth\"\r\n\r\n [toggleTwoTableHeaderName]=\"innerToggleTwoTableHeaderName\"\r\n [toggleTwoWidth]=\"innerToggleTwoWidth\"\r\n\r\n [toggleThreeTableHeaderName]=\"innerToggleThreeTableHeaderName\"\r\n [toggleThreeWidth]=\"innerToggleThreeWidth\"\r\n\r\n [toggleFourTableHeaderName]=\"innerToggleFourTableHeaderName\"\r\n [toggleFourWidth]=\"innerToggleFourWidth\"\r\n\r\n [formGroup]=\"innerFormGroup\"\r\n\r\n [type]=\"innerType\"\r\n [formStatus]=\"innerFormStatus\"\r\n\r\n [isButtonOneVisible]=\"innerIsButtonOneVisible\"\r\n [isPlainTableIconButtonOne]=\"innerIsPlainTableIconButtonOne\"\r\n [buttonOneLabel]=\"innerButtonOneLabel\"\r\n [buttonOneHasIcon]=\"innerButtonOneHasIcon\"\r\n [buttonOneEditIcon]=\"innerButtonOneEditIcon\"\r\n [buttonOneSaveIcon]=\"innerButtonOneSaveIcon\"\r\n [buttonOneColor]=\"innerButtonOneColor\"\r\n [buttonOneIcon]=\"innerButtonOneIcon\"\r\n (buttonEditClick)=\"onRowEdit($event)\"\r\n (buttonSaveClick)=\"onRowSave($event, htmlTableRowElement)\"\r\n (buttonOneClick)=\"clickInnerButtonOne($event)\"\r\n\r\n [isButtonTwoVisible]=\"innerIsButtonTwoVisible\"\r\n [isPlainTableIconButtonTwo]=\"innerIsPlainTableIconButtonTwo\"\r\n [buttonTwoLabel]=\"innerButtonTwoLabel\"\r\n [buttonTwoHasIcon]=\"innerButtonTwoHasIcon\"\r\n [buttonTwoDeleteIcon]=\"innerButtonTwoDeleteIcon\"\r\n [buttonTwoCancelIcon]=\"innerButtonTwoCancelIcon\"\r\n [buttonTwoColor]=\"innerButtonTwoColor\"\r\n [buttonTwoIcon]=\"innerButtonTwoIcon\"\r\n (buttonDeleteClick)=\"onRowDelete($event)\"\r\n (buttonTwoClick)=\"clickInnerButtonTwo($event)\"\r\n\r\n [isDeactivateToggle]=\"innerIsDeactivateToggle\"\r\n (toggleSwitch)=\"toggleEnable($event)\"\r\n\r\n [isDeactivateToggleTwo]=\"innerIsDeactivateToggleTwo\"\r\n (toggleTwoSwitch)=\"toggleTwoEnable($event)\"\r\n\r\n [isDeactivateToggleThree]=\"innerIsDeactivateToggleThree\"\r\n (toggleThreeSwitch)=\"toggleThreeEnable($event)\"\r\n\r\n [isDeactivateToggleFour]=\"innerIsDeactivateToggleFour\"\r\n (toggleFourSwitch)=\"toggleFourEnable($event)\"\r\n ></lib-custom-table>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n</p-table>\r\n\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output\r\n} from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { TranslateModule, TranslateService } from '@ngx-translate/core';\r\nimport { BadgeModule } from 'primeng/badge';\r\nimport { ButtonModule } from 'primeng/button';\r\nimport { ChipModule } from 'primeng/chip';\r\nimport { PrimeNG } from 'primeng/config';\r\nimport { FileUploadModule } from 'primeng/fileupload';\r\nimport { InputTextModule } from 'primeng/inputtext';\r\nimport { MenubarModule } from 'primeng/menubar';\r\nimport { OverlayBadgeModule } from 'primeng/overlaybadge';\r\nimport { NalogaDTO } from '../../models/nalogaDTO';\r\nimport { ButtonColor } from '../../models/enums/button/button-color.enum';\r\nimport { ButtonSize } from '../../models/enums/button/button-size.enum';\r\nimport { ButtonComponent } from '../button/button.component';\r\nimport { SharedMessageService } from '../../services/shared-message.service';\r\n@Component({\r\n selector: 'app-file-upload',\r\n imports: [\r\n InputTextModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n BadgeModule,\r\n FileUploadModule,\r\n ButtonModule,\r\n ButtonComponent,\r\n OverlayBadgeModule,\r\n CommonModule,\r\n TranslateModule,\r\n MenubarModule,\r\n ChipModule,\r\n ],\r\n templateUrl: './file-upload.component.html',\r\n styleUrl: './file-upload.component.scss',\r\n})\r\nexport class FileUploadComponent {\r\n protected readonly ButtonSize = ButtonSize;\r\n protected readonly ButtonColor = ButtonColor;\r\n\r\n @Input() uploadedFiles: { id: number; imeDatoteke: string; }[] = [];\r\n @Input() maxFileSize: number = 10000000;\r\n @Input() totalMaxFileSize: number = 20000000;\r\n @Input() disabled: boolean = false;\r\n @Input() acceptFiles: string | undefined = undefined;\r\n @Input() multiple: boolean = true;\r\n\r\n @Output() onSaveFile: EventEmitter<File[]> = new EventEmitter();\r\n @Output() onDelete: EventEmitter<number> = new EventEmitter();\r\n @Output() onDownload: EventEmitter<{ id: number; name: string }> =\r\n new EventEmitter();\r\n\r\n @Output() valid: EventEmitter<boolean> = new EventEmitter();\r\n\r\n // File upload\r\n fileList: File[] = [];\r\n totalSize: number = 0;\r\n index: number = 0;\r\n totalSizePercent: number = 0;\r\n selectedNaloga: NalogaDTO | undefined;\r\n\r\n constructor(\r\n private config: PrimeNG,\r\n private sharedMessageService: SharedMessageService,\r\n private translateService: TranslateService\r\n ) {}\r\n\r\n\r\n onSelectedFiles(event: any) {\r\n this.fileList = event.currentFiles;\r\n this.onSaveFile.emit(this.fileList);\r\n this.calculateFileSize();\r\n }\r\n\r\n // Unified display name\r\n getDisplayName(item: File | { imeDatoteke?: string; name?: string }): string {\r\n if (item instanceof File) return item.name;\r\n return item.name ?? item.imeDatoteke ?? '';\r\n }\r\n\r\n delete(fileId: number): void {\r\n this.onDelete.emit(fileId);\r\n }\r\n\r\n formatSize(bytes: any) {\r\n const k = 1024;\r\n const dm = 3;\r\n const sizes = this.config.translation.fileSizeTypes ?? [];\r\n if (bytes === 0) {\r\n return `0 ${sizes[0] ?? ''}`;\r\n }\r\n\r\n const i = Math.floor(Math.log(bytes) / Math.log(k));\r\n const formattedSize = parseFloat((bytes / Math.pow(k, i)).toFixed(dm));\r\n\r\n return `${formattedSize} ${sizes[i] ?? ''}`;\r\n }\r\n\r\n choose(event: any, callback: any) {\r\n callback();\r\n }\r\n\r\n remove(event: any): void {\r\n this.fileList = [...this.fileList.filter(f => f.name !== event.file.name)];\r\n this.onSaveFile.emit(this.fileList);\r\n this.calculateFileSize();\r\n }\r\n\r\n onRemoveTemplatingFile(event: any, priloga: any, removeFileCallback: any, index: any) {\r\n removeFileCallback(event, index);\r\n this.totalSize -= this.totalSize -= parseInt(this.formatSize(priloga.size));\r\n this.totalSizePercent = this.totalSize / 10;\r\n }\r\n\r\n downloadFile(id: number, name: string): void {\r\n this.onDownload.emit({ id, name});\r\n }\r\n\r\n // Helper to know if item is a temp (new, unsaved) File (no backend id)\r\n isTempFile(item: any): boolean {\r\n return item instanceof File && (item as any).id == null;\r\n }\r\n\r\n onClearTemplatingUpload() {\r\n this.fileList = [];\r\n this.onSaveFile.emit([]);\r\n this.totalSize = 0;\r\n this.totalSizePercent = 0;\r\n }\r\n\r\n private calculateFileSize(): void {\r\n this.totalSize = 0;\r\n this.fileList.forEach((priloga: any) => {\r\n this.totalSize += parseInt(priloga.size);\r\n });\r\n\r\n if (this.totalMaxFileSize < this.totalSize) {\r\n this.sharedMessageService.errorMessage( this.translateService.instant(\"components.fileUpload.invalidTotalFileSize\") + \" \" + (this.totalMaxFileSize / 1000000) + \"mb\");\r\n this.valid.emit(false);\r\n } else {\r\n this.valid.emit(true)\r\n }\r\n\r\n this.totalSizePercent = this.totalSize / 10;\r\n }\r\n}\r\n"," <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čen\" badgeSize=\"small\" severity=\"success\" />\r\n <p-button\r\n (click)=\"downloadFile((priloga).id, getDisplayName(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)=\"removeFileCallback()\"\r\n (click)=\"delete(priloga.id)\"\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","import { CommonModule } from '@angular/common';\r\nimport { Component, Input } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { ChipModule } from 'primeng/chip';\r\nimport { InputTextModule } from 'primeng/inputtext';\r\nimport { MenubarModule } from 'primeng/menubar';\r\n\r\n@Component({\r\n selector: 'app-filter-header',\r\n imports: [\r\n InputTextModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n CommonModule,\r\n MenubarModule,\r\n ChipModule,\r\n ],\r\n templateUrl: './filter-header.component.html',\r\n styleUrl: './filter-header.component.scss',\r\n})\r\nexport class FilterHeaderComponent {\r\n\r\n @Input() filterItems: string[] = [];\r\n\r\n constructor() {}\r\n\r\n}\r\n","<!-- app.component.html -->\r\n\r\n<p-menubar class=\"accordion_menubar \">\r\n <ng-template pTemplate=\"start\">\r\n <div class=\"filter-chips\" >\r\n <p-chip\r\n *ngFor=\"let item of filterItems\"\r\n [label]=\"item\"\r\n styleClass=\"filter-chip\">\r\n </p-chip>\r\n </div>\r\n </ng-template>\r\n</p-menubar>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { MessageService } from 'primeng/api';\r\nimport { TranslateService, TranslateModule } from '@ngx-translate/core';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'lib-footer',\r\n templateUrl: './footer.component.html',\r\n styleUrls: ['./footer.component.scss'],\r\n imports: [TranslateModule],\r\n})\r\nexport class FooterComponent {\r\n @Input() version!: string;\r\n\r\n constructor(\r\n private readonly messageService: MessageService,\r\n private readonly translateService: TranslateService,\r\n private router: Router\r\n ) {}\r\n\r\n\r\n /**\r\n * @deprecated\r\n * @see openPersonalDataInfo()\r\n */\r\n openGdpr(event: any): void {\r\n event.preventDefault();\r\n\r\n this.messageService.add({\r\n key: 'notification',\r\n severity: 'info',\r\n summary: this.translateService?.instant('components.footer.modal.GDPR'),\r\n });\r\n }\r\n\r\n /**\r\n * ES-267 odpre stran z obvestilom glede osebnih podatkov\r\n * @param event\r\n */\r\n openPersonalDataInfo(event: any): void {\r\n event.preventDefault();\r\n const url: string = window.location.href;\r\n const organisation: string = url.split('/')[3];\r\n const language: string = url.split('/')[4];\r\n this.router.navigateByUrl(`${organisation}/${language}/obvestilo-glede-osebnih-podatkov`);\r\n }\r\n\r\n openAccessibilityInfo(event: any): void {\r\n event.preventDefault();\r\n const url: string = window.location.href;\r\n const organisation: string = url.split('/')[3];\r\n const language: string = url.split('/')[4];\r\n this.router.navigateByUrl(`${organisation}/${language}/izjava-o-dostopnosti`);\r\n }\r\n}\r\n","<footer class=\"footer\">\r\n <div class=\"footer-logo-list\">\r\n <p class=\"container text-white\">{{ 'components.footer.version' | translate }}: {{ version }}</p>\r\n </div>\r\n</footer>\r\n","import { Component, EventEmitter, Input, OnInit, Output, TemplateRef } from \"@angular/core\";\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Observable, of } from \"rxjs\";\r\nimport { TableModule } from \"primeng/table\";\r\nimport { PrimeTemplate } from \"primeng/api\";\r\nimport { NgFor, NgIf } from \"@angular/common\";\r\nimport { FormsModule } from \"@angular/forms\";\r\nimport { InputText } from \"primeng/inputtext\";\r\nimport { SelectModule } from 'primeng/select';\r\n\r\n@Component({\r\n selector: 'app-generic-table',\r\n templateUrl: './generic-table.component.html',\r\n styleUrls: ['./generic-table.component.scss'],\r\n imports: [TableModule, PrimeTemplate, NgFor, NgIf, FormsModule, InputText, SelectModule]\r\n})\r\nexport class GenericTableComponent implements OnInit {\r\n constructor(private translateService: TranslateService) {}\r\n\r\n // stolpci tabele\r\n @Input() columns: {\r\n field: string; // id polja za referenco\r\n header: string; // ime polja za prikaz\r\n selectable?: boolean; // true: pokaže checkbox (to daš pri prvem polju, npr. id)\r\n filterType?: string; // filtriranje, iskanje zapisov: text oz. dropdown\r\n options?: any; // filtriranje, iskanje zapisov: če je dropdown opcija je tukaj zaloga vrednosti\r\n placeholder?: string; // placeholder ki je zapisan v filtru\r\n }[] = [];\r\n // podatki tabele\r\n @Input() data: any[] = [];\r\n // ali prikaže filtre: privzeto v vrstici pod imeni stolpcev\r\n @Input() filtersEnabled: boolean = true;\r\n // sporočilo ki se pokaže v body tabele, če filtriranje, iskanje ne najde nič\r\n @Input() emptyMessage: string = '';\r\n // TODO: tole je, da bi lahko customiziral body tabele - ne deluje\r\n @Input() customBodyTemplate: TemplateRef<any> | null = null;\r\n\r\n // za checked vrstice\r\n private _selectedRows: any[] = [];\r\n @Input()\r\n get selectedRows(): any[] {\r\n return this._selectedRows;\r\n }\r\n set selectedRows(value: any[]) {\r\n this._selectedRows = value;\r\n this.selectedRowsChange.emit(this._selectedRows); // Emitiramo dogodek ob spremembi\r\n }\r\n\r\n @Output() selectedRowsChange = new EventEmitter<any[]>(); // Dogodek za dvosmerno vezavo\r\n\r\n ngOnInit(): void {\r\n if (!this.emptyMessage) {\r\n this.emptyMessage = this.translateService.instant('errors.table.noData');\r\n }\r\n }\r\n\r\n get globalFilterFields(): string[] {\r\n return this.columns.map(c => c.field);\r\n }\r\n\r\n clearOnEscape(event: KeyboardEvent, filter: (value: any) => void): void {\r\n if (event.key === 'Escape') {\r\n filter(''); // Počisti vrednost filtra\r\n (event.target as HTMLInputElement).value = ''; // Počisti vrednost vnosnega polja\r\n event.preventDefault(); // Prepreči privzeto vedenje\r\n }\r\n }\r\n\r\n // Inicializacija stolpcev (z možnostjo prevodov)\r\n initializeColumns(columnsConfig: { field: string; headerKey: string; filterType?: string; options?: any }[]): void {\r\n this.columns = columnsConfig.map(col => ({\r\n ...col,\r\n header: this.translateService.instant(col.headerKey),\r\n }));\r\n }\r\n\r\n}\r\n","<p-table\r\n [value]=\"data\"\r\n [globalFilterFields]=\"globalFilterFields\"\r\n class=\"p-datatable-gridlines\"\r\n [(selection)]=\"selectedRows\"\r\n>\r\n <!-- header tabele -->\r\n <ng-template pTemplate=\"header\">\r\n <!-- header vrstica kjer so imena fieldov -->\r\n <tr>\r\n <th *ngFor=\"let col of columns\">\r\n <ng-container *ngIf=\"col.selectable; else regularHeader\">\r\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\r\n </ng-container>\r\n <ng-template #regularHeader>\r\n {{ col.header }}\r\n </ng-template>\r\n </th>\r\n </tr>\r\n <!-- filter vrstica kjer so vsi filtri -->\r\n <tr *ngIf=\"filtersEnabled\">\r\n <th *ngFor=\"let col of columns\">\r\n <!-- text filter -->\r\n <ng-container *ngIf=\"col.filterType === 'text'\">\r\n <p-columnFilter\r\n [field]=\"col.field\"\r\n [type]=\"'text'\"\r\n [showMenu]=\"false\"\r\n [placeholder]=\"col.placeholder || col.header\"\r\n [matchMode]=\"'contains'\"\r\n >\r\n <ng-template pTemplate=\"filter\" let-value let-filter=\"filterCallback\">\r\n <input\r\n pInputText\r\n type=\"text\"\r\n [ngModel]=\"value\"\r\n (ngModelChange)=\"filter($event)\"\r\n (keydown)=\"clearOnEscape($event, filter)\"\r\n [placeholder]=\"col.placeholder || col.header\"\r\n />\r\n </ng-template>\r\n </p-columnFilter>\r\n </ng-container>\r\n\r\n <!-- dropdown filter -->\r\n <ng-container *ngIf=\"col.filterType === 'dropdown'\">\r\n <p-columnFilter [field]=\"col.field\" [showMenu]=\"false\">\r\n <ng-template pTemplate=\"filter\" let-value let-filter=\"filterCallback\">\r\n <p-select\r\n [ngModel]=\"value\"\r\n [options]=\"col.options\"\r\n (onChange)=\"filter($event.value)\"\r\n placeholder=\"{{ col.placeholder || col.header }}\"\r\n [showClear]=\"true\"\r\n ></p-select>\r\n </ng-template>\r\n </p-columnFilter>\r\n </ng-container>\r\n </th>\r\n </tr>\r\n\r\n </ng-template>\r\n\r\n <!-- body tabele -->\r\n <ng-template pTemplate=\"body\" let-rowData>\r\n <tr>\r\n <td *ngFor=\"let col of columns\">\r\n <ng-container *ngIf=\"col.selectable; else regularCell\">\r\n <p-tableCheckbox [value]=\"rowData\"></p-tableCheckbox>\r\n </ng-container>\r\n <ng-template #regularCell>\r\n <ng-container *ngIf=\"!customBodyTemplate; else customBody\">\r\n {{ rowData[col.field] }}\r\n </ng-container>\r\n </ng-template>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n\r\n\r\n\r\n <!-- TODO: tale del z $implicit: rowData ne deluje, meče errorje -->\r\n <ng-template #customBody>\r\n<!-- <ng-container *ngTemplateOutlet=\"customBodyTemplate; context: { $implicit: rowData }\"></ng-container>-->\r\n </ng-template>\r\n\r\n <!-- empty message: če ni podatkov -->\r\n <ng-template pTemplate=\"emptymessage\">\r\n <tr class=\"empty-message\">\r\n <td [attr.colspan]=\"columns.length\">{{ emptyMessage }}</td>\r\n </tr>\r\n </ng-template>\r\n</p-table>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { InputType } from '../../models/enums/input/input-type.enum';\r\nimport { FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { TooltipPosition } from '../../models/enums/tooltip/tooltip-position.enum';\r\nimport { FormStatusInterface } from '../../models/interaces/shared/form-status.interface';\r\nimport { TooltipHoverEventEnum } from '../../models/enums/tooltip/tooltip-hover-event.enum';\r\nimport { NgClass, NgIf } from '@angular/common';\r\nimport { TooltipComponent } from '../tooltip/tooltip.component';\r\nimport { InputMask } from 'primeng/inputmask';\r\nimport { ErrorComponent } from '../error/error.component';\r\n\r\n@Component({\r\n selector: 'lib-input-mask',\r\n templateUrl: './input-mask.component.html',\r\n styleUrls: ['./input-mask.component.scss'],\r\n imports: [\r\n FormsModule,\r\n ReactiveFormsModule,\r\n NgClass,\r\n NgIf,\r\n TooltipComponent,\r\n InputMask,\r\n ErrorComponent,\r\n ],\r\n})\r\nexport class InputMaskComponent implements OnInit {\r\n protected readonly TooltipHoverEventEnum = TooltipHoverEventEnum;\r\n\r\n _isTooltipVisible!: boolean;\r\n\r\n @Input() name!: string;\r\n\r\n @Input() type: InputType = InputType.text;\r\n\r\n @Input() label!: string;\r\n\r\n @Input() placeholder!: string;\r\n\r\n @Input() accessibilityText = '';\r\n\r\n @Input() group!: FormGroup;\r\n\r\n @Input() controlName!: string;\r\n\r\n @Input() isRequired = true;\r\n\r\n @Input() tooltipPosition: TooltipPosition = TooltipPosition.right;\r\n\r\n @Input() tooltipText?: string = '';\r\n\r\n @Input() formStatus?: FormStatusInterface;\r\n\r\n @Input() groupError = false;\r\n\r\n @Input() hasGap = true;\r\n\r\n @Input() mask!: string;\r\n\r\n ngOnInit(): void {\r\n this._isTooltipVisible = !!this.tooltipText;\r\n }\r\n}\r\n","<div class=\"flex flex-column\" [formGroup]=\"group\" [ngClass]=\"{ 'gap-1': hasGap }\">\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 <p-inputMask\r\n [inputId]=\"name\"\r\n [formControlName]=\"controlName\"\r\n [mask]=\"mask\"\r\n [placeholder]='placeholder'\r\n [attr.aria-label]=\"accessibilityText\"\r\n [ngClass]=\"{ 'ng-dirty ng-invalid': (group.get(controlName)!.errors && (group.get(controlName)!.touched || formStatus!.isSubmitTriggered)) || groupError }\"\r\n [attr.aria-describedby]=\"name + 'Error'\"\r\n [attr.aria-invalid]=\"(group.get(controlName)!.errors && (group.get(controlName)!.touched || formStatus!.isSubmitTriggered)) || groupError\"\r\n [attr.aria-required]=\"isRequired\"\r\n ></p-inputMask>\r\n</div>\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 [hasGroupError]=\"groupError\"\r\n [errorId]=\"name+'Error'\"\r\n></lib-error>\r\n","import { Component } from '@angular/core';\r\nimport { ProgressSpinner } from 'primeng/progressspinner';\r\n\r\n@Component({\r\n selector: 'lib-loader',\r\n templateUrl: './loader.component.html',\r\n styleUrls: ['./loader.component.scss'],\r\n imports: [ProgressSpinner]\r\n})\r\nexport class LoaderComponent {\r\n\r\n}\r\n","<p-progressSpinner strokeWidth=\"5\" animationDuration=\"2.5s\"></p-progressSpinner>\r\n","import { Component, HostListener, Input } from '@angular/core';\r\nimport { NavbarLinkList } from '../../models/interaces/navbar/navbar-link-list.interface';\r\nimport { Button } from 'primeng/button';\r\nimport { NgClass, NgIf, NgFor, UpperCasePipe } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'lib-main-menu',\r\n templateUrl: './main-menu.component.html',\r\n styleUrls: ['./main-menu.component.scss'],\r\n imports: [\r\n Button,\r\n NgClass,\r\n NgIf,\r\n NgFor,\r\n UpperCasePipe,\r\n ],\r\n})\r\nexport class MainMenuComponent {\r\n openNavigation = false;\r\n\r\n @Input() navLinkList!: NavbarLinkList[];\r\n\r\n @Input() buttonTitle = 'Vsebine';\r\n\r\n @Input() mainMenuTitle = 'Področja';\r\n\r\n /**\r\n * toggle menu\r\n */\r\n openMenu(): void {\r\n this.openNavigation = !this.openNavigation;\r\n }\r\n\r\n /**\r\n * Listen to all clickEvents and if menu is open, and you click outside the menu or toggle-menu-button the close menu\r\n * @param event MouseEvent, click\r\n */\r\n @HostListener('document:click', ['$event'])\r\n onClick(event: MouseEvent): void {\r\n if (this.openNavigation) {\r\n const menuContainer = document.querySelector('.menu-container');\r\n const navContainer = document.getElementById('toggle-menu-button');\r\n if (\r\n menuContainer &&\r\n navContainer &&\r\n !menuContainer.contains(event.target as Node) &&\r\n !navContainer.contains(event.target as Node)\r\n ) {\r\n this.openNavigation = false;\r\n }\r\n }\r\n }\r\n}\r\n","<nav class=\"navigation flex align-items-center\">\r\n <div class=\"nav-container\">\r\n <p-button id=\"toggle-menu-button\" aria-label=\"Click to open\" [ngClass]=\"{'openNavStyle': openNavigation}\"\r\n [label]=\"buttonTitle\"\r\n icon=\"pi pi-chevron-{{openNavigation ? 'up' : 'down'}}\" iconPos=\"right\" styleClass=\"p-button-text\"\r\n (click)=\"openMenu()\"></p-button>\r\n </div>\r\n</nav>\r\n\r\n<div *ngIf=\"openNavigation\" class=\"menu-container flex justify-content-center\" aria-expanded=\"true\">\r\n <div class=\"container grid p-0 m-0\">\r\n <h5 class=\"text-lg font-normal col-12 mb-3\">{{ mainMenuTitle | uppercase}}</h5>\r\n <div class=\"footer-links col-12 md:col-6 lg:col-4 xl:col-2\" *ngFor=\"let navColumn of navLinkList\">\r\n <ul>\r\n <li class=\"pb-1\" *ngFor=\"let link of navColumn.columnLinkList\">\r\n <span class=\"arrow-link\"></span><a href=\"#\" class=\"link\">{{ link }}</a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n</div>\r\n","import { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges, TemplateRef } from '@angular/core';\r\nimport { ButtonColor } from '../../models/enums/button/button-color.enum';\r\nimport { DialogColor } from '../../models/enums/confirm-modal/confirm-modal-color.enum';\r\nimport { Dialog } from 'primeng/dialog';\r\nimport { NgClass, NgTemplateOutlet, NgIf } from '@angular/common';\r\nimport { PrimeTemplate } from 'primeng/api';\r\nimport { ButtonComponent } from '../button/button.component';\r\n\r\n@Component({\r\n selector: 'lib-modal',\r\n templateUrl: './modal.component.html',\r\n styleUrls: ['./modal.component.scss'],\r\n imports: [\r\n Dialog,\r\n NgClass,\r\n PrimeTemplate,\r\n NgTemplateOutlet,\r\n NgIf,\r\n ButtonComponent,\r\n ],\r\n})\r\nexport class ModalComponent {\r\n @Input() header = 'Header title';\r\n\r\n @Input() headerColor = DialogColor.primary;\r\n\r\n @Input() width = '50vw';\r\n\r\n @Input() height = '';\r\n\r\n @Input() dynamicContentTemplate!: TemplateRef<any>;\r\n\r\n @Input() resizable = false;\r\n\r\n @Input() draggable = true;\r\n\r\n @Input() visible!: boolean;\r\n\r\n @Input() closable = true;\r\n\r\n @Input() modal = false;\r\n\r\n @Input() body = 'Body content';\r\n\r\n @Input() position: 'top' | 'bottom' = 'top';\r\n\r\n @Input() mode: 'edit' | 'create' = 'create';\r\n\r\n @Input() btnLabel = 'Sem prebral/-a';\r\n\r\n @Input() btnColor = ButtonColor.success;\r\n\r\n @Input() btnIcon = 'pi pi-check';\r\n\r\n @Input() hasIcon = true;\r\n\r\n @Input() disabled = false;\r\n\r\n @Input() hasLeftButton = false;\r\n\r\n @Input() appendTo?: string;\r\n\r\n @Input() leftBtnLabel = 'Zapri';\r\n\r\n @Input() leftBtnColor = ButtonColor.danger;\r\n\r\n @Input() leftBtnIcon = 'pi pi-times';\r\n\r\n @Input() leftHasIcon = true;\r\n\r\n @Input() leftDisabled = false;\r\n\r\n @Output() buttonClickEvent = new EventEmitter();\r\n\r\n @Output() visibleChange: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n @Output() leftButtonClickEvent = new EventEmitter();\r\n\r\n @Output() scrollEvent = new EventEmitter();\r\n\r\n @Output() modalClosed: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @Input() isFooterVisible = true;\r\n\r\n @Input() dismissableMask = false;\r\n\r\n headerClassMap = {\r\n primary: 'primary',\r\n secondary: 'secondary',\r\n info: 'info',\r\n warning: 'warning',\r\n danger: 'danger',\r\n };\r\n\r\n /**\r\n * Event emitted on clicking added button on bottom of modal\r\n * @param event mouse click event\r\n */\r\n buttonCloseModal(event: MouseEvent): void {\r\n event.stopPropagation();\r\n this.buttonClickEvent.emit(event);\r\n }\r\n\r\n /**\r\n * Event emitted on clicking added button on bottom of modal\r\n * @param event mouse click event\r\n */\r\n leftButtonClick(event: MouseEvent): void {\r\n event.stopPropagation();\r\n this.leftButtonClickEvent.emit(event);\r\n }\r\n\r\n changeVisibility(newVisibility: boolean): void {\r\n this.visible = newVisibility;\r\n this.visibleChange.emit(this.visible);\r\n }\r\n\r\n handleHide(): void {\r\n this.changeVisibility(false);\r\n }\r\n}\r\n","<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","import { Component, Input, OnInit } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { MessageModule } from 'primeng/message';\r\n\r\n@Component({\r\n selector: 'lib-no-data-found',\r\n templateUrl: './no-data-found.component.html',\r\n styleUrls: ['./no-data-found.component.scss'],\r\n imports: [\r\n MessageModule\r\n ],\r\n})\r\nexport class NoDataFoundComponent implements OnInit {\r\n @Input() message:string = '';\r\n @Input() alternativeMessage: boolean = false;\r\n\r\n constructor(private translateService: TranslateService) {}\r\n\r\n ngOnInit(): void {\r\n if (this.alternativeMessage) {\r\n this.message = this.translateService.instant(\"common.niPodatkov\");\r\n } else {\r\n this.message = this.translateService.instant(\"common.niPodatkovZaIzbraneFilter\");\r\n }\r\n }\r\n}\r\n","<div class=\"container\">\r\n <i class=\"pi pi-info-circle pb-2\" style=\"font-size: 1.5rem\"></i>\r\n <span class=\"ml-2\">{{ message }}</span>\r\n</div>","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { PickListModule } from 'primeng/picklist';\r\nimport { PrimeTemplate } from 'primeng/api';\r\nimport { NgIf } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'lib-picklist[sourceData][targetData][name]',\r\n templateUrl: './picklist.component.html',\r\n styleUrls: ['./picklist.component.scss'],\r\n imports: [\r\n PickListModule,\r\n PrimeTemplate,\r\n NgIf,\r\n ],\r\n})\r\nexport class PicklistComponent {\r\n // Dynamic class\r\n @Input() primaryPickList = 'primary-pick-list';\r\n\r\n @Input() sourceData!: any[];\r\n\r\n @Input() targetData!: any[];\r\n\r\n @Input() name!: string;\r\n\r\n @Input() sourceFilterPlaceholder = 'Iščite...';\r\n\r\n @Input() targetFilterPlaceholder = 'Iščite...';\r\n\r\n @Input() sourceHeader = 'Na voljo';\r\n\r\n @Input() targetHeader = 'Izbrano';\r\n\r\n @Input() style = { height: '15rem' };\r\n\r\n @Input() dragdrop = true;\r\n\r\n @Input() responsive = true;\r\n\r\n @Input() showSourceControls = true;\r\n\r\n @Input() showTargetControls = true;\r\n\r\n @Output() moveToSourceClicked = new EventEmitter();\r\n\r\n @Output() moveToTargetClicked = new EventEmitter();\r\n\r\n @Output() moveToSourceAllClicked = new EventEmitter();\r\n\r\n @Output() moveToTargetAllClicked = new EventEmitter();\r\n\r\n // Custom headers\r\n @Input() isCustomSourceHeader = false;\r\n\r\n @Input() isCustomTargetHeader = false;\r\n\r\n @Input() sourceLength!: string;\r\n\r\n @Input() targetLength!: string;\r\n\r\n moveToSource(event: any): void {\r\n this.moveToSourceClicked.emit(event);\r\n }\r\n\r\n moveToTarget(event: any): void {\r\n this.moveToTargetClicked.emit(event);\r\n }\r\n\r\n moveAllToSource(event: any): void {\r\n this.moveToSourceAllClicked.emit(event);\r\n }\r\n\r\n moveAllToTarget(event: any): void {\r\n this.moveToTargetAllClicked.emit(event);\r\n }\r\n}\r\n","<p-picklist\r\n [source]=\"sourceData\"\r\n [target]=\"targetData\"\r\n [sourceHeader]=\"sourceHeader\"\r\n [targetHeader]=\"targetHeader\"\r\n [dragdrop]=\"dragdrop\"\r\n [responsive]=\"responsive\"\r\n [sourceStyle]=\"style\"\r\n [showSourceControls]=\"showSourceControls\"\r\n [showTargetControls]=\"showTargetControls\"\r\n [targetStyle]=\"style\"\r\n [filterBy]=\"name\"\r\n [sourceFilterPlaceholder]=\"sourceFilterPlaceholder\"\r\n [targetFilterPlaceholder]=\"targetFilterPlaceholder\"\r\n breakpoint=\"1400px\"\r\n (onMoveToSource)=\"moveToSource($event)\"\r\n (onMoveToTarget)=\"moveToTarget($event)\"\r\n (onMoveAllToSource)=\"moveAllToSource($event)\"\r\n (onMoveAllToTarget)=\"moveAllToTarget($event)\"\r\n [class]=\"primaryPickList\"\r\n>\r\n <ng-template let-product pTemplate=\"item\">\r\n <div class=\"flex flex-wrap p-2 align-items-center gap-3\">\r\n <div class=\"flex-1 flex flex-column gap-2\">\r\n <span class=\"font-bold\">{{ product[name] }}</span>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n <!-- Header template for source list -->\r\n <ng-template let-product pTemplate=\"sourceHeader\" *ngIf=\"isCustomSourceHeader\">\r\n <div class=\"custom-picklist-header flex align-items-center justify-content-between\">\r\n <span>{{ sourceHeader }}</span>\r\n <span>{{ sourceLength }}</span>\r\n </div>\r\n </ng-template>\r\n\r\n <!-- Header template for target list -->\r\n <ng-template let-product pTemplate=\"targetHeader\" *ngIf=\"isCustomTargetHeader\">\r\n <div class=\"custom-picklist-header flex align-items-center justify-content-between\">\r\n <span>{{ targetHeader }}</span>\r\n <span>{{ targetLength }}</span>\r\n </div>\r\n </ng-template>\r\n</p-picklist>\r\n","import { Component, Input } from '@angular/core';\r\nimport { ProgressBar } from 'primeng/progressbar';\r\n\r\n@Component({\r\n selector: 'lib-progress-bar[value]',\r\n templateUrl: './progress-bar.component.html',\r\n styleUrls: ['./progress-bar.component.scss'],\r\n imports: [ProgressBar],\r\n})\r\nexport class ProgressBarComponent {\r\n @Input() value!: number;\r\n}\r\n","<p-progressBar [value]=\"value\"></p-progressBar>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { TranslateModule, TranslateService } from '@ngx-translate/core';\r\nimport { ButtonModule } from 'primeng/button';\r\nimport { CheckboxModule } from 'primeng/checkbox';\r\nimport { DialogModule } from 'primeng/dialog';\r\nimport { Draggable, Droppable } from \"primeng/dragdrop\";\r\nimport { ListboxModule } from 'primeng/listbox';\r\nimport { OrderListModule } from 'primeng/orderlist';\r\nimport { TableColumn } from '../../models/interaces/table/table-column.interface';\r\nimport { ButtonComponent, LocalStorageService, ModalComponent } from '../../public-api';\r\n\r\ninterface ColumnContainers {\r\n id: number\r\n items: TableColumn[];\r\n}\r\n\r\n@Component({\r\n selector: 'table-column-select',\r\n templateUrl: './table-column-select.component.html',\r\n styleUrls: ['./table-column-select.component.scss'],\r\n imports: [ButtonModule, ListboxModule, DialogModule, CheckboxModule, CommonModule, FormsModule, OrderListModule, ModalComponent, TranslateModule, Droppable, Draggable, ButtonComponent],\r\n})\r\nexport class TableColumnSelectComponent implements OnChanges {\r\n @Input() columns!: TableColumn[];\r\n @Input() defaultColumns!: TableColumn[];\r\n @Input() enableResizableColumns = true; \r\n @Input() pregled!: string;\r\n\r\n @Output() updateColumns = new EventEmitter<TableColumn[]>();\r\n @Output() updateResizableColumns = new EventEmitter<boolean>();\r\n\r\n selectedColumns: TableColumn[] = [];\r\n draggedTask!: TableColumn;\r\n dropContainers: ColumnContainers[] = [];\r\n \r\n enableResizableColumnsLocalStorageKey = \"EnableResizableColumns\"\r\n\r\n constructor(private localStorageService: LocalStorageService, private translateService: TranslateService) {}\r\n\r\n ngOnChanges(): void {\r\n this.setColumns(false);\r\n }\r\n\r\n visible: boolean = false;\r\n\r\n showDialog() {\r\n this.visible = true;\r\n }\r\n\r\n changeValue(): void {\r\n const columns: TableColumn[] = [];\r\n\r\n this.dropContainers.forEach((container, index) => {\r\n const item = container.items[0];\r\n if (this.selectedColumns.find(f => f.field === item.field)) {\r\n item.show = true;\r\n } else {\r\n item.show = false;\r\n }\r\n\r\n item.position = index;\r\n columns.push(item);\r\n })\r\n this.columns = [...columns];\r\n this.updateColumns.emit(columns);\r\n this.updateResizableColumns.emit(this.enableResizableColumns);\r\n \r\n this.localStorageService.setItem(this.pregled, columns);\r\n this.localStorageService.setItem(this.enableResizableColumnsLocalStorageKey, this.enableResizableColumns);\r\n\r\n\r\n this.visible = false;\r\n }\r\n\r\n\r\n dragStart(task: TableColumn) {\r\n this.draggedTask = task;\r\n }\r\n\r\n drop(id: number) { \r\n let previousContainerId: number;\r\n this.dropContainers.forEach(container => {\r\n const found = container.items.find(f => f.field === this.draggedTask.field);\r\n if (found) {\r\n previousContainerId = container.id;\r\n }\r\n })\r\n \r\n this.dropContainers.find(f => f.id === id)?.items.push(this.draggedTask);\r\n const previousItem = this.dropContainers.find(f => f.id === id)?.items[0];\r\n if (previousItem) {\r\n this.dropContainers.find(f => f.id === previousContainerId)?.items.push(previousItem);\r\n this.dropContainers.find(f => f.id === id)?.items.shift();\r\n this.dropContainers.find(f => f.id === previousContainerId)?.items.shift();\r\n }\r\n }\r\n\r\n onReset(): void {\r\n this.setColumns(true); \r\n }\r\n\r\n setColumns(setDefault: boolean): void {\r\n this.dropContainers = [];\r\n if (setDefault) {\r\n this.selectedColumns = [];\r\n this.defaultColumns.forEach((item, index) => {\r\n this.dropContainers.push({items: [{...item}], id: index})\r\n this.dropContainers.sort((s1, s2) => s1.items[0].position - s2.items[0].position\r\n )\r\n \r\n if (item.show) {\r\n this.selectedColumns.push(item);\r\n }\r\n })\r\n } else {\r\n this.columns.forEach((item, index) => {\r\n this.dropContainers.push({items: [{...item}], id: index})\r\n this.dropContainers.sort((s1, s2) => s1.items[0].position - s2.items[0].position\r\n )\r\n \r\n if (item.show) {\r\n this.selectedColumns.push(item);\r\n }\r\n })\r\n } \r\n }\r\n}\r\n","<p-button (click)=\"showDialog()\" icon=\"pi pi-cog\" aria-label=\"Save\" />\r\n\r\n<lib-modal\r\n header=\"{{ 'components.modals.tableColumnSelect.title' | translate }}\"\r\n btnLabel=\"{{ 'common.buttonConfirm' | translate }}\"\r\n [(visible)]=\"visible\"\r\n [closable]=\"true\"\r\n [modal]=\"true\"\r\n width=\"30vw\"\r\n (buttonClickEvent)=\"changeValue()\"\r\n [dynamicContentTemplate]=\"dynamicContentCollection\">\r\n</lib-modal>\r\n\r\n<ng-template class=\"modal-content\" #dynamicContentCollection>\r\n <div class=\"flex w-full justify-content-between align-items-center gap-2\">\r\n <lib-button label=\"{{'components.modals.tableColumnSelect.ponastaviStolpce' | translate}}\" (click)=\"onReset()\">\r\n </lib-button>\r\n <div class=\"flex gap-2\">\r\n <p-checkbox [binary]=\"true\" [(ngModel)]=\"enableResizableColumns\" /> \r\n <h4>{{ 'components.modals.tableColumnSelect.spreminjanjeVelikostiStolpcev' | translate }}</h4>\r\n </div>\r\n </div>\r\n \r\n <div pDroppable (onDrop)=\"drop(i)\" [pDroppableDisabled]=\"i < 2 ? true : false\" *ngFor=\"let item of dropContainers; index as i\" class=\"drop-container\">\r\n <div (onDragStart)=\"dragStart(item.items[0])\" [dragHandle]=\"i < 2 ? 'invalid' : undefined\" pDraggable [ngClass]=\"i < 2 ? 'disabled': ''\" class=\"item\">\r\n <p-checkbox [inputId]=\"item.items[0].field\" [disabled]=\"i < 2\" name=\"group\" [value]=\"item.items[0]\" [(ngModel)]=\"selectedColumns\" /> \r\n <h4>{{item.items[0].header}}</h4>\r\n </div> \r\n </div>\r\n</ng-template>\r\n","import { Component, Input, AfterViewInit, OnDestroy, forwardRef } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\r\n\r\ndeclare var tinymce: any;\r\n\r\n@Component({\r\n selector: 'lib-tinymce-editor',\r\n templateUrl: './tinymce-editor.component.html',\r\n styleUrls: ['./tinymce-editor.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => TinymceEditorComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class TinymceEditorComponent implements AfterViewInit, OnDestroy, ControlValueAccessor {\r\n @Input() editorId: string = ''; // Dinamični ID za vsak urejevalnik\r\n content: string = ''; // Shranjevanje vsebine editorja\r\n private editor: any;\r\n\r\n // Funkcije ControlValueAccessor\r\n onChange = (content: string) => {};\r\n onTouched = () => {};\r\n\r\n // Nastavi vrednost (ngModel) v TinyMCE editor\r\n writeValue(content: string): void {\r\n this.content = content;\r\n if (this.editor) {\r\n this.editor.setContent(content || '');\r\n }\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n ngAfterViewInit() {\r\n tinymce.init({\r\n selector: `#${this.editorId}`,\r\n plugins: 'link image code',\r\n toolbar: 'undo redo | formatselect | bold italic | alignleft aligncenter alignright | code',\r\n content_css: this.getCorrectCssPath(),\r\n setup: (editor: any) => {\r\n this.editor = editor;\r\n\r\n // Nastavi začetno vsebino\r\n editor.on('init', () => {\r\n editor.setContent(this.content || '');\r\n });\r\n\r\n // Ko se vsebina spremeni, posodobi model\r\n editor.on('change', () => {\r\n const content = editor.getContent();\r\n this.onChange(content); // Sprememba vsebine urejevalnika\r\n this.content = content; // Posodobi lokalno vsebino\r\n });\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * ker ima styles.css dodan anticache (npr. styles.f4479a007049fba8.css), dobi ustrezen css iz končnega htmlja\r\n */\r\n getCorrectCssPath(): string {\r\n const linkElement = document.querySelector('link[href^=\"styles\"][rel=\"stylesheet\"]') as HTMLLinkElement;\r\n return linkElement ? linkElement.href : '';\r\n }\r\n\r\n ngOnDestroy() {\r\n tinymce.remove(this.editor); // Uničite TinyMCE ob zapiranju komponente\r\n }\r\n}\r\n","<textarea class=\"tinyEditor\"\r\n [id]=\"editorId\"\r\n></textarea>\r\n","import { NgClass, NgIf } from '@angular/common';\r\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { TreeNode } from 'primeng/api';\r\nimport { TreeSelectModule } from 'primeng/treeselect';\r\nimport { TooltipHoverEventEnum } from '../../models/enums/tooltip/tooltip-hover-event.enum';\r\nimport { TooltipPosition } from '../../models/enums/tooltip/tooltip-position.enum';\r\nimport { FormStatusInterface } from '../../models/interaces/shared/form-status.interface';\r\nimport { ErrorComponent } from '../error/error.component';\r\nimport { TooltipComponent } from '../tooltip/tooltip.component';\r\n\r\n@Component({\r\n selector: 'lib-tree-select[group][controlName][name]',\r\n templateUrl: './tree-select.component.html',\r\n styleUrls: ['./tree-select.component.scss'],\r\n imports: [\r\n FormsModule,\r\n ReactiveFormsModule,\r\n NgIf,\r\n TooltipComponent,\r\n TreeSelectModule,\r\n NgClass,\r\n ErrorComponent,\r\n ],\r\n})\r\nexport class TreeSelectComponent implements OnInit {\r\n protected readonly TooltipHoverEventEnum = TooltipHoverEventEnum;\r\n\r\n _isTooltipVisible!: boolean;\r\n\r\n @Input() name!: string;\r\n\r\n @Input() group!: FormGroup;\r\n\r\n @Input() controlName!: string;\r\n\r\n @Input() label = '';\r\n\r\n @Input() optionList: TreeNode<any>[] = [];\r\n\r\n @Input() placeholder = '';\r\n\r\n @Input() accessibilityText = '';\r\n\r\n @Input() filter = true;\r\n\r\n @Input() showClear = true;\r\n\r\n @Input() isRequired = true;\r\n\r\n @Input() tooltipPosition: TooltipPosition = TooltipPosition.right;\r\n\r\n @Input() tooltipText?: string = '';\r\n\r\n @Input() formStatus?: FormStatusInterface;\r\n\r\n @Input() isLoading = false;\r\n\r\n @Input() appendTo!: string;\r\n\r\n @Input() isLabelVisible = true;\r\n\r\n @Input() emptyMessage?: string;\r\n\r\n @Input() virtualScroll: boolean = false;\r\n\r\n @Output() getValueEvent = new EventEmitter();\r\n\r\n constructor(private readonly translateService: TranslateService) {}\r\n\r\n getSelectedValue(event: any): void {\r\n this.getValueEvent.emit(event);\r\n }\r\n\r\n ngOnInit(): void {\r\n this._isTooltipVisible = !!this.tooltipText;\r\n }\r\n\r\n onClear(): void {\r\n this.group.get(this.controlName)?.setValue(null);\r\n }\r\n\r\n get emptyDropdownMessage(): string {\r\n if (this.emptyMessage) {\r\n return this.emptyMessage;\r\n } else {\r\n return this.translateService.instant('components.dropdown.emptyList');\r\n }\r\n }\r\n}\r\n","<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-treeselect \r\n [ngClass]=\"{ 'ng-dirty': (group.get(controlName)!.errors && (group.get(controlName)!.touched) || formStatus!.isSubmitTriggered || formStatus!.isNestedFormSubmit!) }\"\r\n [inputId]=\"name\"\r\n [appendTo]=\"appendTo\" \r\n (onNodeSelect)='getSelectedValue($event.node)'\r\n [options]=\"optionList\"\r\n [placeholder]='placeholder'\r\n [formControlName]=\"controlName\"\r\n [virtualScroll]=\"virtualScroll\"\r\n [virtualScrollItemSize]=\"38\"\r\n [filter]=\"filter\"\r\n [virtualScrollOptions]=\"{scrollHeight: '250px'}\" \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 [showClear]=\"group.get(controlName)?.value && showClear\"\r\n [attr.aria-label]=\"accessibilityText\"\r\n (onClear)=\"onClear()\"\r\n [emptyMessage]=\"emptyDropdownMessage\" \r\n containerStyleClass=\"w-full\" \r\n [showClear]=\"false\" \r\n formControlName=\"klasifikacijskiRazredId\" \r\n />\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","/**\r\n * Auth API\r\n *\r\n *\r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface ProfilUporabnikaDTO {\r\n id?: number;\r\n /**\r\n * Ime uporabnika\r\n */\r\n ime?: string;\r\n /**\r\n * Priimek uporabnika\r\n */\r\n priimek?: string;\r\n /**\r\n * Krovna inšpekcija\r\n */\r\n krovnaInspekcija?: string;\r\n /**\r\n * vloge\r\n */\r\n vloge?: { [key: string]: { [key: string]: Array<number>; }; };\r\n /**\r\n * Menijska struktura glede na vlogo\r\n */\r\n meni?: string;\r\n}\r\n\r\n","export enum ExpandedTable {\r\n danger = 'danger_row_color',\r\n warning = 'warning_row_color',\r\n success = 'success_row_color',\r\n}\r\n","export enum PositionKey {\r\n topCenter = 'topCenter',\r\n topLeft = 'topLeft',\r\n topRight = 'topRight',\r\n bottomCenter = 'bottomCenter',\r\n bottomLeft = 'bottomLeft',\r\n bottomRight = 'bottomRight',\r\n}\r\n","export enum ToastSeverity {\r\n success = 'success',\r\n info = 'info',\r\n warning = 'warn',\r\n error = 'error',\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\nexport interface RemoteFrontend {\r\n routePath: string; // Pot v host aplikaciji (npr. 'mfe-app')\r\n exposedModule: string; // Kaj exporta remote (npr. './routes')\r\n}\r\n\r\nexport interface MfeRemoteEntry {\r\n remoteName: string;\r\n remoteUrl: string;\r\n basePath: string;\r\n basePathPlatform: string;\r\n remoteComponents?: Record<string, string>;\r\n remoteFrontends?: Record<string, RemoteFrontend>;\r\n}\r\n\r\nexport interface AppConfig {\r\n basePathAuth: string;\r\n basePathCommon: string;\r\n vsLoginPath: string;\r\n sipassLoginPath: string;\r\n enableStandaloneRemote: boolean;\r\n production: boolean;\r\n mfeRemote: MfeRemoteEntry[];\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AppConfigService {\r\n private config: AppConfig;\r\n\r\n constructor() {\r\n this.config = (globalThis as any).APP_CONFIG;\r\n }\r\n\r\n getConfig(): AppConfig {\r\n return this.config;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CacheService {\r\n getCacheItem(key: string): any | null {\r\n const item = sessionStorage.getItem(key);\r\n return item ? JSON.parse(item) : null;\r\n }\r\n\r\n cacheItem(key: string, value: any): void {\r\n sessionStorage.setItem(key, JSON.stringify(value));\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { BehaviorSubject, firstValueFrom } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TranslationService {\r\n public translationsLoaded = new BehaviorSubject<boolean>(true);\r\n\r\n constructor(private http: HttpClient, private translateService: TranslateService) {}\r\n\r\n async loadTranslations(organisation: string, language: string): Promise<void> {\r\n const translationPath = `assets/i18n/${language}.json`;\r\n const translations = await firstValueFrom(this.http.get(translationPath));\r\n this.translateService.setTranslation(language, translations);\r\n this.translateService.use(language);\r\n this.translationsLoaded.next(false);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Subscription, take } from 'rxjs';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ConfirmationService, ConfirmEventType, MessageService } from 'primeng/api';\r\nimport { TranslationService } from './translation.service';\r\nimport { PositionKey } from '../models/enums/toast/toast-position-key.enum';\r\nimport { ToastSeverity } from '../models/enums/toast/toast-severity.enum';\r\nimport { ConfirmModalContentInterface } from '../models/interaces/confirm-modal/confirm-modal-service.interface';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ConfirmModalService {\r\n // Key must be the same as key in confirm-modal.component.html toast !!\r\n private positionKey: PositionKey = PositionKey.topCenter;\r\n\r\n private modalContent$ = new Subscription();\r\n\r\n public content!: ConfirmModalContentInterface;\r\n\r\n constructor(\r\n private confirmationService: ConfirmationService,\r\n private messageService: MessageService,\r\n private translateService: TranslateService,\r\n private translationService: TranslationService\r\n ) {\r\n this.loadModalContent();\r\n }\r\n\r\n private loadModalContent(): void {\r\n this.modalContent$.add(\r\n this.translationService.translationsLoaded.pipe(take(1)).subscribe(() => {\r\n this.translateService.get('confirmModalService').subscribe(contentText => {\r\n this.content = {\r\n message: contentText.message,\r\n header: contentText.header,\r\n acceptSummary: contentText.acceptSummary,\r\n acceptDetail: contentText.acceptDetail,\r\n rejectSummary: contentText.rejectSummary,\r\n rejectDetail: contentText.rejectDetail,\r\n cancelSummary: contentText.cancelSummary,\r\n cancelDetail: contentText.cancelDetail,\r\n };\r\n });\r\n })\r\n );\r\n }\r\n\r\n confirm(): void {\r\n this.confirmationService.confirm({\r\n message: this.content.message,\r\n header: this.content.header,\r\n icon: 'pi pi-exclamation-circle',\r\n accept: () => {\r\n this.messageService.add({\r\n key: this.positionKey,\r\n severity: ToastSeverity.info,\r\n summary: this.content?.acceptSummary,\r\n detail: this.content?.acceptDetail,\r\n });\r\n },\r\n reject: (type: ConfirmEventType) => {\r\n switch (type) {\r\n case ConfirmEventType.REJECT:\r\n this.messageService.add({\r\n key: this.positionKey,\r\n severity: ToastSeverity.error,\r\n summary: this.content?.rejectSummary,\r\n detail: this.content?.rejectDetail,\r\n });\r\n break;\r\n case ConfirmEventType.CANCEL:\r\n this.messageService.add({\r\n key: this.positionKey,\r\n severity: ToastSeverity.warning,\r\n summary: this.content?.cancelSummary,\r\n detail: this.content?.cancelDetail,\r\n });\r\n break;\r\n }\r\n },\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class DynamicRouteService {\r\n constructor(private readonly router: Router) {}\r\n\r\n getDynamicUrl(\r\n activatedRoute: ActivatedRoute,\r\n url: string,\r\n queryParams?: any,\r\n state?: any\r\n ): Promise<boolean> {\r\n const organisation = activatedRoute.snapshot.url[0];\r\n const language = activatedRoute.snapshot.url[1];\r\n\r\n return this.router\r\n .navigate([`/${organisation}/${language}/${url}`], { state: state, queryParams: queryParams })\r\n .then();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport * as XLSX from 'xlsx';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ExportService {\r\n\r\n /**\r\n * izračun širine stolpcev na podlagi vsebine\r\n */\r\n private calculateColumnWidths(objArray: any[]): { wch: number }[] {\r\n const maxLengths = Object.keys(objArray[0]).map(key => {\r\n return Math.max(\r\n key.length, // Dolžina headerja\r\n ...objArray.map(obj => (obj[key] ? obj[key].toString().length : 0)) // Dolžina podatkov v stolpcu\r\n );\r\n });\r\n\r\n return maxLengths.map(length => ({ wch: length + 2 })); // Dodamo nekaj prostora (2 znaka)\r\n }\r\n\r\n exportExcel(objArray: any[], filename?: string): any {\r\n const ws: XLSX.WorkSheet = XLSX.utils.json_to_sheet(objArray);\r\n ws['!cols'] = this.calculateColumnWidths(objArray); // da so širši stolpci\r\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\r\n XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');\r\n XLSX.writeFile(wb, filename ?? 'izvoz.xlsx');\r\n }\r\n\r\n exportCSV(objArray: any[]): string {\r\n const header = Object.keys(objArray[0]).join(',') + '\\n';\r\n const rows = objArray\r\n .map(obj =>\r\n Object.values(obj)\r\n .map(val => `\"${val}\"`)\r\n .join(',')\r\n )\r\n .join('\\n');\r\n return header + rows;\r\n }\r\n\r\n exportXML(array: any): string {\r\n const rootTag = 'data';\r\n const rowTag = 'record';\r\n\r\n const rows = array\r\n .map((obj: any) => {\r\n const rowAttrs = Object.entries(obj)\r\n .map(([key, val]) => `${key}=\"${val}\"`)\r\n .join(' ');\r\n return `<${rowTag} ${rowAttrs} />`;\r\n })\r\n .join('\\n');\r\n\r\n return `<${rootTag}>\\n${rows}\\n</${rootTag}>`;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { MessageService } from 'primeng/api';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class NoInternetService {\r\n constructor(private translateService: TranslateService, private messageService: MessageService) {}\r\n\r\n checkInternetConnection(): boolean {\r\n if (!navigator.onLine) {\r\n this.messageService.add({\r\n key: 'notification',\r\n severity: 'error',\r\n summary: this.translateService.instant('errors.noInternetConnection'),\r\n life: 6000\r\n });\r\n\r\n return false;\r\n }\r\n return true;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TranslateSanitizerService {\r\n constructor(private translateService: TranslateService, private sanitizer: DomSanitizer) {}\r\n\r\n /**\r\n * Sanitizes the values of the interpolateParams object and inserts them into a translated HTML string.\r\n * This function sanitizes the values of the interpolateParams object by replacing special HTML\r\n * characters with their respective HTML entities. The sanitized values are then used as parameters\r\n * in the translation process, where the translateKey is translated into an HTML string.\r\n * The resulting HTML string is marked as trusted to be used within Angular templates.\r\n * @param translateKey - The key used for translation\r\n * @param interpolateParams - The object containing the parameters to be inserted into the translated HTML string.\r\n * @returns {SafeHtml} The sanitized HTML string, marked as trusted for use within Angular templates.\r\n */\r\n sanitizeValues(translateKey: string, interpolateParams: object): SafeHtml {\r\n // Sanitize interpolateParams values\r\n const sanitizedParams: { [key: string | number]: string } = {};\r\n for (const key in interpolateParams) {\r\n if (Object.prototype.hasOwnProperty.call(interpolateParams, key)) {\r\n const value = (interpolateParams as { [key: string | number]: string })[key];\r\n sanitizedParams[key] = value\r\n .toString()\r\n .replace(/&/g, '&')\r\n .replace(/</g, '<')\r\n .replace(/>/g, '>');\r\n }\r\n }\r\n return this.sanitizer.bypassSecurityTrustHtml(\r\n this.translateService.instant(translateKey, sanitizedParams)\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { LocalStorageService } from './local-storage.service';\r\nimport { TableColumn } from '../models/interaces/table/table-column.interface';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TableColumnsService {\r\n enableResizableColumnsLocalStorageKey = 'EnableResizableColumns';\r\n\r\n constructor(private localStorageService: LocalStorageService) {}\r\n\r\n getTableColumns(tableColumns: TableColumn[], page: string): TableColumn[] {\r\n const savedColumns = this.localStorageService.getItem(page) as TableColumn[];\r\n\r\n if (!savedColumns) {\r\n return tableColumns;\r\n }\r\n\r\n const updatedTableColumns: TableColumn[] = [];\r\n\r\n tableColumns.forEach(item => {\r\n const found = savedColumns.find(f => f.field === item.field);\r\n if (found) {\r\n updatedTableColumns.push({\r\n ...item,\r\n position: found.position,\r\n show: found.show,\r\n });\r\n }\r\n });\r\n\r\n return updatedTableColumns;\r\n }\r\n\r\n getEnableResizableColumns(): boolean {\r\n const enableResizableColumns = this.localStorageService.getItem(\r\n this.enableResizableColumnsLocalStorageKey,\r\n );\r\n if (enableResizableColumns !== null) {\r\n return enableResizableColumns;\r\n } else {\r\n this.localStorageService.setItem(this.enableResizableColumnsLocalStorageKey, false);\r\n return false;\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { FilterItemsDefiniton } from '../models/interaces/filter-header/filter-items-definition.interface'\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class FilterHeaderService {\r\n constructor(private translationService: TranslateService) {}\r\n\r\n getFilterItems(filterItemsDefiniton: FilterItemsDefiniton[], formValues: any): string[] {\r\n const filters: string[] = [];\r\n for (const [key, value] of Object.entries(formValues)) {\r\n if (formValues[key]) {\r\n const item = filterItemsDefiniton.find(f => f.fieldName === key);\r\n // Check for multi select values to make sure array has at least one item\r\n if (item?.fieldType === 'multi-select') {\r\n const arrayValue = value as any[];\r\n if (arrayValue.length !== 0) {\r\n const filter = `${item.displayedName}: ${this.formatValue(value, item.fieldType, item?.selectFieldName)}`;\r\n filters.push(filter);\r\n }\r\n } else {\r\n if (item) {\r\n const filter = `${item.displayedName}: ${this.formatValue(value, item.fieldType, item?.selectFieldName)}`;\r\n filters.push(filter);\r\n }\r\n }\r\n }\r\n }\r\n return filters;\r\n }\r\n\r\n private formatValue(value: any, type: string, selectOption?: string): string {\r\n if (type === 'date') {\r\n const date = new Date(value);\r\n return date.toLocaleDateString();\r\n } else if (type === 'boolean') {\r\n if (value === true) {\r\n return this.translationService.instant('common.da');\r\n } else {\r\n return this.translationService.instant('common.ne');\r\n }\r\n } else if (type === 'string') {\r\n return value;\r\n } else if (type === 'select' && selectOption) {\r\n return value[selectOption];\r\n } else if (type === 'multi-select' && selectOption) {\r\n const result: string[] = [];\r\n value.forEach((item: any) => {\r\n result.push(item[selectOption]);\r\n });\r\n\r\n return result.join(',');\r\n }\r\n\r\n return '';\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class DateService {\r\n\r\n constructor() {}\r\n\r\n formatDate(inputDate: string | Date): string {\r\n const date = new Date(inputDate);\r\n\r\n const year = date.getFullYear();\r\n let month: number | string = date.getMonth() + 1;\r\n let day: number | string = date.getDate();\r\n\r\n // Ensure month and day are two digits\r\n month = month < 10 ? '0' + month : month;\r\n day = day < 10 ? '0' + day : day;\r\n\r\n return `${year}-${month}-${day}`;\r\n }\r\n\r\n formatMonth(inputDate: string | Date): string {\r\n const date = new Date(inputDate);\r\n\r\n const year = date.getFullYear();\r\n let month: number | string = date.getMonth() + 1;\r\n let day: number | string = date.getDate();\r\n\r\n // Ensure month and day are two digits\r\n month = month < 10 ? '0' + month : month;\r\n return `${year}-${month}`;\r\n }\r\n\r\n dateWithoutTimeZone(date: Date): string {\r\n const tzoffset = date.getTimezoneOffset() * 60000; //offset in milliseconds\r\n const withoutTimezone = new Date(date.valueOf() - tzoffset).toISOString();\r\n return withoutTimezone;\r\n }\r\n}\r\n","import { ValidationErrors, ValidatorFn, AbstractControl } from \"@angular/forms\";\r\n\r\n// Utility function to check if an object is empty\r\nfunction isEmptyObject(obj: any): boolean {\r\n return obj && Object.keys(obj).length === 0 && obj.constructor === Object;\r\n}\r\n\r\nexport function atLeastOneFieldPresentValidator(...fieldNames: string[]): ValidatorFn {\r\n return (formGroup: AbstractControl): ValidationErrors | null => {\r\n const values = fieldNames.map(fieldName => formGroup.get(fieldName)?.value);\r\n const atLeastOneFieldHasValue = values.some(value => value !== null && value !== '' && !isEmptyObject(value));\r\n return atLeastOneFieldHasValue ? null : { atLeastOneFieldRequired: true };\r\n };\r\n}\r\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\r\n\r\nexport function dateAndTimeMismatchValidator(): ValidatorFn {\r\n return (control: AbstractControl): { dateMismatch: boolean } | null => {\r\n const startDate = control.get('startDate')?.value;\r\n const endDate = control.get('endDate')?.value;\r\n\r\n if (startDate && endDate) {\r\n const startDateTime = new Date(startDate);\r\n const endDateTime = new Date(endDate);\r\n\r\n if (startDateTime > endDateTime) {\r\n return { dateMismatch: true };\r\n }\r\n }\r\n\r\n return null;\r\n };\r\n}\r\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\r\n\r\nexport function dateMismatchValidator(): ValidatorFn {\r\n return (control: AbstractControl): { dateMismatch: boolean } | null => {\r\n const startDate = control.get('startDate')?.value;\r\n const endDate = control.get('endDate')?.value;\r\n\r\n if (startDate && endDate && startDate > endDate) {\r\n return { dateMismatch: true };\r\n }\r\n\r\n return null;\r\n };\r\n}\r\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\r\n\r\nexport function coordinateValidator(): ValidatorFn {\r\n return (control: AbstractControl): { isCoordinate: boolean } | null => {\r\n const value = control.value;\r\n const isValid = /^-?(\\d+(\\.\\d+)?|\\d+)$/.test(value);\r\n\r\n return !isValid ? { isCoordinate: true } : null;\r\n };\r\n}\r\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\r\n\r\nexport function isMultipleOfFiveValidator(): ValidatorFn {\r\n return (control: AbstractControl): { isMultipleOfFive: boolean } | null => {\r\n const value = control.value;\r\n const isValid = value % 5 === 0 && value > 0;\r\n\r\n return !isValid ? { isMultipleOfFive: true } : null;\r\n };\r\n}\r\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\r\n\r\nexport function IsNotBlank(): ValidatorFn {\r\n return (control: AbstractControl): { isNotBlank: boolean } | null => {\r\n const isWhitespace = (control.value || '').trim().length === 0;\r\n const isValid = !isWhitespace;\r\n return isValid ? null : { isNotBlank: true };\r\n };\r\n}\r\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\r\n\r\nexport function IsNotDecimal(): ValidatorFn {\r\n return (control: AbstractControl): { isNotDecimal: boolean } | null => {\r\n const valid = Number.isInteger(Number(control.value));\r\n return valid ? null : { isNotDecimal: true };\r\n };\r\n}\r\n","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\r\n\r\nexport function isOnePhoneNumberValidator(): ValidatorFn {\r\n return (group: AbstractControl): ValidationErrors | null => {\r\n const mobilePhoneNumber = group.get('mobilePhoneNumber')?.value;\r\n const homePhoneNumber = group.get('landline')?.value;\r\n\r\n if (\r\n (mobilePhoneNumber && mobilePhoneNumber.length > 0) ||\r\n (homePhoneNumber && homePhoneNumber.length > 0)\r\n ) {\r\n return null;\r\n } else {\r\n return { isOnePhoneNumberRequired: true };\r\n }\r\n };\r\n}\r\n","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\r\n\r\nexport function mobilePhoneAreaCodeValidator(): ValidatorFn {\r\n return (group: AbstractControl): ValidationErrors | null => {\r\n const value = group.value || '';\r\n const areaCode = value.match(/\\(\\d{3}\\)/g);\r\n if (areaCode && areaCode[0]) {\r\n const digits = areaCode[0].replace(/[()]/g, '');\r\n if (digits.charAt(1) === '0' || digits.charAt(2) === '0') {\r\n return { invalidAreaCode: true };\r\n }\r\n }\r\n return null;\r\n };\r\n}\r\n","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\r\n\r\n/**\r\n * angular forms validator to accept only valid emails separated by comma, this are valid inputs:\r\n * janez.novak@gov.si\r\n * janez.novak@gov.si,andrej.novak@arnes.si\r\n */\r\nexport function emailListValidator(): ValidatorFn {\r\n return (control: AbstractControl): ValidationErrors | null => {\r\n if (!control.value) return null; // Guard clause for control without value\r\n const emails: string[] = control.value.split(',').map((email: string) => email.trim());\r\n const emailRegex: RegExp = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n const invalidEmails: string[] = emails.filter(email => !emailRegex.test(email));\r\n return invalidEmails.length > 0 ? { 'email': true } : null;\r\n };\r\n}\r\n","/*\r\n * Public API Surface of design-system\r\n */\r\n\r\nexport * from './handlers/global-error.handler';\r\n\r\nexport * from './helpers/clean-mobile-phone-number';\r\nexport * from './helpers/find-unavailable-dates';\r\nexport * from './helpers/format-date-time.function';\r\nexport * from './helpers/format-date-to-api-datetime';\r\nexport * from './helpers/format-date.function';\r\nexport * from './helpers/get-tomorrow-date.function';\r\nexport * from './helpers/is-object-empty.function';\r\nexport * from './helpers/isFormValid.function';\r\nexport * from './helpers/local-format-date.function';\r\nexport * from './helpers/transform-date-time.function';\r\n\r\nexport * from './interceptors/error.interceptor';\r\n\r\nexport * from './lib/accordion/accordion.component';\r\nexport * from './lib/autocomplete/autocomplete.component';\r\nexport * from './lib/breadcrumbs/breadcrumbs.component';\r\nexport * from './lib/button/button.component';\r\nexport * from './lib/button-link/button-link.component';\r\nexport * from './lib/card/card.component';\r\nexport * from './lib/checkbox/checkbox.component';\r\nexport * from './lib/confirm-modal/confirm-modal.component';\r\nexport * from './lib/custom-table/custom-table.component';\r\nexport * from './lib/date-input/date-input.component';\r\nexport * from './lib/divider/divider.component';\r\nexport * from './lib/dropdown/dropdown.component';\r\nexport * from './lib/error/error.component';\r\nexport * from './lib/expanded-table/expanded-table.component';\r\nexport * from './lib/file-upload/file-upload.component';\r\nexport * from './lib/filter-header/filter-header.component';\r\nexport * from './lib/footer/footer.component';\r\nexport * from './lib/generic-table/generic-table.component';\r\nexport * from './lib/icon-button/icon-button.component';\r\nexport * from './lib/input/input.component';\r\nexport * from './lib/input-mask/input-mask.component';\r\nexport * from './lib/loader/loader.component';\r\nexport * from './lib/main-menu/main-menu.component';\r\nexport * from './lib/modal/modal.component';\r\n// 2025-09-25: odstranil (neuporabljeno) navbar.component zaradi checkmarx false positive\r\n// export * from './lib/navbar/navbar.component';\r\nexport * from './lib/no-data-found/no-data-found.component';\r\nexport * from './lib/picklist/picklist.component';\r\nexport * from './lib/progress-bar/progress-bar.component';\r\nexport * from './lib/table-column-select/table-column-select.component';\r\nexport * from './lib/tag/tag.component';\r\nexport * from './lib/textarea/textarea.component';\r\nexport * from './lib/tinymce-editor/tinymce-editor.component';\r\nexport * from './lib/toggle-switch/toggle-switch.component';\r\nexport * from './lib/tooltip/tooltip.component';\r\nexport * from './lib/tree-select/tree-select.component';\r\n\r\nexport * from './models/profilUporabnikaDTO';\r\nexport * from './models/enums/button/button-color.enum';\r\nexport * from './models/enums/button/button-icon-position.enum';\r\nexport * from './models/enums/button/button-size.enum';\r\nexport * from './models/enums/confirm-modal/confirm-modal-color.enum';\r\nexport * from './models/enums/dropdown/dropdown-selection-mode.enum';\r\nexport * from './models/enums/expanded-table/expanded-table.enum';\r\nexport * from './models/enums/input/input-type.enum';\r\nexport * from './models/enums/table/caption-color.enum';\r\nexport * from './models/enums/tag/tag.enum';\r\nexport * from './models/enums/toast/toast-position-key.enum';\r\nexport * from './models/enums/toast/toast-severity.enum';\r\nexport * from './models/enums/tooltip/tooltip-hover-event.enum';\r\nexport * from './models/enums/tooltip/tooltip-position.enum';\r\nexport * from './models/interaces/breadcrumbs/breadcrumbs.interface';\r\nexport * from './models/interaces/confirm-modal/confirm-modal-service.interface';\r\nexport * from './models/interaces/filter-header/filter-items-definition.interface';\r\nexport * from './models/interaces/item-checked/item-checked.interface';\r\nexport * from './models/interaces/navbar/navbar-link-list.interface';\r\nexport * from './models/interaces/shared/administrative-unit-list';\r\nexport * from './models/interaces/shared/form-status.interface';\r\nexport * from './models/interaces/shared/service-list-item.interface';\r\nexport * from './models/interaces/shared/service-list.interface';\r\nexport * from './models/interaces/shared/unit-list-dropdown.interface';\r\nexport * from './models/interaces/table/table-column.interface';\r\nexport * from './models/interaces/table/table-header.interface';\r\n\r\nexport * from './services/app-config.service';\r\nexport * from './services/cache.service';\r\nexport * from './services/confirm-modal-service';\r\nexport * from './services/dynamic-route.service';\r\nexport * from './services/error-logging.service';\r\nexport * from './services/export.service';\r\nexport * from './services/local-storage.service';\r\nexport * from './services/no-internet.service';\r\nexport * from './services/shared-auth.service';\r\nexport * from './services/shared-message.service';\r\nexport * from './services/translate-sanitizer.service';\r\nexport * from './services/translation.service';\r\nexport * from './services/table-columns.service';\r\nexport * from './services/filter-header.service';\r\nexport * from './services/date.service';\r\n\r\nexport * from './validators/at-least-one-field-present.validator';\r\nexport * from './validators/date-and-time-mismatch.validator';\r\nexport * from './validators/date-mismatch.validator';\r\nexport * from './validators/is-coordinate.validator';\r\nexport * from './validators/is-multiple-of-five.validator';\r\nexport * from './validators/is-not-blank.validator';\r\nexport * from './validators/is-not-decimal.validator';\r\nexport * from './validators/is-one-phone-number.validator';\r\nexport * from './validators/mobile-phone-area-code.validator';\r\nexport * from './validators/multiple-emails-validator';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.LocalStorageService","i1","i2","i3","i4","i2.SharedMessageService","i5","i1.LocalStorageService","i6","i3.TranslationService"],"mappings":"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"}
|