mk-ng-lib 0.0.3 → 0.0.4
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/mk-ng-lib.mjs +12 -8
- package/fesm2022/mk-ng-lib.mjs.map +1 -1
- package/package.json +1 -1
package/fesm2022/mk-ng-lib.mjs
CHANGED
|
@@ -177,21 +177,26 @@ class Router {
|
|
|
177
177
|
return;
|
|
178
178
|
}
|
|
179
179
|
if (token[0] === 'variable') {
|
|
180
|
-
const
|
|
181
|
-
const hasDefault = route.defaults &&
|
|
180
|
+
const paramName = token[3];
|
|
181
|
+
const hasDefault = route.defaults && paramName in route.defaults;
|
|
182
182
|
let value;
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
183
|
+
// ⚠️ Pokud parametr explicitně předaný a rovná se default, ignoruj ho
|
|
184
|
+
if (paramName in params) {
|
|
185
|
+
if (hasDefault && params[paramName] === route.defaults[paramName]) {
|
|
186
|
+
delete unusedParams[paramName];
|
|
187
|
+
return;
|
|
188
|
+
}
|
|
189
|
+
value = params[paramName];
|
|
190
|
+
delete unusedParams[paramName];
|
|
186
191
|
}
|
|
187
192
|
else if (hasDefault) {
|
|
188
|
-
value = route.defaults[
|
|
193
|
+
value = route.defaults[paramName];
|
|
189
194
|
}
|
|
190
195
|
else if (optional) {
|
|
191
196
|
return;
|
|
192
197
|
}
|
|
193
198
|
else {
|
|
194
|
-
throw new Error(`The route "${name}" requires the parameter "${
|
|
199
|
+
throw new Error(`The route "${name}" requires the parameter "${paramName}".`);
|
|
195
200
|
}
|
|
196
201
|
const empty = value === true ||
|
|
197
202
|
value === false ||
|
|
@@ -199,7 +204,6 @@ class Router {
|
|
|
199
204
|
value === null;
|
|
200
205
|
if (!empty || !optional) {
|
|
201
206
|
let encoded = Router.encodePathComponent(value);
|
|
202
|
-
// ⚠️ KLÍČOVÉ – stejné chování jako originální JS
|
|
203
207
|
if (encoded === 'null' && value === null) {
|
|
204
208
|
encoded = '';
|
|
205
209
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mk-ng-lib.mjs","sources":["../../../projects/mk-ng-lib/src/lib/ng-core.ts","../../../projects/mk-ng-lib/src/lib/external-library/router.ts","../../../projects/mk-ng-lib/src/lib/services/api/constants/event.ts","../../../projects/mk-ng-lib/src/lib/config.ts","../../../projects/mk-ng-lib/src/lib/services/event-emitter-service.ts","../../../projects/mk-ng-lib/src/lib/services/notifier.service.ts","../../../projects/mk-ng-lib/src/lib/services/api/http-response-toaster.service.ts","../../../projects/mk-ng-lib/src/lib/services/api/symfony-api-client.service.ts","../../../projects/mk-ng-lib/src/lib/services/form/api-form.service.ts","../../../projects/mk-ng-lib/src/lib/components/base-form-entity/base-form-entity.ts","../../../projects/mk-ng-lib/src/lib/components/base-form-entity/base-form-entity.html","../../../projects/mk-ng-lib/src/lib/components/breadcrumb/services/breadcrumb.service.ts","../../../projects/mk-ng-lib/src/lib/components/breadcrumb/breadcrumb.component.ts","../../../projects/mk-ng-lib/src/lib/components/dialog/dialog.component.ts","../../../projects/mk-ng-lib/src/lib/components/dialog/dialog.component.html","../../../projects/mk-ng-lib/src/lib/components/hidder/animation-hider/animation-hider/animation-hider.component.ts","../../../projects/mk-ng-lib/src/lib/components/hidder/animation-hider/animation-hider/animation-hider.component.html","../../../projects/mk-ng-lib/src/lib/components/hidder/plain-hider/hidder.component.ts","../../../projects/mk-ng-lib/src/lib/components/hidder/plain-hider/hidder.component.html","../../../projects/mk-ng-lib/src/lib/components/lazy-base-table/services/data-table-service.ts","../../../projects/mk-ng-lib/src/lib/services/ares-service.ts","../../../projects/mk-ng-lib/src/lib/services/confirm-dialog.service.ts","../../../projects/mk-ng-lib/src/lib/services/file.service.ts","../../../projects/mk-ng-lib/src/lib/services/image.service.ts","../../../projects/mk-ng-lib/src/lib/services/import-script.service.ts","../../../projects/mk-ng-lib/src/lib/services/url.service.ts","../../../projects/mk-ng-lib/src/lib/services/form/form.service.ts","../../../projects/mk-ng-lib/src/lib/services/login/login-client.service.ts","../../../projects/mk-ng-lib/src/lib/services/resolver/generic.resolver.ts","../../../projects/mk-ng-lib/src/lib/components/lazy-base-table/lazy-base-table.ts","../../../projects/mk-ng-lib/src/lib/components/lazy-base-table/lazy-base-table.html","../../../projects/mk-ng-lib/src/lib/components/loader-component/loader-component.ts","../../../projects/mk-ng-lib/src/lib/components/loader-component/loader-component.html","../../../projects/mk-ng-lib/src/lib/components/mini-admin/components/mini-admin.component.ts","../../../projects/mk-ng-lib/src/lib/components/mini-admin/components/mini-admin.component.html","../../../projects/mk-ng-lib/src/lib/components/modal/moveable-modal/moveable-modal.component.ts","../../../projects/mk-ng-lib/src/lib/components/modal/moveable-modal/moveable-modal.component.html","../../../projects/mk-ng-lib/src/lib/components/remove-item/remove-item.component.ts","../../../projects/mk-ng-lib/src/lib/components/remove-item/remove-item.component.html","../../../projects/mk-ng-lib/src/lib/components/simple-dialog-component/simple-dialog-component.ts","../../../projects/mk-ng-lib/src/lib/components/simple-dialog-component/simple-dialog-component.html","../../../projects/mk-ng-lib/src/lib/components/modal/moveable-modal/services/moveable-modal.service.ts","../../../projects/mk-ng-lib/src/lib/directives/form-error/components/error-message/error-message.component.ts","../../../projects/mk-ng-lib/src/lib/directives/form-error/components/error-message/error-message.component.html","../../../projects/mk-ng-lib/src/lib/directives/form-error/input-form-error-grouper.directive.ts","../../../projects/mk-ng-lib/src/lib/directives/form-error/components/global-form-error/global-form-error.component.ts","../../../projects/mk-ng-lib/src/lib/directives/form-error/components/global-form-error/global-form-error.component.html","../../../projects/mk-ng-lib/src/lib/directives/form-error/input-form-error.directive.ts","../../../projects/mk-ng-lib/src/lib/directives/hidder-element/hider-element.directive.ts","../../../projects/mk-ng-lib/src/lib/directives/link-deactivate/services/link-deactivate.service.ts","../../../projects/mk-ng-lib/src/lib/directives/link-deactivate/link-deactivate.directive.ts","../../../projects/mk-ng-lib/src/lib/guards/login.guard.ts","../../../projects/mk-ng-lib/src/lib/helpers/array-helper.ts","../../../projects/mk-ng-lib/src/lib/helpers/element-helper.ts","../../../projects/mk-ng-lib/src/lib/helpers/helper.ts","../../../projects/mk-ng-lib/src/lib/helpers/object-helper.ts","../../../projects/mk-ng-lib/src/lib/helpers/string-helper.ts","../../../projects/mk-ng-lib/src/lib/helpers/tree-helper.ts","../../../projects/mk-ng-lib/src/lib/messengers/element-position/element-position-messenger.ts","../../../projects/mk-ng-lib/src/lib/models/FontAwesomeIcons.ts","../../../projects/mk-ng-lib/src/lib/pipes/safe-html.pipe.ts","../../../projects/mk-ng-lib/src/public-api.ts","../../../projects/mk-ng-lib/src/mk-ng-lib.ts"],"sourcesContent":["import { Component } from '@angular/core';\n\n@Component({\n selector: 'lib-ng-core',\n imports: [],\n template: `\n <p>\n ng-core works!\n </p>\n `,\n styles: ``,\n})\nexport class NgCore {\n\n}\n","// projects/z-library/src/lib/external-library/router.ts\n\nexport interface Route {\n tokens: Array<any[]>;\n defaults?: Record<string, any>;\n requirements?: Record<string, any>;\n schemes?: string[];\n hosttokens?: Array<any[]>;\n}\n\nexport interface Context {\n base_url: string;\n prefix: string;\n host: string;\n port: string | null;\n scheme: string;\n locale: string;\n}\n\nexport class Router {\n private context_: Context;\n private routes_: Record<string, Route>;\n\n constructor(context?: Partial<Context>, routes?: Record<string, Route>) {\n this.context_ = {\n base_url: '',\n prefix: '',\n host: '',\n port: '',\n scheme: '',\n locale: '',\n ...context,\n };\n this.routes_ = {};\n this.setRoutes(routes || {});\n }\n\n /* ========================\n * Configuration\n * ======================== */\n\n setRoutingData(data: any): void {\n this.setBaseUrl(data.base_url);\n this.setRoutes(data.routes);\n\n if ('prefix' in data) this.setPrefix(data.prefix);\n if ('port' in data) this.setPort(data.port);\n if ('locale' in data) this.setLocale(data.locale);\n\n this.setHost(data.host);\n this.setScheme(data.scheme);\n }\n\n setRoutes(routes: Record<string, Route>): void {\n this.routes_ = Object.freeze(routes);\n }\n\n getRoutes(): Record<string, Route> {\n return this.routes_;\n }\n\n setBaseUrl(baseUrl: string): void {\n this.context_.base_url = baseUrl;\n }\n\n getBaseUrl(): string {\n return this.context_.base_url;\n }\n\n setPrefix(prefix: string): void {\n this.context_.prefix = prefix;\n }\n\n setScheme(scheme: string): void {\n this.context_.scheme = scheme;\n }\n\n getScheme(): string {\n return this.context_.scheme;\n }\n\n setHost(host: string): void {\n this.context_.host = host;\n }\n\n getHost(): string {\n return this.context_.host;\n }\n\n setPort(port: string | null): void {\n this.context_.port = port;\n }\n\n getPort(): string | null {\n return this.context_.port;\n }\n\n setLocale(locale: string): void {\n this.context_.locale = locale;\n }\n\n getLocale(): string {\n return this.context_.locale;\n }\n\n /* ========================\n * Helpers\n * ======================== */\n\n buildQueryParams(\n prefix: string,\n params: any,\n add: (k: string, v: any) => void\n ): void {\n const rbracket = /\\[\\]$/;\n\n if (Array.isArray(params)) {\n params.forEach((val, i) => {\n if (rbracket.test(prefix)) {\n add(prefix, val);\n } else {\n this.buildQueryParams(\n prefix + '[' + (typeof val === 'object' ? i : '') + ']',\n val,\n add\n );\n }\n });\n } else if (params !== null && typeof params === 'object') {\n for (const name in params) {\n this.buildQueryParams(prefix + '[' + name + ']', params[name], add);\n }\n } else {\n add(prefix, params);\n }\n }\n\n /* ========================\n * Routing\n * ======================== */\n\n getRoute(name: string): Route {\n const prefixedName = this.context_.prefix + name;\n const sf41i18nName = name + '.' + this.context_.locale;\n const prefixedSf41i18nName =\n this.context_.prefix + name + '.' + this.context_.locale;\n\n const variants = [\n prefixedName,\n sf41i18nName,\n prefixedSf41i18nName,\n name,\n ];\n\n for (const variant of variants) {\n if (variant in this.routes_) {\n return this.routes_[variant];\n }\n }\n\n throw new Error(`The route \"${name}\" does not exist.`);\n }\n\n generate(\n name: string,\n optParams: Record<string, any> = {},\n absolute = false\n ): string {\n const route = this.getRoute(name);\n const params = optParams || {};\n const unusedParams = { ...params };\n\n let url = '';\n let optional = true;\n let host = '';\n\n const port =\n this.getPort() === undefined || this.getPort() === null\n ? ''\n : this.getPort();\n\n /* ===== PATH TOKENS ===== */\n\n route.tokens.forEach((token) => {\n if (token[0] === 'text') {\n url = Router.encodePathComponent(token[1]) + url;\n optional = false;\n return;\n }\n\n if (token[0] === 'variable') {\n const name = token[3];\n const hasDefault = route.defaults && name in route.defaults;\n\n let value: any;\n\n if (name in params) {\n value = params[name];\n delete unusedParams[name];\n } else if (hasDefault) {\n value = route.defaults![name];\n } else if (optional) {\n return;\n } else {\n throw new Error(\n `The route \"${name}\" requires the parameter \"${name}\".`\n );\n }\n\n const empty =\n value === true ||\n value === false ||\n value === '' ||\n value === null;\n\n if (!empty || !optional) {\n let encoded = Router.encodePathComponent(value);\n\n // ⚠️ KLÍČOVÉ – stejné chování jako originální JS\n if (encoded === 'null' && value === null) {\n encoded = '';\n }\n\n url = token[1] + encoded + url;\n }\n\n optional = false;\n }\n });\n\n if (url === '') {\n url = '/';\n }\n\n /* ===== HOST TOKENS ===== */\n\n (route.hosttokens || []).forEach((token) => {\n let value: any;\n\n if (token[0] === 'text') {\n host = token[1] + host;\n return;\n }\n\n if (token[0] === 'variable') {\n if (token[3] in params) {\n value = params[token[3]];\n delete unusedParams[token[3]];\n } else if (route.defaults && token[3] in route.defaults) {\n value = route.defaults[token[3]];\n }\n\n host = token[1] + value + host;\n }\n });\n\n url = this.context_.base_url + url;\n\n /* ===== SCHEME / HOST ===== */\n\n if (\n route.requirements &&\n '_scheme' in route.requirements &&\n this.getScheme() !== route.requirements['_scheme']\n ) {\n const currentHost = host || this.getHost();\n url =\n route.requirements['_scheme'] +\n '://' +\n currentHost +\n (currentHost.indexOf(':' + port) > -1 || port === '' ? '' : ':' + port) +\n url;\n } else if (\n route.schemes &&\n route.schemes[0] &&\n this.getScheme() !== route.schemes[0]\n ) {\n const currentHost = host || this.getHost();\n url =\n route.schemes[0] +\n '://' +\n currentHost +\n (currentHost.indexOf(':' + port) > -1 || port === '' ? '' : ':' + port) +\n url;\n } else if (\n host &&\n this.getHost() !==\n host + (host.indexOf(':' + port) > -1 || port === '' ? '' : ':' + port)\n ) {\n url =\n this.getScheme() +\n '://' +\n host +\n (host.indexOf(':' + port) > -1 || port === '' ? '' : ':' + port) +\n url;\n } else if (absolute === true) {\n url =\n this.getScheme() +\n '://' +\n this.getHost() +\n (this.getHost().indexOf(':' + port) > -1 || port === ''\n ? ''\n : ':' + port) +\n url;\n }\n\n /* ===== QUERY PARAMS ===== */\n\n if (Object.keys(unusedParams).length > 0) {\n const queryParams: string[] = [];\n\n const add = (key: string, value: any) => {\n value = typeof value === 'function' ? value() : value;\n value = value === null ? '' : value;\n\n queryParams.push(\n Router.encodeQueryComponent(key) +\n '=' +\n Router.encodeQueryComponent(value)\n );\n };\n\n for (const key in unusedParams) {\n this.buildQueryParams(key, unusedParams[key], add);\n }\n\n url += '?' + queryParams.join('&');\n }\n\n return url;\n }\n\n /* ========================\n * Encoding (Symfony compatible)\n * ======================== */\n\n static customEncodeURIComponent(value: any): string {\n return encodeURIComponent(value)\n .replace(/%2F/g, '/')\n .replace(/%40/g, '@')\n .replace(/%3A/g, ':')\n .replace(/%21/g, '!')\n .replace(/%3B/g, ';')\n .replace(/%2C/g, ',')\n .replace(/%2A/g, '*')\n .replace(/\\(/g, '%28')\n .replace(/\\)/g, '%29')\n .replace(/'/g, '%27');\n }\n\n static encodePathComponent(value: any): string {\n return Router.customEncodeURIComponent(value)\n .replace(/%3D/g, '=')\n .replace(/%2B/g, '+')\n .replace(/%21/g, '!')\n .replace(/%7C/g, '|');\n }\n\n static encodeQueryComponent(value: any): string {\n return Router.customEncodeURIComponent(value).replace(/%3F/g, '?');\n }\n}\n\n/* ========================\n * Singleton\n * ======================== */\n\nexport const Routing = new Router();\n","export class Event {\n static PRE_SEND_POST = 'SymfonyApiClientService_PRE_SEND_POST';\n static POST_SEND_POST = 'SymfonyApiClientService_POST_SEND_POST';\n static PRE_SEND_GET = 'SymfonyApiClientService_PRE_SEND_GET';\n static POST_SEND_GET = 'SymfonyApiClientService_POST_SEND_GET';\n static PRE_SEND = 'SymfonyApiClientService_PRE_SEND';\n static POST_SEND = 'SymfonyApiClientService_POST_SEND';\n static ADMINISTRATION_ELSEWHERE_CLICK = 'ADMINISTRATION_ELSEWHERE_CLICK';\n}\n","import { InjectionToken } from '@angular/core';\n\nexport interface NgCoreConfig {\n backendUrl: string;\n backendRoutesPath: string;\n externalLoginPage: string;\n}\n\nexport const NG_CORE_CONFIG = new InjectionToken<NgCoreConfig>('NG_CORE_CONFIG');\n","import {Injectable} from '@angular/core';\nimport {Subject, Subscription} from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class EventEmitterService<T = unknown> {\n\n private subjectComunicators: Map<string, Subject<T>> = new Map<string, Subject<T>>();\n private subscriptions = new Map<string, Map<(eventName: string, status: T) => void, Subscription>>();\n\n constructor() {\n }\n\n emit(eventName: string, data: T): void {\n const subject$ = this.subjectComunicators.get(eventName);\n if (subject$ !== undefined) {\n subject$.next(data);\n }\n }\n\n registerCallback(eventNames: string | string[], callback: (eventName: string, status: T) => void): void {\n if (!Array.isArray(eventNames)){\n eventNames = [eventNames];\n }\n eventNames.forEach((eventName, index) => {\n let subject$ = this.subjectComunicators.get(eventName);\n if (subject$ === undefined) {\n this.subjectComunicators.set(eventName, new Subject<T>());\n subject$ = this.subjectComunicators.get(eventName);\n this.subscriptions.set(eventName, new Map<(eventName: string, status: T) => void, Subscription>());\n }\n const subscription = (subject$ as any).subscribe((value => {callback(eventName, value); }));\n this.subscriptions.get(eventName)?.set(callback, subscription);\n });\n }\n\n unregisterCallback(eventNames: string | string[], callback: ((eventName: string, status: T) => void) | null = null): void {\n if (!Array.isArray(eventNames)){\n eventNames = [eventNames];\n }\n eventNames.forEach((eventName, index) => {\n if (!callback) {\n this.subscriptions.get(eventName)?.forEach((value, key, map) => {\n value.unsubscribe();\n });\n this.subscriptions.get(eventName)?.clear();\n } else {\n this.subscriptions.get(eventName)?.get(callback)?.unsubscribe();\n this.subscriptions.get(eventName)?.delete(callback);\n }\n if (!this.subscriptions.get(eventName)?.size){\n this.subscriptions.delete(eventName);\n this.subjectComunicators.delete(eventName);\n }\n });\n }\n}\n","import {Injectable} from '@angular/core';\nimport {ToastrService} from 'ngx-toastr';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NotifierService {\n\n constructor(private toastrService: ToastrService) {\n }\n\n notify(message: string, type: 'error' | 'success' | 'warning' = 'success'): void {\n switch (type) {\n case 'error':\n this.toastrService.error(message);\n break;\n case 'success':\n this.toastrService.success(message);\n break;\n case 'warning':\n this.toastrService.warning(message);\n break;\n }\n }\n\n success(message: string) {\n this.toastrService.success(message);\n }\n}\n","import {Injectable} from '@angular/core';\nimport { HttpErrorResponse } from '@angular/common/http';\nimport {NotifierService} from '../notifier.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class HttpResponseToasterService {\n\n constructor(private notifierService: NotifierService) {\n }\n\n showError(error: string | HttpErrorResponse, codeStatus?: number, errorMessage?: string): void {\n let completedMessage = '';\n if (error instanceof HttpErrorResponse) {\n if (error.error instanceof ErrorEvent) {\n completedMessage = 'Nepodařilo se kontaktovat server. Zkontrolujte stav vašeho připojení.';\n } else {\n switch (error.status) {\n case 404:\n completedMessage = 'Požadovaný cíl nebyl nalezen';\n break;\n case 500:\n completedMessage = 'Na serveru došlo k chybě. Opakujte prosím akci později.';\n break;\n case 403:\n completedMessage = 'Operace zamítnuta. Ujistěte se, že máte dostatečná práva.';\n break;\n case 401:\n completedMessage = error.error.message;\n break;\n case 400:\n // completedMessage = error.error ? error.error : 'Server nemůže zpracovat požadavek';\n break;\n case 422:\n if (error.error instanceof Blob && error.error.type === \"application/json\") {\n this.errorFromBlobResponseTYpe(error);\n } else {\n completedMessage = error.error.message;\n }\n break;\n default:\n completedMessage = 'Neočekávaná chyba serveru. Kód chyby: ' + error.status;\n break;\n }\n if (codeStatus && error.status === codeStatus) {\n completedMessage = errorMessage ?? '';\n }\n }\n } else {\n completedMessage = error;\n }\n if (completedMessage) {\n this.notifierService.notify(completedMessage, 'error');\n }\n }\n\n errorFromBlobResponseTYpe(error) {\n const reader = new FileReader();\n reader.onload = () => {\n const errorText = reader.result as string;\n try {\n const errorJson = JSON.parse(errorText);\n this.notifierService.notify(errorJson.message, 'error');\n } catch (e) {\n console.error('Nelze zparsovat chybu', e);\n }\n };\n reader.readAsText(error.error);\n }\n}\n","import { Inject, Injectable, PLATFORM_ID } from '@angular/core';\nimport { HttpClient, HttpErrorResponse, HttpResponse } from '@angular/common/http';\nimport {endWith, Observable, of, Subject, takeWhile, throwError} from 'rxjs';\nimport {catchError, finalize, map, switchMap, tap} from 'rxjs/operators';\nimport { Routing } from '../../external-library/router';\nimport {TokenInterface} from '../login/interfaces/token-interface';\nimport {EventEmitterService} from '../event-emitter-service';\nimport {Event} from './constants/event';\nimport {HttpResponseToasterService} from \"./http-response-toaster.service\";\nimport {Router} from \"@angular/router\";\nimport { isPlatformServer } from '@angular/common';\nimport { NG_CORE_CONFIG, NgCoreConfig } from '../../config';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SymfonyApiClientService {\n\n private status: 'none' | 'inProgress' | 'done' = 'none';\n private urlFetchNotification$ = new Subject<object>();\n private counterRequest = {post: 0, get: 0, all: 0};\n private routes: any;\n\n constructor(\n private httpClient: HttpClient,\n private eventEmitterService: EventEmitterService,\n private httpResponseToasterService: HttpResponseToasterService,\n private router: Router,\n @Inject(PLATFORM_ID) private platformId: object,\n @Inject(NG_CORE_CONFIG) private config: NgCoreConfig\n ) {\n }\n\n private downloadRoutes(): Observable<object> {\n return of(1).pipe(\n tap(value => this.status = 'inProgress'),\n switchMap(() => {\n return this.httpClient.get(this.config.backendUrl + this.config.backendRoutesPath,\n {\n responseType: 'json', headers: {fetchRoutes: 'true'}\n }).pipe(\n catchError(this.handleErrorRoute.bind(this)),\n tap(response => {\n this.status = 'done';\n this.routes = response;\n this.urlFetchNotification$.next(response);\n }));\n }\n )\n );\n }\n\n get<T = {}>(routeName: string, querySegmentParam?: {}, headersOptions: { [header: string]: string } = {}, options = {}): Observable<HttpResponse<T>> {\n const routesFromBackend$ = this.tryGetRoutes('get');\n return routesFromBackend$.pipe(\n switchMap(routes => {\n Routing.setRoutingData(routes);\n const path = Routing.generate(routeName, querySegmentParam);\n // if (querySegmentParam) {\n // querySegmentParam.forEach(value => {\n // path += '/' + value;\n // });\n // }\n return this.httpClient.get<T>(this.config.backendUrl + path, {\n observe: 'response', withCredentials: !!(this.config as any).externalLoginPage,\n headers: this.prepareHeader(headersOptions),\n ...options\n }).pipe(\n endWith(null),\n catchError((err) => {\n this.handleError(err);\n return throwError(err)\n }),\n finalize(this.generatePostSendCallbacks('post'))\n );\n }),\n takeWhile((x) => x != null)\n );\n }\n\n post<T = any>(routeName: string, data, querySegmentParam?: {}, headersOptions: { [header: string]: string } = {}, requestOptions = {}): Observable<HttpResponse<T>> {\n const routesFromBackend$ = this.tryGetRoutes('post');\n return routesFromBackend$.pipe(\n switchMap(routes => {\n Routing.setRoutingData(routes);\n const path = Routing.generate(routeName, querySegmentParam);\n // if (querySegmentParam) {\n // querySegmentParam.forEach(value => {\n // path += '/' + value;\n // });\n // }\n return this.httpClient.post<T>(this.config.backendUrl + path, data, {\n observe: 'response', withCredentials: (this.config as any).externalLoginPage,\n ...requestOptions,\n headers: this.prepareHeader(headersOptions)\n }).pipe(\n endWith(null),\n catchError((err) => {\n this.handleError(err);\n return throwError(err)\n }),\n finalize(this.generatePostSendCallbacks('post'))\n );\n }),\n takeWhile((x) => x != null)\n );\n }\n\n getData<T = {}>(routeName: string, querySegmentParam?: {}, headersOptions: { [header: string]: string } = {}, options = {}): Observable<T> {\n return this.get<T>(routeName, querySegmentParam, headersOptions, options).pipe(map(value => {\n return value.body as T;\n }));\n }\n\n refreshToken(loginData: {}, path): Observable<HttpResponse<TokenInterface>> {\n return this.post<TokenInterface>(path, loginData)\n .pipe(tap((httpResponse) => {\n this.token = (httpResponse.body as any).token;\n }));\n }\n\n private prepareHeader(headersOptions: { [header: string]: string } = {}): { [header: string]: string } {\n if (!isPlatformServer(this.platformId) && this.token) {\n headersOptions['Authorization'] = 'Bearer ' + this.token;\n }\n return headersOptions;\n }\n\n\n get token(): string | null {\n return localStorage.getItem('token');\n }\n\n set token(value: string) {\n localStorage.setItem('token', value);\n }\n\n private tryGetRoutes(type): Observable<object> {\n let routesFromBackend$: Observable<object>;\n routesFromBackend$ = new Observable<object>(subscriber => {\n this.emitPreSend(type);\n if (this.routes) {\n subscriber.next(this.routes);\n }\n else if (this.status === 'done' || this.status === 'none') {\n this.downloadRoutes().subscribe(value => subscriber.next(value));\n } else {\n const unsubscribe = this.urlFetchNotification$.subscribe(downloadedRoutes => {\n unsubscribe.unsubscribe();\n subscriber.next(downloadedRoutes);\n });\n }\n });\n\n return routesFromBackend$;\n }\n\n handleErrorRoute(error: HttpErrorResponse): Observable<never> {\n let completedMessage = '';\n this.status = 'none';\n if (error.error) {\n completedMessage = 'Nepodařilo se kontaktovat server pro získání routy';\n } else {\n completedMessage = 'Došlo k chybě při získání routy na server. Opakute akci později. Kód chyby: ' + error.status;\n }\n\n return throwError(completedMessage);\n }\n\n emitPreSend(type: 'get' | 'post'): void {\n if (type === 'get') {\n ++this.counterRequest.get;\n this.eventEmitterService.emit(Event.PRE_SEND_GET, true);\n } else {\n ++this.counterRequest.post;\n this.eventEmitterService.emit(Event.PRE_SEND_POST, true);\n }\n ++this.counterRequest.all;\n this.eventEmitterService.emit(Event.PRE_SEND, true);\n }\n\n generatePostSendCallbacks(type: 'get' | 'post'): (err?: any) => void {\n return () => {\n setTimeout(() => {\n if (type === 'get') {\n --this.counterRequest.get;\n if (!this.counterRequest.get) {\n this.eventEmitterService.emit(Event.POST_SEND_GET, false);\n }\n } else {\n --this.counterRequest.post;\n if (!this.counterRequest.post) {\n this.eventEmitterService.emit(Event.POST_SEND_POST, false);\n }\n }\n --this.counterRequest.all;\n if (!this.counterRequest.all) {\n this.eventEmitterService.emit(Event.POST_SEND, false);\n }\n }, 0);\n };\n }\n\n logout() {\n this.token = '';\n this.router.navigate(['/'], { onSameUrlNavigation: 'reload' });\n }\n\n handleError(error) {\n if (error instanceof HttpErrorResponse && error.status === 401) {\n this.logout();\n }\n this.httpResponseToasterService.showError(error);\n }\n}\n","import {Injectable, signal} from '@angular/core';\nimport {AbstractControl, FormControl, FormGroup} from \"@angular/forms\";\nimport {SymfonyApiClientService} from \"../api/symfony-api-client.service\";\nimport { HttpErrorResponse } from \"@angular/common/http\";\nimport {tap} from \"rxjs/operators\";\nimport {HttpResponseToasterService} from \"../api/http-response-toaster.service\";\nimport { formatDate } from '@angular/common';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ApiFormService {\n isSending = signal(false);\n constructor(\n private symfonyApiClientService: SymfonyApiClientService,\n private httpResponseToasterService: HttpResponseToasterService,\n ) { }\n\n send<T = any>(path: string, form: FormGroup, querySegment?: {}, additionalPostData = {}) {\n if (!form.valid) {\n form.markAllAsTouched();\n return null;\n }\n if (this.isSending()) {\n return null;\n }\n this.isSending.set(true);\n let data = {...form.value, ...additionalPostData};\n let formData = this.convertJsonToFormData(data, null, null);\n return this.symfonyApiClientService.post<T>(path, formData, querySegment).pipe(tap(next => {\n this.isSending.set(false);\n },\n (err: HttpErrorResponse) => {\n this.isSending.set(false);\n if (err.status === 400 && err.headers.get('Content-Type') === 'application/invalid-form+json') {\n this.supplyValidationErrors(err.error, form);\n }\n }\n ));\n }\n\n supplyValidationErrors(validationErrors: {}, abstractControl: AbstractControl): void {\n const baseErrors: string[] = [];\n const iterate = (errors: any, form: AbstractControl) => {\n Object.keys(errors).forEach(key => {\n if (Array.isArray(errors[key])){\n if (typeof errors[key][0] === 'string') {\n form.get(key)?.setErrors(errors[key], {emitEvent: true});\n } else {\n iterate(errors[key], form.get(key) as any);\n }\n }\n else if (typeof errors[key] === 'string') {\n baseErrors.push(errors[key]);\n }\n else {\n iterate(errors[key], form.get(key) as any);\n }\n });\n };\n iterate(validationErrors, abstractControl);\n if (baseErrors.length) {\n abstractControl.setErrors(baseErrors, {emitEvent: true});\n }\n }\n\n convertJsonToFormData(jsonObject: Object, parentKey, carryFormData: FormData | null): FormData {\n const formData = carryFormData || new FormData();\n let index = 0;\n\n for (var key in jsonObject) {\n if (jsonObject.hasOwnProperty(key)) {\n if (jsonObject[key] !== null && jsonObject[key] !== undefined) {\n var propName = parentKey || key;\n if (parentKey && this.isObject(jsonObject)) {\n propName = parentKey + '[' + key + ']';\n }\n if (parentKey && this.isArray(jsonObject)) {\n propName = parentKey + '[' + index + ']';\n }\n if (jsonObject[key] instanceof File) {\n formData.append(propName, jsonObject[key]);\n } else if (jsonObject[key] instanceof FileList) {\n for (var j = 0; j < jsonObject[key].length; j++) {\n formData.append(propName + '[' + j + ']', jsonObject[key].item(j));\n }\n } else if (this.isArray(jsonObject[key]) || this.isObject(jsonObject[key])) {\n if (this.isObject(jsonObject[key])) {\n if (jsonObject[key].hasOwnProperty('id')) {\n formData.append(propName, jsonObject[key].id);\n } else if(jsonObject[key] instanceof Date) {\n formData.append(propName, formatDate(jsonObject[key], 'yyyy-MM-dd HH:mm:ss', 'en-US'));\n } else {\n this.convertJsonToFormData(jsonObject[key], propName, formData);\n }\n }\n else {\n this.convertJsonToFormData(jsonObject[key], propName, formData);\n }\n } else if (typeof jsonObject[key] === 'boolean') {\n formData.append(propName, +jsonObject[key] ? '1': '0');\n } else {\n formData.append(propName, jsonObject[key]);\n }\n }\n }\n index++;\n }\n return formData;\n }\n isArray(val) {\n const toString = ({}).toString;\n return toString.call(val) === '[object Array]';\n }\n\n isObject(val) {\n return !this.isArray(val) && typeof val === 'object' && !!val;\n }\n\n}\n","import { Component, inject, input, OnInit, signal, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { ApiFormService } from '../../services/form/api-form.service';\nimport { NotifierService } from '../../services/notifier.service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { FileUpload } from 'primeng/fileupload';\nimport { Location } from '@angular/common';\nimport { SymfonyApiClientService } from '../../services/api/symfony-api-client.service';\nimport { DynamicDialogConfig, DynamicDialogRef } from 'primeng/dynamicdialog';\n\n@Component({\n selector: 'app-base-form-entity',\n imports: [],\n templateUrl: './base-form-entity.html',\n styleUrl: './base-form-entity.scss'\n})\nexport abstract class BaseFormEntity implements OnInit {\n @ViewChild('files') fileUploader!: FileUpload;\n entity = input<any>(null);\n sourceEntity = input(null);\n fb = inject(FormBuilder);\n apiForm = inject(ApiFormService);\n notifierService = inject(NotifierService);\n router = inject(Router);\n route = inject(ActivatedRoute);\n location = inject(Location);\n api = inject(SymfonyApiClientService);\n dynamicDialogRef = inject(DynamicDialogRef);\n dynamicDialogConf = inject(DynamicDialogConfig, {optional: true});\n form!: FormGroup;\n abstract controllerBaseName;\n\n constructor() {\n }\n\n abstract initForm();\n\n ngOnInit(): void {\n this.initForm();\n if (this.entity()) {\n this.form.patchValue(this.entity());\n }\n }\n\n submit() {\n let path = this.entity() ? this.controllerBaseName + '_update' : this.controllerBaseName + '_create';\n let params = this.dynamicDialogConf?.data?.params ?? (this.entity() ? { id: this.entity().id } : {});\n this.apiForm.send(path, this.form, params)?.subscribe((resp) => {\n this.fileUploader?.clear();\n this.form.get('files')?.reset();\n this.notifierService.success('Úspěšně provedeno');\n if (this.dynamicDialogConf) {\n this.dynamicDialogRef.close(resp.body);\n }\n else if (this.sourceEntity()) {\n this.location.back();\n } else {\n this.router.navigate([this.entity() ? './' : '../'], { onSameUrlNavigation: 'reload', relativeTo: this.route });\n }\n });\n }\n}\n","<p>base-form-entity works!</p>\n","import { Injectable } from '@angular/core';\nimport {ActivatedRoute, Router} from \"@angular/router\";\nexport interface BreadcrumbItem {\n label: string;\n routerLink: string;\n}\n@Injectable({\n providedIn: 'root'\n})\nexport class BreadcrumbService {\n constructor(private router: Router, private route: ActivatedRoute) {}\n\n getBreadcrumbs(route: ActivatedRoute = this.route.root, url: string = '', breadcrumbs: any[] = []): any[] {\n const children = route.children;\n\n if (children.length === 0) {\n return breadcrumbs;\n }\n\n for (const child of children) {\n const routeURL = child.snapshot.url.map(segment => segment.path).join('/');\n if (routeURL) {\n url += `/${routeURL}`;\n }\n let label = '';\n const breadcrumb = child.snapshot.data['breadcrumb'];\n label = typeof breadcrumb === 'object' ? breadcrumb.label : breadcrumb;\n let link = typeof breadcrumb === 'object' ? breadcrumb.link : null;\n const isDuplicate = breadcrumbs.length > 0 && breadcrumbs[breadcrumbs.length - 1].label === label;\n\n if (label && !isDuplicate) {\n let data = {label, url: url || '/', target: '_self'};\n if (!breadcrumbs.length) {\n data['icon'] = 'pi pi-home';\n }\n if (link) {\n data.url = link;\n }\n breadcrumbs.push(data);\n }\n\n return this.getBreadcrumbs(child, url, breadcrumbs);\n }\n\n return breadcrumbs;\n }\n}\n","import { Component } from '@angular/core';\nimport {ActivatedRoute, NavigationEnd, Router} from \"@angular/router\";\nimport {BreadcrumbService} from \"./services/breadcrumb.service\";\nimport {filter, startWith, tap} from \"rxjs/operators\";\nimport {MenuItem} from \"primeng/api\";\nimport {Breadcrumb} from \"primeng/breadcrumb\";\n\n@Component({\n selector: 'app-breadcrumb',\n imports: [\n Breadcrumb\n ],\n template: `<p-breadcrumb [model]=\"breadcrumbItems\"></p-breadcrumb>`,\n styleUrl: './breadcrumb.component.css'\n})\nexport class BreadcrumbComponent {\n breadcrumbItems: MenuItem[] = [];\n private breadcrumbs!: any[];\n\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n private breadcrumbService: BreadcrumbService\n ) {}\n\n ngOnInit(): void {\n this.router.events.pipe(\n filter(event => event instanceof NavigationEnd),\n startWith(null)\n ).subscribe(() => {\n this.breadcrumbItems = this.breadcrumbService.getBreadcrumbs();\n });\n }\n}\n","import {AfterContentInit, Component, ContentChild, ElementRef, Input} from '@angular/core';\nimport {\n MatDialogActions,\n MatDialogClose,\n MatDialogContent,\n MatDialogRef,\n MatDialogTitle\n} from \"@angular/material/dialog\";\nimport {MatButton} from \"@angular/material/button\";\nimport {CommonModule} from \"@angular/common\";\nimport {FormGroupDirective, NgForm} from \"@angular/forms\";\n\n@Component({\n selector: 'app-dialog',\n templateUrl: './dialog.component.html',\n imports: [\n CommonModule,\n MatDialogTitle,\n MatDialogActions,\n MatDialogContent,\n MatButton,\n MatDialogClose\n ],\n styleUrls: ['./dialog.component.css']\n})\nexport class DialogComponent {\n @Input() saveButtonShow = true;\n @Input() saveData: any = true;\n @ContentChild('submit') submit?: ElementRef;\n\n constructor(public dialogRef: MatDialogRef<any>) { }\n\n\n onSubmit() {\n if (this.submit) {\n this.submit.nativeElement.click();\n } else {\n this.dialogRef.close(this.saveData);\n }\n }\n}\n","<h1 mat-dialog-title>\n <ng-content select=\"[title]\"></ng-content>\n</h1>\n<div mat-dialog-content>\n <ng-content select=\"[content]\"></ng-content>\n</div>\n<mat-dialog-actions class=\"float-end\">\n <button mat-button [mat-dialog-close] = \"false\">Zrušit</button>\n <button *ngIf=\"saveButtonShow && !refCustomButton.hasChildNodes()\" (click)=\"onSubmit()\" mat-button>\n <span #ref><ng-content select=\"[save-button]\"></ng-content></span>\n <ng-container *ngIf=\"!ref.hasChildNodes()\">\n Uložit\n </ng-container>\n </button>\n <span #refCustomButton>\n <ng-content select=\"[custom-button]\"></ng-content>\n </span>\n\n</mat-dialog-actions>\n","import {Component, Input, OnInit} from '@angular/core';\nimport {animate, state, style, transition, trigger} from '@angular/animations';\n\n@Component({\n selector: 'app-animation-hider',\n standalone: true,\n templateUrl: './animation-hider.component.html',\n styleUrls: ['./animation-hider.component.css'],\n animations: [\n trigger('showHide', [\n state('show', style({\n opacity: 1,\n })),\n state('hide', style({\n opacity: 0,\n })),\n transition('show <=> hide', [\n animate('0.2s')\n ]),\n ]),\n ]\n})\nexport class AnimationHiderComponent implements OnInit {\n\n @Input() show = false;\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","<div [@showHide]=\"show ? 'show' : 'hide'\" [class]=\"show ? 'show' : 'hide'\" class=\"animation-hider-container\">\n <ng-content></ng-content>\n</div>\n","import {ChangeDetectorRef, Component, HostBinding, Input, OnDestroy, OnInit} from '@angular/core';\nimport {EventEmitterService} from '../../../services/event-emitter-service';\nimport {NgIf} from \"@angular/common\";\n\n@Component({\n selector: 'app-hidder',\n templateUrl: './hidder.component.html',\n imports: [\n NgIf\n ],\n styleUrls: ['./hidder.component.css']\n})\nexport class HidderComponent implements OnInit, OnDestroy {\n\n display = 'none';\n @Input() showOn!: string;\n @Input() hideOn!: string;\n callback = this.changeStatus.bind(this);\n\n constructor(\n private asyncComunicatorService: EventEmitterService<boolean>,\n private cd: ChangeDetectorRef\n ) { }\n\n ngOnInit(): void {\n this.asyncComunicatorService.registerCallback([this.showOn, this.hideOn], this.callback);\n }\n\n changeStatus(eventName: string, asyncPost: boolean): void {\n if (eventName === this.showOn) {\n this.display = 'block';\n } else {\n this.display = 'none';\n }\n this.cd.detectChanges();\n\n }\n\n ngOnDestroy(): void {\n this.asyncComunicatorService.unregisterCallback([this.showOn, this.hideOn], this.callback);\n }\n}\n","<ng-container *ngIf=\"display === 'block'\">\n <ng-content></ng-content>\n</ng-container>\n","import { HttpClient, HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { SymfonyApiClientService } from '../../../services/api/symfony-api-client.service';\n\nexport interface DataTableRequest {\n page: number; // 0-based\n size: number;\n sortField?: string | null;\n sortOrder?: 1 | -1 | 0 | null;\n filters?: { [key: string]: any };\n}\n\nexport interface DataTableResponse<T> {\n data: T[];\n total: number;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DataTableService {\n\n constructor(\n private apiClientService: SymfonyApiClientService,\n ) {\n\n }\n\n loadLazyTableData(url: string, event, urlParams) {\n const req = {\n page: (event.first ?? 0) / (event.rows ?? 10),\n size: event.rows ?? 10,\n sortField: event.sortField ?? null,\n sortOrder: event.sortOrder ?? null,\n filters: Object.fromEntries(\n Object.entries(event.filters ?? {}).map(([key, f]: any) => [key, f.value])\n )\n };\n return this.loadData<any>(url, req, urlParams);\n }\n\n loadData<T>(url: string, req: DataTableRequest, urlParams): Observable<DataTableResponse<T>> {\n let params = {\n page: req.page.toString(),\n size: req.size.toString(),\n };\n\n if (req.sortField) {\n params['sortField'] = req.sortField;\n params['sortOrder'] = String(req.sortOrder);\n }\n if (urlParams) {\n params = {...params, ...urlParams};\n }\n\n if (req.filters) {\n Object.keys(req.filters).forEach(key => {\n const val = req.filters![key];\n if (val != null && val !== '') {\n params[key] = val;\n }\n });\n }\n return this.apiClientService.getData<DataTableResponse<T>>(url, params);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { SymfonyApiClientService } from './api/symfony-api-client.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AresService {\n\n constructor(\n private apiClientService: SymfonyApiClientService\n ) {\n }\n\n fetch(ico: string) {\n return this.apiClientService.getData('ares_basic', {ico: ico});\n }\n}\n","import { Injectable } from '@angular/core';\nimport {ConfirmationService} from \"primeng/api\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ConfirmDialogService {\n\n constructor(\n private confirmationService: ConfirmationService\n ) { }\n\n show(header: string, message: string, acceptCallback: () => void, confirmButtonText = 'Ano') {\n this.confirmationService.confirm({\n header: header,\n message: message,\n closable: true,\n closeOnEscape: true,\n icon: 'pi pi-exclamation-triangle',\n rejectButtonProps: {\n label: 'Zrušit',\n severity: 'secondary',\n outlined: true,\n },\n acceptButtonProps: {\n label: confirmButtonText,\n },\n accept: acceptCallback\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport {Observable} from \"rxjs\";\nimport {tap} from \"rxjs/operators\";\nimport {SymfonyApiClientService} from \"./api/symfony-api-client.service\";\nimport { isObject } from 'chart.js/helpers';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FileService {\n\n constructor(\n private symfonyApiClientService: SymfonyApiClientService,\n ) { }\n\n downloadFile(id, path='file_download'): Observable<any> {\n let params = typeof id == 'object' ? id : {id};\n return this.symfonyApiClientService.get<Blob>(path, params, {}, {responseType: 'blob', observe: 'response'}).pipe(\n tap((response: any) => {\n var blob = new Blob([response.body], { type: response.headers.get('content-type') });\n const contentDisposition = response.headers.get('Content-Disposition');\n if (contentDisposition.match(/inline/)) {\n window.open(URL.createObjectURL(blob));\n return;\n } else {\n const fileName = this.getFileNameFromContentDisposition(contentDisposition);\n const url = window.URL.createObjectURL(blob);\n const a = document.createElement('a');\n a.href = url;\n a.download = fileName;\n a.click();\n }\n })\n );\n }\n\n private getFileNameFromContentDisposition(contentDisposition: string): string {\n const fileNameMatch = contentDisposition && contentDisposition.match(/filename=\"(.+)\"/);\n return fileNameMatch && fileNameMatch[1] ? fileNameMatch[1] : 'default.zip';\n }\n}\n","import {ElementRef, Injectable} from '@angular/core';\nimport html2canvas from 'html2canvas';\nimport {from, Observable} from \"rxjs\";\nimport {map} from \"rxjs/operators\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ImageService {\n\n constructor() { }\n\n static screenshot(ref: ElementRef): Observable<string> {\n let element = ref.nativeElement as HTMLElement;\n return from(html2canvas(element,\n {\n useCORS: true,\n allowTaint : true,\n logging: true,\n }\n ))\n .pipe(map(canvas => canvas.toDataURL(\"image/png\")));\n }\n}\n","import { Injectable } from '@angular/core';\nimport {concat, from, Observable} from \"rxjs\";\nimport {tap} from \"rxjs/operators\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ImportScriptService {\n isImported = false;\n\n constructor() { }\n\n import(...paths) {\n this.isImported = false;\n let observerables = paths.map(value => from(import(value)));\n return concat(...observerables).pipe(tap(value => this.isImported = true));\n }\n}\n","import {DomSanitizer, SafeResourceUrl} from \"@angular/platform-browser\";\nimport {Injectable, SecurityContext} from \"@angular/core\";\n@Injectable({\n providedIn: 'root'\n})\nexport class UrlService {\n constructor(\n private sanitizer: DomSanitizer,\n ) {\n }\n\n getYoutubeVideoUrl(videoPath: string) {\n const videoUrl = this.validateYouTubeUrl(videoPath);\n let result: any = '';\n if (videoUrl) {\n result = this.sanitizer.sanitize(SecurityContext.RESOURCE_URL, this.sanitizer.bypassSecurityTrustResourceUrl(videoUrl));\n }\n return result;\n }\n\n validateYouTubeUrl(url: string) {\n if (url !== undefined || url !== '') {\n const regExp = /^.*(youtu.be\\/|v\\/|u\\/\\w\\/|embed\\/|watch\\?v=|\\&v=|\\?v=)([^#\\&\\?]*).*/;\n const match = url.match(regExp);\n if (match && match[2].length === 11) {\n // Do anything for being valid\n // if need to change the url to embed url then use below line\n return 'https://www.youtube.com/embed/' + match[2] + '?autoplay=0';\n } else {\n return false;\n }\n }\n\n return false;\n }\n}\n","import { Injectable } from '@angular/core';\nimport {FormBuilder, FormGroup, FormGroupDirective} from \"@angular/forms\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FormService {\n\n constructor(private formBuilder: FormBuilder) {\n }\n\n createForm(formFields: {}, settings: any): FormGroup {\n const form = this.formBuilder.group(formFields);\n if (settings) {\n form.patchValue(settings);\n }\n form.statusChanges.subscribe(status => {\n if (status === 'VALID') {\n const formValue = form.value as any;\n Object.assign(settings, formValue);\n }\n });\n return form;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { jwtDecode } from \"jwt-decode\";\nimport {SymfonyApiClientService} from '../api/symfony-api-client.service';\nimport {map, switchMap, tap} from 'rxjs/operators';\nimport {TokenInterface} from './interfaces/token-interface';\nimport {Observable, of} from 'rxjs';\nimport { HttpResponse } from '@angular/common/http';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LoginClientService {\n\n constructor(\n private symfonyApiClient: SymfonyApiClientService,\n ) {\n }\n\n tryLogin(loginData: {}, path = 'login_token'): Observable<HttpResponse<TokenInterface>> {\n return this.symfonyApiClient.refreshToken(loginData, path);\n }\n\n isLoggedIn(): boolean | null {\n const decoded = this.decodeAccessToken(this.symfonyApiClient.token);\n if (!decoded) {\n return null;\n }\n if (new Date(decoded.exp * 1000) < new Date()) {\n return false;\n }\n return true;\n }\n\n logout(): void {\n if (localStorage.getItem('originToken')) {\n localStorage.removeItem('originToken');\n }\n this.symfonyApiClient.logout();\n }\n\n decodeAccessToken(token: string | null): {exp: number} | null {\n try {\n return token && jwtDecode(token) as any;\n } catch (Error) {\n return null;\n }\n }\n\n impersonation(id: string) {\n if (id && this.isLoggedIn()) {\n let origin = this.symfonyApiClient.token as string;\n return this.tryLogin({id}, 'login_relogin').pipe(tap(response => {\n localStorage.setItem('originToken', origin);\n }));\n }\n return null;\n }\n\n removeImpersonation() {\n if (this.isImpersonation()) {\n this.symfonyApiClient.token = localStorage.getItem('originToken') as string;\n localStorage.removeItem('originToken');\n }\n }\n\n isImpersonation(): boolean {\n return !!localStorage.getItem('originToken');\n }\n}\n","import {inject, Injectable} from '@angular/core';\nimport {\n Router, Resolve,\n RouterStateSnapshot,\n ActivatedRouteSnapshot\n} from '@angular/router';\nimport {Observable, of, throwError} from 'rxjs';\nimport {catchError, map} from 'rxjs/operators';\nimport {SymfonyApiClientService} from '../api/symfony-api-client.service';\nimport {HttpResponseToasterService} from '../api/http-response-toaster.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class GenericResolver implements Resolve<{}[]> {\n\n constructor(\n private symfonyApiClientService: SymfonyApiClientService,\n private httpResponseToasterService: HttpResponseToasterService,\n ) {\n }\n\n resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<{}[]> {\n const config = route.data['resolverConfig'];\n const routeName = config.data.route;\n const queryMap = (config.queryDataMap ?? {}) as {string: string};\n const quryParam = {};\n const pathFromRoot = route.pathFromRoot;\n for (const [key, value] of Object.entries(queryMap)) {\n quryParam[value] = GenericResolver.getParameterFromUrl(key, pathFromRoot);\n }\n\n return this.symfonyApiClientService.get<{}[]>(routeName, quryParam)\n .pipe(catchError(err => {\n return throwError(err);\n }), map(httpResponse => {\n return httpResponse.body;\n })) as any;\n }\n\n static getParameterFromUrl(name: string, pathFromRoot: ActivatedRouteSnapshot[]) {\n for (const path of pathFromRoot.reverse()) {\n if (path.paramMap.has(name)) {\n return path.paramMap.get(name);\n }\n }\n\n return 'paramNotFound';\n }\n\n static create(routeName, queryMap: any = {}) {\n return (route: ActivatedRouteSnapshot, state: RouterStateSnapshot) => {\n let symfonyApiClientService = inject(SymfonyApiClientService);\n const queryParamResult = {};\n const pathFromRoot = route.pathFromRoot;\n for (const [key, value] of Object.entries<string>(queryMap)) {\n queryParamResult[value] = this.getParameterFromUrl(key, pathFromRoot);\n }\n return symfonyApiClientService.get(routeName, queryParamResult).pipe(catchError(err => {\n return throwError(err);\n }), map(httpResponse => {\n return httpResponse.body;\n }));\n }\n }\n}\n","import { Component, inject, OnInit, signal } from '@angular/core';\nimport { DataTableService } from './services/data-table-service';\nimport { ConfirmDialogService } from '../../services';\nimport { SymfonyApiClientService } from '../../services';\nimport { NotifierService } from '../../services';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { parseJson } from '@angular/cli/src/utilities/json-file';\n\n@Component({\n selector: 'app-lazy-base-table',\n imports: [],\n templateUrl: './lazy-base-table.html',\n styleUrl: './lazy-base-table.scss'\n})\nexport abstract class LazyBaseTable implements OnInit {\n baseTableStatePrefix = 'lazy_base_table_';\n stateKey = '';\n entities = signal<any[]>([]);\n totalRecords = signal(0);\n loading = signal(false);\n tableService = inject(DataTableService);\n symfonyApiClientService = inject(SymfonyApiClientService);\n confirmDialogServiceService = inject(ConfirmDialogService);\n notifierService = inject(NotifierService);\n router = inject(Router);\n route = inject(ActivatedRoute);\n abstract baseUrl;\n private lastEvent;\n urlParams = {};\n\n ngOnInit(): void {\n this.initUrlParams();\n }\n\n loadEntities(event) {\n this.lastEvent = event;\n this.loading.set(true);\n this.tableService.loadLazyTableData(this.baseUrl+'_list',\n event, this.urlParams).subscribe({\n next: (value) => {\n this.loading.set(false);\n this.entities.set(value.data);\n this.totalRecords.set(value.total);\n },\n error: (error) => {\n this.loading.set(false);\n }\n });\n }\n\n refresh() {\n this.loadEntities(this.lastEvent);\n }\n\n delete(entity: any) {\n this.confirmDialogServiceService.show('Smazat entitu', 'Opravdu si přejete smazat záznam?', () => {\n this.symfonyApiClientService.get(this.baseUrl+'_delete', { id: entity.id }).subscribe((value) => {\n this.notifierService.success('Úspěšně smazáno');\n this.refresh();\n });\n });\n }\n\n initUrlParams() {\n if (this.stateKey) {\n if (localStorage.getItem(this.baseTableStatePrefix+'url_params')) {\n this.urlParams = JSON.parse(localStorage.getItem(this.baseTableStatePrefix+'url_params') as any);\n }\n }\n }\n\n setUrlParams(urlParams) {\n if (this.baseTableStatePrefix) {\n localStorage.setItem(this.baseTableStatePrefix+'url_params', JSON.stringify(urlParams));\n this.urlParams = urlParams;\n }\n }\n}\n","<p>lazy-base-table works!</p>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-loader-component',\n imports: [],\n templateUrl: './loader-component.html',\n styleUrl: './loader-component.css'\n})\nexport class LoaderComponent {\n\n}\n","<div id=\"loader\"></div>\n","import {Component, Input, OnInit, Type, ViewChild, ViewContainerRef} from '@angular/core';\nimport {AdminAbleInterface} from '../interfaces/admin-able-interface';\nimport {SettingAbleInterface} from '../interfaces/setting-able-interface';\nimport {InitAbleInterface} from \"../../modal/moveable-modal/interfaces/init-able-interface\";\nimport {AdminSettingAbleInterface} from \"../interfaces/admin-setting-able-interface\";\nimport {MatIcon} from \"@angular/material/icon\";\nimport {CommonModule} from \"@angular/common\";\n\n@Component({\n selector: 'app-mini-admin',\n templateUrl: './mini-admin.component.html',\n imports: [\n CommonModule,\n MatIcon\n ],\n styleUrls: ['./mini-admin.component.css']\n})\nexport class MiniAdminComponent implements OnInit, InitAbleInterface<AdminSettingAbleInterface> {\n\n @ViewChild('content1', {read: ViewContainerRef, static: true}) content1!: ViewContainerRef;\n adminAble!: AdminAbleInterface & SettingAbleInterface;\n selectedComponent!: new() => any;\n headerName = '';\n settings: any;\n admin!: SettingAbleInterface;\n label = '';\n allowedAdminComponent = null;\n constructor() { }\n\n ngOnInit(): void {\n }\n\n showContent(component: new() => SettingAbleInterface, label: string) {\n if (this.allowedAdminComponent && this.allowedAdminComponent != component) {\n return;\n }\n this.selectedComponent = component;\n this.content1.clear();\n this.admin = this.content1.createComponent<SettingAbleInterface>(component).instance;\n this.admin.contextObject = this.adminAble.contextObject;\n this.admin.settings = this.settings;\n this.label = label;\n }\n\n @Input() set setInitParams(value: AdminSettingAbleInterface) {\n this.adminAble = value;\n this.settings = value.settings;\n this.showContent(value.adminComponentsClass[0].component, value.adminComponentsClass[0].label);\n }\n}\n","<div class=\"container-fluid\">\n <div class=\"row sidebar-dark-primary\">\n <nav class=\"col-4\" id=\"sidebar\">\n <div class=\"brand-link mt-3\">\n <span class=\"brand-text font-weight-light\"><mat-icon class=\"align-middle\">menu</mat-icon> Menu</span>\n </div>\n <ul *ngIf=\"adminAble\" class=\"list-unstyled components mb-5\">\n <li [class]=\"{active: selectedComponent === setting.component, invisible: allowedAdminComponent && setting.component != allowedAdminComponent}\" *ngFor=\"let setting of adminAble.adminComponentsClass;\">\n <a href=\"#\" (click)=\"showContent(setting.component, setting.label);$event.preventDefault()\">\n <span class=\"fa fa-chevron-right me-3\"></span>{{setting.label}}</a>\n </li>\n </ul>\n </nav>\n\n <div id=\"content\" class=\"col\">\n <h5>{{label}}</h5>\n <div class=\"content-block\">\n <ng-container #content1></ng-container>\n </div>\n </div>\n </div>\n</div>\n\n\n\n\n\n\n","import {\n Component,\n Inject, OnInit, ViewChild,\n ViewContainerRef\n} from '@angular/core';\nimport {MAT_DIALOG_DATA, MatDialogClose} from '@angular/material/dialog';\nimport {InitAbleInterface} from './interfaces/init-able-interface';\nimport {Subject} from \"rxjs\";\nimport {CdkDrag, CdkDragHandle} from \"@angular/cdk/drag-drop\";\nimport {MatIcon} from \"@angular/material/icon\";\n\n@Component({\n selector: 'app-moveable-modal',\n templateUrl: './moveable-modal.component.html',\n imports: [\n CdkDrag,\n CdkDragHandle,\n MatIcon,\n MatDialogClose\n ],\n styleUrls: ['./moveable-modal.component.css']\n})\nexport class MoveableModalComponent<T> implements OnInit {\n\n @ViewChild('modalContent', {read: ViewContainerRef, static: true}) content!: ViewContainerRef;\n title = '';\n instanceReady$ = new Subject<InitAbleInterface<T>>();\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: {contentComponent: new() => InitAbleInterface<T>, params: T, title: string}\n ) {\n this.title = data.title;\n }\n\n ngOnInit(): void {\n let instance = this.content.createComponent<InitAbleInterface<T>>(this.data.contentComponent).instance;\n if (this.data.params) {\n instance.setInitParams = this.data.params;\n }\n this.instanceReady$.next(instance);\n }\n}\n","<div cdkDrag cdkDragRootElement=\".cdk-overlay-pane\" class=\"align-items-stretch\">\n <div cdkDragHandle class=\"move-line d-flex justify-content-between align-items-center\">\n <span class=\"header-title\">{{title ?? ''}}</span>\n <mat-icon [mat-dialog-close]=\"false\" class=\"close-icon\">close</mat-icon>\n </div>\n <ng-container #modalContent></ng-container>\n</div>\n","import {Component, Inject} from '@angular/core';\nimport {MAT_DIALOG_DATA} from \"@angular/material/dialog\";\nimport {DialogComponent} from \"../dialog/dialog.component\";\n\n@Component({\n selector: 'app-remove-item',\n templateUrl: './remove-item.component.html',\n imports: [\n DialogComponent\n ],\n styleUrls: ['./remove-item.component.css']\n})\nexport class RemoveItemComponent {\n constructor(@Inject(MAT_DIALOG_DATA) public data: {name: string}) {\n }\n}\n","<app-dialog>\n <ng-container title>Smazání - {{data.name}}</ng-container>\n <ng-container content>Opravdu si přejete smazat: {{data.name}}?</ng-container>\n <ng-container save-button>Ano</ng-container>\n</app-dialog>\n","import { Component } from '@angular/core';\nimport { DynamicDialogConfig, DynamicDialogRef } from 'primeng/dynamicdialog';\n\n@Component({\n selector: 'app-simple-dialog-component',\n imports: [],\n templateUrl: './simple-dialog-component.html',\n styleUrl: './simple-dialog-component.scss'\n})\nexport class SimpleDialogComponent {\n text = '';\n\n constructor(\n public dynamicDialogConfig: DynamicDialogConfig,\n public dynamicDialogRef: DynamicDialogRef,\n ) {\n this.text = this.dynamicDialogConfig.data.text.replace(/\\r?\\n/g, '<br>');;\n }\n}\n","<div [innerHTML]=\"text\">\n</div>\n","import {Injectable} from '@angular/core';\nimport {MoveableModalComponent} from '../moveable-modal.component';\nimport {MatDialog} from '@angular/material/dialog';\nimport {InitAbleInterface} from \"../interfaces/init-able-interface\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MoveableModalService {\n constructor(\n public dialog: MatDialog\n ) {\n }\n\n show<T>(contentComponent: new() => InitAbleInterface<T>, params: T, title: string = '') {\n return this.dialog.open(MoveableModalComponent<T>, {\n data: {\n contentComponent,\n params,\n title: title,\n },\n width: '888px',\n maxHeight: '600px',\n position: {top: '110px'}\n });\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport {FormControlName, ValidationErrors} from '@angular/forms';\nimport {CommonModule} from \"@angular/common\";\n\n@Component({\n selector: 'app-error-message',\n templateUrl: './error-message.component.html',\n styleUrls: ['./error-message.component.css'],\n imports: [\n CommonModule\n ]\n})\nexport class ErrorMessageComponent implements OnInit {\n\n private _errors: ValidationErrors = [];\n control!: FormControlName;\n objectKeys = Object.keys;\n\n constructor() {\n }\n\n ngOnInit(): void {\n }\n\n getMessage(index: string, errors) {\n let message = '';\n switch (index) {\n case 'required':\n message = 'Toto pole je povinné';\n break;\n default:\n message = errors[index];\n break;\n }\n\n return message;\n }\n\n get errors(): ValidationErrors {\n return this._errors;\n }\n\n set errors(value: ValidationErrors) {\n this._errors = value;\n }\n}\n","<div *ngFor=\"let errorKey of objectKeys(control.errors ?? [])\">\n <div class=\"validation-error-message small\">{{getMessage(errorKey, control.errors)}}</div>\n</div>\n","import {\n AfterViewChecked,\n Directive,\n Input,\n} from '@angular/core';\n\n@Directive({\n selector: '[appInputFormErrorGrouper]',\n standalone: true\n})\nexport class InputFormErrorGrouperDirective implements AfterViewChecked{\n\n @Input('appInputFormErrorGrouper') groupeName!: string;\n hasError = false;\n\n constructor() {\n\n }\n\n ngAfterViewChecked(): void {\n this.hasError = false;\n }\n}\n","import {AfterContentInit, Component, Host, Optional} from '@angular/core';\nimport {FormGroupDirective, ValidationErrors} from '@angular/forms';\nimport {InputFormErrorGrouperDirective} from '../../input-form-error-grouper.directive';\nimport {CommonModule} from \"@angular/common\";\n\n@Component({\n selector: 'app-global-form-error',\n templateUrl: './global-form-error.component.html',\n styleUrls: ['./global-form-error.component.css'],\n imports: [\n CommonModule,\n ]\n})\nexport class GlobalFormErrorComponent implements AfterContentInit{\n\n errors: ValidationErrors = {};\n objectKeys = Object.keys;\n\n constructor(\n @Host() @Optional() private parentFormControl?: FormGroupDirective,\n @Host() @Optional() private inputFormErrorGrouperDirective?: InputFormErrorGrouperDirective,\n ) { }\n\n ngAfterContentInit(): void {\n if (!this.parentFormControl) {\n return;\n }\n this.parentFormControl.statusChanges?.subscribe(status => {\n if (status === 'INVALID') {\n this.errors = this.parentFormControl?.errors ?? {};\n if (this.inputFormErrorGrouperDirective) {\n this.inputFormErrorGrouperDirective.hasError = true;\n }\n }\n });\n }\n}\n","<div class=\"mb-3\" *ngFor=\"let errorKey of objectKeys(errors)\">\n <div class=\"validation-error-message small\">{{errors[errorKey]}}</div>\n</div>\n","import { AfterContentChecked, AfterContentInit, ChangeDetectorRef, ComponentFactoryResolver, ContentChild, Directive, DoCheck, ElementRef, Host, input, Input, OnDestroy, OnInit, Optional, Renderer2, Self, ViewContainerRef } from '@angular/core';\nimport { ControlContainer, Form, FormControlName, FormGroup, FormGroupDirective, NgControl, ValidationErrors } from '@angular/forms';\nimport {ErrorMessageComponent} from './components/error-message/error-message.component';\nimport {InputFormErrorGrouperDirective} from './input-form-error-grouper.directive';\n\n@Directive({\n selector: '[appFormError]',\n standalone: true,\n})\nexport class InputFormErrorDirective implements OnInit, DoCheck{\n\n @ContentChild(FormControlName, {read: FormControlName, static: true}) formInput!: FormControlName;\n @ContentChild(NgControl, {read: ElementRef, static: true}) formInputElementRef!: ElementRef;\n @ContentChild('errorFormContainer', {read: ViewContainerRef, static: true}) errorFormContainer!: ViewContainerRef;\n private errorMessageComonent!: ErrorMessageComponent;\n private isError = false;\n rootFormGroupDirective = input<FormGroupDirective>();\n\n constructor(\n private renderer2: Renderer2,\n private elementRef: ElementRef,\n private selfViewContainer: ViewContainerRef,\n private cdRef: ChangeDetectorRef,\n private formGroup: FormGroupDirective,\n @Host() @Optional() private inputFormErrorGrouperDirective: InputFormErrorGrouperDirective,\n @Optional() @Self() private selfInput?: FormControlName,\n ) {\n }\n\n ngOnInit(): void {\n if (this.selfInput) {\n this.errorFormContainer = this.selfViewContainer;\n this.formInputElementRef = this.elementRef;\n } else {\n if (!this.errorFormContainer) {\n this.errorFormContainer = this.selfViewContainer;\n }\n this.selfInput = this.formInput;\n }\n }\n ngDoCheck(): void {\n if (this.rootFormGroupDirective()?.submitted || this.formGroup.submitted) {\n if (!this.isError && this.selfInput?.errors) {\n this.isError = true;\n this.createErrorMessage();\n } else if(this.isError && !this.selfInput?.errors) {\n this.isError = false;\n this.clearMessage();\n }\n }\n }\n createErrorMessage(): void {\n this.errorMessageComonent = this.errorFormContainer.createComponent(ErrorMessageComponent).instance;\n if (this.selfInput) {\n this.errorMessageComonent.errors = this.selfInput.errors as any;\n this.errorMessageComonent.control = this.selfInput;\n }\n }\n clearMessage(): void {\n this.errorFormContainer.clear();\n }\n}\n","import {ChangeDetectorRef, Directive, HostBinding, Input, OnDestroy, OnInit} from '@angular/core';\nimport {EventEmitterService} from '../../services/event-emitter-service';\n\n@Directive({\n selector: '[appHiderElement]',\n standalone: true,\n})\nexport class HiderElementDirective implements OnInit, OnDestroy{\n\n @Input() showOn!: string;\n @Input() hideOn!: string;\n @HostBinding('style.display') display = 'none';\n callback = this.changeStatus.bind(this);\n\n constructor(\n private asyncComunicatorService: EventEmitterService<boolean>,\n private cd: ChangeDetectorRef\n ) {\n\n }\n\n ngOnInit(): void {\n this.asyncComunicatorService.registerCallback([this.showOn, this.hideOn], this.callback);\n }\n\n changeStatus(eventName: string, asyncPost: boolean): void {\n if (eventName === this.showOn) {\n this.display = 'block';\n //this.cd.detectChanges();\n } else {\n this.display = 'none';\n }\n }\n\n ngOnDestroy(): void {\n this.asyncComunicatorService.unregisterCallback([this.showOn, this.hideOn], this.callback);\n }\n\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LinkDeactivateService {\n\n deactivate = false;\n constructor() { }\n}\n","import {Directive, HostListener} from '@angular/core';\nimport {LinkDeactivateService} from \"./services/link-deactivate.service\";\n\n@Directive({\n standalone: true,\n selector: '[appLinkDeactivate]'\n})\nexport class LinkDeactivateDirective {\n\n constructor(\n private linkDeactivateService: LinkDeactivateService\n ) { }\n\n @HostListener('click', ['$event'])\n click(event: MouseEvent) {\n if (this.linkDeactivateService.deactivate) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n\n}\n","import {CanActivateFn, Router} from '@angular/router';\nimport {inject} from \"@angular/core\";\nimport { LoginClientService } from '../services/login/login-client.service';\n\nexport const loginGuard: CanActivateFn = (route, state) => {\n let loginClient = inject(LoginClientService);\n let router = inject(Router);\n if (!loginClient.isLoggedIn()) {\n return router.parseUrl('/login');\n }\n\n return true;\n};\n","import * as _ from 'lodash';\nimport { TreeNode } from 'primeng/api';\n\nexport class ArrayHelper {\n\n static uniqueBy<T, K extends keyof T>(items: T[], key: K): T[] {\n const map = new Map<T[K], T>();\n\n for (const item of items) {\n map.set(item[key], item);\n }\n\n return Array.from(map.values());\n }\n\n static treeToPrimengTreeNode(data: any[]): TreeNode[] {\n let fn = (entities: any[]) => {\n return entities.map((entity) => {\n return {\n key: entity.id,\n id: entity.id,\n label: entity.name,\n data: entity,\n expanded: false,\n children: fn(entity.children ?? [])\n };\n });\n };\n return fn(data)\n }\n\n static reinitArray(arrayToReinit: any[], newValues: any[]) {\n arrayToReinit.length = 0;\n arrayToReinit.push(...newValues);\n }\n\n static sortTree(data: {children: any[]}[], sortProperties = ['name']) {\n let sortFnc = (dataArray: any[]) => {\n let sorted = _.orderBy(dataArray, sortProperties, ['asc']);\n this.reinitArray(dataArray, sorted);\n dataArray.filter((value: any) => value.children ?? null).forEach(value => {\n sortFnc(value.children);\n })\n }\n sortFnc(data);\n }\n static objectWithLevelToNestedArray(objects: {level: number}[]) {\n const levelMap = new Map<number, any[]>();\n let currentLevel = -1;\n const treeCallback = (data: {level: number, children?: []}) => {\n data = {...data};\n if (!data.hasOwnProperty('children')) {\n data.children = [];\n }\n if (data.level > currentLevel) {\n if (!data.level) {\n levelMap.set(data.level, []);\n } else {\n const parentLevelArray = levelMap.get(data.level - 1);\n if (parentLevelArray) {\n const lastInParentArray = parentLevelArray[parentLevelArray.length - 1];\n levelMap.set(data.level, lastInParentArray.children);\n }\n }\n }\n const currentArray = levelMap.get(data.level);\n currentArray!.push(data);\n currentLevel = data.level;\n };\n objects.forEach(treeCallback);\n return levelMap.get(0);\n }\n static recalculateNestedArrayObjectLevel(dataArray: {level: number}[], clearChildren = false) {\n const callback = (data: {level: number, children?: []}[], currentLevel = 0) => {\n for (const entry of data) {\n if (entry.children?.length) {\n callback(entry.children, currentLevel + 1);\n if (clearChildren) {\n entry.children.length = 0;\n }\n } else {\n entry.level = currentLevel;\n }\n }\n };\n callback(dataArray);\n }\n\n static flatNestedArrayObject(dataArray: {children?: []}[]): any[] {\n const result: any[] = [];\n const callback = (data: {children?: []}[], currentLevel = 0) => {\n for (const entry of data) {\n const newData = {...entry} as any;\n delete newData.children;\n result.push(newData);\n if (entry?.children?.length) {\n callback(entry.children, currentLevel + 1);\n }\n }\n };\n callback(dataArray);\n\n return result;\n }\n}\n","export class ElementHelper {\n\n public static getCursorPosition(): number | null {\n const selection = window.getSelection();\n if (selection!.rangeCount > 0) {\n const range = selection!.getRangeAt(0);\n // Cursor position\n return range.startOffset;\n } else {\n return null;\n }\n }\n\n static getInnerNodeFromClickPosition(event: MouseEvent): Node | null {\n let range;\n if (document.caretRangeFromPoint) {\n range = document.caretRangeFromPoint(event.clientX, event.clientY);\n }\n else if ((document as any).caretPositionFromPoint) {\n const pos = (document as any).caretPositionFromPoint(event.clientX, event.clientY);\n range = document.createRange();\n range.setStart(pos.offsetNode, pos.offset);\n range.setEnd(pos.offsetNode, pos.offset);\n }\n if (range) {\n return range.startContainer;\n }\n\n return null;\n }\n}\n","import {TrackByFunction} from '@angular/core';\n\nexport class Helper {\n\n static getTrackByFunction<T>(propertyName: string = 'id'): TrackByFunction<T> {\n return (index: number, obj) => {\n return obj[propertyName];\n };\n }\n\n static objectResetAssign(target:any,source: any) {\n target.length = 0;\n Object.assign(target, source);\n }\n}\n","export class ObjectHelper {\n static reinitObject(target: {}, source: {}) {\n for (const key in target) {\n delete target[key];\n }\n Object.assign(target, source);\n }\n\n static toRaw(source: any) {\n return JSON.parse(JSON.stringify(source))\n }\n\n static toArray() {\n\n }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class StringHelper {\n\n constructor() { }\n\n static randomString(): string {\n return Math.random().toString(16).slice(2);\n }\n}\n","import { TreeNode } from 'primeng/api';\n\nexport class TreeHelper {\n static findNodeByKey(nodes: TreeNode[], key: string): TreeNode | null {\n for (const node of nodes) {\n if (node.key === key) {\n return node;\n }\n if (node.children) {\n const found = this.findNodeByKey(node.children, key);\n if (found) {\n return found;\n }\n }\n }\n return null;\n }\n}\n","export class ElementPositionMessenger {\n\n constructor(private _x: number, private _y: number) {\n }\n\n get x(): number {\n return this._x;\n }\n\n set x(value: number) {\n this._x = value;\n }\n\n get y(): number {\n return this._y;\n }\n\n set y(value: number) {\n this._y = value;\n }\n}\n","import { faCoffee,\n faHome,\n faUser,\n faEnvelope,\n faSearch,\n faHeart,\n faStar,\n faCheck,\n faTimes,\n faPlus,\n faMinus,\n faShoppingCart,\n faPhone,\n faInfoCircle,\n faExclamationTriangle,\n faThumbsUp,\n faThumbsDown,\n faLock,\n faUnlock,\n faCog,\n faCogs,\n faTrash,\n faTrashAlt,\n faEdit,\n faSave,\n faDownload,\n faUpload,\n faFile,\n faFileAlt,\n faFolder,\n faFolderOpen,\n faBell,\n faBellSlash,\n faCamera,\n faCameraRetro,\n faImage,\n faImages,\n faPlay,\n faPause,\n faStop,\n faForward,\n faBackward,\n faStepForward,\n faStepBackward,\n faFastForward,\n faFastBackward,\n faRedo,\n faUndo,\n faSync,\n faSyncAlt,\n faAngleUp,\n faAngleDown,\n faAngleLeft,\n faAngleRight,\n faChevronUp,\n faChevronDown,\n faChevronLeft,\n faChevronRight,\n faCaretUp,\n faCaretDown,\n faCaretLeft,\n faCaretRight,\n faArrowUp,\n faArrowDown,\n faArrowLeft,\n faArrowRight,\n faExternalLink,\n faExternalLinkAlt,\n faLink,\n faUnlink,\n faRedoAlt,\n faUndoAlt,\n faExchangeAlt,\n faRetweet,\n faRandom,\n faSpinner,\n faCircle,\n faSquare,\n faCheckCircle,\n faCheckSquare,\n faExclamation,\n faQuestion,\n faQuestionCircle,\n faInfo,\n faShare,\n faShareAlt,\n faShareSquare,\n faCheckDouble,\n faEllipsisH,\n faEllipsisV,\n faBars,\n faList,\n faListAlt,\n faTh,\n faThLarge,\n faThList,\n faTable,\n faTasks,\n faFilter,\n faSort,\n faSortUp,\n faSortDown} from \"@fortawesome/free-solid-svg-icons\";\n\nexport const FontAwesomeIcons = [\n faCoffee,\n faHome,\n faUser,\n faEnvelope,\n faSearch,\n faHeart,\n faStar,\n faCheck,\n faTimes,\n faPlus,\n faMinus,\n faShoppingCart,\n faPhone,\n faInfoCircle,\n faExclamationTriangle,\n faThumbsUp,\n faThumbsDown,\n faLock,\n faUnlock,\n faCog,\n faCogs,\n faTrash,\n faTrashAlt,\n faEdit,\n faSave,\n faDownload,\n faUpload,\n faFile,\n faFileAlt,\n faFolder,\n faFolderOpen,\n faBell,\n faBellSlash,\n faCamera,\n faCameraRetro,\n faImage,\n faImages,\n faPlay,\n faPause,\n faStop,\n faForward,\n faBackward,\n faStepForward,\n faStepBackward,\n faFastForward,\n faFastBackward,\n faRedo,\n faUndo,\n faSync,\n faSyncAlt,\n faAngleUp,\n faAngleDown,\n faAngleLeft,\n faAngleRight,\n faChevronUp,\n faChevronDown,\n faChevronLeft,\n faChevronRight,\n faCaretUp,\n faCaretDown,\n faCaretLeft,\n faCaretRight,\n faArrowUp,\n faArrowDown,\n faArrowLeft,\n faArrowRight,\n faExternalLink,\n faExternalLinkAlt,\n faLink,\n faUnlink,\n faRedoAlt,\n faUndoAlt,\n faExchangeAlt,\n faRetweet,\n faRandom,\n faSpinner,\n faCircle,\n faSquare,\n faCheckCircle,\n faCheckSquare,\n faExclamation,\n faQuestion,\n faQuestionCircle,\n faInfo,\n faShare,\n faShareAlt,\n faShareSquare,\n faCheckDouble,\n faEllipsisH,\n faEllipsisV,\n faBars,\n faList,\n faListAlt,\n faTh,\n faThLarge,\n faThList,\n faTable,\n faTasks,\n faFilter,\n faSort,\n faSortUp,\n faSortDown\n]\n","import { Pipe, PipeTransform } from '@angular/core';\nimport {DomSanitizer, SafeHtml} from '@angular/platform-browser';\n\n@Pipe({\n name: 'safeHtml',\n standalone: true,\n})\nexport class SafeHtmlPipe implements PipeTransform {\n\n constructor(\n private sanitizer: DomSanitizer\n ) {\n }\n\n transform(value: string, ...args: unknown[]): SafeHtml {\n return this.sanitizer.bypassSecurityTrustHtml(value);\n }\n\n}\n","/*\n * Public API Surface of ng-core\n */\n\nexport * from './lib/ng-core';\nexport * from './lib/components';\nexport * from './lib/directives';\nexport * from './lib/guards';\nexport * from './lib/helpers';\nexport * from './lib/messengers';\nexport * from './lib/models';\nexport * from './lib/pipes';\nexport * from './lib/services';\nexport * from './lib/config';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.NotifierService","i1","i2.EventEmitterService","i3.HttpResponseToasterService","i4","i1.SymfonyApiClientService","i2.HttpResponseToasterService","Router","i2.BreadcrumbService","i2","i1.EventEmitterService","i2.InputFormErrorGrouperDirective","i3","i1.LinkDeactivateService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mk-ng-lib.mjs","sources":["../../../projects/mk-ng-lib/src/lib/ng-core.ts","../../../projects/mk-ng-lib/src/lib/external-library/router.ts","../../../projects/mk-ng-lib/src/lib/services/api/constants/event.ts","../../../projects/mk-ng-lib/src/lib/config.ts","../../../projects/mk-ng-lib/src/lib/services/event-emitter-service.ts","../../../projects/mk-ng-lib/src/lib/services/notifier.service.ts","../../../projects/mk-ng-lib/src/lib/services/api/http-response-toaster.service.ts","../../../projects/mk-ng-lib/src/lib/services/api/symfony-api-client.service.ts","../../../projects/mk-ng-lib/src/lib/services/form/api-form.service.ts","../../../projects/mk-ng-lib/src/lib/components/base-form-entity/base-form-entity.ts","../../../projects/mk-ng-lib/src/lib/components/base-form-entity/base-form-entity.html","../../../projects/mk-ng-lib/src/lib/components/breadcrumb/services/breadcrumb.service.ts","../../../projects/mk-ng-lib/src/lib/components/breadcrumb/breadcrumb.component.ts","../../../projects/mk-ng-lib/src/lib/components/dialog/dialog.component.ts","../../../projects/mk-ng-lib/src/lib/components/dialog/dialog.component.html","../../../projects/mk-ng-lib/src/lib/components/hidder/animation-hider/animation-hider/animation-hider.component.ts","../../../projects/mk-ng-lib/src/lib/components/hidder/animation-hider/animation-hider/animation-hider.component.html","../../../projects/mk-ng-lib/src/lib/components/hidder/plain-hider/hidder.component.ts","../../../projects/mk-ng-lib/src/lib/components/hidder/plain-hider/hidder.component.html","../../../projects/mk-ng-lib/src/lib/components/lazy-base-table/services/data-table-service.ts","../../../projects/mk-ng-lib/src/lib/services/ares-service.ts","../../../projects/mk-ng-lib/src/lib/services/confirm-dialog.service.ts","../../../projects/mk-ng-lib/src/lib/services/file.service.ts","../../../projects/mk-ng-lib/src/lib/services/image.service.ts","../../../projects/mk-ng-lib/src/lib/services/import-script.service.ts","../../../projects/mk-ng-lib/src/lib/services/url.service.ts","../../../projects/mk-ng-lib/src/lib/services/form/form.service.ts","../../../projects/mk-ng-lib/src/lib/services/login/login-client.service.ts","../../../projects/mk-ng-lib/src/lib/services/resolver/generic.resolver.ts","../../../projects/mk-ng-lib/src/lib/components/lazy-base-table/lazy-base-table.ts","../../../projects/mk-ng-lib/src/lib/components/lazy-base-table/lazy-base-table.html","../../../projects/mk-ng-lib/src/lib/components/loader-component/loader-component.ts","../../../projects/mk-ng-lib/src/lib/components/loader-component/loader-component.html","../../../projects/mk-ng-lib/src/lib/components/mini-admin/components/mini-admin.component.ts","../../../projects/mk-ng-lib/src/lib/components/mini-admin/components/mini-admin.component.html","../../../projects/mk-ng-lib/src/lib/components/modal/moveable-modal/moveable-modal.component.ts","../../../projects/mk-ng-lib/src/lib/components/modal/moveable-modal/moveable-modal.component.html","../../../projects/mk-ng-lib/src/lib/components/remove-item/remove-item.component.ts","../../../projects/mk-ng-lib/src/lib/components/remove-item/remove-item.component.html","../../../projects/mk-ng-lib/src/lib/components/simple-dialog-component/simple-dialog-component.ts","../../../projects/mk-ng-lib/src/lib/components/simple-dialog-component/simple-dialog-component.html","../../../projects/mk-ng-lib/src/lib/components/modal/moveable-modal/services/moveable-modal.service.ts","../../../projects/mk-ng-lib/src/lib/directives/form-error/components/error-message/error-message.component.ts","../../../projects/mk-ng-lib/src/lib/directives/form-error/components/error-message/error-message.component.html","../../../projects/mk-ng-lib/src/lib/directives/form-error/input-form-error-grouper.directive.ts","../../../projects/mk-ng-lib/src/lib/directives/form-error/components/global-form-error/global-form-error.component.ts","../../../projects/mk-ng-lib/src/lib/directives/form-error/components/global-form-error/global-form-error.component.html","../../../projects/mk-ng-lib/src/lib/directives/form-error/input-form-error.directive.ts","../../../projects/mk-ng-lib/src/lib/directives/hidder-element/hider-element.directive.ts","../../../projects/mk-ng-lib/src/lib/directives/link-deactivate/services/link-deactivate.service.ts","../../../projects/mk-ng-lib/src/lib/directives/link-deactivate/link-deactivate.directive.ts","../../../projects/mk-ng-lib/src/lib/guards/login.guard.ts","../../../projects/mk-ng-lib/src/lib/helpers/array-helper.ts","../../../projects/mk-ng-lib/src/lib/helpers/element-helper.ts","../../../projects/mk-ng-lib/src/lib/helpers/helper.ts","../../../projects/mk-ng-lib/src/lib/helpers/object-helper.ts","../../../projects/mk-ng-lib/src/lib/helpers/string-helper.ts","../../../projects/mk-ng-lib/src/lib/helpers/tree-helper.ts","../../../projects/mk-ng-lib/src/lib/messengers/element-position/element-position-messenger.ts","../../../projects/mk-ng-lib/src/lib/models/FontAwesomeIcons.ts","../../../projects/mk-ng-lib/src/lib/pipes/safe-html.pipe.ts","../../../projects/mk-ng-lib/src/public-api.ts","../../../projects/mk-ng-lib/src/mk-ng-lib.ts"],"sourcesContent":["import { Component } from '@angular/core';\n\n@Component({\n selector: 'lib-ng-core',\n imports: [],\n template: `\n <p>\n ng-core works!\n </p>\n `,\n styles: ``,\n})\nexport class NgCore {\n\n}\n","// projects/z-library/src/lib/external-library/router.ts\n\nexport interface Route {\n tokens: Array<any[]>;\n defaults?: Record<string, any>;\n requirements?: Record<string, any>;\n schemes?: string[];\n hosttokens?: Array<any[]>;\n}\n\nexport interface Context {\n base_url: string;\n prefix: string;\n host: string;\n port: string | null;\n scheme: string;\n locale: string;\n}\n\nexport class Router {\n private context_: Context;\n private routes_: Record<string, Route>;\n\n constructor(context?: Partial<Context>, routes?: Record<string, Route>) {\n this.context_ = {\n base_url: '',\n prefix: '',\n host: '',\n port: '',\n scheme: '',\n locale: '',\n ...context,\n };\n this.routes_ = {};\n this.setRoutes(routes || {});\n }\n\n /* ========================\n * Configuration\n * ======================== */\n\n setRoutingData(data: any): void {\n this.setBaseUrl(data.base_url);\n this.setRoutes(data.routes);\n\n if ('prefix' in data) this.setPrefix(data.prefix);\n if ('port' in data) this.setPort(data.port);\n if ('locale' in data) this.setLocale(data.locale);\n\n this.setHost(data.host);\n this.setScheme(data.scheme);\n }\n\n setRoutes(routes: Record<string, Route>): void {\n this.routes_ = Object.freeze(routes);\n }\n\n getRoutes(): Record<string, Route> {\n return this.routes_;\n }\n\n setBaseUrl(baseUrl: string): void {\n this.context_.base_url = baseUrl;\n }\n\n getBaseUrl(): string {\n return this.context_.base_url;\n }\n\n setPrefix(prefix: string): void {\n this.context_.prefix = prefix;\n }\n\n setScheme(scheme: string): void {\n this.context_.scheme = scheme;\n }\n\n getScheme(): string {\n return this.context_.scheme;\n }\n\n setHost(host: string): void {\n this.context_.host = host;\n }\n\n getHost(): string {\n return this.context_.host;\n }\n\n setPort(port: string | null): void {\n this.context_.port = port;\n }\n\n getPort(): string | null {\n return this.context_.port;\n }\n\n setLocale(locale: string): void {\n this.context_.locale = locale;\n }\n\n getLocale(): string {\n return this.context_.locale;\n }\n\n /* ========================\n * Helpers\n * ======================== */\n\n buildQueryParams(\n prefix: string,\n params: any,\n add: (k: string, v: any) => void\n ): void {\n const rbracket = /\\[\\]$/;\n\n if (Array.isArray(params)) {\n params.forEach((val, i) => {\n if (rbracket.test(prefix)) {\n add(prefix, val);\n } else {\n this.buildQueryParams(\n prefix + '[' + (typeof val === 'object' ? i : '') + ']',\n val,\n add\n );\n }\n });\n } else if (params !== null && typeof params === 'object') {\n for (const name in params) {\n this.buildQueryParams(prefix + '[' + name + ']', params[name], add);\n }\n } else {\n add(prefix, params);\n }\n }\n\n /* ========================\n * Routing\n * ======================== */\n\n getRoute(name: string): Route {\n const prefixedName = this.context_.prefix + name;\n const sf41i18nName = name + '.' + this.context_.locale;\n const prefixedSf41i18nName =\n this.context_.prefix + name + '.' + this.context_.locale;\n\n const variants = [\n prefixedName,\n sf41i18nName,\n prefixedSf41i18nName,\n name,\n ];\n\n for (const variant of variants) {\n if (variant in this.routes_) {\n return this.routes_[variant];\n }\n }\n\n throw new Error(`The route \"${name}\" does not exist.`);\n }\n\n generate(\n name: string,\n optParams: Record<string, any> = {},\n absolute = false\n ): string {\n const route = this.getRoute(name);\n const params = optParams || {};\n const unusedParams = { ...params };\n\n let url = '';\n let optional = true;\n let host = '';\n\n const port =\n this.getPort() === undefined || this.getPort() === null\n ? ''\n : this.getPort();\n\n /* ===== PATH TOKENS ===== */\n\n route.tokens.forEach((token) => {\n if (token[0] === 'text') {\n url = Router.encodePathComponent(token[1]) + url;\n optional = false;\n return;\n }\n\n if (token[0] === 'variable') {\n const paramName = token[3];\n const hasDefault = route.defaults && paramName in route.defaults;\n let value: any;\n\n // ⚠️ Pokud parametr explicitně předaný a rovná se default, ignoruj ho\n if (paramName in params) {\n if (hasDefault && params[paramName] === route.defaults![paramName]) {\n delete unusedParams[paramName];\n return;\n }\n value = params[paramName];\n delete unusedParams[paramName];\n } else if (hasDefault) {\n value = route.defaults![paramName];\n } else if (optional) {\n return;\n } else {\n throw new Error(\n `The route \"${name}\" requires the parameter \"${paramName}\".`\n );\n }\n\n const empty =\n value === true ||\n value === false ||\n value === '' ||\n value === null;\n\n if (!empty || !optional) {\n let encoded = Router.encodePathComponent(value);\n\n if (encoded === 'null' && value === null) {\n encoded = '';\n }\n\n url = token[1] + encoded + url;\n }\n\n optional = false;\n }\n });\n\n if (url === '') {\n url = '/';\n }\n\n /* ===== HOST TOKENS ===== */\n\n (route.hosttokens || []).forEach((token) => {\n let value: any;\n\n if (token[0] === 'text') {\n host = token[1] + host;\n return;\n }\n\n if (token[0] === 'variable') {\n if (token[3] in params) {\n value = params[token[3]];\n delete unusedParams[token[3]];\n } else if (route.defaults && token[3] in route.defaults) {\n value = route.defaults[token[3]];\n }\n\n host = token[1] + value + host;\n }\n });\n\n url = this.context_.base_url + url;\n\n /* ===== SCHEME / HOST ===== */\n\n if (\n route.requirements &&\n '_scheme' in route.requirements &&\n this.getScheme() !== route.requirements['_scheme']\n ) {\n const currentHost = host || this.getHost();\n url =\n route.requirements['_scheme'] +\n '://' +\n currentHost +\n (currentHost.indexOf(':' + port) > -1 || port === '' ? '' : ':' + port) +\n url;\n } else if (\n route.schemes &&\n route.schemes[0] &&\n this.getScheme() !== route.schemes[0]\n ) {\n const currentHost = host || this.getHost();\n url =\n route.schemes[0] +\n '://' +\n currentHost +\n (currentHost.indexOf(':' + port) > -1 || port === '' ? '' : ':' + port) +\n url;\n } else if (\n host &&\n this.getHost() !==\n host + (host.indexOf(':' + port) > -1 || port === '' ? '' : ':' + port)\n ) {\n url =\n this.getScheme() +\n '://' +\n host +\n (host.indexOf(':' + port) > -1 || port === '' ? '' : ':' + port) +\n url;\n } else if (absolute === true) {\n url =\n this.getScheme() +\n '://' +\n this.getHost() +\n (this.getHost().indexOf(':' + port) > -1 || port === ''\n ? ''\n : ':' + port) +\n url;\n }\n\n /* ===== QUERY PARAMS ===== */\n\n if (Object.keys(unusedParams).length > 0) {\n const queryParams: string[] = [];\n\n const add = (key: string, value: any) => {\n value = typeof value === 'function' ? value() : value;\n value = value === null ? '' : value;\n queryParams.push(\n Router.encodeQueryComponent(key) +\n '=' +\n Router.encodeQueryComponent(value)\n );\n };\n\n for (const key in unusedParams) {\n this.buildQueryParams(key, unusedParams[key], add);\n }\n\n url += '?' + queryParams.join('&');\n }\n\n return url;\n }\n\n /* ========================\n * Encoding (Symfony compatible)\n * ======================== */\n\n static customEncodeURIComponent(value: any): string {\n return encodeURIComponent(value)\n .replace(/%2F/g, '/')\n .replace(/%40/g, '@')\n .replace(/%3A/g, ':')\n .replace(/%21/g, '!')\n .replace(/%3B/g, ';')\n .replace(/%2C/g, ',')\n .replace(/%2A/g, '*')\n .replace(/\\(/g, '%28')\n .replace(/\\)/g, '%29')\n .replace(/'/g, '%27');\n }\n\n static encodePathComponent(value: any): string {\n return Router.customEncodeURIComponent(value)\n .replace(/%3D/g, '=')\n .replace(/%2B/g, '+')\n .replace(/%21/g, '!')\n .replace(/%7C/g, '|');\n }\n\n static encodeQueryComponent(value: any): string {\n return Router.customEncodeURIComponent(value).replace(/%3F/g, '?');\n }\n}\n\n/* ========================\n * Singleton\n * ======================== */\n\nexport const Routing = new Router();\n","export class Event {\n static PRE_SEND_POST = 'SymfonyApiClientService_PRE_SEND_POST';\n static POST_SEND_POST = 'SymfonyApiClientService_POST_SEND_POST';\n static PRE_SEND_GET = 'SymfonyApiClientService_PRE_SEND_GET';\n static POST_SEND_GET = 'SymfonyApiClientService_POST_SEND_GET';\n static PRE_SEND = 'SymfonyApiClientService_PRE_SEND';\n static POST_SEND = 'SymfonyApiClientService_POST_SEND';\n static ADMINISTRATION_ELSEWHERE_CLICK = 'ADMINISTRATION_ELSEWHERE_CLICK';\n}\n","import { InjectionToken } from '@angular/core';\n\nexport interface NgCoreConfig {\n backendUrl: string;\n backendRoutesPath: string;\n externalLoginPage: string;\n}\n\nexport const NG_CORE_CONFIG = new InjectionToken<NgCoreConfig>('NG_CORE_CONFIG');\n","import {Injectable} from '@angular/core';\nimport {Subject, Subscription} from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class EventEmitterService<T = unknown> {\n\n private subjectComunicators: Map<string, Subject<T>> = new Map<string, Subject<T>>();\n private subscriptions = new Map<string, Map<(eventName: string, status: T) => void, Subscription>>();\n\n constructor() {\n }\n\n emit(eventName: string, data: T): void {\n const subject$ = this.subjectComunicators.get(eventName);\n if (subject$ !== undefined) {\n subject$.next(data);\n }\n }\n\n registerCallback(eventNames: string | string[], callback: (eventName: string, status: T) => void): void {\n if (!Array.isArray(eventNames)){\n eventNames = [eventNames];\n }\n eventNames.forEach((eventName, index) => {\n let subject$ = this.subjectComunicators.get(eventName);\n if (subject$ === undefined) {\n this.subjectComunicators.set(eventName, new Subject<T>());\n subject$ = this.subjectComunicators.get(eventName);\n this.subscriptions.set(eventName, new Map<(eventName: string, status: T) => void, Subscription>());\n }\n const subscription = (subject$ as any).subscribe((value => {callback(eventName, value); }));\n this.subscriptions.get(eventName)?.set(callback, subscription);\n });\n }\n\n unregisterCallback(eventNames: string | string[], callback: ((eventName: string, status: T) => void) | null = null): void {\n if (!Array.isArray(eventNames)){\n eventNames = [eventNames];\n }\n eventNames.forEach((eventName, index) => {\n if (!callback) {\n this.subscriptions.get(eventName)?.forEach((value, key, map) => {\n value.unsubscribe();\n });\n this.subscriptions.get(eventName)?.clear();\n } else {\n this.subscriptions.get(eventName)?.get(callback)?.unsubscribe();\n this.subscriptions.get(eventName)?.delete(callback);\n }\n if (!this.subscriptions.get(eventName)?.size){\n this.subscriptions.delete(eventName);\n this.subjectComunicators.delete(eventName);\n }\n });\n }\n}\n","import {Injectable} from '@angular/core';\nimport {ToastrService} from 'ngx-toastr';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NotifierService {\n\n constructor(private toastrService: ToastrService) {\n }\n\n notify(message: string, type: 'error' | 'success' | 'warning' = 'success'): void {\n switch (type) {\n case 'error':\n this.toastrService.error(message);\n break;\n case 'success':\n this.toastrService.success(message);\n break;\n case 'warning':\n this.toastrService.warning(message);\n break;\n }\n }\n\n success(message: string) {\n this.toastrService.success(message);\n }\n}\n","import {Injectable} from '@angular/core';\nimport { HttpErrorResponse } from '@angular/common/http';\nimport {NotifierService} from '../notifier.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class HttpResponseToasterService {\n\n constructor(private notifierService: NotifierService) {\n }\n\n showError(error: string | HttpErrorResponse, codeStatus?: number, errorMessage?: string): void {\n let completedMessage = '';\n if (error instanceof HttpErrorResponse) {\n if (error.error instanceof ErrorEvent) {\n completedMessage = 'Nepodařilo se kontaktovat server. Zkontrolujte stav vašeho připojení.';\n } else {\n switch (error.status) {\n case 404:\n completedMessage = 'Požadovaný cíl nebyl nalezen';\n break;\n case 500:\n completedMessage = 'Na serveru došlo k chybě. Opakujte prosím akci později.';\n break;\n case 403:\n completedMessage = 'Operace zamítnuta. Ujistěte se, že máte dostatečná práva.';\n break;\n case 401:\n completedMessage = error.error.message;\n break;\n case 400:\n // completedMessage = error.error ? error.error : 'Server nemůže zpracovat požadavek';\n break;\n case 422:\n if (error.error instanceof Blob && error.error.type === \"application/json\") {\n this.errorFromBlobResponseTYpe(error);\n } else {\n completedMessage = error.error.message;\n }\n break;\n default:\n completedMessage = 'Neočekávaná chyba serveru. Kód chyby: ' + error.status;\n break;\n }\n if (codeStatus && error.status === codeStatus) {\n completedMessage = errorMessage ?? '';\n }\n }\n } else {\n completedMessage = error;\n }\n if (completedMessage) {\n this.notifierService.notify(completedMessage, 'error');\n }\n }\n\n errorFromBlobResponseTYpe(error) {\n const reader = new FileReader();\n reader.onload = () => {\n const errorText = reader.result as string;\n try {\n const errorJson = JSON.parse(errorText);\n this.notifierService.notify(errorJson.message, 'error');\n } catch (e) {\n console.error('Nelze zparsovat chybu', e);\n }\n };\n reader.readAsText(error.error);\n }\n}\n","import { Inject, Injectable, PLATFORM_ID } from '@angular/core';\nimport { HttpClient, HttpErrorResponse, HttpResponse } from '@angular/common/http';\nimport {endWith, Observable, of, Subject, takeWhile, throwError} from 'rxjs';\nimport {catchError, finalize, map, switchMap, tap} from 'rxjs/operators';\nimport { Routing } from '../../external-library/router';\nimport {TokenInterface} from '../login/interfaces/token-interface';\nimport {EventEmitterService} from '../event-emitter-service';\nimport {Event} from './constants/event';\nimport {HttpResponseToasterService} from \"./http-response-toaster.service\";\nimport {Router} from \"@angular/router\";\nimport { isPlatformServer } from '@angular/common';\nimport { NG_CORE_CONFIG, NgCoreConfig } from '../../config';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SymfonyApiClientService {\n\n private status: 'none' | 'inProgress' | 'done' = 'none';\n private urlFetchNotification$ = new Subject<object>();\n private counterRequest = {post: 0, get: 0, all: 0};\n private routes: any;\n\n constructor(\n private httpClient: HttpClient,\n private eventEmitterService: EventEmitterService,\n private httpResponseToasterService: HttpResponseToasterService,\n private router: Router,\n @Inject(PLATFORM_ID) private platformId: object,\n @Inject(NG_CORE_CONFIG) private config: NgCoreConfig\n ) {\n }\n\n private downloadRoutes(): Observable<object> {\n return of(1).pipe(\n tap(value => this.status = 'inProgress'),\n switchMap(() => {\n return this.httpClient.get(this.config.backendUrl + this.config.backendRoutesPath,\n {\n responseType: 'json', headers: {fetchRoutes: 'true'}\n }).pipe(\n catchError(this.handleErrorRoute.bind(this)),\n tap(response => {\n this.status = 'done';\n this.routes = response;\n this.urlFetchNotification$.next(response);\n }));\n }\n )\n );\n }\n\n get<T = {}>(routeName: string, querySegmentParam?: {}, headersOptions: { [header: string]: string } = {}, options = {}): Observable<HttpResponse<T>> {\n const routesFromBackend$ = this.tryGetRoutes('get');\n return routesFromBackend$.pipe(\n switchMap(routes => {\n Routing.setRoutingData(routes);\n const path = Routing.generate(routeName, querySegmentParam);\n // if (querySegmentParam) {\n // querySegmentParam.forEach(value => {\n // path += '/' + value;\n // });\n // }\n return this.httpClient.get<T>(this.config.backendUrl + path, {\n observe: 'response', withCredentials: !!(this.config as any).externalLoginPage,\n headers: this.prepareHeader(headersOptions),\n ...options\n }).pipe(\n endWith(null),\n catchError((err) => {\n this.handleError(err);\n return throwError(err)\n }),\n finalize(this.generatePostSendCallbacks('post'))\n );\n }),\n takeWhile((x) => x != null)\n );\n }\n\n post<T = any>(routeName: string, data, querySegmentParam?: {}, headersOptions: { [header: string]: string } = {}, requestOptions = {}): Observable<HttpResponse<T>> {\n const routesFromBackend$ = this.tryGetRoutes('post');\n return routesFromBackend$.pipe(\n switchMap(routes => {\n Routing.setRoutingData(routes);\n const path = Routing.generate(routeName, querySegmentParam);\n // if (querySegmentParam) {\n // querySegmentParam.forEach(value => {\n // path += '/' + value;\n // });\n // }\n return this.httpClient.post<T>(this.config.backendUrl + path, data, {\n observe: 'response', withCredentials: (this.config as any).externalLoginPage,\n ...requestOptions,\n headers: this.prepareHeader(headersOptions)\n }).pipe(\n endWith(null),\n catchError((err) => {\n this.handleError(err);\n return throwError(err)\n }),\n finalize(this.generatePostSendCallbacks('post'))\n );\n }),\n takeWhile((x) => x != null)\n );\n }\n\n getData<T = {}>(routeName: string, querySegmentParam?: {}, headersOptions: { [header: string]: string } = {}, options = {}): Observable<T> {\n return this.get<T>(routeName, querySegmentParam, headersOptions, options).pipe(map(value => {\n return value.body as T;\n }));\n }\n\n refreshToken(loginData: {}, path): Observable<HttpResponse<TokenInterface>> {\n return this.post<TokenInterface>(path, loginData)\n .pipe(tap((httpResponse) => {\n this.token = (httpResponse.body as any).token;\n }));\n }\n\n private prepareHeader(headersOptions: { [header: string]: string } = {}): { [header: string]: string } {\n if (!isPlatformServer(this.platformId) && this.token) {\n headersOptions['Authorization'] = 'Bearer ' + this.token;\n }\n return headersOptions;\n }\n\n\n get token(): string | null {\n return localStorage.getItem('token');\n }\n\n set token(value: string) {\n localStorage.setItem('token', value);\n }\n\n private tryGetRoutes(type): Observable<object> {\n let routesFromBackend$: Observable<object>;\n routesFromBackend$ = new Observable<object>(subscriber => {\n this.emitPreSend(type);\n if (this.routes) {\n subscriber.next(this.routes);\n }\n else if (this.status === 'done' || this.status === 'none') {\n this.downloadRoutes().subscribe(value => subscriber.next(value));\n } else {\n const unsubscribe = this.urlFetchNotification$.subscribe(downloadedRoutes => {\n unsubscribe.unsubscribe();\n subscriber.next(downloadedRoutes);\n });\n }\n });\n\n return routesFromBackend$;\n }\n\n handleErrorRoute(error: HttpErrorResponse): Observable<never> {\n let completedMessage = '';\n this.status = 'none';\n if (error.error) {\n completedMessage = 'Nepodařilo se kontaktovat server pro získání routy';\n } else {\n completedMessage = 'Došlo k chybě při získání routy na server. Opakute akci později. Kód chyby: ' + error.status;\n }\n\n return throwError(completedMessage);\n }\n\n emitPreSend(type: 'get' | 'post'): void {\n if (type === 'get') {\n ++this.counterRequest.get;\n this.eventEmitterService.emit(Event.PRE_SEND_GET, true);\n } else {\n ++this.counterRequest.post;\n this.eventEmitterService.emit(Event.PRE_SEND_POST, true);\n }\n ++this.counterRequest.all;\n this.eventEmitterService.emit(Event.PRE_SEND, true);\n }\n\n generatePostSendCallbacks(type: 'get' | 'post'): (err?: any) => void {\n return () => {\n setTimeout(() => {\n if (type === 'get') {\n --this.counterRequest.get;\n if (!this.counterRequest.get) {\n this.eventEmitterService.emit(Event.POST_SEND_GET, false);\n }\n } else {\n --this.counterRequest.post;\n if (!this.counterRequest.post) {\n this.eventEmitterService.emit(Event.POST_SEND_POST, false);\n }\n }\n --this.counterRequest.all;\n if (!this.counterRequest.all) {\n this.eventEmitterService.emit(Event.POST_SEND, false);\n }\n }, 0);\n };\n }\n\n logout() {\n this.token = '';\n this.router.navigate(['/'], { onSameUrlNavigation: 'reload' });\n }\n\n handleError(error) {\n if (error instanceof HttpErrorResponse && error.status === 401) {\n this.logout();\n }\n this.httpResponseToasterService.showError(error);\n }\n}\n","import {Injectable, signal} from '@angular/core';\nimport {AbstractControl, FormControl, FormGroup} from \"@angular/forms\";\nimport {SymfonyApiClientService} from \"../api/symfony-api-client.service\";\nimport { HttpErrorResponse } from \"@angular/common/http\";\nimport {tap} from \"rxjs/operators\";\nimport {HttpResponseToasterService} from \"../api/http-response-toaster.service\";\nimport { formatDate } from '@angular/common';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ApiFormService {\n isSending = signal(false);\n constructor(\n private symfonyApiClientService: SymfonyApiClientService,\n private httpResponseToasterService: HttpResponseToasterService,\n ) { }\n\n send<T = any>(path: string, form: FormGroup, querySegment?: {}, additionalPostData = {}) {\n if (!form.valid) {\n form.markAllAsTouched();\n return null;\n }\n if (this.isSending()) {\n return null;\n }\n this.isSending.set(true);\n let data = {...form.value, ...additionalPostData};\n let formData = this.convertJsonToFormData(data, null, null);\n return this.symfonyApiClientService.post<T>(path, formData, querySegment).pipe(tap(next => {\n this.isSending.set(false);\n },\n (err: HttpErrorResponse) => {\n this.isSending.set(false);\n if (err.status === 400 && err.headers.get('Content-Type') === 'application/invalid-form+json') {\n this.supplyValidationErrors(err.error, form);\n }\n }\n ));\n }\n\n supplyValidationErrors(validationErrors: {}, abstractControl: AbstractControl): void {\n const baseErrors: string[] = [];\n const iterate = (errors: any, form: AbstractControl) => {\n Object.keys(errors).forEach(key => {\n if (Array.isArray(errors[key])){\n if (typeof errors[key][0] === 'string') {\n form.get(key)?.setErrors(errors[key], {emitEvent: true});\n } else {\n iterate(errors[key], form.get(key) as any);\n }\n }\n else if (typeof errors[key] === 'string') {\n baseErrors.push(errors[key]);\n }\n else {\n iterate(errors[key], form.get(key) as any);\n }\n });\n };\n iterate(validationErrors, abstractControl);\n if (baseErrors.length) {\n abstractControl.setErrors(baseErrors, {emitEvent: true});\n }\n }\n\n convertJsonToFormData(jsonObject: Object, parentKey, carryFormData: FormData | null): FormData {\n const formData = carryFormData || new FormData();\n let index = 0;\n\n for (var key in jsonObject) {\n if (jsonObject.hasOwnProperty(key)) {\n if (jsonObject[key] !== null && jsonObject[key] !== undefined) {\n var propName = parentKey || key;\n if (parentKey && this.isObject(jsonObject)) {\n propName = parentKey + '[' + key + ']';\n }\n if (parentKey && this.isArray(jsonObject)) {\n propName = parentKey + '[' + index + ']';\n }\n if (jsonObject[key] instanceof File) {\n formData.append(propName, jsonObject[key]);\n } else if (jsonObject[key] instanceof FileList) {\n for (var j = 0; j < jsonObject[key].length; j++) {\n formData.append(propName + '[' + j + ']', jsonObject[key].item(j));\n }\n } else if (this.isArray(jsonObject[key]) || this.isObject(jsonObject[key])) {\n if (this.isObject(jsonObject[key])) {\n if (jsonObject[key].hasOwnProperty('id')) {\n formData.append(propName, jsonObject[key].id);\n } else if(jsonObject[key] instanceof Date) {\n formData.append(propName, formatDate(jsonObject[key], 'yyyy-MM-dd HH:mm:ss', 'en-US'));\n } else {\n this.convertJsonToFormData(jsonObject[key], propName, formData);\n }\n }\n else {\n this.convertJsonToFormData(jsonObject[key], propName, formData);\n }\n } else if (typeof jsonObject[key] === 'boolean') {\n formData.append(propName, +jsonObject[key] ? '1': '0');\n } else {\n formData.append(propName, jsonObject[key]);\n }\n }\n }\n index++;\n }\n return formData;\n }\n isArray(val) {\n const toString = ({}).toString;\n return toString.call(val) === '[object Array]';\n }\n\n isObject(val) {\n return !this.isArray(val) && typeof val === 'object' && !!val;\n }\n\n}\n","import { Component, inject, input, OnInit, signal, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { ApiFormService } from '../../services/form/api-form.service';\nimport { NotifierService } from '../../services/notifier.service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { FileUpload } from 'primeng/fileupload';\nimport { Location } from '@angular/common';\nimport { SymfonyApiClientService } from '../../services/api/symfony-api-client.service';\nimport { DynamicDialogConfig, DynamicDialogRef } from 'primeng/dynamicdialog';\n\n@Component({\n selector: 'app-base-form-entity',\n imports: [],\n templateUrl: './base-form-entity.html',\n styleUrl: './base-form-entity.scss'\n})\nexport abstract class BaseFormEntity implements OnInit {\n @ViewChild('files') fileUploader!: FileUpload;\n entity = input<any>(null);\n sourceEntity = input(null);\n fb = inject(FormBuilder);\n apiForm = inject(ApiFormService);\n notifierService = inject(NotifierService);\n router = inject(Router);\n route = inject(ActivatedRoute);\n location = inject(Location);\n api = inject(SymfonyApiClientService);\n dynamicDialogRef = inject(DynamicDialogRef);\n dynamicDialogConf = inject(DynamicDialogConfig, {optional: true});\n form!: FormGroup;\n abstract controllerBaseName;\n\n constructor() {\n }\n\n abstract initForm();\n\n ngOnInit(): void {\n this.initForm();\n if (this.entity()) {\n this.form.patchValue(this.entity());\n }\n }\n\n submit() {\n let path = this.entity() ? this.controllerBaseName + '_update' : this.controllerBaseName + '_create';\n let params = this.dynamicDialogConf?.data?.params ?? (this.entity() ? { id: this.entity().id } : {});\n this.apiForm.send(path, this.form, params)?.subscribe((resp) => {\n this.fileUploader?.clear();\n this.form.get('files')?.reset();\n this.notifierService.success('Úspěšně provedeno');\n if (this.dynamicDialogConf) {\n this.dynamicDialogRef.close(resp.body);\n }\n else if (this.sourceEntity()) {\n this.location.back();\n } else {\n this.router.navigate([this.entity() ? './' : '../'], { onSameUrlNavigation: 'reload', relativeTo: this.route });\n }\n });\n }\n}\n","<p>base-form-entity works!</p>\n","import { Injectable } from '@angular/core';\nimport {ActivatedRoute, Router} from \"@angular/router\";\nexport interface BreadcrumbItem {\n label: string;\n routerLink: string;\n}\n@Injectable({\n providedIn: 'root'\n})\nexport class BreadcrumbService {\n constructor(private router: Router, private route: ActivatedRoute) {}\n\n getBreadcrumbs(route: ActivatedRoute = this.route.root, url: string = '', breadcrumbs: any[] = []): any[] {\n const children = route.children;\n\n if (children.length === 0) {\n return breadcrumbs;\n }\n\n for (const child of children) {\n const routeURL = child.snapshot.url.map(segment => segment.path).join('/');\n if (routeURL) {\n url += `/${routeURL}`;\n }\n let label = '';\n const breadcrumb = child.snapshot.data['breadcrumb'];\n label = typeof breadcrumb === 'object' ? breadcrumb.label : breadcrumb;\n let link = typeof breadcrumb === 'object' ? breadcrumb.link : null;\n const isDuplicate = breadcrumbs.length > 0 && breadcrumbs[breadcrumbs.length - 1].label === label;\n\n if (label && !isDuplicate) {\n let data = {label, url: url || '/', target: '_self'};\n if (!breadcrumbs.length) {\n data['icon'] = 'pi pi-home';\n }\n if (link) {\n data.url = link;\n }\n breadcrumbs.push(data);\n }\n\n return this.getBreadcrumbs(child, url, breadcrumbs);\n }\n\n return breadcrumbs;\n }\n}\n","import { Component } from '@angular/core';\nimport {ActivatedRoute, NavigationEnd, Router} from \"@angular/router\";\nimport {BreadcrumbService} from \"./services/breadcrumb.service\";\nimport {filter, startWith, tap} from \"rxjs/operators\";\nimport {MenuItem} from \"primeng/api\";\nimport {Breadcrumb} from \"primeng/breadcrumb\";\n\n@Component({\n selector: 'app-breadcrumb',\n imports: [\n Breadcrumb\n ],\n template: `<p-breadcrumb [model]=\"breadcrumbItems\"></p-breadcrumb>`,\n styleUrl: './breadcrumb.component.css'\n})\nexport class BreadcrumbComponent {\n breadcrumbItems: MenuItem[] = [];\n private breadcrumbs!: any[];\n\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n private breadcrumbService: BreadcrumbService\n ) {}\n\n ngOnInit(): void {\n this.router.events.pipe(\n filter(event => event instanceof NavigationEnd),\n startWith(null)\n ).subscribe(() => {\n this.breadcrumbItems = this.breadcrumbService.getBreadcrumbs();\n });\n }\n}\n","import {AfterContentInit, Component, ContentChild, ElementRef, Input} from '@angular/core';\nimport {\n MatDialogActions,\n MatDialogClose,\n MatDialogContent,\n MatDialogRef,\n MatDialogTitle\n} from \"@angular/material/dialog\";\nimport {MatButton} from \"@angular/material/button\";\nimport {CommonModule} from \"@angular/common\";\nimport {FormGroupDirective, NgForm} from \"@angular/forms\";\n\n@Component({\n selector: 'app-dialog',\n templateUrl: './dialog.component.html',\n imports: [\n CommonModule,\n MatDialogTitle,\n MatDialogActions,\n MatDialogContent,\n MatButton,\n MatDialogClose\n ],\n styleUrls: ['./dialog.component.css']\n})\nexport class DialogComponent {\n @Input() saveButtonShow = true;\n @Input() saveData: any = true;\n @ContentChild('submit') submit?: ElementRef;\n\n constructor(public dialogRef: MatDialogRef<any>) { }\n\n\n onSubmit() {\n if (this.submit) {\n this.submit.nativeElement.click();\n } else {\n this.dialogRef.close(this.saveData);\n }\n }\n}\n","<h1 mat-dialog-title>\n <ng-content select=\"[title]\"></ng-content>\n</h1>\n<div mat-dialog-content>\n <ng-content select=\"[content]\"></ng-content>\n</div>\n<mat-dialog-actions class=\"float-end\">\n <button mat-button [mat-dialog-close] = \"false\">Zrušit</button>\n <button *ngIf=\"saveButtonShow && !refCustomButton.hasChildNodes()\" (click)=\"onSubmit()\" mat-button>\n <span #ref><ng-content select=\"[save-button]\"></ng-content></span>\n <ng-container *ngIf=\"!ref.hasChildNodes()\">\n Uložit\n </ng-container>\n </button>\n <span #refCustomButton>\n <ng-content select=\"[custom-button]\"></ng-content>\n </span>\n\n</mat-dialog-actions>\n","import {Component, Input, OnInit} from '@angular/core';\nimport {animate, state, style, transition, trigger} from '@angular/animations';\n\n@Component({\n selector: 'app-animation-hider',\n standalone: true,\n templateUrl: './animation-hider.component.html',\n styleUrls: ['./animation-hider.component.css'],\n animations: [\n trigger('showHide', [\n state('show', style({\n opacity: 1,\n })),\n state('hide', style({\n opacity: 0,\n })),\n transition('show <=> hide', [\n animate('0.2s')\n ]),\n ]),\n ]\n})\nexport class AnimationHiderComponent implements OnInit {\n\n @Input() show = false;\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","<div [@showHide]=\"show ? 'show' : 'hide'\" [class]=\"show ? 'show' : 'hide'\" class=\"animation-hider-container\">\n <ng-content></ng-content>\n</div>\n","import {ChangeDetectorRef, Component, HostBinding, Input, OnDestroy, OnInit} from '@angular/core';\nimport {EventEmitterService} from '../../../services/event-emitter-service';\nimport {NgIf} from \"@angular/common\";\n\n@Component({\n selector: 'app-hidder',\n templateUrl: './hidder.component.html',\n imports: [\n NgIf\n ],\n styleUrls: ['./hidder.component.css']\n})\nexport class HidderComponent implements OnInit, OnDestroy {\n\n display = 'none';\n @Input() showOn!: string;\n @Input() hideOn!: string;\n callback = this.changeStatus.bind(this);\n\n constructor(\n private asyncComunicatorService: EventEmitterService<boolean>,\n private cd: ChangeDetectorRef\n ) { }\n\n ngOnInit(): void {\n this.asyncComunicatorService.registerCallback([this.showOn, this.hideOn], this.callback);\n }\n\n changeStatus(eventName: string, asyncPost: boolean): void {\n if (eventName === this.showOn) {\n this.display = 'block';\n } else {\n this.display = 'none';\n }\n this.cd.detectChanges();\n\n }\n\n ngOnDestroy(): void {\n this.asyncComunicatorService.unregisterCallback([this.showOn, this.hideOn], this.callback);\n }\n}\n","<ng-container *ngIf=\"display === 'block'\">\n <ng-content></ng-content>\n</ng-container>\n","import { HttpClient, HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { SymfonyApiClientService } from '../../../services/api/symfony-api-client.service';\n\nexport interface DataTableRequest {\n page: number; // 0-based\n size: number;\n sortField?: string | null;\n sortOrder?: 1 | -1 | 0 | null;\n filters?: { [key: string]: any };\n}\n\nexport interface DataTableResponse<T> {\n data: T[];\n total: number;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DataTableService {\n\n constructor(\n private apiClientService: SymfonyApiClientService,\n ) {\n\n }\n\n loadLazyTableData(url: string, event, urlParams) {\n const req = {\n page: (event.first ?? 0) / (event.rows ?? 10),\n size: event.rows ?? 10,\n sortField: event.sortField ?? null,\n sortOrder: event.sortOrder ?? null,\n filters: Object.fromEntries(\n Object.entries(event.filters ?? {}).map(([key, f]: any) => [key, f.value])\n )\n };\n return this.loadData<any>(url, req, urlParams);\n }\n\n loadData<T>(url: string, req: DataTableRequest, urlParams): Observable<DataTableResponse<T>> {\n let params = {\n page: req.page.toString(),\n size: req.size.toString(),\n };\n\n if (req.sortField) {\n params['sortField'] = req.sortField;\n params['sortOrder'] = String(req.sortOrder);\n }\n if (urlParams) {\n params = {...params, ...urlParams};\n }\n\n if (req.filters) {\n Object.keys(req.filters).forEach(key => {\n const val = req.filters![key];\n if (val != null && val !== '') {\n params[key] = val;\n }\n });\n }\n return this.apiClientService.getData<DataTableResponse<T>>(url, params);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { SymfonyApiClientService } from './api/symfony-api-client.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AresService {\n\n constructor(\n private apiClientService: SymfonyApiClientService\n ) {\n }\n\n fetch(ico: string) {\n return this.apiClientService.getData('ares_basic', {ico: ico});\n }\n}\n","import { Injectable } from '@angular/core';\nimport {ConfirmationService} from \"primeng/api\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ConfirmDialogService {\n\n constructor(\n private confirmationService: ConfirmationService\n ) { }\n\n show(header: string, message: string, acceptCallback: () => void, confirmButtonText = 'Ano') {\n this.confirmationService.confirm({\n header: header,\n message: message,\n closable: true,\n closeOnEscape: true,\n icon: 'pi pi-exclamation-triangle',\n rejectButtonProps: {\n label: 'Zrušit',\n severity: 'secondary',\n outlined: true,\n },\n acceptButtonProps: {\n label: confirmButtonText,\n },\n accept: acceptCallback\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport {Observable} from \"rxjs\";\nimport {tap} from \"rxjs/operators\";\nimport {SymfonyApiClientService} from \"./api/symfony-api-client.service\";\nimport { isObject } from 'chart.js/helpers';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FileService {\n\n constructor(\n private symfonyApiClientService: SymfonyApiClientService,\n ) { }\n\n downloadFile(id, path='file_download'): Observable<any> {\n let params = typeof id == 'object' ? id : {id};\n return this.symfonyApiClientService.get<Blob>(path, params, {}, {responseType: 'blob', observe: 'response'}).pipe(\n tap((response: any) => {\n var blob = new Blob([response.body], { type: response.headers.get('content-type') });\n const contentDisposition = response.headers.get('Content-Disposition');\n if (contentDisposition.match(/inline/)) {\n window.open(URL.createObjectURL(blob));\n return;\n } else {\n const fileName = this.getFileNameFromContentDisposition(contentDisposition);\n const url = window.URL.createObjectURL(blob);\n const a = document.createElement('a');\n a.href = url;\n a.download = fileName;\n a.click();\n }\n })\n );\n }\n\n private getFileNameFromContentDisposition(contentDisposition: string): string {\n const fileNameMatch = contentDisposition && contentDisposition.match(/filename=\"(.+)\"/);\n return fileNameMatch && fileNameMatch[1] ? fileNameMatch[1] : 'default.zip';\n }\n}\n","import {ElementRef, Injectable} from '@angular/core';\nimport html2canvas from 'html2canvas';\nimport {from, Observable} from \"rxjs\";\nimport {map} from \"rxjs/operators\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ImageService {\n\n constructor() { }\n\n static screenshot(ref: ElementRef): Observable<string> {\n let element = ref.nativeElement as HTMLElement;\n return from(html2canvas(element,\n {\n useCORS: true,\n allowTaint : true,\n logging: true,\n }\n ))\n .pipe(map(canvas => canvas.toDataURL(\"image/png\")));\n }\n}\n","import { Injectable } from '@angular/core';\nimport {concat, from, Observable} from \"rxjs\";\nimport {tap} from \"rxjs/operators\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ImportScriptService {\n isImported = false;\n\n constructor() { }\n\n import(...paths) {\n this.isImported = false;\n let observerables = paths.map(value => from(import(value)));\n return concat(...observerables).pipe(tap(value => this.isImported = true));\n }\n}\n","import {DomSanitizer, SafeResourceUrl} from \"@angular/platform-browser\";\nimport {Injectable, SecurityContext} from \"@angular/core\";\n@Injectable({\n providedIn: 'root'\n})\nexport class UrlService {\n constructor(\n private sanitizer: DomSanitizer,\n ) {\n }\n\n getYoutubeVideoUrl(videoPath: string) {\n const videoUrl = this.validateYouTubeUrl(videoPath);\n let result: any = '';\n if (videoUrl) {\n result = this.sanitizer.sanitize(SecurityContext.RESOURCE_URL, this.sanitizer.bypassSecurityTrustResourceUrl(videoUrl));\n }\n return result;\n }\n\n validateYouTubeUrl(url: string) {\n if (url !== undefined || url !== '') {\n const regExp = /^.*(youtu.be\\/|v\\/|u\\/\\w\\/|embed\\/|watch\\?v=|\\&v=|\\?v=)([^#\\&\\?]*).*/;\n const match = url.match(regExp);\n if (match && match[2].length === 11) {\n // Do anything for being valid\n // if need to change the url to embed url then use below line\n return 'https://www.youtube.com/embed/' + match[2] + '?autoplay=0';\n } else {\n return false;\n }\n }\n\n return false;\n }\n}\n","import { Injectable } from '@angular/core';\nimport {FormBuilder, FormGroup, FormGroupDirective} from \"@angular/forms\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FormService {\n\n constructor(private formBuilder: FormBuilder) {\n }\n\n createForm(formFields: {}, settings: any): FormGroup {\n const form = this.formBuilder.group(formFields);\n if (settings) {\n form.patchValue(settings);\n }\n form.statusChanges.subscribe(status => {\n if (status === 'VALID') {\n const formValue = form.value as any;\n Object.assign(settings, formValue);\n }\n });\n return form;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { jwtDecode } from \"jwt-decode\";\nimport {SymfonyApiClientService} from '../api/symfony-api-client.service';\nimport {map, switchMap, tap} from 'rxjs/operators';\nimport {TokenInterface} from './interfaces/token-interface';\nimport {Observable, of} from 'rxjs';\nimport { HttpResponse } from '@angular/common/http';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LoginClientService {\n\n constructor(\n private symfonyApiClient: SymfonyApiClientService,\n ) {\n }\n\n tryLogin(loginData: {}, path = 'login_token'): Observable<HttpResponse<TokenInterface>> {\n return this.symfonyApiClient.refreshToken(loginData, path);\n }\n\n isLoggedIn(): boolean | null {\n const decoded = this.decodeAccessToken(this.symfonyApiClient.token);\n if (!decoded) {\n return null;\n }\n if (new Date(decoded.exp * 1000) < new Date()) {\n return false;\n }\n return true;\n }\n\n logout(): void {\n if (localStorage.getItem('originToken')) {\n localStorage.removeItem('originToken');\n }\n this.symfonyApiClient.logout();\n }\n\n decodeAccessToken(token: string | null): {exp: number} | null {\n try {\n return token && jwtDecode(token) as any;\n } catch (Error) {\n return null;\n }\n }\n\n impersonation(id: string) {\n if (id && this.isLoggedIn()) {\n let origin = this.symfonyApiClient.token as string;\n return this.tryLogin({id}, 'login_relogin').pipe(tap(response => {\n localStorage.setItem('originToken', origin);\n }));\n }\n return null;\n }\n\n removeImpersonation() {\n if (this.isImpersonation()) {\n this.symfonyApiClient.token = localStorage.getItem('originToken') as string;\n localStorage.removeItem('originToken');\n }\n }\n\n isImpersonation(): boolean {\n return !!localStorage.getItem('originToken');\n }\n}\n","import {inject, Injectable} from '@angular/core';\nimport {\n Router, Resolve,\n RouterStateSnapshot,\n ActivatedRouteSnapshot\n} from '@angular/router';\nimport {Observable, of, throwError} from 'rxjs';\nimport {catchError, map} from 'rxjs/operators';\nimport {SymfonyApiClientService} from '../api/symfony-api-client.service';\nimport {HttpResponseToasterService} from '../api/http-response-toaster.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class GenericResolver implements Resolve<{}[]> {\n\n constructor(\n private symfonyApiClientService: SymfonyApiClientService,\n private httpResponseToasterService: HttpResponseToasterService,\n ) {\n }\n\n resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<{}[]> {\n const config = route.data['resolverConfig'];\n const routeName = config.data.route;\n const queryMap = (config.queryDataMap ?? {}) as {string: string};\n const quryParam = {};\n const pathFromRoot = route.pathFromRoot;\n for (const [key, value] of Object.entries(queryMap)) {\n quryParam[value] = GenericResolver.getParameterFromUrl(key, pathFromRoot);\n }\n\n return this.symfonyApiClientService.get<{}[]>(routeName, quryParam)\n .pipe(catchError(err => {\n return throwError(err);\n }), map(httpResponse => {\n return httpResponse.body;\n })) as any;\n }\n\n static getParameterFromUrl(name: string, pathFromRoot: ActivatedRouteSnapshot[]) {\n for (const path of pathFromRoot.reverse()) {\n if (path.paramMap.has(name)) {\n return path.paramMap.get(name);\n }\n }\n\n return 'paramNotFound';\n }\n\n static create(routeName, queryMap: any = {}) {\n return (route: ActivatedRouteSnapshot, state: RouterStateSnapshot) => {\n let symfonyApiClientService = inject(SymfonyApiClientService);\n const queryParamResult = {};\n const pathFromRoot = route.pathFromRoot;\n for (const [key, value] of Object.entries<string>(queryMap)) {\n queryParamResult[value] = this.getParameterFromUrl(key, pathFromRoot);\n }\n return symfonyApiClientService.get(routeName, queryParamResult).pipe(catchError(err => {\n return throwError(err);\n }), map(httpResponse => {\n return httpResponse.body;\n }));\n }\n }\n}\n","import { Component, inject, OnInit, signal } from '@angular/core';\nimport { DataTableService } from './services/data-table-service';\nimport { ConfirmDialogService } from '../../services';\nimport { SymfonyApiClientService } from '../../services';\nimport { NotifierService } from '../../services';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { parseJson } from '@angular/cli/src/utilities/json-file';\n\n@Component({\n selector: 'app-lazy-base-table',\n imports: [],\n templateUrl: './lazy-base-table.html',\n styleUrl: './lazy-base-table.scss'\n})\nexport abstract class LazyBaseTable implements OnInit {\n baseTableStatePrefix = 'lazy_base_table_';\n stateKey = '';\n entities = signal<any[]>([]);\n totalRecords = signal(0);\n loading = signal(false);\n tableService = inject(DataTableService);\n symfonyApiClientService = inject(SymfonyApiClientService);\n confirmDialogServiceService = inject(ConfirmDialogService);\n notifierService = inject(NotifierService);\n router = inject(Router);\n route = inject(ActivatedRoute);\n abstract baseUrl;\n private lastEvent;\n urlParams = {};\n\n ngOnInit(): void {\n this.initUrlParams();\n }\n\n loadEntities(event) {\n this.lastEvent = event;\n this.loading.set(true);\n this.tableService.loadLazyTableData(this.baseUrl+'_list',\n event, this.urlParams).subscribe({\n next: (value) => {\n this.loading.set(false);\n this.entities.set(value.data);\n this.totalRecords.set(value.total);\n },\n error: (error) => {\n this.loading.set(false);\n }\n });\n }\n\n refresh() {\n this.loadEntities(this.lastEvent);\n }\n\n delete(entity: any) {\n this.confirmDialogServiceService.show('Smazat entitu', 'Opravdu si přejete smazat záznam?', () => {\n this.symfonyApiClientService.get(this.baseUrl+'_delete', { id: entity.id }).subscribe((value) => {\n this.notifierService.success('Úspěšně smazáno');\n this.refresh();\n });\n });\n }\n\n initUrlParams() {\n if (this.stateKey) {\n if (localStorage.getItem(this.baseTableStatePrefix+'url_params')) {\n this.urlParams = JSON.parse(localStorage.getItem(this.baseTableStatePrefix+'url_params') as any);\n }\n }\n }\n\n setUrlParams(urlParams) {\n if (this.baseTableStatePrefix) {\n localStorage.setItem(this.baseTableStatePrefix+'url_params', JSON.stringify(urlParams));\n this.urlParams = urlParams;\n }\n }\n}\n","<p>lazy-base-table works!</p>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-loader-component',\n imports: [],\n templateUrl: './loader-component.html',\n styleUrl: './loader-component.css'\n})\nexport class LoaderComponent {\n\n}\n","<div id=\"loader\"></div>\n","import {Component, Input, OnInit, Type, ViewChild, ViewContainerRef} from '@angular/core';\nimport {AdminAbleInterface} from '../interfaces/admin-able-interface';\nimport {SettingAbleInterface} from '../interfaces/setting-able-interface';\nimport {InitAbleInterface} from \"../../modal/moveable-modal/interfaces/init-able-interface\";\nimport {AdminSettingAbleInterface} from \"../interfaces/admin-setting-able-interface\";\nimport {MatIcon} from \"@angular/material/icon\";\nimport {CommonModule} from \"@angular/common\";\n\n@Component({\n selector: 'app-mini-admin',\n templateUrl: './mini-admin.component.html',\n imports: [\n CommonModule,\n MatIcon\n ],\n styleUrls: ['./mini-admin.component.css']\n})\nexport class MiniAdminComponent implements OnInit, InitAbleInterface<AdminSettingAbleInterface> {\n\n @ViewChild('content1', {read: ViewContainerRef, static: true}) content1!: ViewContainerRef;\n adminAble!: AdminAbleInterface & SettingAbleInterface;\n selectedComponent!: new() => any;\n headerName = '';\n settings: any;\n admin!: SettingAbleInterface;\n label = '';\n allowedAdminComponent = null;\n constructor() { }\n\n ngOnInit(): void {\n }\n\n showContent(component: new() => SettingAbleInterface, label: string) {\n if (this.allowedAdminComponent && this.allowedAdminComponent != component) {\n return;\n }\n this.selectedComponent = component;\n this.content1.clear();\n this.admin = this.content1.createComponent<SettingAbleInterface>(component).instance;\n this.admin.contextObject = this.adminAble.contextObject;\n this.admin.settings = this.settings;\n this.label = label;\n }\n\n @Input() set setInitParams(value: AdminSettingAbleInterface) {\n this.adminAble = value;\n this.settings = value.settings;\n this.showContent(value.adminComponentsClass[0].component, value.adminComponentsClass[0].label);\n }\n}\n","<div class=\"container-fluid\">\n <div class=\"row sidebar-dark-primary\">\n <nav class=\"col-4\" id=\"sidebar\">\n <div class=\"brand-link mt-3\">\n <span class=\"brand-text font-weight-light\"><mat-icon class=\"align-middle\">menu</mat-icon> Menu</span>\n </div>\n <ul *ngIf=\"adminAble\" class=\"list-unstyled components mb-5\">\n <li [class]=\"{active: selectedComponent === setting.component, invisible: allowedAdminComponent && setting.component != allowedAdminComponent}\" *ngFor=\"let setting of adminAble.adminComponentsClass;\">\n <a href=\"#\" (click)=\"showContent(setting.component, setting.label);$event.preventDefault()\">\n <span class=\"fa fa-chevron-right me-3\"></span>{{setting.label}}</a>\n </li>\n </ul>\n </nav>\n\n <div id=\"content\" class=\"col\">\n <h5>{{label}}</h5>\n <div class=\"content-block\">\n <ng-container #content1></ng-container>\n </div>\n </div>\n </div>\n</div>\n\n\n\n\n\n\n","import {\n Component,\n Inject, OnInit, ViewChild,\n ViewContainerRef\n} from '@angular/core';\nimport {MAT_DIALOG_DATA, MatDialogClose} from '@angular/material/dialog';\nimport {InitAbleInterface} from './interfaces/init-able-interface';\nimport {Subject} from \"rxjs\";\nimport {CdkDrag, CdkDragHandle} from \"@angular/cdk/drag-drop\";\nimport {MatIcon} from \"@angular/material/icon\";\n\n@Component({\n selector: 'app-moveable-modal',\n templateUrl: './moveable-modal.component.html',\n imports: [\n CdkDrag,\n CdkDragHandle,\n MatIcon,\n MatDialogClose\n ],\n styleUrls: ['./moveable-modal.component.css']\n})\nexport class MoveableModalComponent<T> implements OnInit {\n\n @ViewChild('modalContent', {read: ViewContainerRef, static: true}) content!: ViewContainerRef;\n title = '';\n instanceReady$ = new Subject<InitAbleInterface<T>>();\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: {contentComponent: new() => InitAbleInterface<T>, params: T, title: string}\n ) {\n this.title = data.title;\n }\n\n ngOnInit(): void {\n let instance = this.content.createComponent<InitAbleInterface<T>>(this.data.contentComponent).instance;\n if (this.data.params) {\n instance.setInitParams = this.data.params;\n }\n this.instanceReady$.next(instance);\n }\n}\n","<div cdkDrag cdkDragRootElement=\".cdk-overlay-pane\" class=\"align-items-stretch\">\n <div cdkDragHandle class=\"move-line d-flex justify-content-between align-items-center\">\n <span class=\"header-title\">{{title ?? ''}}</span>\n <mat-icon [mat-dialog-close]=\"false\" class=\"close-icon\">close</mat-icon>\n </div>\n <ng-container #modalContent></ng-container>\n</div>\n","import {Component, Inject} from '@angular/core';\nimport {MAT_DIALOG_DATA} from \"@angular/material/dialog\";\nimport {DialogComponent} from \"../dialog/dialog.component\";\n\n@Component({\n selector: 'app-remove-item',\n templateUrl: './remove-item.component.html',\n imports: [\n DialogComponent\n ],\n styleUrls: ['./remove-item.component.css']\n})\nexport class RemoveItemComponent {\n constructor(@Inject(MAT_DIALOG_DATA) public data: {name: string}) {\n }\n}\n","<app-dialog>\n <ng-container title>Smazání - {{data.name}}</ng-container>\n <ng-container content>Opravdu si přejete smazat: {{data.name}}?</ng-container>\n <ng-container save-button>Ano</ng-container>\n</app-dialog>\n","import { Component } from '@angular/core';\nimport { DynamicDialogConfig, DynamicDialogRef } from 'primeng/dynamicdialog';\n\n@Component({\n selector: 'app-simple-dialog-component',\n imports: [],\n templateUrl: './simple-dialog-component.html',\n styleUrl: './simple-dialog-component.scss'\n})\nexport class SimpleDialogComponent {\n text = '';\n\n constructor(\n public dynamicDialogConfig: DynamicDialogConfig,\n public dynamicDialogRef: DynamicDialogRef,\n ) {\n this.text = this.dynamicDialogConfig.data.text.replace(/\\r?\\n/g, '<br>');;\n }\n}\n","<div [innerHTML]=\"text\">\n</div>\n","import {Injectable} from '@angular/core';\nimport {MoveableModalComponent} from '../moveable-modal.component';\nimport {MatDialog} from '@angular/material/dialog';\nimport {InitAbleInterface} from \"../interfaces/init-able-interface\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MoveableModalService {\n constructor(\n public dialog: MatDialog\n ) {\n }\n\n show<T>(contentComponent: new() => InitAbleInterface<T>, params: T, title: string = '') {\n return this.dialog.open(MoveableModalComponent<T>, {\n data: {\n contentComponent,\n params,\n title: title,\n },\n width: '888px',\n maxHeight: '600px',\n position: {top: '110px'}\n });\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport {FormControlName, ValidationErrors} from '@angular/forms';\nimport {CommonModule} from \"@angular/common\";\n\n@Component({\n selector: 'app-error-message',\n templateUrl: './error-message.component.html',\n styleUrls: ['./error-message.component.css'],\n imports: [\n CommonModule\n ]\n})\nexport class ErrorMessageComponent implements OnInit {\n\n private _errors: ValidationErrors = [];\n control!: FormControlName;\n objectKeys = Object.keys;\n\n constructor() {\n }\n\n ngOnInit(): void {\n }\n\n getMessage(index: string, errors) {\n let message = '';\n switch (index) {\n case 'required':\n message = 'Toto pole je povinné';\n break;\n default:\n message = errors[index];\n break;\n }\n\n return message;\n }\n\n get errors(): ValidationErrors {\n return this._errors;\n }\n\n set errors(value: ValidationErrors) {\n this._errors = value;\n }\n}\n","<div *ngFor=\"let errorKey of objectKeys(control.errors ?? [])\">\n <div class=\"validation-error-message small\">{{getMessage(errorKey, control.errors)}}</div>\n</div>\n","import {\n AfterViewChecked,\n Directive,\n Input,\n} from '@angular/core';\n\n@Directive({\n selector: '[appInputFormErrorGrouper]',\n standalone: true\n})\nexport class InputFormErrorGrouperDirective implements AfterViewChecked{\n\n @Input('appInputFormErrorGrouper') groupeName!: string;\n hasError = false;\n\n constructor() {\n\n }\n\n ngAfterViewChecked(): void {\n this.hasError = false;\n }\n}\n","import {AfterContentInit, Component, Host, Optional} from '@angular/core';\nimport {FormGroupDirective, ValidationErrors} from '@angular/forms';\nimport {InputFormErrorGrouperDirective} from '../../input-form-error-grouper.directive';\nimport {CommonModule} from \"@angular/common\";\n\n@Component({\n selector: 'app-global-form-error',\n templateUrl: './global-form-error.component.html',\n styleUrls: ['./global-form-error.component.css'],\n imports: [\n CommonModule,\n ]\n})\nexport class GlobalFormErrorComponent implements AfterContentInit{\n\n errors: ValidationErrors = {};\n objectKeys = Object.keys;\n\n constructor(\n @Host() @Optional() private parentFormControl?: FormGroupDirective,\n @Host() @Optional() private inputFormErrorGrouperDirective?: InputFormErrorGrouperDirective,\n ) { }\n\n ngAfterContentInit(): void {\n if (!this.parentFormControl) {\n return;\n }\n this.parentFormControl.statusChanges?.subscribe(status => {\n if (status === 'INVALID') {\n this.errors = this.parentFormControl?.errors ?? {};\n if (this.inputFormErrorGrouperDirective) {\n this.inputFormErrorGrouperDirective.hasError = true;\n }\n }\n });\n }\n}\n","<div class=\"mb-3\" *ngFor=\"let errorKey of objectKeys(errors)\">\n <div class=\"validation-error-message small\">{{errors[errorKey]}}</div>\n</div>\n","import { AfterContentChecked, AfterContentInit, ChangeDetectorRef, ComponentFactoryResolver, ContentChild, Directive, DoCheck, ElementRef, Host, input, Input, OnDestroy, OnInit, Optional, Renderer2, Self, ViewContainerRef } from '@angular/core';\nimport { ControlContainer, Form, FormControlName, FormGroup, FormGroupDirective, NgControl, ValidationErrors } from '@angular/forms';\nimport {ErrorMessageComponent} from './components/error-message/error-message.component';\nimport {InputFormErrorGrouperDirective} from './input-form-error-grouper.directive';\n\n@Directive({\n selector: '[appFormError]',\n standalone: true,\n})\nexport class InputFormErrorDirective implements OnInit, DoCheck{\n\n @ContentChild(FormControlName, {read: FormControlName, static: true}) formInput!: FormControlName;\n @ContentChild(NgControl, {read: ElementRef, static: true}) formInputElementRef!: ElementRef;\n @ContentChild('errorFormContainer', {read: ViewContainerRef, static: true}) errorFormContainer!: ViewContainerRef;\n private errorMessageComonent!: ErrorMessageComponent;\n private isError = false;\n rootFormGroupDirective = input<FormGroupDirective>();\n\n constructor(\n private renderer2: Renderer2,\n private elementRef: ElementRef,\n private selfViewContainer: ViewContainerRef,\n private cdRef: ChangeDetectorRef,\n private formGroup: FormGroupDirective,\n @Host() @Optional() private inputFormErrorGrouperDirective: InputFormErrorGrouperDirective,\n @Optional() @Self() private selfInput?: FormControlName,\n ) {\n }\n\n ngOnInit(): void {\n if (this.selfInput) {\n this.errorFormContainer = this.selfViewContainer;\n this.formInputElementRef = this.elementRef;\n } else {\n if (!this.errorFormContainer) {\n this.errorFormContainer = this.selfViewContainer;\n }\n this.selfInput = this.formInput;\n }\n }\n ngDoCheck(): void {\n if (this.rootFormGroupDirective()?.submitted || this.formGroup.submitted) {\n if (!this.isError && this.selfInput?.errors) {\n this.isError = true;\n this.createErrorMessage();\n } else if(this.isError && !this.selfInput?.errors) {\n this.isError = false;\n this.clearMessage();\n }\n }\n }\n createErrorMessage(): void {\n this.errorMessageComonent = this.errorFormContainer.createComponent(ErrorMessageComponent).instance;\n if (this.selfInput) {\n this.errorMessageComonent.errors = this.selfInput.errors as any;\n this.errorMessageComonent.control = this.selfInput;\n }\n }\n clearMessage(): void {\n this.errorFormContainer.clear();\n }\n}\n","import {ChangeDetectorRef, Directive, HostBinding, Input, OnDestroy, OnInit} from '@angular/core';\nimport {EventEmitterService} from '../../services/event-emitter-service';\n\n@Directive({\n selector: '[appHiderElement]',\n standalone: true,\n})\nexport class HiderElementDirective implements OnInit, OnDestroy{\n\n @Input() showOn!: string;\n @Input() hideOn!: string;\n @HostBinding('style.display') display = 'none';\n callback = this.changeStatus.bind(this);\n\n constructor(\n private asyncComunicatorService: EventEmitterService<boolean>,\n private cd: ChangeDetectorRef\n ) {\n\n }\n\n ngOnInit(): void {\n this.asyncComunicatorService.registerCallback([this.showOn, this.hideOn], this.callback);\n }\n\n changeStatus(eventName: string, asyncPost: boolean): void {\n if (eventName === this.showOn) {\n this.display = 'block';\n //this.cd.detectChanges();\n } else {\n this.display = 'none';\n }\n }\n\n ngOnDestroy(): void {\n this.asyncComunicatorService.unregisterCallback([this.showOn, this.hideOn], this.callback);\n }\n\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LinkDeactivateService {\n\n deactivate = false;\n constructor() { }\n}\n","import {Directive, HostListener} from '@angular/core';\nimport {LinkDeactivateService} from \"./services/link-deactivate.service\";\n\n@Directive({\n standalone: true,\n selector: '[appLinkDeactivate]'\n})\nexport class LinkDeactivateDirective {\n\n constructor(\n private linkDeactivateService: LinkDeactivateService\n ) { }\n\n @HostListener('click', ['$event'])\n click(event: MouseEvent) {\n if (this.linkDeactivateService.deactivate) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n\n}\n","import {CanActivateFn, Router} from '@angular/router';\nimport {inject} from \"@angular/core\";\nimport { LoginClientService } from '../services/login/login-client.service';\n\nexport const loginGuard: CanActivateFn = (route, state) => {\n let loginClient = inject(LoginClientService);\n let router = inject(Router);\n if (!loginClient.isLoggedIn()) {\n return router.parseUrl('/login');\n }\n\n return true;\n};\n","import * as _ from 'lodash';\nimport { TreeNode } from 'primeng/api';\n\nexport class ArrayHelper {\n\n static uniqueBy<T, K extends keyof T>(items: T[], key: K): T[] {\n const map = new Map<T[K], T>();\n\n for (const item of items) {\n map.set(item[key], item);\n }\n\n return Array.from(map.values());\n }\n\n static treeToPrimengTreeNode(data: any[]): TreeNode[] {\n let fn = (entities: any[]) => {\n return entities.map((entity) => {\n return {\n key: entity.id,\n id: entity.id,\n label: entity.name,\n data: entity,\n expanded: false,\n children: fn(entity.children ?? [])\n };\n });\n };\n return fn(data)\n }\n\n static reinitArray(arrayToReinit: any[], newValues: any[]) {\n arrayToReinit.length = 0;\n arrayToReinit.push(...newValues);\n }\n\n static sortTree(data: {children: any[]}[], sortProperties = ['name']) {\n let sortFnc = (dataArray: any[]) => {\n let sorted = _.orderBy(dataArray, sortProperties, ['asc']);\n this.reinitArray(dataArray, sorted);\n dataArray.filter((value: any) => value.children ?? null).forEach(value => {\n sortFnc(value.children);\n })\n }\n sortFnc(data);\n }\n static objectWithLevelToNestedArray(objects: {level: number}[]) {\n const levelMap = new Map<number, any[]>();\n let currentLevel = -1;\n const treeCallback = (data: {level: number, children?: []}) => {\n data = {...data};\n if (!data.hasOwnProperty('children')) {\n data.children = [];\n }\n if (data.level > currentLevel) {\n if (!data.level) {\n levelMap.set(data.level, []);\n } else {\n const parentLevelArray = levelMap.get(data.level - 1);\n if (parentLevelArray) {\n const lastInParentArray = parentLevelArray[parentLevelArray.length - 1];\n levelMap.set(data.level, lastInParentArray.children);\n }\n }\n }\n const currentArray = levelMap.get(data.level);\n currentArray!.push(data);\n currentLevel = data.level;\n };\n objects.forEach(treeCallback);\n return levelMap.get(0);\n }\n static recalculateNestedArrayObjectLevel(dataArray: {level: number}[], clearChildren = false) {\n const callback = (data: {level: number, children?: []}[], currentLevel = 0) => {\n for (const entry of data) {\n if (entry.children?.length) {\n callback(entry.children, currentLevel + 1);\n if (clearChildren) {\n entry.children.length = 0;\n }\n } else {\n entry.level = currentLevel;\n }\n }\n };\n callback(dataArray);\n }\n\n static flatNestedArrayObject(dataArray: {children?: []}[]): any[] {\n const result: any[] = [];\n const callback = (data: {children?: []}[], currentLevel = 0) => {\n for (const entry of data) {\n const newData = {...entry} as any;\n delete newData.children;\n result.push(newData);\n if (entry?.children?.length) {\n callback(entry.children, currentLevel + 1);\n }\n }\n };\n callback(dataArray);\n\n return result;\n }\n}\n","export class ElementHelper {\n\n public static getCursorPosition(): number | null {\n const selection = window.getSelection();\n if (selection!.rangeCount > 0) {\n const range = selection!.getRangeAt(0);\n // Cursor position\n return range.startOffset;\n } else {\n return null;\n }\n }\n\n static getInnerNodeFromClickPosition(event: MouseEvent): Node | null {\n let range;\n if (document.caretRangeFromPoint) {\n range = document.caretRangeFromPoint(event.clientX, event.clientY);\n }\n else if ((document as any).caretPositionFromPoint) {\n const pos = (document as any).caretPositionFromPoint(event.clientX, event.clientY);\n range = document.createRange();\n range.setStart(pos.offsetNode, pos.offset);\n range.setEnd(pos.offsetNode, pos.offset);\n }\n if (range) {\n return range.startContainer;\n }\n\n return null;\n }\n}\n","import {TrackByFunction} from '@angular/core';\n\nexport class Helper {\n\n static getTrackByFunction<T>(propertyName: string = 'id'): TrackByFunction<T> {\n return (index: number, obj) => {\n return obj[propertyName];\n };\n }\n\n static objectResetAssign(target:any,source: any) {\n target.length = 0;\n Object.assign(target, source);\n }\n}\n","export class ObjectHelper {\n static reinitObject(target: {}, source: {}) {\n for (const key in target) {\n delete target[key];\n }\n Object.assign(target, source);\n }\n\n static toRaw(source: any) {\n return JSON.parse(JSON.stringify(source))\n }\n\n static toArray() {\n\n }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class StringHelper {\n\n constructor() { }\n\n static randomString(): string {\n return Math.random().toString(16).slice(2);\n }\n}\n","import { TreeNode } from 'primeng/api';\n\nexport class TreeHelper {\n static findNodeByKey(nodes: TreeNode[], key: string): TreeNode | null {\n for (const node of nodes) {\n if (node.key === key) {\n return node;\n }\n if (node.children) {\n const found = this.findNodeByKey(node.children, key);\n if (found) {\n return found;\n }\n }\n }\n return null;\n }\n}\n","export class ElementPositionMessenger {\n\n constructor(private _x: number, private _y: number) {\n }\n\n get x(): number {\n return this._x;\n }\n\n set x(value: number) {\n this._x = value;\n }\n\n get y(): number {\n return this._y;\n }\n\n set y(value: number) {\n this._y = value;\n }\n}\n","import { faCoffee,\n faHome,\n faUser,\n faEnvelope,\n faSearch,\n faHeart,\n faStar,\n faCheck,\n faTimes,\n faPlus,\n faMinus,\n faShoppingCart,\n faPhone,\n faInfoCircle,\n faExclamationTriangle,\n faThumbsUp,\n faThumbsDown,\n faLock,\n faUnlock,\n faCog,\n faCogs,\n faTrash,\n faTrashAlt,\n faEdit,\n faSave,\n faDownload,\n faUpload,\n faFile,\n faFileAlt,\n faFolder,\n faFolderOpen,\n faBell,\n faBellSlash,\n faCamera,\n faCameraRetro,\n faImage,\n faImages,\n faPlay,\n faPause,\n faStop,\n faForward,\n faBackward,\n faStepForward,\n faStepBackward,\n faFastForward,\n faFastBackward,\n faRedo,\n faUndo,\n faSync,\n faSyncAlt,\n faAngleUp,\n faAngleDown,\n faAngleLeft,\n faAngleRight,\n faChevronUp,\n faChevronDown,\n faChevronLeft,\n faChevronRight,\n faCaretUp,\n faCaretDown,\n faCaretLeft,\n faCaretRight,\n faArrowUp,\n faArrowDown,\n faArrowLeft,\n faArrowRight,\n faExternalLink,\n faExternalLinkAlt,\n faLink,\n faUnlink,\n faRedoAlt,\n faUndoAlt,\n faExchangeAlt,\n faRetweet,\n faRandom,\n faSpinner,\n faCircle,\n faSquare,\n faCheckCircle,\n faCheckSquare,\n faExclamation,\n faQuestion,\n faQuestionCircle,\n faInfo,\n faShare,\n faShareAlt,\n faShareSquare,\n faCheckDouble,\n faEllipsisH,\n faEllipsisV,\n faBars,\n faList,\n faListAlt,\n faTh,\n faThLarge,\n faThList,\n faTable,\n faTasks,\n faFilter,\n faSort,\n faSortUp,\n faSortDown} from \"@fortawesome/free-solid-svg-icons\";\n\nexport const FontAwesomeIcons = [\n faCoffee,\n faHome,\n faUser,\n faEnvelope,\n faSearch,\n faHeart,\n faStar,\n faCheck,\n faTimes,\n faPlus,\n faMinus,\n faShoppingCart,\n faPhone,\n faInfoCircle,\n faExclamationTriangle,\n faThumbsUp,\n faThumbsDown,\n faLock,\n faUnlock,\n faCog,\n faCogs,\n faTrash,\n faTrashAlt,\n faEdit,\n faSave,\n faDownload,\n faUpload,\n faFile,\n faFileAlt,\n faFolder,\n faFolderOpen,\n faBell,\n faBellSlash,\n faCamera,\n faCameraRetro,\n faImage,\n faImages,\n faPlay,\n faPause,\n faStop,\n faForward,\n faBackward,\n faStepForward,\n faStepBackward,\n faFastForward,\n faFastBackward,\n faRedo,\n faUndo,\n faSync,\n faSyncAlt,\n faAngleUp,\n faAngleDown,\n faAngleLeft,\n faAngleRight,\n faChevronUp,\n faChevronDown,\n faChevronLeft,\n faChevronRight,\n faCaretUp,\n faCaretDown,\n faCaretLeft,\n faCaretRight,\n faArrowUp,\n faArrowDown,\n faArrowLeft,\n faArrowRight,\n faExternalLink,\n faExternalLinkAlt,\n faLink,\n faUnlink,\n faRedoAlt,\n faUndoAlt,\n faExchangeAlt,\n faRetweet,\n faRandom,\n faSpinner,\n faCircle,\n faSquare,\n faCheckCircle,\n faCheckSquare,\n faExclamation,\n faQuestion,\n faQuestionCircle,\n faInfo,\n faShare,\n faShareAlt,\n faShareSquare,\n faCheckDouble,\n faEllipsisH,\n faEllipsisV,\n faBars,\n faList,\n faListAlt,\n faTh,\n faThLarge,\n faThList,\n faTable,\n faTasks,\n faFilter,\n faSort,\n faSortUp,\n faSortDown\n]\n","import { Pipe, PipeTransform } from '@angular/core';\nimport {DomSanitizer, SafeHtml} from '@angular/platform-browser';\n\n@Pipe({\n name: 'safeHtml',\n standalone: true,\n})\nexport class SafeHtmlPipe implements PipeTransform {\n\n constructor(\n private sanitizer: DomSanitizer\n ) {\n }\n\n transform(value: string, ...args: unknown[]): SafeHtml {\n return this.sanitizer.bypassSecurityTrustHtml(value);\n }\n\n}\n","/*\n * Public API Surface of ng-core\n */\n\nexport * from './lib/ng-core';\nexport * from './lib/components';\nexport * from './lib/directives';\nexport * from './lib/guards';\nexport * from './lib/helpers';\nexport * from './lib/messengers';\nexport * from './lib/models';\nexport * from './lib/pipes';\nexport * from './lib/services';\nexport * from './lib/config';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.NotifierService","i1","i2.EventEmitterService","i3.HttpResponseToasterService","i4","i1.SymfonyApiClientService","i2.HttpResponseToasterService","Router","i2.BreadcrumbService","i2","i1.EventEmitterService","i2.InputFormErrorGrouperDirective","i3","i1.LinkDeactivateService"],"mappings":"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"}
|