@smartsoft001-mobilems/angular 2.41.0 → 2.42.0
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.
|
@@ -734,6 +734,10 @@ class SearchService extends CrudSearchService {
|
|
|
734
734
|
}
|
|
735
735
|
setEnabled(val) {
|
|
736
736
|
super.setEnabled(val);
|
|
737
|
+
if (!val) {
|
|
738
|
+
this.setFilter({});
|
|
739
|
+
this._currentSearchText.set('');
|
|
740
|
+
}
|
|
737
741
|
}
|
|
738
742
|
setCurrentSearchText(txt) {
|
|
739
743
|
this._currentSearchText.set(txt);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smartsoft001-mobilems-angular.mjs","sources":["../../../../../packages/shared/angular/src/lib/translations.ts","../../../../../packages/shared/angular/src/lib/environments/environment.ts","../../../../../packages/shared/angular/src/lib/services/auth-storage/auth-storage.service.ts","../../../../../packages/shared/angular/src/lib/shared.config.ts","../../../../../packages/shared/angular/src/lib/services/configs/configs.service.ts","../../../../../packages/shared/angular/src/lib/services/contrast/contrast.service.ts","../../../../../packages/shared/angular/src/lib/services/dictionary/dictionary.service.ts","../../../../../packages/shared/angular/src/lib/services/file-url/file-url.service.ts","../../../../../packages/shared/angular/src/lib/services/global/global.service.ts","../../../../../packages/shared/angular/src/lib/services/translation/translation.service.ts","../../../../../packages/shared/angular/src/lib/services/meta/meta.service.ts","../../../../../packages/shared/angular/src/lib/services/modal/modal-container.component.ts","../../../../../packages/shared/angular/src/lib/services/modal/modal-ref.ts","../../../../../packages/shared/angular/src/lib/services/modal/modal.service.ts","../../../../../packages/shared/angular/src/lib/services/search/search.service.ts","../../../../../packages/shared/angular/src/lib/services/seo/seo.service.ts","../../../../../packages/shared/angular/src/lib/services/settings/settings.service.ts","../../../../../packages/shared/angular/src/lib/services/style/style.service.ts","../../../../../packages/shared/angular/src/lib/services/wcag/wcag.service.ts","../../../../../packages/shared/angular/src/lib/services/crud/crud-base.service.ts","../../../../../packages/shared/angular/src/lib/services/query-filter/query-filter.service.ts","../../../../../packages/shared/angular/src/lib/services/index.ts","../../../../../packages/shared/angular/src/lib/+state/configs.facade.ts","../../../../../packages/shared/angular/src/lib/components/app/app.component.ts","../../../../../packages/shared/angular/src/lib/components/app/app.component.html","../../../../../packages/shared/angular/src/lib/components/page/page.component.ts","../../../../../packages/shared/angular/src/lib/components/filters/filters.component.ts","../../../../../packages/shared/angular/src/lib/components/scroll-top/scroll-top.component.ts","../../../../../packages/shared/angular/src/lib/components/footer/footer.component.ts","../../../../../packages/shared/angular/src/lib/components/header/header.component.ts","../../../../../packages/shared/angular/src/lib/components/menu/menu.component.ts","../../../../../packages/shared/angular/src/lib/components/menu/menu.component.html","../../../../../packages/shared/angular/src/lib/components/widget/base.component.ts","../../../../../packages/shared/angular/src/lib/components/widget/text/text.component.ts","../../../../../packages/shared/angular/src/lib/components/widget/text/text.component.html","../../../../../packages/shared/angular/src/lib/components/widget/widget.component.ts","../../../../../packages/shared/angular/src/lib/components/widget/widget.component.html","../../../../../packages/shared/angular/src/lib/components/index.ts","../../../../../packages/shared/angular/src/lib/directives/hover.directive.ts","../../../../../packages/shared/angular/src/lib/directives/scrollable.directive.ts","../../../../../packages/shared/angular/src/lib/directives/click-outside.directive.ts","../../../../../packages/shared/angular/src/lib/directives/index.ts","../../../../../packages/shared/angular/src/lib/shared.module.ts","../../../../../packages/shared/angular/src/lib/interfaces.ts","../../../../../packages/shared/angular/src/lib/guards/authentication.guard.ts","../../../../../packages/shared/angular/src/lib/guards/unauthorized.guard.ts","../../../../../packages/shared/angular/src/lib/pages/home/home.component.ts","../../../../../packages/shared/angular/src/lib/pages/not-found/not-found.component.ts","../../../../../packages/shared/angular/src/lib/pages/page/page.component.ts","../../../../../packages/shared/angular/src/smartsoft001-mobilems-angular.ts"],"sourcesContent":["import { TranslateService } from '@ngx-translate/core';\n\nexport function setTranslationsAndLang(service: TranslateService) {\n const map = {\n pl: TRANSLATE_DATA_PL,\n };\n\n Object.keys(map).forEach((key) => {\n service.setTranslation(key, (map as any)[key], true);\n });\n\n if (!service.currentLang) {\n const lang = service.getBrowserLang();\n service.use(lang ?? 'en');\n }\n}\n\nexport interface ITranslateData {\n MODEL: object;\n //..\n}\n\nexport const TRANSLATE_DATA_PL: ITranslateData = {\n MODEL: {\n //..\n },\n //..\n};\n","export const environment = {\n production: false,\n apiUrl: '',\n multimediaUrl: '',\n mainLogoPath: '/assets/gfx/logo/main-logo.png',\n};\n","import { Injectable } from '@angular/core';\n\nimport { IUser } from '@smartsoft001-mobilems/models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthStorageService {\n private readonly STORAGE_KEY = 'user';\n\n setUser(user: IUser): void {\n if (typeof localStorage !== 'undefined') {\n localStorage.setItem(this.STORAGE_KEY, JSON.stringify(user));\n }\n }\n\n getUser(): IUser | null {\n if (typeof localStorage !== 'undefined') {\n const item = localStorage.getItem(this.STORAGE_KEY);\n if (item) {\n try {\n return JSON.parse(item) as IUser;\n } catch (error) {\n console.error('Failed to parse user from localStorage', error);\n return null;\n }\n }\n }\n return null;\n }\n\n removeUser(): void {\n if (typeof localStorage !== 'undefined') {\n localStorage.removeItem(this.STORAGE_KEY);\n }\n }\n\n hasUser(): boolean {\n return this.getUser() !== null;\n }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class SharedConfig {\n apiUrl = '';\n multimediaUrl = '';\n mainLogoPath = '/assets/gfx/logo/main-logo.png';\n styleVariables?: Record<string, any>;\n}\n","import { HttpClient } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport moment from 'moment';\nimport { combineLatest, firstValueFrom, lastValueFrom } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { Config, ITheme, Page } from '@smartsoft001-mobilems/models';\n\nimport { SharedConfig } from '../../shared.config';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfigsService {\n private readonly httpClient = inject(HttpClient);\n private readonly config = inject(SharedConfig);\n\n get(): Promise<Config> {\n const date = moment().format('YYYY-MM-DD');\n\n return lastValueFrom(\n combineLatest([\n this.httpClient.post<{\n data: unknown & { current: { objectId: string; title: string } };\n }>(this.config.apiUrl + 'object/object-of-the-week', {\n dateStart: date,\n dateEnd: date,\n }),\n this.httpClient.get<{ data: unknown }>(\n this.config.apiUrl + 'setting/theme',\n ),\n ]).pipe(\n map(([r1, r2]) => {\n return {\n id: '',\n objectOfTheDay: {\n id: Number(r1?.data?.current?.objectId),\n title: r1?.data?.current?.title,\n },\n theme: r2.data as ITheme,\n };\n }),\n ),\n );\n }\n\n getPage(id: number | 'home'): Promise<Page> {\n return firstValueFrom(\n this.httpClient\n .get<{ data: any }>(this.config.apiUrl + 'page/' + id)\n .pipe(map((r) => r.data)),\n );\n }\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport { Injectable, signal, effect, PLATFORM_ID, inject } from '@angular/core';\n\ninterface ContrastColors {\n black: string;\n yellow: string;\n white: string;\n transparentBlack: string;\n wcagColor1: string;\n wcagColor2: string;\n}\n\nconst DEFAULT_COLORS: ContrastColors = {\n black: 'black',\n yellow: 'yellow',\n white: 'white',\n transparentBlack: 'rgba(0, 0, 0, 0.9)',\n wcagColor1: '#F4B735',\n wcagColor2: '#1B1B1B',\n};\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ContrastService {\n private readonly platformId = inject(PLATFORM_ID);\n private readonly isBrowser = isPlatformBrowser(this.platformId);\n\n readonly isActive = signal(false);\n\n constructor() {\n // Apply contrast changes to DOM\n effect(() => {\n if (this.isBrowser) {\n this.applyContrast(this.isActive());\n }\n });\n }\n\n changeTheme(active: boolean): void {\n this.isActive.set(active);\n }\n\n toggle(): void {\n this.isActive.update((value) => !value);\n }\n\n private applyContrast(active: boolean): void {\n if (!this.isBrowser) return;\n\n const docElement = document.documentElement;\n\n if (active) {\n this.setProperties(docElement);\n docElement.classList.add('cv');\n } else {\n this.removeProperties(docElement);\n docElement.classList.remove('cv');\n }\n }\n\n private setProperties(element: HTMLElement): void {\n element.style.setProperty('--cv-black', DEFAULT_COLORS.black);\n element.style.setProperty('--cv-yellow', DEFAULT_COLORS.yellow);\n element.style.setProperty('--cv-white', DEFAULT_COLORS.white);\n element.style.setProperty(\n '--cv-black-transparent',\n DEFAULT_COLORS.transparentBlack,\n );\n element.style.setProperty('--cv-wcag-color-1', DEFAULT_COLORS.wcagColor1);\n element.style.setProperty('--cv-wcag-color-2', DEFAULT_COLORS.wcagColor2);\n }\n\n private removeProperties(element: HTMLElement): void {\n element.style.removeProperty('--cv-black');\n element.style.removeProperty('--cv-yellow');\n element.style.removeProperty('--cv-white');\n element.style.removeProperty('--cv-black-transparent');\n element.style.removeProperty('--cv-wcag-color-1');\n element.style.removeProperty('--cv-wcag-color-2');\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { SharedConfig } from '../../shared.config';\n\nexport interface IDictionaryItem {\n id: number;\n name: string;\n hasChildren?: boolean;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DictionaryService<T> {\n private readonly httpClient = inject(HttpClient);\n private readonly config = inject(SharedConfig);\n\n get(\n type: T,\n query: {\n searchText?: string;\n page: number;\n pageSize?: number;\n context?: string;\n } = { page: 1 },\n ): Observable<IDictionaryItem[]> {\n let url =\n this.config.apiUrl +\n `${query.context ? query.context : 'dictionary'}/${type}/search/page/${query.page}?sort=random`;\n\n if (query.pageSize) {\n url += `&maxPerPage=${query.pageSize}`;\n }\n\n if (query.searchText) {\n url += `&q=${query.searchText}`;\n }\n\n return this.httpClient\n .get<{ data: { items: IDictionaryItem[] } }>(url)\n .pipe(map((r) => r.data.items));\n }\n\n getNode(\n type: T,\n query: {\n nodeId?: number;\n context?: string;\n } = {},\n ): Observable<IDictionaryItem[]> {\n let url =\n this.config.apiUrl +\n `${query.context ? query.context : 'dictionary'}/${type}/tree`;\n\n if (query.nodeId !== null && query.nodeId !== undefined) {\n //In case the nodeId is 0 or is cast to false\n url += `?id=${query.nodeId}`;\n }\n\n return this.httpClient\n .get<{ data: IDictionaryItem[] }>(url)\n .pipe(map((r) => r.data));\n }\n}\n","import { Injectable, inject } from '@angular/core';\n\nimport { MsFile } from '@smartsoft001-mobilems/models';\n\nimport { SharedConfig } from '../../shared.config';\n\nexport type FileUrlMode = 'cache' | 'big' | 'noCache';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FileUrlService {\n private readonly config = inject(SharedConfig);\n\n get(\n fileOrPath?: MsFile | string,\n mode: FileUrlMode = 'cache',\n noImagePlaceholder = 'assets/no-image.svg',\n ): string {\n const multimediaUrl = this.config.multimediaUrl;\n\n if (!multimediaUrl) {\n return noImagePlaceholder;\n }\n\n let path: string;\n\n if (typeof fileOrPath === 'string') {\n path = fileOrPath;\n } else {\n if (!fileOrPath || !fileOrPath.filePath) {\n return noImagePlaceholder;\n }\n\n // Check if it's an upload path (direct URL)\n if (fileOrPath.filePath.indexOf('upload') === -1) {\n return (\n multimediaUrl + this.getPath(mode) + this.getFileName(fileOrPath)\n );\n }\n\n path = fileOrPath.filePath;\n }\n\n // Remove leading slash if present\n if (path[0] === '/') {\n path = path.substring(1);\n }\n\n return multimediaUrl + path;\n }\n\n private getFileName(file: MsFile): string {\n if (\n file.filePath &&\n file.extension &&\n file.filePath.indexOf(file.extension) > -1\n ) {\n return file.filePath;\n }\n\n return file.filePath + '.' + file.extension;\n }\n\n private getPath(mode: FileUrlMode): string {\n switch (mode) {\n case 'big':\n return 'upload/cache/multimedia_big/';\n case 'cache':\n return 'upload/cache/multimedia_detail/';\n case 'noCache':\n return 'upload/multimedia/';\n }\n }\n}\n","import { Injectable, signal } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class GlobalService {\n readonly showHeader = signal(true);\n readonly showFooter = signal(true);\n\n setHeaderVisibility(visible: boolean): void {\n this.showHeader.set(visible);\n }\n\n setFooterVisibility(visible: boolean): void {\n this.showFooter.set(visible);\n }\n\n hexToRgb(hex: string): number[] | null {\n if (!hex) return null;\n\n // Remove # if present\n let cleanHex = hex.replace(/^#/, '');\n\n // Expand 3-character hex to 6-character (#abc -> #aabbcc)\n if (cleanHex.length === 3) {\n cleanHex = cleanHex\n .split('')\n .map((char) => char + char)\n .join('');\n }\n\n // Parse 6-character hex\n const result = cleanHex.match(/.{2}/g);\n\n if (!result || result.length !== 3) return null;\n\n return result.map((x) => parseInt(x, 16));\n }\n\n rgbToHex(r: number, g: number, b: number): string {\n return (\n '#' +\n [r, g, b]\n .map((x) => {\n const hex = x.toString(16);\n return hex.length === 1 ? '0' + hex : hex;\n })\n .join('')\n );\n }\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport {\n Injectable,\n inject,\n signal,\n computed,\n PLATFORM_ID,\n} from '@angular/core';\nimport { TranslateService as NgxTranslateService } from '@ngx-translate/core';\nimport { Observable } from 'rxjs';\n\nconst TRANSLATION_CONFIG_KEY = 'TRANSLATION_CONFIG';\n\nexport interface ITranslationConfig {\n language: string;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TranslationService {\n private readonly translateService = inject(NgxTranslateService);\n private readonly platformId = inject(PLATFORM_ID);\n\n private readonly _config = signal<ITranslationConfig>({\n language: this.getInitialLanguage(),\n });\n\n readonly config = this._config.asReadonly();\n readonly config$ = this.translateService.onLangChange.pipe() as Observable<{\n lang: string;\n }>;\n\n readonly currentLanguage = computed(() => this._config().language);\n\n get(key: string, params?: any): string {\n return this.translateService.instant(key, params);\n }\n\n async init(\n defaultLang = 'en',\n availableLangs: string[] = ['en', 'pl'],\n ): Promise<void> {\n this.translateService.setDefaultLang(defaultLang);\n this.translateService.addLangs(availableLangs);\n\n let lang = this._config().language;\n\n if (!availableLangs.includes(lang)) {\n lang = defaultLang;\n this._config.set({ language: lang });\n }\n\n await this.translateService.use(lang).toPromise();\n }\n\n setLanguage(language: string): void {\n this._config.set({ language });\n this.save();\n this.translateService.use(language);\n }\n\n private save(): void {\n if (typeof localStorage !== 'undefined') {\n localStorage.setItem(\n TRANSLATION_CONFIG_KEY,\n JSON.stringify(this._config()),\n );\n }\n }\n\n private getInitialLanguage(): string {\n if (isPlatformBrowser(this.platformId)) {\n const stored = localStorage.getItem(TRANSLATION_CONFIG_KEY);\n if (stored) {\n try {\n const parsed = JSON.parse(stored) as ITranslationConfig;\n return parsed.language;\n } catch (error) {\n console.warn('Failed to parse translation config', error);\n }\n }\n }\n return this.translateService.getBrowserLang() || 'en';\n }\n}\n","import { Injectable, inject } from '@angular/core';\nimport { Meta, MetaDefinition, Title } from '@angular/platform-browser';\nimport { ActivatedRoute, NavigationEnd, Router } from '@angular/router';\nimport { Subscription } from 'rxjs';\nimport { filter, map } from 'rxjs/operators';\n\nimport { MsFile } from '@smartsoft001-mobilems/models';\n\nimport { SharedConfig } from '../../shared.config';\nimport { TranslationService } from '../translation/translation.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MetaService {\n private readonly meta = inject(Meta);\n private readonly title = inject(Title);\n private readonly translationService = inject(TranslationService);\n private readonly router = inject(Router);\n private readonly activatedRoute = inject(ActivatedRoute);\n private readonly config = inject(SharedConfig);\n\n private routerSubscription?: Subscription;\n\n constructor() {\n this.resetMetadata();\n }\n\n keepUpdatingPageTitle(onRouteChange: boolean): Subscription | void {\n if (onRouteChange) {\n this.routerSubscription = this.router.events\n .pipe(\n filter((event) => event instanceof NavigationEnd),\n map(() => this.getRouteTitle()),\n )\n .subscribe((dynamicTitle: string) => {\n if (dynamicTitle) {\n this.setTitle(dynamicTitle);\n }\n });\n\n return this.routerSubscription;\n } else {\n const dynamicTitle = this.getRouteTitle();\n if (dynamicTitle) {\n this.setTitle(dynamicTitle);\n }\n }\n }\n\n setPageMetadata(title = '', description = ''): void {\n if (title) {\n this.setTitle(title);\n }\n if (description) {\n this.setDescription(description);\n }\n }\n\n setObjectMetadata(objectData: {\n image?: MsFile;\n title?: string;\n description?: string;\n type?: string;\n }): void {\n if (objectData.image) {\n this.setImageMetadata(\n objectData.image,\n objectData.title,\n objectData.type,\n );\n }\n if (objectData.title) {\n this.setTitle(objectData.title);\n }\n if (objectData.description) {\n this.setDescription(objectData.description);\n }\n }\n\n setImageMetadata(image: MsFile, imageAlt?: string, type?: string): void {\n const multimediaUrl = this.config.multimediaUrl;\n\n if (!multimediaUrl || !image?.filePath) {\n return;\n }\n\n try {\n const imageUrl = this.buildImageUrl(multimediaUrl, image, type);\n this.meta.updateTag({ property: 'og:image', content: imageUrl });\n this.meta.updateTag({ property: 'og:image:type', content: 'image/jpeg' });\n this.meta.updateTag({ property: 'og:image:width', content: '600' });\n this.meta.updateTag({ property: 'og:image:height', content: '600' });\n\n if (imageAlt) {\n this.meta.updateTag({\n property: 'og:image:alt',\n content: this.removeHtmlTags(imageAlt),\n });\n } else {\n this.meta.removeTag(\"property='og:image:alt'\");\n }\n } catch (error) {\n console.warn('Failed to set image metadata', error);\n }\n }\n\n resetMetadata(): void {\n const baseTitle =\n this.translationService.get('base-portal-title') || 'Portal';\n\n this.meta.updateTag({ property: 'og:type', content: 'website' });\n this.meta.updateTag({ property: 'og:title', content: baseTitle });\n this.meta.updateTag({ property: 'og:description', content: '' });\n this.meta.updateTag({ name: 'description', content: '' });\n this.meta.updateTag({\n property: 'og:image',\n content: 'assets/gfx/no-img/no-img-header.jpg',\n });\n this.meta.updateTag({ property: 'og:image:alt', content: baseTitle });\n this.meta.updateTag({ property: 'og:image:type', content: 'image/jpeg' });\n this.meta.updateTag({ property: 'og:image:width', content: '250' });\n this.meta.updateTag({ property: 'og:image:height', content: '250' });\n }\n\n updateTag(tag: MetaDefinition): void {\n this.meta.updateTag(tag);\n }\n\n setTitle(titleText: string): void {\n const plainTitle = this.removeHtmlTags(titleText);\n this.title.setTitle(plainTitle);\n this.meta.updateTag({ property: 'og:title', content: plainTitle });\n }\n\n setDescription(description: string): void {\n const plainDesc = this.removeHtmlTags(description);\n this.meta.updateTag({ property: 'og:description', content: plainDesc });\n this.meta.updateTag({ name: 'description', content: plainDesc });\n }\n\n destroy(): void {\n this.routerSubscription?.unsubscribe();\n }\n\n private buildImageUrl(baseUrl: string, image: MsFile, type?: string): string {\n const cleanBaseUrl = baseUrl.endsWith('/') ? baseUrl.slice(0, -1) : baseUrl;\n\n if (type === 'object' && image.filePath) {\n return `${cleanBaseUrl}/${image.filePath}.jpg`;\n }\n\n return `${cleanBaseUrl}/${image.filePath}`;\n }\n\n private removeHtmlTags(value: string): string {\n if (!value) return '';\n\n return value\n .replace(/<.*?>/g, '')\n .replace(/ /g, ' ')\n .replace(/‐/g, '-')\n .replace(/–/g, '-')\n .replace(/—/g, '-')\n .replace(/–/g, '-')\n .replace(/—/g, '-')\n .replace(/„/g, '\"')\n .replace(/ó/g, 'ó')\n .replace(/”/g, '\"')\n .replace(/"/g, '\"');\n }\n\n private getRouteTitle(): string {\n let child = this.activatedRoute.firstChild;\n\n while (child?.firstChild) {\n child = child.firstChild;\n }\n\n if (!child) return '';\n\n const snapshot = child.snapshot;\n\n if (snapshot.data['subtitle']) {\n return snapshot.data['subtitle'];\n }\n\n if (snapshot.data['title']) {\n return snapshot.data['title'];\n }\n\n return '';\n }\n}\n","import { CommonModule } from '@angular/common';\nimport {\n Component,\n input,\n output,\n TemplateRef,\n HostListener,\n} from '@angular/core';\n\n/**\n * Container component for modal overlay and content.\n * Handles backdrop clicks and ESC key press.\n */\n@Component({\n selector: 'smart-mobilems-modal-container',\n standalone: true,\n imports: [CommonModule],\n template: `\n <div\n class=\"smart-fixed smart-inset-0 smart-bg-black smart-bg-opacity-50 smart-flex smart-items-center smart-justify-center smart-z-50\"\n (click)=\"onBackdropClick($event)\"\n >\n <div\n class=\"smart-bg-white smart-rounded-lg smart-shadow-xl smart-max-w-2xl smart-w-full smart-m-4 smart-max-h-[90vh] smart-overflow-auto\"\n (click)=\"$event.stopPropagation()\"\n >\n <div class=\"smart-p-6\">\n <ng-container *ngTemplateOutlet=\"contentTemplate()\"></ng-container>\n </div>\n </div>\n </div>\n `,\n})\nexport class ModalContainerComponent {\n /**\n * Template to render inside the modal content area.\n */\n contentTemplate = input.required<TemplateRef<any>>();\n\n /**\n * Emits when backdrop is clicked or ESC key is pressed.\n */\n backdropClick = output<void>();\n\n /**\n * Listens for ESC key press on document level.\n */\n @HostListener('document:keydown.escape')\n onEscapeKey(): void {\n this.backdropClick.emit();\n }\n\n /**\n * Handles backdrop click event.\n * @param _event Mouse click event\n */\n onBackdropClick(_event: MouseEvent): void {\n this.backdropClick.emit();\n }\n}\n","import { Subject } from 'rxjs';\n\n/**\n * Reference to an opened modal.\n * Provides methods to close the modal and observe its lifecycle.\n */\nexport class ModalRef {\n private readonly _afterClosed = new Subject<void>();\n\n /**\n * Observable that emits when the modal has been closed.\n * Completes after emission.\n */\n readonly afterClosed$ = this._afterClosed.asObservable();\n\n constructor(private readonly closeCallback: () => void) {}\n\n /**\n * Closes the modal and triggers cleanup.\n * Safe to call multiple times.\n */\n close(): void {\n this.closeCallback();\n this._afterClosed.next();\n this._afterClosed.complete();\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport {\n Injectable,\n ApplicationRef,\n createComponent,\n EnvironmentInjector,\n inject,\n TemplateRef,\n ComponentRef,\n} from '@angular/core';\n\nimport { ModalContainerComponent } from './modal-container.component';\nimport { ModalRef } from './modal-ref';\n\n/**\n * Service for managing modal dialogs.\n * Provides methods to open, close, and manage modal instances.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class ModalService {\n private readonly appRef = inject(ApplicationRef);\n private readonly injector = inject(EnvironmentInjector);\n private readonly document = inject(DOCUMENT);\n\n private activeModals: ComponentRef<ModalContainerComponent>[] = [];\n\n /**\n * Opens a modal with the provided template.\n * @param template TemplateRef to render inside the modal\n * @returns ModalRef instance for controlling the modal\n */\n open(template: TemplateRef<any>): ModalRef {\n const componentRef = createComponent(ModalContainerComponent, {\n environmentInjector: this.injector,\n });\n\n componentRef.setInput('contentTemplate', template);\n\n const modalRef = new ModalRef(() => this.closeModal(componentRef));\n\n componentRef.instance.backdropClick.subscribe(() => {\n modalRef.close();\n });\n\n this.appRef.attachView(componentRef.hostView);\n\n const domElem = (componentRef.hostView as any).rootNodes[0] as HTMLElement;\n this.document.body.appendChild(domElem);\n\n componentRef.changeDetectorRef.detectChanges();\n\n this.activeModals.push(componentRef);\n\n return modalRef;\n }\n\n /**\n * Closes a specific modal instance.\n * @param componentRef Component reference to close\n */\n private closeModal(\n componentRef: ComponentRef<ModalContainerComponent>,\n ): void {\n const index = this.activeModals.indexOf(componentRef);\n if (index > -1) {\n this.activeModals.splice(index, 1);\n }\n\n this.appRef.detachView(componentRef.hostView);\n componentRef.destroy();\n }\n\n /**\n * Closes all currently open modals.\n */\n closeAll(): void {\n const modals = [...this.activeModals];\n modals.forEach((componentRef) => this.closeModal(componentRef));\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable, InjectionToken, inject, signal } from '@angular/core';\nimport {\n CrudSearchService,\n ICrudFilter,\n} from '@smartsoft001/crud-shell-angular';\nimport { Observable, combineLatest, of } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\n\nexport type SearchSource =\n | 'objects'\n | 'publicCollections'\n | 'articles'\n | 'creators'\n | 'imprints';\n\nexport interface ISearchData {\n cycleId?: number;\n keywordId?: number;\n seriesTitleId?: number;\n}\n\nexport interface ISearchResults {\n objects: number;\n publicCollections: number;\n articles: number;\n creators: number;\n imprints: number;\n}\n\ninterface ApiResponse {\n data?: {\n paginatorDetails?: {\n totalItemsCount: number;\n };\n };\n}\n\nexport interface ISearchConfig {\n apiUrl: string;\n}\n\nexport const SEARCH_CONFIG_TOKEN = new InjectionToken<ISearchConfig>(\n 'SEARCH_CONFIG_TOKEN',\n);\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SearchService extends CrudSearchService {\n private readonly http = inject(HttpClient);\n private _currentSearchText = signal<string>('');\n private readonly config = inject(SEARCH_CONFIG_TOKEN);\n\n searchText = this._currentSearchText.asReadonly();\n\n constructor() {\n super();\n }\n\n get currentSearchText(): string {\n return this._currentSearchText();\n }\n\n override setFilter(val: Partial<ICrudFilter>): void {\n super.setFilter(val);\n }\n\n override setEnabled(val: boolean): void {\n super.setEnabled(val);\n }\n\n setCurrentSearchText(txt: string): void {\n this._currentSearchText.set(txt);\n }\n\n search(txt: string, data: ISearchData = {}): Observable<ISearchResults> {\n this.setFilter({\n searchText: txt,\n });\n\n this._currentSearchText.set(txt);\n\n return combineLatest([\n this.http\n .get<ApiResponse>(\n `${this.config.apiUrl}search/Object/page/1?maxPerPage=1&${this.getFilterQuery('objects', txt, data)}`,\n )\n .pipe(\n catchError(() => {\n return of(null as ApiResponse | null);\n }),\n ),\n this.http\n .get<ApiResponse>(\n `${this.config.apiUrl}public-collections/page/1?maxPerPage=1&${this.getFilterQuery('publicCollections', txt, data)}`,\n )\n .pipe(\n catchError(() => {\n return of(null as ApiResponse | null);\n }),\n ),\n this.http\n .get<ApiResponse>(\n `${this.config.apiUrl}search/Article/page/1?maxPerPage=1&${this.getFilterQuery('articles', txt, data)}`,\n )\n .pipe(\n catchError(() => {\n return of(null as ApiResponse | null);\n }),\n ),\n this.http\n .get<ApiResponse>(\n `${this.config.apiUrl}dictionary/Creator/search/page/1?maxPerPage=1&${this.getFilterQuery('creators', txt, data)}`,\n )\n .pipe(\n catchError(() => {\n return of(null as ApiResponse | null);\n }),\n ),\n this.http\n .get<ApiResponse>(\n `${this.config.apiUrl}dictionary/Imprint/search/page/1?maxPerPage=1&${this.getFilterQuery('imprints', txt, data)}`,\n )\n .pipe(\n catchError(() => {\n return of(null as ApiResponse | null);\n }),\n ),\n ]).pipe(\n map(\n ([\n objectsResult,\n publicCollectionsResult,\n articlesResult,\n creatorsResult,\n imprintsResult,\n ]) => {\n return {\n objects:\n objectsResult?.data?.paginatorDetails?.totalItemsCount ?? 0,\n publicCollections:\n publicCollectionsResult?.data?.paginatorDetails\n ?.totalItemsCount ?? 0,\n articles:\n articlesResult?.data?.paginatorDetails?.totalItemsCount ?? 0,\n creators:\n creatorsResult?.data?.paginatorDetails?.totalItemsCount ?? 0,\n imprints:\n imprintsResult?.data?.paginatorDetails?.totalItemsCount ?? 0,\n };\n },\n ),\n );\n }\n\n getFilterQuery(\n type: SearchSource,\n txt: string,\n data: ISearchData = {},\n ): string {\n const result: Array<string> = [];\n\n if (txt && type !== 'creators' && type !== 'imprints') {\n result.push(`filter[phrase]=${encodeURIComponent(txt)}`);\n } else if (txt) {\n result.push(`q=${encodeURIComponent(txt)}`);\n }\n\n if (data.keywordId) {\n result.push(`filter[keywords][]=${data.keywordId}`);\n }\n\n if (data.cycleId) {\n result.push(`filter[cycles][]=${data.cycleId}`);\n }\n\n if (data.seriesTitleId) {\n result.push(`filter[cycles][]=${data.seriesTitleId}`);\n }\n\n return result.join('&');\n }\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport { Injectable, inject, PLATFORM_ID } from '@angular/core';\nimport { Title, Meta, MetaDefinition } from '@angular/platform-browser';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SeoService {\n private readonly title = inject(Title);\n private readonly meta = inject(Meta);\n private readonly platformId = inject(PLATFORM_ID);\n private readonly isBrowser = isPlatformBrowser(this.platformId);\n\n updateTitle(titleText: string): void {\n if (!titleText) {\n console.warn('Title text is empty or undefined.');\n return;\n }\n\n const decodedTitle = this.decodeHtml(titleText);\n if (decodedTitle) {\n this.title.setTitle(decodedTitle);\n }\n }\n\n updateMetaTags(metaTags: MetaDefinition[]): void {\n metaTags.forEach((tag) => this.meta.updateTag(tag));\n }\n\n updateDescription(description: string): void {\n if (!description) {\n console.warn('Description text is empty or undefined.');\n return;\n }\n\n const decodedDesc = this.decodeHtml(description);\n if (decodedDesc) {\n this.meta.updateTag({ name: 'description', content: decodedDesc });\n }\n }\n\n updateOgTags(\n title?: string,\n description?: string,\n image?: string,\n url?: string,\n ): void {\n const tags: MetaDefinition[] = [];\n\n if (title) {\n tags.push({\n property: 'og:title',\n content: this.decodeHtml(title) || title,\n });\n }\n\n if (description) {\n tags.push({\n property: 'og:description',\n content: this.decodeHtml(description) || description,\n });\n }\n\n if (image) {\n tags.push({ property: 'og:image', content: image });\n }\n\n if (url) {\n tags.push({ property: 'og:url', content: url });\n }\n\n this.updateMetaTags(tags);\n }\n\n private decodeHtml(encodedStr: string): string | null {\n if (!encodedStr) return encodedStr;\n\n // Use DOMParser only in browser environments\n if (this.isBrowser) {\n try {\n const parser = new DOMParser();\n const doc = parser.parseFromString(encodedStr, 'text/html');\n return doc.documentElement.textContent;\n } catch (error) {\n console.warn(\n 'DOMParser decode failed, falling back to server-safe decoder',\n error,\n );\n }\n }\n\n // Server / SSR fallback: decode numeric entities and common named entities\n try {\n let decoded = encodedStr\n .replace(/&#x([0-9A-Fa-f]+);?/g, (_m, hex) =>\n String.fromCharCode(parseInt(hex, 16)),\n )\n .replace(/&#([0-9]+);?/g, (_m, num) =>\n String.fromCharCode(parseInt(num, 10)),\n );\n\n const entities: Record<string, string> = {\n amp: '&',\n lt: '<',\n gt: '>',\n quot: '\"',\n apos: \"'\",\n nbsp: '\\u00A0',\n };\n\n decoded = decoded.replace(/&([a-zA-Z]+);?/g, (_m, name) =>\n Object.prototype.hasOwnProperty.call(entities, name)\n ? entities[name]\n : `&${name};`,\n );\n\n return decoded;\n } catch (error) {\n console.warn('Failed to decode HTML with fallback', error);\n return encodedStr;\n }\n }\n}\n","import { Injectable, inject } from '@angular/core';\n\nimport { SharedConfig } from '../../shared.config';\nimport { TranslationService } from '../translation/translation.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SettingsService {\n private readonly translationService = inject(TranslationService);\n private readonly config = inject(SharedConfig);\n\n getMediaUrl(): string {\n const multimediaUrl = this.config.multimediaUrl;\n\n if (!multimediaUrl) {\n return '';\n }\n\n // Remove trailing slash if present\n return multimediaUrl.endsWith('/')\n ? multimediaUrl.substring(0, multimediaUrl.length - 1)\n : multimediaUrl;\n }\n\n getBaseTitle(): string {\n return this.translationService.get('base-portal-title');\n }\n\n getCanLink(): boolean {\n // Could be extended with preview mode config in the future\n return true;\n }\n\n getMainLogo(): string {\n return this.config.mainLogoPath;\n }\n}\n","import { ElementRef, Injectable, inject } from '@angular/core';\nimport { StyleService as SmartStyleService } from '@smartsoft001/angular';\n\nimport { SharedConfig } from '../../shared.config';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class StyleService {\n private readonly smartStyleService = inject(SmartStyleService);\n private readonly config = inject(SharedConfig);\n\n init(elementRef: ElementRef, customVariables?: Record<string, any>): void {\n const variables = {\n ...this.config.styleVariables,\n ...customVariables,\n };\n\n this.smartStyleService.init(elementRef, variables);\n }\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport {\n Inject,\n Injectable,\n PLATFORM_ID,\n inject,\n signal,\n computed,\n effect,\n} from '@angular/core';\n\nimport { TranslationService } from '../translation/translation.service';\n\nconst WCAG_CONFIG_KEY = 'WCAG_CONFIG';\n\nexport type WcagContrast = 'high' | 'normal' | 'grayscale';\nexport type WcagText = 'small' | 'normal' | 'large';\nexport type WcagLetterSpacing = 'small' | 'normal' | 'large';\nexport type WcagWordSpacing = 'small' | 'normal' | 'large';\n\nexport interface IWcagConfig {\n contrast: WcagContrast;\n text: WcagText;\n letterSpacing: WcagLetterSpacing;\n wordSpacing: WcagWordSpacing;\n}\n\nexport type WcagChangeType =\n | 'setContrast'\n | 'setText'\n | 'setLetterSpacing'\n | 'setWordSpacing';\n\nconst DEFAULT_CONFIG: IWcagConfig = {\n contrast: 'normal',\n text: 'normal',\n letterSpacing: 'small',\n wordSpacing: 'small',\n};\n\n@Injectable({\n providedIn: 'root',\n})\nexport class WcagService {\n private readonly translationService = inject(TranslationService);\n private readonly platformId = inject(PLATFORM_ID);\n private readonly isBrowser = isPlatformBrowser(this.platformId);\n\n private readonly _config = signal<IWcagConfig>(this.loadConfig());\n\n readonly config = this._config.asReadonly();\n readonly wordSpacingValue = computed(() =>\n this.getSpacingValue(this._config().wordSpacing),\n );\n readonly letterSpacingValue = computed(() =>\n this.getSpacingValue(this._config().letterSpacing),\n );\n\n constructor() {\n // Apply config changes to DOM\n effect(() => {\n const config = this._config();\n this.applyConfigToDOM(config);\n });\n }\n\n async init(): Promise<void> {\n // Config is already loaded in constructor\n // This method kept for backward compatibility\n }\n\n setContrast(value: WcagContrast): void {\n this._config.update((config) => ({ ...config, contrast: value }));\n this.announceChange('setContrast', value);\n this.save();\n }\n\n setText(value: WcagText): void {\n this._config.update((config) => ({ ...config, text: value }));\n this.announceChange('setText', value);\n this.save();\n }\n\n setLetterSpacing(value: WcagLetterSpacing): void {\n this._config.update((config) => ({ ...config, letterSpacing: value }));\n this.announceChange('setLetterSpacing', value);\n this.save();\n }\n\n setWordSpacing(value: WcagWordSpacing): void {\n this._config.update((config) => ({ ...config, wordSpacing: value }));\n this.announceChange('setWordSpacing', value);\n this.save();\n }\n\n reset(): void {\n this._config.set(DEFAULT_CONFIG);\n this.save();\n }\n\n private getSpacingValue(\n spacing: WcagLetterSpacing | WcagWordSpacing,\n ): number {\n switch (spacing) {\n case 'normal':\n return 1;\n case 'large':\n return 2;\n default:\n return 0;\n }\n }\n\n private loadConfig(): IWcagConfig {\n if (this.isBrowser && typeof localStorage !== 'undefined') {\n const stored = localStorage.getItem(WCAG_CONFIG_KEY);\n if (stored) {\n try {\n const parsed = JSON.parse(stored);\n return { ...DEFAULT_CONFIG, ...parsed };\n } catch (error) {\n console.warn('Failed to parse WCAG config', error);\n }\n }\n }\n return DEFAULT_CONFIG;\n }\n\n private save(): void {\n if (this.isBrowser && typeof localStorage !== 'undefined') {\n localStorage.setItem(WCAG_CONFIG_KEY, JSON.stringify(this._config()));\n }\n }\n\n private applyConfigToDOM(config: IWcagConfig): void {\n if (!this.isBrowser) return;\n\n const body = document.getElementsByTagName('body')[0];\n if (!body) return;\n\n body.className = '';\n body.className += ` contrast-${config.contrast}`;\n body.className += ` text-${config.text}`;\n body.className += ` letter-spacing-${config.letterSpacing}`;\n body.className += ` word-spacing-${config.wordSpacing}`;\n }\n\n private announceChange(type: WcagChangeType, value: any): void {\n if (!this.isBrowser) return;\n\n let announceElement = document.getElementById('wcag-change');\n\n if (!announceElement) {\n announceElement = document.createElement('span');\n announceElement.id = 'wcag-change';\n announceElement.className = 'sr-only';\n announceElement.setAttribute('aria-atomic', 'true');\n announceElement.setAttribute('aria-live', 'polite');\n document.body.appendChild(announceElement);\n }\n\n const translationKey = `WCAG.${type}.${value}`;\n announceElement.innerHTML = this.translationService.get(translationKey);\n }\n}\n","import { PaginationMode } from '@smartsoft001/angular';\nimport {\n CrudService,\n ICrudFilter,\n ICrudFilterQueryItem,\n} from '@smartsoft001/crud-shell-angular';\nimport { IEntity } from '@smartsoft001/domain-core';\nimport { firstValueFrom, Observable, of, throwError } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\n\nexport abstract class CrudBaseService<\n T extends IEntity<string>,\n> extends CrudService<T> {\n private sortSeed = Math.floor(Math.random() * 100000);\n\n abstract getUrlNameForDetails(): string;\n abstract getUrlNameForList(): string;\n\n downloadPdf(name: string, id: string): Promise<void> {\n return fetch(\n this.config.apiUrl + this.getUrlNameForDetails() + '/' + id + '/pdf',\n )\n .then((resp) => resp.arrayBuffer())\n .then((resp) => {\n const file = new Blob([resp], { type: 'application/pdf' });\n\n const fileURL = URL.createObjectURL(file);\n const link = document.createElement('a');\n link.href = fileURL;\n link.download = name + '.pdf';\n link.click();\n });\n }\n\n getById(id: string): Promise<T> {\n return firstValueFrom(\n this.http\n .get<{\n data: T;\n }>(this.config.apiUrl + this.getUrlNameForDetails() + '/' + id)\n .pipe(map((r) => (r as { data: T })?.data)),\n );\n }\n\n getList<T>(\n filter?: ICrudFilter,\n ): Promise<{ data: T[]; totalCount: number; links: unknown }> {\n let page = 1;\n\n if (filter?.offset && filter?.limit) {\n page = filter.offset / filter.limit;\n }\n\n let url = this.getBaseListUrl(page, filter as { limit: number });\n url = this.initFilters(filter as ICrudFilter, url);\n\n return firstValueFrom(\n this.http\n .get<{\n data: unknown & {\n items: unknown;\n paginatorDetails: {\n totalItemsCount: number;\n };\n };\n }>(url)\n .pipe(\n map((r) => {\n const response = r as {\n data?: {\n items?: T[];\n paginatorDetails?: {\n totalItemsCount?: number;\n };\n };\n };\n return {\n data: response.data?.items ?? [],\n totalCount: response.data?.paginatorDetails?.totalItemsCount ?? 0,\n links: {},\n };\n }),\n catchError(this.handleError),\n ),\n );\n }\n\n private initFilters(\n filter:\n | {\n searchText?: string | undefined;\n sortBy?: string | undefined;\n sortDesc?: boolean | undefined;\n offset?: number | undefined;\n limit?: number | undefined;\n paginationMode?: PaginationMode | undefined;\n query?: Array<ICrudFilterQueryItem> | undefined;\n }\n | ICrudFilter,\n url: string,\n ) {\n if (filter?.searchText) {\n url += `&filter[phrase]=${filter.searchText}`;\n }\n\n if (filter?.sortBy) {\n url += `&sort=${filter.sortBy}-${filter.sortDesc ? 'desc' : 'asc'}`;\n } else {\n url += `&sort=random&sortSeed=${this.sortSeed}`;\n }\n\n filter?.query?.forEach((q: ICrudFilterQueryItem) => {\n const isArray = Array.isArray(q.value);\n\n if (isArray) {\n q.value.forEach((value: unknown & { id: string }) => {\n url += `&filter[${q.key}]${this.getQueryType(q.type, true)}=${\n value.id\n }`;\n });\n } else {\n url += `&filter[${q.key}]${this.getQueryType(q.type, false)}=${\n q.value\n }`;\n }\n });\n return url;\n }\n\n protected getBaseListUrl(\n page: number,\n filter: {\n limit: number;\n },\n ) {\n return `${this.config.apiUrl}${\n this.getUrlNameForList() !== 'public-collections'\n ? 'search/' + this.getUrlNameForList()\n : 'public-collections'\n }/page/${page}?maxPerPage=${filter?.limit}`;\n }\n\n protected handleError(err: unknown & { status: number }): Observable<any> {\n if (err.status === 404 || err.status === 406) {\n return of({\n data: [],\n totalCount: 0,\n links: {},\n });\n }\n\n return throwError(() => new Error(`There was an error: ${err.status}`));\n }\n\n protected getQueryType(\n type: '=' | '!=' | '>=' | '<=' | '<' | '>',\n isArray: boolean,\n ) {\n switch (type) {\n case '>=':\n return '[from]';\n case '<=':\n return '[to]';\n case '=':\n return isArray ? '[]' : '';\n default:\n throw 'Type not supported!';\n }\n }\n}\n","import { ICrudFilter } from '@smartsoft001/crud-shell-angular';\n\nexport class QueryFilterService {\n static map(\n filter: ICrudFilter,\n queryParams: any,\n data: {\n id: string;\n key: string;\n text: string;\n },\n ): ICrudFilter {\n if (!queryParams[data.id]) return filter;\n\n const ids = queryParams[data.id].split(',');\n const texts = queryParams[data.text].split(',');\n\n filter.offset = 0;\n filter.query = [\n ...(filter?.query ? filter.query : []).filter((q) => q.key !== data.key),\n {\n key: data.key,\n type: '=',\n value: ids.map((id: string, i: number) => {\n return {\n id: id,\n text: texts[i],\n selected: true,\n };\n }),\n hidden: true,\n },\n ];\n\n return filter;\n }\n}\n","import { ConfigsFacade } from '../+state/configs.facade';\nimport { AuthStorageService } from './auth-storage/auth-storage.service';\nimport { ConfigsService } from './configs/configs.service';\nimport { ContrastService } from './contrast/contrast.service';\nimport { DictionaryService } from './dictionary/dictionary.service';\nimport { FileUrlService } from './file-url/file-url.service';\nimport { GlobalService } from './global/global.service';\nimport { MetaService } from './meta/meta.service';\nimport { ModalService } from './modal/modal.service';\nimport { SearchService } from './search/search.service';\nimport { SeoService } from './seo/seo.service';\nimport { SettingsService } from './settings/settings.service';\nimport { StyleService } from './style/style.service';\nimport { TranslationService } from './translation/translation.service';\nimport { WcagService } from './wcag/wcag.service';\n\nexport * from './dictionary/dictionary.service';\nexport * from './configs/configs.service';\nexport * from './crud/crud-base.service';\nexport * from './auth-storage/auth-storage.service';\nexport * from './translation/translation.service';\nexport * from './global/global.service';\nexport * from './file-url/file-url.service';\nexport * from './settings/settings.service';\nexport * from './wcag/wcag.service';\nexport * from './contrast/contrast.service';\nexport * from './meta/meta.service';\nexport * from './seo/seo.service';\nexport * from './style/style.service';\nexport * from './modal/modal.service';\nexport * from './modal/modal-ref';\nexport * from './search/search.service';\nexport * from './query-filter/query-filter.service';\n\nexport const SERVICES = [\n DictionaryService,\n ConfigsService,\n ConfigsFacade,\n AuthStorageService,\n TranslationService,\n GlobalService,\n FileUrlService,\n SettingsService,\n WcagService,\n ContrastService,\n MetaService,\n SeoService,\n StyleService,\n ModalService,\n SearchService,\n];\n","import { inject, Injectable, signal, WritableSignal } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { ReduxAction } from '@smartsoft001/angular';\n\nimport { Config, Page } from '@smartsoft001-mobilems/models';\n\nimport { ConfigsService } from '../services';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfigsFacade {\n private service = inject(ConfigsService);\n private sanitizer = inject(DomSanitizer);\n\n private static _source: WritableSignal<Config | null> = signal<Config | null>(\n null,\n );\n\n get data(): Config | null {\n return ConfigsFacade._source();\n }\n\n @ReduxAction()\n getPage(id: number | 'home'): Promise<Page> {\n return this.service.getPage(id).then((page: Page) => {\n if (!page) return page;\n\n return {\n ...page,\n content: this.sanitizer.bypassSecurityTrustHtml(page.content),\n };\n });\n }\n\n @ReduxAction()\n init(): Promise<Config> {\n return this.service.get().then((config: Config) => {\n ConfigsFacade._source.set(config);\n return config;\n });\n }\n}\n","import { Component } from '@angular/core';\nimport { RouterOutlet } from '@angular/router';\nimport { AppBaseComponent } from '@smartsoft001/angular';\n\n@Component({\n selector: 'smart-mobilems-app',\n imports: [RouterOutlet],\n templateUrl: './app.component.html',\n})\nexport class AppComponent extends AppBaseComponent {}\n","<ng-content select=\"header\"></ng-content>\n\n<main>\n <router-outlet></router-outlet>\n</main>\n\n<ng-content select=\"footer\"></ng-content>\n","import { Directive } from '@angular/core';\nimport { PageBaseComponent } from '@smartsoft001/angular';\n\n@Directive()\nexport class PageComponent extends PageBaseComponent {}\n","import {\n AfterContentInit,\n contentChild,\n Directive,\n effect,\n inject,\n Signal,\n TemplateRef,\n} from '@angular/core';\nimport { BaseComponent } from '@smartsoft001/angular';\nimport {\n CrudFacade,\n ICrudFilter,\n ICrudFilterQueryItem,\n} from '@smartsoft001/crud-shell-angular';\nimport { IEntity } from '@smartsoft001/domain-core';\nimport * as _ from 'lodash';\nimport { Debounce } from 'lodash-decorators';\n\nexport type FilterType = string | string[] | undefined;\n\nexport class FiltersContext<T extends IEntity<string>> extends BaseComponent {\n private readonly facade = inject(CrudFacade<T>);\n\n private _filter?: ICrudFilter;\n\n set searchText(val: string | undefined) {\n if (this._filter && this._filter.searchText === val) return;\n this.refresh({\n searchText: val,\n offset: 0,\n });\n }\n get searchText() {\n return this._filter?.searchText;\n }\n\n set page(val: number) {\n const offset = this._filter?.limit ? this._filter?.limit * val : 0;\n if (this._filter && this._filter.offset === offset) return;\n this.refresh({\n offset: offset,\n });\n }\n get page() {\n if (!this._filter) return 1;\n if (!this._filter.offset || !this._filter.limit) return 1;\n\n return this._filter.offset / this._filter.limit;\n }\n\n set limit(val: number) {\n if (this._filter && this._filter.limit === val) return;\n this.refresh({\n limit: val,\n offset: 0,\n });\n }\n get limit() {\n if (!this._filter) return 20;\n if (!this._filter.limit) return 20;\n\n return this._filter.limit;\n }\n\n set sortBy(val: string | undefined) {\n if (this._filter && this._filter.sortBy === val) return;\n this.refresh({\n sortBy: val,\n });\n }\n get sortBy() {\n return this._filter?.sortBy;\n }\n\n set query(val: ICrudFilterQueryItem[] | undefined) {\n if (this._filter && this._filter.query === val) return;\n this.refresh({\n query: val,\n });\n }\n get query() {\n return this._filter?.query;\n }\n\n set sortDesc(val: boolean | undefined) {\n if (this._filter && this._filter.sortDesc === val) return;\n this.refresh({\n sortDesc: val,\n });\n }\n get sortDesc() {\n return this._filter?.sortDesc;\n }\n\n set sort(val: { by?: string; desc?: boolean } | undefined) {\n if (this._filter && this._filter.sortBy === val) return;\n this.refresh({\n sortBy: val?.by,\n sortDesc: val?.desc,\n });\n }\n\n get sort() {\n return {\n by: this._filter?.sortBy,\n desc: this._filter?.sortDesc,\n };\n }\n\n set onlyImage(val: boolean | undefined) {\n if (!val && this.onlyImage && this._filter) {\n const result = this._filter.query\n ? this._filter.query?.filter(\n (q: ICrudFilterQueryItem) =>\n !(q.type === '=' && q.key === 'onlyImage'),\n )\n : [];\n\n this.refresh({\n query: [...result],\n });\n }\n\n if (val && !this.onlyImage && this._filter) {\n const result = this._filter.query\n ? this._filter.query.filter(\n (q: ICrudFilterQueryItem) =>\n !(q.type === '=' && q.key === 'onlyImage'),\n )\n : [];\n this.refresh({\n offset: 0,\n query: [\n ...result,\n {\n type: '=',\n key: 'onlyImage',\n value: 1,\n hidden: true,\n },\n ],\n });\n }\n }\n get onlyImage() {\n return this._filter?.query?.some(\n (q: ICrudFilterQueryItem) =>\n q.type === '=' && q.key === 'onlyImage' && q.value === 1,\n );\n }\n\n set exposure(val: boolean | undefined) {\n if (!val && this.exposure && this._filter) {\n const result = this._filter.query\n ? this._filter.query?.filter(\n (q: ICrudFilterQueryItem) =>\n !(\n q.type === '=' &&\n q.key === 'locationType' &&\n q.value === 'Ekspozycja'\n ),\n )\n : [];\n\n this.refresh({\n query: [...result],\n });\n }\n\n if (val && !this.exposure && this._filter) {\n const result = this._filter.query\n ? this._filter.query?.filter(\n (q: ICrudFilterQueryItem) =>\n !(\n q.type === '=' &&\n q.key === 'locationType' &&\n q.value === 'Ekspozycja'\n ),\n )\n : [];\n this.refresh({\n offset: 0,\n query: [\n ...result,\n {\n type: '=',\n key: 'locationType',\n value: 'Ekspozycja',\n hidden: true,\n },\n ],\n });\n }\n }\n get exposure() {\n return this._filter?.query?.some(\n (q: ICrudFilterQueryItem) =>\n q.type === '=' && q.key === 'locationType' && q.value === 'Ekspozycja',\n );\n }\n\n set creators(val: FilterType) {\n this.filterSet(this.creators, val, 'creators', '=');\n }\n get creators() {\n return this.filterGet('=', 'creators');\n }\n\n set createDatesFrom(val: FilterType) {\n this.filterSet(this.createDatesFrom, val, 'createDates', '>=');\n }\n get createDatesFrom() {\n return this.filterGet('>=', 'createDates');\n }\n\n set createDatesTo(val: FilterType) {\n this.filterSet(this.createDatesTo, val, 'createDates', '<=');\n }\n get createDatesTo() {\n return this.filterGet('<=', 'createDates');\n }\n\n set publicationDateFrom(val: FilterType) {\n this.filterSet(this.publicationDateFrom, val, 'publicationDate', '>=');\n }\n get publicationDateFrom() {\n return this.filterGet('>=', 'publicationDate');\n }\n\n set publicationDateTo(val: FilterType) {\n this.filterSet(this.publicationDateTo, val, 'publicationDate', '<=');\n }\n get publicationDateTo() {\n return this.filterGet('<=', 'publicationDate');\n }\n\n set createPlaces(val: FilterType) {\n this.filterSet(this.createPlaces, val, 'createPlaces', '=');\n }\n get createPlaces() {\n return this.filterGet('=', 'createPlaces');\n }\n\n set keywords(val: FilterType) {\n this.filterSet(this.keywords, val, 'keywords', '=');\n }\n get keywords() {\n return this.filterGet('=', 'keywords');\n }\n\n set techniques(val: FilterType) {\n this.filterSet(this.techniques, val, 'techniques', '=');\n }\n get techniques() {\n return this.filterGet('=', 'techniques');\n }\n\n set materials(val: FilterType) {\n this.filterSet(this.materials, val, 'materials', '=');\n }\n get materials() {\n return this.filterGet('=', 'materials');\n }\n\n set category(val: FilterType) {\n this.filterSet(this.category, val, 'category', '=');\n }\n get category() {\n return this.filterGet('=', 'category');\n }\n\n set department(val: FilterType) {\n this.filterSet(this.department, val, 'department', '=');\n }\n get department() {\n return this.filterGet('=', 'department');\n }\n\n set location(val: FilterType) {\n this.filterSet(this.category, val, 'location', '=');\n }\n get location() {\n return this.filterGet('=', 'location');\n }\n\n set locationType(val: FilterType) {\n this.filterSet(this.category, val, 'locationType', '=');\n }\n get locationType() {\n return this.filterGet('=', 'locationType');\n }\n\n set cycles(val: FilterType) {\n this.filterSet(this.cycles, val, 'cycles', '=');\n }\n get cycles() {\n return this.filterGet('=', 'cycles');\n }\n\n set authors(val: FilterType) {\n this.filterSet(this.authors, val, 'authors', '=');\n }\n get authors() {\n return this.filterGet('=', 'authors');\n }\n\n set targetGroups(val: FilterType) {\n this.filterSet(this.targetGroups, val, 'targetGroups', '=');\n }\n get targetGroups() {\n return this.filterGet('=', 'targetGroups');\n }\n\n set template(val: FilterType) {\n this.filterSet(this.template, val, 'template', '=');\n }\n get template() {\n return this.filterGet('=', 'template');\n }\n\n set types(val: FilterType) {\n this.filterSet(this.types, val, 'types', '=');\n }\n get types() {\n return this.filterGet('=', 'types');\n }\n\n set extraNumbersValue(val: FilterType) {\n this.filterSet(this.creators, val, 'extraNumbersValue', '=');\n }\n get extraNumbersValue() {\n return this.filterGet('=', 'extraNumbersValue');\n }\n\n totalCount: Signal<number> = (this.facade as any).totalCount;\n\n constructor() {\n super();\n\n effect(() => {\n this._filter = (this.facade as any).filter();\n });\n }\n\n @Debounce(500)\n private refresh(filter: ICrudFilter): void {\n let change = false;\n\n Object.keys(filter).forEach((key) => {\n if (!_.isEqual((this._filter as any)[key], (filter as any)[key]))\n change = true;\n });\n\n if (!change) return;\n\n (this.facade as any).read({\n ...(this.facade as any).filter,\n ...filter,\n });\n }\n\n private filterGet(key: string, type: any) {\n return this._filter?.query?.find(\n (q: ICrudFilterQueryItem) => q.type === key && q.key === type,\n )?.value;\n }\n\n private filterSet(\n currentValue: FilterType,\n val: FilterType,\n key: string,\n type: any,\n ) {\n if (!val && this._filter) {\n const result = this._filter?.query\n ? this._filter?.query?.filter(\n (q: ICrudFilterQueryItem) => !(q.type === type && q.key === key),\n )\n : [];\n\n this.refresh({\n offset: 0,\n query: [...result],\n });\n }\n\n if (val && currentValue !== val && this._filter) {\n const result = this._filter?.query\n ? this._filter?.query?.filter(\n (q: ICrudFilterQueryItem) => !(q.type === type && q.key === key),\n )\n : [];\n this.refresh({\n offset: 0,\n query: [\n ...result,\n {\n type: type,\n key: key,\n value: val,\n hidden: true,\n },\n ],\n });\n }\n }\n}\n\n@Directive({\n selector: 'smart-mobilems-filters',\n})\nexport abstract class FiltersBaseComponent<T extends IEntity<string>>\n implements AfterContentInit\n{\n context?: FiltersContext<T>;\n\n contentTpl = contentChild<TemplateRef<any> | undefined>('contentTpl');\n\n ngAfterContentInit(): void {\n this.context = new FiltersContext();\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport { Directive, HostListener, Inject } from '@angular/core';\n\n@Directive()\nexport class ScrollTopComponent {\n windowScrolled!: boolean;\n\n constructor(@Inject(DOCUMENT) private document: Document) {}\n\n @HostListener('window:scroll', [])\n onWindowScroll(): void {\n if (\n window.pageYOffset ||\n document.documentElement.scrollTop ||\n document.body.scrollTop > 200\n ) {\n this.windowScrolled = true;\n } else if (\n (this.windowScrolled && window.pageYOffset) ||\n document.documentElement.scrollTop ||\n document.body.scrollTop < 50\n ) {\n this.windowScrolled = false;\n }\n }\n\n scrollToTop(): void {\n const scrollOptions: ScrollToOptions = {\n top: 0,\n left: 0,\n behavior: 'smooth',\n };\n\n window.scrollTo(scrollOptions);\n }\n}\n","import { Component, computed, inject } from '@angular/core';\n\nimport { ConfigPageType, ConfigMenuItem } from '@smartsoft001-mobilems/models';\n\nimport { ConfigsFacade } from '../../+state/configs.facade';\n\nexport interface IFooterStaticPage {\n type: ConfigPageType.static;\n title: string;\n page: {\n id: number;\n title: string;\n };\n}\n\nexport interface IFooterConfig {\n theme?: {\n footer?: {\n menu?: ConfigMenuItem[];\n };\n };\n}\n\n@Component({\n selector: 'smart-mobilems-footer',\n standalone: true,\n imports: [],\n template: ``,\n styles: [],\n})\nexport class FooterComponent {\n private configsFacade = inject(ConfigsFacade);\n\n readonly config = computed(() => this.configsFacade.data);\n readonly currentYear = computed(() => new Date().getFullYear());\n\n readonly staticPages = computed<IFooterStaticPage[]>(() => {\n const config = this.config();\n if (!config?.theme?.footer?.menu) return [];\n\n return config.theme.footer.menu.filter(\n (item): item is IFooterStaticPage => item.type === ConfigPageType.static,\n );\n });\n\n readonly hasStaticPages = computed(() => this.staticPages().length > 0);\n\n readonly menuItems = computed(() => {\n const config = this.config();\n return config?.theme?.footer?.menu ?? [];\n });\n\n readonly hasMenuItems = computed(() => this.menuItems().length > 0);\n\n getStaticPageById(id: number): IFooterStaticPage | undefined {\n return this.staticPages().find((page) => page.page.id === id);\n }\n\n getStaticPageTitle(id: number): string | undefined {\n return this.getStaticPageById(id)?.page.title;\n }\n\n updateConfig(_config: IFooterConfig): void {\n const current = this.config();\n if (!current) return;\n }\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport {\n Component,\n computed,\n inject,\n signal,\n PLATFORM_ID,\n} from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ConfigsFacade } from '../../+state/configs.facade';\n\nexport interface IHeaderUser {\n userID: string;\n [key: string]: unknown;\n}\n\nexport interface IHeaderConfig {\n theme?: {\n header?: {\n showWcagConfig?: boolean;\n showSearch?: boolean;\n showLocalCollection?: boolean;\n showLanguageSelector?: boolean;\n showUserAccount?: boolean;\n };\n };\n}\n\n@Component({\n selector: 'smart-mobilems-header',\n standalone: true,\n imports: [],\n template: ``,\n styles: [],\n})\nexport class HeaderComponent {\n private configsFacade = inject(ConfigsFacade);\n private router = inject(Router);\n private platformId = inject(PLATFORM_ID);\n\n readonly config = computed(() => this.configsFacade.data);\n readonly isMobile = computed(() => {\n if (!isPlatformBrowser(this.platformId)) {\n return false;\n }\n return typeof window !== 'undefined' && window.innerWidth <= 640;\n });\n\n readonly showWcagConfig = signal<boolean>(false);\n readonly showSearchPanel = signal<boolean>(false);\n readonly user = signal<IHeaderUser | null>(null);\n readonly localCollectionCount = signal<number>(0);\n\n readonly headerConfig = computed(() => {\n const config = this.config();\n return (config?.theme as IHeaderConfig['theme']) ?? {};\n });\n\n readonly isWcagVisible = computed(() => {\n return (\n this.showWcagConfig() &&\n this.headerConfig()?.header?.showWcagConfig !== false\n );\n });\n\n readonly isSearchVisible = computed(() => {\n return this.headerConfig()?.header?.showSearch !== false;\n });\n\n readonly isLocalCollectionVisible = computed(() => {\n return this.headerConfig()?.header?.showLocalCollection !== false;\n });\n\n readonly isLanguageSelectorVisible = computed(() => {\n return this.headerConfig()?.header?.showLanguageSelector !== false;\n });\n\n readonly isUserAccountVisible = computed(() => {\n return this.headerConfig()?.header?.showUserAccount !== false;\n });\n\n toggleWcagConfig(): void {\n this.showWcagConfig.update((value) => !value);\n }\n\n toggleSearchPanel(): void {\n this.showSearchPanel.update((value) => !value);\n }\n\n onWcagCloseButtonEvent(closed: boolean): void {\n this.showWcagConfig.set(!closed);\n }\n\n onSearchPanelButtonEvent(opened: boolean): void {\n this.showSearchPanel.set(opened);\n }\n\n routeToLogin(): void {\n this.router.navigate(['/login']);\n }\n\n routeToUserAccount(): void {\n this.router.navigate(['/profile']);\n }\n\n routeToLocalCollection(): void {\n this.router.navigate(['/my-collection']);\n }\n\n setUser(user: IHeaderUser | null): void {\n this.user.set(user);\n }\n\n setLocalCollectionCount(count: number): void {\n this.localCollectionCount.set(count);\n }\n\n getUser(): IHeaderUser | null {\n return this.user();\n }\n\n getLocalCollectionCount(): number {\n return this.localCollectionCount();\n }\n\n updateConfig(): void {\n const current = this.config();\n if (!current) return;\n }\n}\n","import { isPlatformBrowser, NgClass, NgTemplateOutlet } from '@angular/common';\nimport { Component, computed, inject, input, PLATFORM_ID } from '@angular/core';\nimport { Router, RouterLink, RouterLinkActive } from '@angular/router';\n\nimport { ConfigsFacade } from '../../+state/configs.facade';\n\nexport interface IMenuItem {\n label: string;\n route: string;\n icon?: string;\n title?: string;\n ariaLabel?: string;\n}\n\nexport interface IMenuConfig {\n theme?: {\n menu?: {\n enabled?: boolean;\n mobileBreakpoint?: number;\n };\n };\n}\n\n@Component({\n selector: 'smart-mobilems-menu',\n standalone: true,\n imports: [NgClass, NgTemplateOutlet, RouterLink, RouterLinkActive],\n templateUrl: './menu.component.html',\n})\nexport class MenuComponent {\n private configsFacade = inject(ConfigsFacade);\n private router = inject(Router);\n private platformId = inject(PLATFORM_ID);\n\n readonly menuItems = input<IMenuItem[]>([]);\n readonly searchEnabled = input<boolean>(false);\n\n readonly config = computed(() => this.configsFacade.data);\n\n readonly menuConfig = computed(() => {\n const config = this.config();\n return (config?.theme as IMenuConfig['theme']) ?? {};\n });\n\n readonly mobileBreakpoint = computed(() => {\n return this.menuConfig()?.menu?.mobileBreakpoint ?? 960;\n });\n\n readonly isMobileMenu = computed(() => {\n if (!isPlatformBrowser(this.platformId)) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n window.innerWidth <= this.mobileBreakpoint()\n );\n });\n\n private _menuOpenState = false;\n\n toggleMenu(): void {\n this._menuOpenState = !this._menuOpenState;\n }\n\n closeMenu(): void {\n this._menuOpenState = false;\n }\n\n isOpened(): boolean {\n return this._menuOpenState;\n }\n\n isRouteActive(route: string): boolean {\n return this.router.isActive(route, {\n paths: 'exact',\n queryParams: 'exact',\n fragment: 'ignored',\n matrixParams: 'ignored',\n });\n }\n\n getMenuItemTitle(item: IMenuItem): string {\n if (item.title) {\n return item.title;\n }\n return this.isRouteActive(item.route)\n ? `${item.label} (active)`\n : item.label;\n }\n\n getMenuItemAriaLabel(item: IMenuItem): string {\n if (item.ariaLabel) {\n return item.ariaLabel;\n }\n return this.isRouteActive(item.route)\n ? `${item.label} - Current page`\n : item.label;\n }\n}\n","@if (!searchEnabled()) {\n <h2 class=\"smart-sr-only\">Main Menu</h2>\n\n @if (isMobileMenu()) {\n <div\n class=\"smart-w-full smart-flex smart-flex-row smart-justify-end smart-items-stretch smart-py-[1.2rem]\"\n [ngClass]=\"isOpened() ? '' : ''\"\n role=\"navigation\"\n attr.aria-label=\"Main Menu\"\n >\n <button\n class=\"smart-h-[3.6rem] smart-relative smart-bg-transparent smart-border-0 smart-left-0 smart-flex smart-flex-row smart-items-center smart-text-[1.8rem] smart-font-bold smart-cursor-pointer\"\n (click)=\"toggleMenu()\"\n attr.aria-expanded=\"{{ isOpened() }}\"\n attr.aria-label=\"{{ isOpened() ? 'Close menu' : 'Open menu' }}\"\n >\n @if (!isOpened()) {\n <span\n class=\"smart-text-[3rem] smart-text-black smart-mr-[0.6rem] smart-material-icons\"\n >menu</span\n >\n } @else {\n <span\n class=\"smart-text-[3rem] smart-text-black smart-mr-[0.6rem] smart-material-icons\"\n >close</span\n >\n }\n </button>\n </div>\n }\n\n @if (!isMobileMenu()) {\n <div\n class=\"smart-w-full smart-flex smart-flex-row smart-justify-end smart-h-full smart-p-0\"\n role=\"navigation\"\n attr.aria-label=\"Main Menu\"\n >\n <div role=\"menubar\">\n <ng-container *ngTemplateOutlet=\"menuTemplate\"></ng-container>\n </div>\n </div>\n }\n\n @if (isMobileMenu() && isOpened()) {\n <div\n class=\"smart-w-full smart-flex smart-flex-row smart-justify-center smart-h-full smart-p-0 smart-border smart-border-[#f3f3f3] smart-bg-[#fefefe] smart-mb-[2.4rem] smart-shadow-[0_0.6rem_1.2rem_#efefef] smart-p-[1.2rem]\"\n >\n <div role=\"navigation\" aria-label=\"Main\">\n <ng-container *ngTemplateOutlet=\"menuTemplate\"></ng-container>\n </div>\n </div>\n }\n}\n\n<ng-template #menuTemplate>\n <ul\n id=\"main-menu\"\n role=\"menu\"\n class=\"smart-h-full smart-w-full smart-flex smart-flex-row smart-justify-end smart-items-stretch smart-flex-nowrap smart-list-none smart-p-0 smart-m-0 smart-gap-x-[0.3rem]\"\n [ngClass]=\"\n isMobileMenu()\n ? 'smart-flex-wrap smart-justify-center smart-p-[1.2rem] smart-m-0'\n : ''\n \"\n >\n @for (item of menuItems(); track item.route) {\n <li\n class=\"smart-inline-flex smart-relative smart-w-auto smart-m-0\"\n [ngClass]=\"isMobileMenu() ? 'smart-w-full smart-max-w-full' : ''\"\n >\n <a\n class=\"smart-flex smart-items-center smart-flex-nowrap smart-text-black smart-transition-[border] smart-ease-in-out smart-duration-500 smart-border-b-[0.6rem] smart-border-b-transparent smart-cursor-pointer smart-justify-center smart-h-full smart-w-full smart-py-[1.2rem] smart-px-[1.8rem] smart-text-[1.6rem] smart-font-medium smart-whitespace-nowrap smart-m-0 smart-no-underline hover:smart-text-black hover:smart-bg-transparent hover:smart-border-b-[0.6rem] hover:smart-border-b-black\"\n role=\"menuitem\"\n [routerLink]=\"[item.route]\"\n routerLinkActive=\"smart-cursor-default smart-text-black smart-bg-transparent smart-border-b-[0.6rem] smart-border-b-black\"\n (click)=\"closeMenu()\"\n [attr.title]=\"getMenuItemTitle(item)\"\n [attr.aria-label]=\"getMenuItemAriaLabel(item)\"\n >\n @if (item.icon) {\n <span\n class=\"smart-text-[2.2rem] smart-mr-[0.4rem] smart-material-icons\"\n >{{ item.icon }}</span\n >\n }\n <span class=\"smart-inline-block\">{{ item.label }}</span>\n </a>\n </li>\n }\n </ul>\n</ng-template>\n","import { Directive, input } from '@angular/core';\n\nimport { IArticleWidget } from '@smartsoft001-mobilems/models';\n\n@Directive()\nexport class WidgetBaseComponent<T extends IArticleWidget> {\n item = input<T>();\n}\n","import { Component } from '@angular/core';\n\nimport { IArticleWidgetText } from '@smartsoft001-mobilems/models';\n\nimport { WidgetBaseComponent } from '../base.component';\n\n@Component({\n selector: 'smart-widget-text',\n templateUrl: './text.component.html',\n standalone: true,\n})\nexport class WidgetTextComponent extends WidgetBaseComponent<IArticleWidgetText> {}\n","@if (item(); as item) {\n <div [innerHTML]=\"item.text\"></div>\n}\n","import { NgComponentOutlet } from '@angular/common';\nimport {\n Component,\n input,\n computed,\n InjectionToken,\n inject,\n} from '@angular/core';\n\nimport {\n ArticleWidget,\n ArticleWidgetType,\n} from '@smartsoft001-mobilems/models';\n\nimport { WidgetTextComponent } from './text/text.component';\n\nexport type ArticlesWidgetComponentsToken = {\n [key in ArticleWidgetType]: any;\n};\n\nexport const ARTICLES_WIDGET_COMPONENTS_TOKEN =\n new InjectionToken<ArticlesWidgetComponentsToken>(\n 'ARTICLES_WIDGET_COMPONENTS_TOKEN',\n );\n\nconst baseMap: any = {\n [ArticleWidgetType.TEXT]: WidgetTextComponent,\n};\n\n@Component({\n selector: 'smart-widget',\n templateUrl: './widget.component.html',\n imports: [NgComponentOutlet],\n standalone: true,\n})\nexport class WidgetComponent {\n item = input.required<ArticleWidget>();\n\n extendMap = inject(ARTICLES_WIDGET_COMPONENTS_TOKEN, {\n optional: true,\n });\n\n component = computed(() => {\n const item = this.item();\n\n const map = { ...baseMap, ...this.extendMap };\n\n const component = map[item.widget];\n return component;\n });\n inputs = computed(() => {\n const item = this.item();\n return {\n item: item,\n };\n });\n}\n","<ng-container *ngComponentOutlet=\"component(); inputs: inputs()\" />\n","import { AppComponent } from './app/app.component';\n\nexport * from './app/app.component';\nexport * from './page/page.component';\nexport * from './filters/filters.component';\nexport * from './scroll-top/scroll-top.component';\nexport * from '../services/modal/modal-container.component';\nexport * from './footer';\nexport * from './header';\nexport * from './menu';\nexport * from './widget';\n\nexport const COMPONENTS = [AppComponent];\n","import { Directive, HostListener, inject, ElementRef } from '@angular/core';\n\n/**\n * Directive that adds a \"hover\" CSS class to the host element on mouse enter\n * and removes it on mouse leave.\n *\n * @example\n * ```html\n * <div smartHover>Hover me</div>\n * ```\n */\n@Directive({\n selector: '[smartHover]',\n standalone: true,\n})\nexport class HoverDirective {\n private readonly el = inject(ElementRef);\n\n /**\n * Adds the \"hover\" class when the mouse enters the element\n */\n @HostListener('mouseenter')\n onMouseEnter(): void {\n this.el.nativeElement.classList.add('hover');\n }\n\n /**\n * Removes the \"hover\" class when the mouse leaves the element\n */\n @HostListener('mouseleave')\n onMouseLeave(): void {\n this.el.nativeElement.classList.remove('hover');\n }\n}\n","import {\n Directive,\n input,\n inject,\n ElementRef,\n OnInit,\n signal,\n effect,\n} from '@angular/core';\n\n/**\n * Directive that provides programmatic scrolling and overflow detection\n * for horizontally or vertically scrollable containers.\n *\n * @example\n * ```html\n * <div smartScrollable [scrollUnit]=\"200\" #scroll=\"smartScrollable\">\n * <!-- scrollable content -->\n * </div>\n * <button (click)=\"scroll.scrollHorizontal(1)\" [disabled]=\"!scroll.canScrollEndHorizontal\">\n * Next →\n * </button>\n * ```\n */\n@Directive({\n selector: '[smartScrollable]',\n standalone: true,\n exportAs: 'smartScrollable',\n})\nexport class ScrollableDirective implements OnInit {\n private readonly el = inject(ElementRef);\n\n /**\n * The number of pixels to scroll per unit when using scroll methods.\n * Can be updated dynamically to change scroll behavior.\n */\n readonly scrollUnit = input.required<number>();\n\n /** Indicates if the container can scroll further to the right */\n canScrollEndHorizontal = signal<boolean>(false);\n\n /** Indicates if the container can scroll further to the left */\n canScrollStartHorizontal = signal<boolean>(false);\n\n /** Indicates if the container can scroll further down */\n canScrollEndVertical = signal<boolean>(false);\n\n /** Indicates if the container can scroll further up */\n canScrollStartVertical = signal<boolean>(false);\n\n /** Current horizontal scroll position */\n scrollLeftPosition = signal<number>(0);\n\n /** Current vertical scroll position */\n scrollTopPosition = signal<number>(0);\n\n constructor() {\n // Update overflow detection when scrollUnit changes\n effect(() => {\n this.scrollUnit();\n this.updateOverflow();\n });\n }\n\n ngOnInit(): void {\n this.updateOverflow();\n this.addScrollListener();\n this.addResizeListener();\n }\n\n /**\n * Scrolls the container horizontally by the specified number of units.\n * @param units Number of scroll units (can be negative for backward scroll)\n */\n scrollHorizontal(units: number): void {\n const element = this.el.nativeElement;\n const scrollAmount = units * this.scrollUnit();\n element.scrollLeft += scrollAmount;\n this.updateOverflow();\n }\n\n /**\n * Scrolls the container vertically by the specified number of units.\n * @param units Number of scroll units (can be negative for upward scroll)\n */\n scrollVertical(units: number): void {\n const element = this.el.nativeElement;\n const scrollAmount = units * this.scrollUnit();\n element.scrollTop += scrollAmount;\n this.updateOverflow();\n }\n\n /**\n * Updates all overflow detection signals based on current scroll position\n */\n private updateOverflow(): void {\n const element = this.el.nativeElement;\n\n // Horizontal overflow detection\n const scrollLeft = element.scrollLeft;\n const scrollWidth = element.scrollWidth;\n const clientWidth = element.clientWidth;\n\n this.scrollLeftPosition.set(scrollLeft);\n this.canScrollStartHorizontal.set(scrollLeft > 0);\n this.canScrollEndHorizontal.set(scrollLeft + clientWidth < scrollWidth);\n\n // Vertical overflow detection\n const scrollTop = element.scrollTop;\n const scrollHeight = element.scrollHeight;\n const clientHeight = element.clientHeight;\n\n this.scrollTopPosition.set(scrollTop);\n this.canScrollStartVertical.set(scrollTop > 0);\n this.canScrollEndVertical.set(scrollTop + clientHeight < scrollHeight);\n }\n\n /**\n * Adds scroll event listener to track scroll position changes\n */\n private addScrollListener(): void {\n this.el.nativeElement.addEventListener('scroll', () => {\n this.updateOverflow();\n });\n }\n\n /**\n * Adds window resize listener to recalculate overflow on resize\n */\n private addResizeListener(): void {\n window.addEventListener('resize', () => {\n this.updateOverflow();\n });\n }\n}\n","import {\n Directive,\n ElementRef,\n HostListener,\n effect,\n inject,\n input,\n output,\n} from '@angular/core';\n\nimport { ClickOutsideEvent } from '../models/click-outside-event.model';\n\n/**\n * Directive that detects when a click occurs outside of an element.\n *\n * When a click is detected outside the element, the `smartClickOutside` output\n * signal emits a `ClickOutsideEvent` containing the click event and target element.\n *\n * The directive respects the `isActive` input signal. When `isActive` is false,\n * outside clicks are not detected.\n *\n * @example\n * ```typescript\n * import { Component, signal } from '@angular/core';\n * import { ClickOutsideDirective } from '@smartsoft001-mobilems/angular';\n *\n * @Component({\n * selector: 'app-example',\n * imports: [ClickOutsideDirective],\n * template: `\\n * <div\n * smartClickOutside\n * [isActive]=\"isActive()\"\n * (smartClickOutside)=\"onClickOutside()\"\n * class=\"smart-border smart-p-4\"\n * >\n * Content inside\n * </div>\n * `,\n * })\n * export class ExampleComponent {\n * isActive = signal(true);\n *\n * onClickOutside(): void {\n * console.log('Clicked outside!');\n * }\n * }\n * ```\n */\n@Directive({\n selector: '[smartClickOutside]',\n})\nexport class ClickOutsideDirective {\n private readonly elementRef = inject(ElementRef);\n\n /**\n * Controls whether the directive responds to click events.\n * When false, no outside clicks are detected.\n */\n readonly isActive = input<boolean>(true);\n\n /**\n * Emits when a click outside the element is detected while isActive is true.\n */\n readonly smartClickOutside = output<ClickOutsideEvent>();\n\n private readonly clickEffect = effect(() => {\n // Access the isActive signal to track changes\n this.isActive();\n });\n\n /**\n * Handles document click events and checks if the click was outside the element.\n */\n @HostListener('document:click', ['$event'])\n onClick(event: MouseEvent | null): void {\n if (!event) {\n return;\n }\n\n if (!this.isActive()) {\n return;\n }\n\n const target = event.target as HTMLElement | null;\n if (!target) {\n return;\n }\n\n const isClickInsideElement = this.elementRef.nativeElement.contains(target);\n\n if (!isClickInsideElement) {\n this.smartClickOutside.emit({\n event,\n target: event.target,\n });\n }\n }\n}\n","export * from './hover.directive';\nexport * from './scrollable.directive';\nexport * from './click-outside.directive';\n\nexport const DIRECTIVES = [];\n","import { APP_INITIALIZER, ModuleWithProviders, NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\n\nimport { ConfigsFacade } from './+state/configs.facade';\nimport { COMPONENTS } from './components';\nimport { DIRECTIVES } from './directives';\nimport { SharedConfig } from './shared.config';\n\nfunction initializeApp(configsFacade: ConfigsFacade): () => void {\n return () => {\n setTimeout(() => {\n configsFacade.init().then();\n });\n };\n}\n\n@NgModule({\n declarations: [...DIRECTIVES],\n imports: [RouterModule, COMPONENTS],\n exports: [...DIRECTIVES, ...COMPONENTS], // Export our own components instead of SmartSharedModule\n})\nexport class SharedModule {\n static forFeature(config: SharedConfig): ModuleWithProviders<SharedModule> {\n return {\n ngModule: SharedModule,\n providers: [\n {\n provide: SharedConfig,\n useValue: config,\n },\n ],\n };\n }\n\n static forRoot(config: SharedConfig): ModuleWithProviders<SharedModule> {\n return {\n ngModule: SharedModule,\n providers: [\n {\n provide: SharedConfig,\n useValue: config,\n },\n {\n provide: APP_INITIALIZER,\n useFactory: initializeApp,\n multi: true,\n deps: [ConfigsFacade],\n },\n ],\n };\n }\n}\n","import { MsFile } from '@smartsoft001-mobilems/models';\n\nexport enum ListMode {\n mobile = 'mobile',\n desktop = 'desktop',\n masonryGrid = 'masonryGrid',\n timeline = 'timeline',\n map = 'map',\n}\n\nexport interface IQuickMenu {\n elementId: string;\n name: string;\n}\n\nexport interface IGame {\n scores: any;\n gameType: GameType;\n difficulty: number;\n puzzleImage: MsFile;\n image: MsFile;\n images: IImages[];\n coverImage: MsFile;\n questions?: IGameQuestion[];\n objects: any[];\n name: string;\n description: string;\n id: number;\n published: boolean;\n userId: number;\n}\n\nexport interface IGameQuestion {\n question: string;\n answers: IGameAnswer[];\n file?: MsFile;\n hint: string;\n}\n\nexport interface IGameAnswer {\n userChoice?: boolean;\n class?: string;\n answer: string;\n correct: boolean;\n id?: number;\n position?: number;\n}\n\nexport enum GameType {\n puzzle = 1,\n memo = 2,\n quiz = 3,\n}\n\nexport interface IObjectGallery {\n id: number;\n name: string;\n items: IObjectGalleryItem[];\n}\n\nexport interface IObjectGalleryItem {\n id: number;\n position: number;\n object: IObjectGallerySingleObject;\n}\n\nexport interface IObjectGallerySingleObject {\n id: number;\n inventoryNumber: string;\n name: string;\n multimedium: ISingleObjectMultimedia;\n}\n\nexport interface ISingleObjectMultimedia {\n altTextEn: string;\n extension: string;\n altText: string;\n filePath: string;\n id: number;\n}\n\nexport interface IGameMemoConfig {\n headerStyle: string;\n boxStyle: string;\n hiddenLabel?: boolean;\n buttonStyle?: string;\n gameNameStyle?: string;\n textStyle: string;\n mediaBaseUrl?: string;\n}\n\nexport interface IGamePuzzleConfig {\n headerStyle: string;\n boxStyle: string;\n hiddenLabel: boolean;\n startButtonStyle: string;\n gameNameStyle: string;\n imageStyle: string;\n noImagePlaceholderSrc: string;\n mediaBaseUrl?: string;\n}\n\nexport interface IGameQuizConfig {\n headerStyle: string;\n boxStyle: string;\n hiddenLabel: boolean;\n buttonStyle: string;\n gameNameStyle: string;\n answerStyle: string;\n questionStyle: string;\n textStyle: string;\n progressStyle: string;\n hintStyle: string;\n noImagePlaceholderSrc: string;\n mediaBaseUrl: string;\n}\n\nexport interface IImages {\n file: MsFile;\n id: number;\n position: number;\n}\n\nexport class ImageBox {\n xPos!: string;\n yPos!: string;\n index!: string;\n}\n\nexport interface IAudio {\n image?: MsFile;\n audio?: MsFile;\n title: string;\n text: string;\n}\n\nexport interface IVideo {\n image?: MsFile;\n video?: MsFile;\n title: string;\n text: string;\n}\n\nexport interface IErrorMessages {\n loginErrorMessage?: string | null;\n forgotPasswordErrorMessage?: ForgotPasswordErrorMessage | null;\n registerErrorMessage?: RegisterErrorMessage | null;\n changePasswordErrorMessage?: ChangePasswordErrorMessage | null;\n modifyUserErrorMessage?: ModifyUserErrorMessage | null;\n}\n\nexport interface ChangePasswordErrorMessage {\n first: string;\n second: string;\n}\n\nexport interface ForgotPasswordErrorMessage {\n userNotFound: boolean;\n}\n\nexport interface ModifyUserErrorMessage {\n authenticationError: {\n email?: string;\n login?: string;\n avatar?: string;\n };\n}\n\nexport interface RegisterErrorMessage {\n email: string[] | null;\n login: string[] | null;\n password: {\n first: string[] | null;\n second: string[] | null;\n };\n status: number;\n message: string;\n}\n\nexport interface IUserRegister {\n username: string;\n email: string;\n password?: string;\n password2?: string;\n termsAcceptance: boolean;\n}\n\nexport interface IUser {\n email: string;\n password?: string;\n userID: string;\n token: string;\n avatar?: string;\n newsletterAcceptance?: boolean;\n refreshToken?: string;\n}\n\nexport interface IUserInfo {\n email: string;\n userID: string;\n avatar?: string;\n newsletterAcceptance: boolean;\n}\n\nexport interface ILoginResponse {\n /**\n * JWTToken\n */\n token: string;\n refresh_token: string;\n}\n\nexport interface ILoginResponse {\n /**\n * JWTToken\n */\n token: string;\n refresh_token: string;\n}\n\nexport interface IUserModify {\n email?: string;\n username?: string;\n}\n\nexport interface IFilterOne {\n active: boolean;\n name: string;\n desc: any;\n value: any;\n}\n\nexport interface IFilterItem {\n title: string;\n searchText?: string;\n value: string;\n filter: IFilterOne;\n}\n\nexport interface IUserQuery {\n id?: number;\n createdAt?: string;\n sortBy?: string;\n filterList?: {\n query?: IFilterItem[];\n searchText?: string;\n sortBy?: string;\n };\n jobs?: any[];\n name: string;\n type: string;\n query: any;\n}\n\nexport interface IUserQueryList {\n items: IUserQuery[];\n}\n\nexport interface SearchQuery {\n deleteInProgress: boolean;\n // filtersList: FilterItem[];\n // profileQuery: ProfileQuery;\n searchDate: string;\n searchTitle: string;\n}\n","import { inject } from '@angular/core';\nimport { CanActivateFn, Router } from '@angular/router';\n\nimport { AuthStorageService } from '../services/auth-storage/auth-storage.service';\n\nexport const authenticationGuard: CanActivateFn = () => {\n const router = inject(Router);\n const authStorageService = inject(AuthStorageService);\n\n if (authStorageService.hasUser()) {\n return true;\n }\n\n router.navigate(['/logowanie']);\n return false;\n};\n","import { inject } from '@angular/core';\nimport { CanActivateFn, Router } from '@angular/router';\n\nimport { AuthStorageService } from '../services/auth-storage/auth-storage.service';\n\nexport const unauthorizedGuard: CanActivateFn = () => {\n const router = inject(Router);\n const authStorageService = inject(AuthStorageService);\n\n if (!authStorageService.hasUser()) {\n return true;\n }\n\n router.navigate(['/strona-glowna']);\n return false;\n};\n","import {\n AfterViewInit,\n Directive,\n inject,\n OnInit,\n signal,\n} from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { capitalize } from '@smartsoft001/utils';\n\nimport { PageSlide } from '@smartsoft001-mobilems/models';\n\nimport { ConfigsFacade } from '../../+state/configs.facade';\nimport { SeoService } from '../../services';\n\n@Directive()\nexport abstract class HomeComponent implements OnInit, AfterViewInit {\n private readonly seoService = inject(SeoService);\n private readonly translateService = inject(TranslateService);\n private configsFacade = inject(ConfigsFacade);\n\n slides = signal<Array<PageSlide>>([]);\n\n async ngOnInit(): Promise<void> {\n this.setTitle();\n }\n\n async ngAfterViewInit(): Promise<void> {\n await this.initSlides();\n }\n\n protected setTitle(): void {\n this.seoService.updateTitle(\n `${capitalize(this.translateService.instant('MODEL.mainTitle'))}`,\n );\n }\n\n private async initSlides(): Promise<void> {\n const page = await this.configsFacade.getPage('home' as any);\n this.slides.set(page?.slides || []);\n }\n}\n","import { Directive, inject, OnInit } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { capitalize } from '@smartsoft001/utils';\n\nimport { SeoService } from '../../services';\n\n@Directive()\nexport abstract class NotFoundComponent implements OnInit {\n private readonly seoService = inject(SeoService);\n private readonly translateService = inject(TranslateService);\n\n async ngOnInit(): Promise<void> {\n this.setTitle();\n }\n\n protected setTitle(): void {\n this.seoService.updateTitle(\n `${capitalize(this.translateService.instant('MODEL.mainTitle'))}`,\n );\n }\n}\n","import { Directive, effect, inject, signal } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { ActivatedRoute } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { capitalize } from '@smartsoft001/utils';\n\nimport { Page } from '@smartsoft001-mobilems/models';\n\nimport { ConfigsFacade } from '../../+state/configs.facade';\nimport { SeoService } from '../../services';\n\n@Directive()\nexport abstract class PageStaticComponent {\n protected readonly configsFacade = inject(ConfigsFacade);\n protected readonly route = inject(ActivatedRoute);\n protected readonly seoService = inject(SeoService);\n protected readonly translateService = inject(TranslateService);\n protected readonly params = toSignal(this.route.params);\n\n config = this.configsFacade.data;\n data = signal<Page | null>(null);\n\n loading = signal(false);\n\n constructor() {\n effect(() => {\n const params = this.params();\n if (params && params['id']) {\n this.loadData(+params['id']).then();\n }\n });\n }\n\n async loadData(id: number): Promise<void> {\n this.loading.set(true);\n this.data.set((await this.configsFacade.getPage(id)) as Page);\n this.loading.set(false);\n\n this.setTitle();\n }\n\n protected setTitle(): void {\n this.seoService.updateTitle(\n `${capitalize(this.data()?.title as string)} - ${capitalize(this.translateService.instant('MODEL.mainTitle'))}`,\n );\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["NgxTranslateService","SmartStyleService","i1.AppComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"smartsoft001-mobilems-angular.mjs","sources":["../../../../../packages/shared/angular/src/lib/translations.ts","../../../../../packages/shared/angular/src/lib/environments/environment.ts","../../../../../packages/shared/angular/src/lib/services/auth-storage/auth-storage.service.ts","../../../../../packages/shared/angular/src/lib/shared.config.ts","../../../../../packages/shared/angular/src/lib/services/configs/configs.service.ts","../../../../../packages/shared/angular/src/lib/services/contrast/contrast.service.ts","../../../../../packages/shared/angular/src/lib/services/dictionary/dictionary.service.ts","../../../../../packages/shared/angular/src/lib/services/file-url/file-url.service.ts","../../../../../packages/shared/angular/src/lib/services/global/global.service.ts","../../../../../packages/shared/angular/src/lib/services/translation/translation.service.ts","../../../../../packages/shared/angular/src/lib/services/meta/meta.service.ts","../../../../../packages/shared/angular/src/lib/services/modal/modal-container.component.ts","../../../../../packages/shared/angular/src/lib/services/modal/modal-ref.ts","../../../../../packages/shared/angular/src/lib/services/modal/modal.service.ts","../../../../../packages/shared/angular/src/lib/services/search/search.service.ts","../../../../../packages/shared/angular/src/lib/services/seo/seo.service.ts","../../../../../packages/shared/angular/src/lib/services/settings/settings.service.ts","../../../../../packages/shared/angular/src/lib/services/style/style.service.ts","../../../../../packages/shared/angular/src/lib/services/wcag/wcag.service.ts","../../../../../packages/shared/angular/src/lib/services/crud/crud-base.service.ts","../../../../../packages/shared/angular/src/lib/services/query-filter/query-filter.service.ts","../../../../../packages/shared/angular/src/lib/services/index.ts","../../../../../packages/shared/angular/src/lib/+state/configs.facade.ts","../../../../../packages/shared/angular/src/lib/components/app/app.component.ts","../../../../../packages/shared/angular/src/lib/components/app/app.component.html","../../../../../packages/shared/angular/src/lib/components/page/page.component.ts","../../../../../packages/shared/angular/src/lib/components/filters/filters.component.ts","../../../../../packages/shared/angular/src/lib/components/scroll-top/scroll-top.component.ts","../../../../../packages/shared/angular/src/lib/components/footer/footer.component.ts","../../../../../packages/shared/angular/src/lib/components/header/header.component.ts","../../../../../packages/shared/angular/src/lib/components/menu/menu.component.ts","../../../../../packages/shared/angular/src/lib/components/menu/menu.component.html","../../../../../packages/shared/angular/src/lib/components/widget/base.component.ts","../../../../../packages/shared/angular/src/lib/components/widget/text/text.component.ts","../../../../../packages/shared/angular/src/lib/components/widget/text/text.component.html","../../../../../packages/shared/angular/src/lib/components/widget/widget.component.ts","../../../../../packages/shared/angular/src/lib/components/widget/widget.component.html","../../../../../packages/shared/angular/src/lib/components/index.ts","../../../../../packages/shared/angular/src/lib/directives/hover.directive.ts","../../../../../packages/shared/angular/src/lib/directives/scrollable.directive.ts","../../../../../packages/shared/angular/src/lib/directives/click-outside.directive.ts","../../../../../packages/shared/angular/src/lib/directives/index.ts","../../../../../packages/shared/angular/src/lib/shared.module.ts","../../../../../packages/shared/angular/src/lib/interfaces.ts","../../../../../packages/shared/angular/src/lib/guards/authentication.guard.ts","../../../../../packages/shared/angular/src/lib/guards/unauthorized.guard.ts","../../../../../packages/shared/angular/src/lib/pages/home/home.component.ts","../../../../../packages/shared/angular/src/lib/pages/not-found/not-found.component.ts","../../../../../packages/shared/angular/src/lib/pages/page/page.component.ts","../../../../../packages/shared/angular/src/smartsoft001-mobilems-angular.ts"],"sourcesContent":["import { TranslateService } from '@ngx-translate/core';\n\nexport function setTranslationsAndLang(service: TranslateService) {\n const map = {\n pl: TRANSLATE_DATA_PL,\n };\n\n Object.keys(map).forEach((key) => {\n service.setTranslation(key, (map as any)[key], true);\n });\n\n if (!service.currentLang) {\n const lang = service.getBrowserLang();\n service.use(lang ?? 'en');\n }\n}\n\nexport interface ITranslateData {\n MODEL: object;\n //..\n}\n\nexport const TRANSLATE_DATA_PL: ITranslateData = {\n MODEL: {\n //..\n },\n //..\n};\n","export const environment = {\n production: false,\n apiUrl: '',\n multimediaUrl: '',\n mainLogoPath: '/assets/gfx/logo/main-logo.png',\n};\n","import { Injectable } from '@angular/core';\n\nimport { IUser } from '@smartsoft001-mobilems/models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthStorageService {\n private readonly STORAGE_KEY = 'user';\n\n setUser(user: IUser): void {\n if (typeof localStorage !== 'undefined') {\n localStorage.setItem(this.STORAGE_KEY, JSON.stringify(user));\n }\n }\n\n getUser(): IUser | null {\n if (typeof localStorage !== 'undefined') {\n const item = localStorage.getItem(this.STORAGE_KEY);\n if (item) {\n try {\n return JSON.parse(item) as IUser;\n } catch (error) {\n console.error('Failed to parse user from localStorage', error);\n return null;\n }\n }\n }\n return null;\n }\n\n removeUser(): void {\n if (typeof localStorage !== 'undefined') {\n localStorage.removeItem(this.STORAGE_KEY);\n }\n }\n\n hasUser(): boolean {\n return this.getUser() !== null;\n }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class SharedConfig {\n apiUrl = '';\n multimediaUrl = '';\n mainLogoPath = '/assets/gfx/logo/main-logo.png';\n styleVariables?: Record<string, any>;\n}\n","import { HttpClient } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport moment from 'moment';\nimport { combineLatest, firstValueFrom, lastValueFrom } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { Config, ITheme, Page } from '@smartsoft001-mobilems/models';\n\nimport { SharedConfig } from '../../shared.config';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfigsService {\n private readonly httpClient = inject(HttpClient);\n private readonly config = inject(SharedConfig);\n\n get(): Promise<Config> {\n const date = moment().format('YYYY-MM-DD');\n\n return lastValueFrom(\n combineLatest([\n this.httpClient.post<{\n data: unknown & { current: { objectId: string; title: string } };\n }>(this.config.apiUrl + 'object/object-of-the-week', {\n dateStart: date,\n dateEnd: date,\n }),\n this.httpClient.get<{ data: unknown }>(\n this.config.apiUrl + 'setting/theme',\n ),\n ]).pipe(\n map(([r1, r2]) => {\n return {\n id: '',\n objectOfTheDay: {\n id: Number(r1?.data?.current?.objectId),\n title: r1?.data?.current?.title,\n },\n theme: r2.data as ITheme,\n };\n }),\n ),\n );\n }\n\n getPage(id: number | 'home'): Promise<Page> {\n return firstValueFrom(\n this.httpClient\n .get<{ data: any }>(this.config.apiUrl + 'page/' + id)\n .pipe(map((r) => r.data)),\n );\n }\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport { Injectable, signal, effect, PLATFORM_ID, inject } from '@angular/core';\n\ninterface ContrastColors {\n black: string;\n yellow: string;\n white: string;\n transparentBlack: string;\n wcagColor1: string;\n wcagColor2: string;\n}\n\nconst DEFAULT_COLORS: ContrastColors = {\n black: 'black',\n yellow: 'yellow',\n white: 'white',\n transparentBlack: 'rgba(0, 0, 0, 0.9)',\n wcagColor1: '#F4B735',\n wcagColor2: '#1B1B1B',\n};\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ContrastService {\n private readonly platformId = inject(PLATFORM_ID);\n private readonly isBrowser = isPlatformBrowser(this.platformId);\n\n readonly isActive = signal(false);\n\n constructor() {\n // Apply contrast changes to DOM\n effect(() => {\n if (this.isBrowser) {\n this.applyContrast(this.isActive());\n }\n });\n }\n\n changeTheme(active: boolean): void {\n this.isActive.set(active);\n }\n\n toggle(): void {\n this.isActive.update((value) => !value);\n }\n\n private applyContrast(active: boolean): void {\n if (!this.isBrowser) return;\n\n const docElement = document.documentElement;\n\n if (active) {\n this.setProperties(docElement);\n docElement.classList.add('cv');\n } else {\n this.removeProperties(docElement);\n docElement.classList.remove('cv');\n }\n }\n\n private setProperties(element: HTMLElement): void {\n element.style.setProperty('--cv-black', DEFAULT_COLORS.black);\n element.style.setProperty('--cv-yellow', DEFAULT_COLORS.yellow);\n element.style.setProperty('--cv-white', DEFAULT_COLORS.white);\n element.style.setProperty(\n '--cv-black-transparent',\n DEFAULT_COLORS.transparentBlack,\n );\n element.style.setProperty('--cv-wcag-color-1', DEFAULT_COLORS.wcagColor1);\n element.style.setProperty('--cv-wcag-color-2', DEFAULT_COLORS.wcagColor2);\n }\n\n private removeProperties(element: HTMLElement): void {\n element.style.removeProperty('--cv-black');\n element.style.removeProperty('--cv-yellow');\n element.style.removeProperty('--cv-white');\n element.style.removeProperty('--cv-black-transparent');\n element.style.removeProperty('--cv-wcag-color-1');\n element.style.removeProperty('--cv-wcag-color-2');\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { SharedConfig } from '../../shared.config';\n\nexport interface IDictionaryItem {\n id: number;\n name: string;\n hasChildren?: boolean;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DictionaryService<T> {\n private readonly httpClient = inject(HttpClient);\n private readonly config = inject(SharedConfig);\n\n get(\n type: T,\n query: {\n searchText?: string;\n page: number;\n pageSize?: number;\n context?: string;\n } = { page: 1 },\n ): Observable<IDictionaryItem[]> {\n let url =\n this.config.apiUrl +\n `${query.context ? query.context : 'dictionary'}/${type}/search/page/${query.page}?sort=random`;\n\n if (query.pageSize) {\n url += `&maxPerPage=${query.pageSize}`;\n }\n\n if (query.searchText) {\n url += `&q=${query.searchText}`;\n }\n\n return this.httpClient\n .get<{ data: { items: IDictionaryItem[] } }>(url)\n .pipe(map((r) => r.data.items));\n }\n\n getNode(\n type: T,\n query: {\n nodeId?: number;\n context?: string;\n } = {},\n ): Observable<IDictionaryItem[]> {\n let url =\n this.config.apiUrl +\n `${query.context ? query.context : 'dictionary'}/${type}/tree`;\n\n if (query.nodeId !== null && query.nodeId !== undefined) {\n //In case the nodeId is 0 or is cast to false\n url += `?id=${query.nodeId}`;\n }\n\n return this.httpClient\n .get<{ data: IDictionaryItem[] }>(url)\n .pipe(map((r) => r.data));\n }\n}\n","import { Injectable, inject } from '@angular/core';\n\nimport { MsFile } from '@smartsoft001-mobilems/models';\n\nimport { SharedConfig } from '../../shared.config';\n\nexport type FileUrlMode = 'cache' | 'big' | 'noCache';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FileUrlService {\n private readonly config = inject(SharedConfig);\n\n get(\n fileOrPath?: MsFile | string,\n mode: FileUrlMode = 'cache',\n noImagePlaceholder = 'assets/no-image.svg',\n ): string {\n const multimediaUrl = this.config.multimediaUrl;\n\n if (!multimediaUrl) {\n return noImagePlaceholder;\n }\n\n let path: string;\n\n if (typeof fileOrPath === 'string') {\n path = fileOrPath;\n } else {\n if (!fileOrPath || !fileOrPath.filePath) {\n return noImagePlaceholder;\n }\n\n // Check if it's an upload path (direct URL)\n if (fileOrPath.filePath.indexOf('upload') === -1) {\n return (\n multimediaUrl + this.getPath(mode) + this.getFileName(fileOrPath)\n );\n }\n\n path = fileOrPath.filePath;\n }\n\n // Remove leading slash if present\n if (path[0] === '/') {\n path = path.substring(1);\n }\n\n return multimediaUrl + path;\n }\n\n private getFileName(file: MsFile): string {\n if (\n file.filePath &&\n file.extension &&\n file.filePath.indexOf(file.extension) > -1\n ) {\n return file.filePath;\n }\n\n return file.filePath + '.' + file.extension;\n }\n\n private getPath(mode: FileUrlMode): string {\n switch (mode) {\n case 'big':\n return 'upload/cache/multimedia_big/';\n case 'cache':\n return 'upload/cache/multimedia_detail/';\n case 'noCache':\n return 'upload/multimedia/';\n }\n }\n}\n","import { Injectable, signal } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class GlobalService {\n readonly showHeader = signal(true);\n readonly showFooter = signal(true);\n\n setHeaderVisibility(visible: boolean): void {\n this.showHeader.set(visible);\n }\n\n setFooterVisibility(visible: boolean): void {\n this.showFooter.set(visible);\n }\n\n hexToRgb(hex: string): number[] | null {\n if (!hex) return null;\n\n // Remove # if present\n let cleanHex = hex.replace(/^#/, '');\n\n // Expand 3-character hex to 6-character (#abc -> #aabbcc)\n if (cleanHex.length === 3) {\n cleanHex = cleanHex\n .split('')\n .map((char) => char + char)\n .join('');\n }\n\n // Parse 6-character hex\n const result = cleanHex.match(/.{2}/g);\n\n if (!result || result.length !== 3) return null;\n\n return result.map((x) => parseInt(x, 16));\n }\n\n rgbToHex(r: number, g: number, b: number): string {\n return (\n '#' +\n [r, g, b]\n .map((x) => {\n const hex = x.toString(16);\n return hex.length === 1 ? '0' + hex : hex;\n })\n .join('')\n );\n }\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport {\n Injectable,\n inject,\n signal,\n computed,\n PLATFORM_ID,\n} from '@angular/core';\nimport { TranslateService as NgxTranslateService } from '@ngx-translate/core';\nimport { Observable } from 'rxjs';\n\nconst TRANSLATION_CONFIG_KEY = 'TRANSLATION_CONFIG';\n\nexport interface ITranslationConfig {\n language: string;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TranslationService {\n private readonly translateService = inject(NgxTranslateService);\n private readonly platformId = inject(PLATFORM_ID);\n\n private readonly _config = signal<ITranslationConfig>({\n language: this.getInitialLanguage(),\n });\n\n readonly config = this._config.asReadonly();\n readonly config$ = this.translateService.onLangChange.pipe() as Observable<{\n lang: string;\n }>;\n\n readonly currentLanguage = computed(() => this._config().language);\n\n get(key: string, params?: any): string {\n return this.translateService.instant(key, params);\n }\n\n async init(\n defaultLang = 'en',\n availableLangs: string[] = ['en', 'pl'],\n ): Promise<void> {\n this.translateService.setDefaultLang(defaultLang);\n this.translateService.addLangs(availableLangs);\n\n let lang = this._config().language;\n\n if (!availableLangs.includes(lang)) {\n lang = defaultLang;\n this._config.set({ language: lang });\n }\n\n await this.translateService.use(lang).toPromise();\n }\n\n setLanguage(language: string): void {\n this._config.set({ language });\n this.save();\n this.translateService.use(language);\n }\n\n private save(): void {\n if (typeof localStorage !== 'undefined') {\n localStorage.setItem(\n TRANSLATION_CONFIG_KEY,\n JSON.stringify(this._config()),\n );\n }\n }\n\n private getInitialLanguage(): string {\n if (isPlatformBrowser(this.platformId)) {\n const stored = localStorage.getItem(TRANSLATION_CONFIG_KEY);\n if (stored) {\n try {\n const parsed = JSON.parse(stored) as ITranslationConfig;\n return parsed.language;\n } catch (error) {\n console.warn('Failed to parse translation config', error);\n }\n }\n }\n return this.translateService.getBrowserLang() || 'en';\n }\n}\n","import { Injectable, inject } from '@angular/core';\nimport { Meta, MetaDefinition, Title } from '@angular/platform-browser';\nimport { ActivatedRoute, NavigationEnd, Router } from '@angular/router';\nimport { Subscription } from 'rxjs';\nimport { filter, map } from 'rxjs/operators';\n\nimport { MsFile } from '@smartsoft001-mobilems/models';\n\nimport { SharedConfig } from '../../shared.config';\nimport { TranslationService } from '../translation/translation.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MetaService {\n private readonly meta = inject(Meta);\n private readonly title = inject(Title);\n private readonly translationService = inject(TranslationService);\n private readonly router = inject(Router);\n private readonly activatedRoute = inject(ActivatedRoute);\n private readonly config = inject(SharedConfig);\n\n private routerSubscription?: Subscription;\n\n constructor() {\n this.resetMetadata();\n }\n\n keepUpdatingPageTitle(onRouteChange: boolean): Subscription | void {\n if (onRouteChange) {\n this.routerSubscription = this.router.events\n .pipe(\n filter((event) => event instanceof NavigationEnd),\n map(() => this.getRouteTitle()),\n )\n .subscribe((dynamicTitle: string) => {\n if (dynamicTitle) {\n this.setTitle(dynamicTitle);\n }\n });\n\n return this.routerSubscription;\n } else {\n const dynamicTitle = this.getRouteTitle();\n if (dynamicTitle) {\n this.setTitle(dynamicTitle);\n }\n }\n }\n\n setPageMetadata(title = '', description = ''): void {\n if (title) {\n this.setTitle(title);\n }\n if (description) {\n this.setDescription(description);\n }\n }\n\n setObjectMetadata(objectData: {\n image?: MsFile;\n title?: string;\n description?: string;\n type?: string;\n }): void {\n if (objectData.image) {\n this.setImageMetadata(\n objectData.image,\n objectData.title,\n objectData.type,\n );\n }\n if (objectData.title) {\n this.setTitle(objectData.title);\n }\n if (objectData.description) {\n this.setDescription(objectData.description);\n }\n }\n\n setImageMetadata(image: MsFile, imageAlt?: string, type?: string): void {\n const multimediaUrl = this.config.multimediaUrl;\n\n if (!multimediaUrl || !image?.filePath) {\n return;\n }\n\n try {\n const imageUrl = this.buildImageUrl(multimediaUrl, image, type);\n this.meta.updateTag({ property: 'og:image', content: imageUrl });\n this.meta.updateTag({ property: 'og:image:type', content: 'image/jpeg' });\n this.meta.updateTag({ property: 'og:image:width', content: '600' });\n this.meta.updateTag({ property: 'og:image:height', content: '600' });\n\n if (imageAlt) {\n this.meta.updateTag({\n property: 'og:image:alt',\n content: this.removeHtmlTags(imageAlt),\n });\n } else {\n this.meta.removeTag(\"property='og:image:alt'\");\n }\n } catch (error) {\n console.warn('Failed to set image metadata', error);\n }\n }\n\n resetMetadata(): void {\n const baseTitle =\n this.translationService.get('base-portal-title') || 'Portal';\n\n this.meta.updateTag({ property: 'og:type', content: 'website' });\n this.meta.updateTag({ property: 'og:title', content: baseTitle });\n this.meta.updateTag({ property: 'og:description', content: '' });\n this.meta.updateTag({ name: 'description', content: '' });\n this.meta.updateTag({\n property: 'og:image',\n content: 'assets/gfx/no-img/no-img-header.jpg',\n });\n this.meta.updateTag({ property: 'og:image:alt', content: baseTitle });\n this.meta.updateTag({ property: 'og:image:type', content: 'image/jpeg' });\n this.meta.updateTag({ property: 'og:image:width', content: '250' });\n this.meta.updateTag({ property: 'og:image:height', content: '250' });\n }\n\n updateTag(tag: MetaDefinition): void {\n this.meta.updateTag(tag);\n }\n\n setTitle(titleText: string): void {\n const plainTitle = this.removeHtmlTags(titleText);\n this.title.setTitle(plainTitle);\n this.meta.updateTag({ property: 'og:title', content: plainTitle });\n }\n\n setDescription(description: string): void {\n const plainDesc = this.removeHtmlTags(description);\n this.meta.updateTag({ property: 'og:description', content: plainDesc });\n this.meta.updateTag({ name: 'description', content: plainDesc });\n }\n\n destroy(): void {\n this.routerSubscription?.unsubscribe();\n }\n\n private buildImageUrl(baseUrl: string, image: MsFile, type?: string): string {\n const cleanBaseUrl = baseUrl.endsWith('/') ? baseUrl.slice(0, -1) : baseUrl;\n\n if (type === 'object' && image.filePath) {\n return `${cleanBaseUrl}/${image.filePath}.jpg`;\n }\n\n return `${cleanBaseUrl}/${image.filePath}`;\n }\n\n private removeHtmlTags(value: string): string {\n if (!value) return '';\n\n return value\n .replace(/<.*?>/g, '')\n .replace(/ /g, ' ')\n .replace(/‐/g, '-')\n .replace(/–/g, '-')\n .replace(/—/g, '-')\n .replace(/–/g, '-')\n .replace(/—/g, '-')\n .replace(/„/g, '\"')\n .replace(/ó/g, 'ó')\n .replace(/”/g, '\"')\n .replace(/"/g, '\"');\n }\n\n private getRouteTitle(): string {\n let child = this.activatedRoute.firstChild;\n\n while (child?.firstChild) {\n child = child.firstChild;\n }\n\n if (!child) return '';\n\n const snapshot = child.snapshot;\n\n if (snapshot.data['subtitle']) {\n return snapshot.data['subtitle'];\n }\n\n if (snapshot.data['title']) {\n return snapshot.data['title'];\n }\n\n return '';\n }\n}\n","import { CommonModule } from '@angular/common';\nimport {\n Component,\n input,\n output,\n TemplateRef,\n HostListener,\n} from '@angular/core';\n\n/**\n * Container component for modal overlay and content.\n * Handles backdrop clicks and ESC key press.\n */\n@Component({\n selector: 'smart-mobilems-modal-container',\n standalone: true,\n imports: [CommonModule],\n template: `\n <div\n class=\"smart-fixed smart-inset-0 smart-bg-black smart-bg-opacity-50 smart-flex smart-items-center smart-justify-center smart-z-50\"\n (click)=\"onBackdropClick($event)\"\n >\n <div\n class=\"smart-bg-white smart-rounded-lg smart-shadow-xl smart-max-w-2xl smart-w-full smart-m-4 smart-max-h-[90vh] smart-overflow-auto\"\n (click)=\"$event.stopPropagation()\"\n >\n <div class=\"smart-p-6\">\n <ng-container *ngTemplateOutlet=\"contentTemplate()\"></ng-container>\n </div>\n </div>\n </div>\n `,\n})\nexport class ModalContainerComponent {\n /**\n * Template to render inside the modal content area.\n */\n contentTemplate = input.required<TemplateRef<any>>();\n\n /**\n * Emits when backdrop is clicked or ESC key is pressed.\n */\n backdropClick = output<void>();\n\n /**\n * Listens for ESC key press on document level.\n */\n @HostListener('document:keydown.escape')\n onEscapeKey(): void {\n this.backdropClick.emit();\n }\n\n /**\n * Handles backdrop click event.\n * @param _event Mouse click event\n */\n onBackdropClick(_event: MouseEvent): void {\n this.backdropClick.emit();\n }\n}\n","import { Subject } from 'rxjs';\n\n/**\n * Reference to an opened modal.\n * Provides methods to close the modal and observe its lifecycle.\n */\nexport class ModalRef {\n private readonly _afterClosed = new Subject<void>();\n\n /**\n * Observable that emits when the modal has been closed.\n * Completes after emission.\n */\n readonly afterClosed$ = this._afterClosed.asObservable();\n\n constructor(private readonly closeCallback: () => void) {}\n\n /**\n * Closes the modal and triggers cleanup.\n * Safe to call multiple times.\n */\n close(): void {\n this.closeCallback();\n this._afterClosed.next();\n this._afterClosed.complete();\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport {\n Injectable,\n ApplicationRef,\n createComponent,\n EnvironmentInjector,\n inject,\n TemplateRef,\n ComponentRef,\n} from '@angular/core';\n\nimport { ModalContainerComponent } from './modal-container.component';\nimport { ModalRef } from './modal-ref';\n\n/**\n * Service for managing modal dialogs.\n * Provides methods to open, close, and manage modal instances.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class ModalService {\n private readonly appRef = inject(ApplicationRef);\n private readonly injector = inject(EnvironmentInjector);\n private readonly document = inject(DOCUMENT);\n\n private activeModals: ComponentRef<ModalContainerComponent>[] = [];\n\n /**\n * Opens a modal with the provided template.\n * @param template TemplateRef to render inside the modal\n * @returns ModalRef instance for controlling the modal\n */\n open(template: TemplateRef<any>): ModalRef {\n const componentRef = createComponent(ModalContainerComponent, {\n environmentInjector: this.injector,\n });\n\n componentRef.setInput('contentTemplate', template);\n\n const modalRef = new ModalRef(() => this.closeModal(componentRef));\n\n componentRef.instance.backdropClick.subscribe(() => {\n modalRef.close();\n });\n\n this.appRef.attachView(componentRef.hostView);\n\n const domElem = (componentRef.hostView as any).rootNodes[0] as HTMLElement;\n this.document.body.appendChild(domElem);\n\n componentRef.changeDetectorRef.detectChanges();\n\n this.activeModals.push(componentRef);\n\n return modalRef;\n }\n\n /**\n * Closes a specific modal instance.\n * @param componentRef Component reference to close\n */\n private closeModal(\n componentRef: ComponentRef<ModalContainerComponent>,\n ): void {\n const index = this.activeModals.indexOf(componentRef);\n if (index > -1) {\n this.activeModals.splice(index, 1);\n }\n\n this.appRef.detachView(componentRef.hostView);\n componentRef.destroy();\n }\n\n /**\n * Closes all currently open modals.\n */\n closeAll(): void {\n const modals = [...this.activeModals];\n modals.forEach((componentRef) => this.closeModal(componentRef));\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable, InjectionToken, inject, signal } from '@angular/core';\nimport {\n CrudSearchService,\n ICrudFilter,\n} from '@smartsoft001/crud-shell-angular';\nimport { Observable, combineLatest, of } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\n\nexport type SearchSource =\n | 'objects'\n | 'publicCollections'\n | 'articles'\n | 'creators'\n | 'imprints';\n\nexport interface ISearchData {\n cycleId?: number;\n keywordId?: number;\n seriesTitleId?: number;\n}\n\nexport interface ISearchResults {\n objects: number;\n publicCollections: number;\n articles: number;\n creators: number;\n imprints: number;\n}\n\ninterface ApiResponse {\n data?: {\n paginatorDetails?: {\n totalItemsCount: number;\n };\n };\n}\n\nexport interface ISearchConfig {\n apiUrl: string;\n}\n\nexport const SEARCH_CONFIG_TOKEN = new InjectionToken<ISearchConfig>(\n 'SEARCH_CONFIG_TOKEN',\n);\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SearchService extends CrudSearchService {\n private readonly http = inject(HttpClient);\n private _currentSearchText = signal<string>('');\n private readonly config = inject(SEARCH_CONFIG_TOKEN);\n\n searchText = this._currentSearchText.asReadonly();\n\n constructor() {\n super();\n }\n\n get currentSearchText(): string {\n return this._currentSearchText();\n }\n\n override setFilter(val: Partial<ICrudFilter>): void {\n super.setFilter(val);\n }\n\n override setEnabled(val: boolean): void {\n super.setEnabled(val);\n\n if (!val) {\n this.setFilter({});\n this._currentSearchText.set('');\n }\n }\n\n setCurrentSearchText(txt: string): void {\n this._currentSearchText.set(txt);\n }\n\n search(txt: string, data: ISearchData = {}): Observable<ISearchResults> {\n this.setFilter({\n searchText: txt,\n });\n\n this._currentSearchText.set(txt);\n\n return combineLatest([\n this.http\n .get<ApiResponse>(\n `${this.config.apiUrl}search/Object/page/1?maxPerPage=1&${this.getFilterQuery('objects', txt, data)}`,\n )\n .pipe(\n catchError(() => {\n return of(null as ApiResponse | null);\n }),\n ),\n this.http\n .get<ApiResponse>(\n `${this.config.apiUrl}public-collections/page/1?maxPerPage=1&${this.getFilterQuery('publicCollections', txt, data)}`,\n )\n .pipe(\n catchError(() => {\n return of(null as ApiResponse | null);\n }),\n ),\n this.http\n .get<ApiResponse>(\n `${this.config.apiUrl}search/Article/page/1?maxPerPage=1&${this.getFilterQuery('articles', txt, data)}`,\n )\n .pipe(\n catchError(() => {\n return of(null as ApiResponse | null);\n }),\n ),\n this.http\n .get<ApiResponse>(\n `${this.config.apiUrl}dictionary/Creator/search/page/1?maxPerPage=1&${this.getFilterQuery('creators', txt, data)}`,\n )\n .pipe(\n catchError(() => {\n return of(null as ApiResponse | null);\n }),\n ),\n this.http\n .get<ApiResponse>(\n `${this.config.apiUrl}dictionary/Imprint/search/page/1?maxPerPage=1&${this.getFilterQuery('imprints', txt, data)}`,\n )\n .pipe(\n catchError(() => {\n return of(null as ApiResponse | null);\n }),\n ),\n ]).pipe(\n map(\n ([\n objectsResult,\n publicCollectionsResult,\n articlesResult,\n creatorsResult,\n imprintsResult,\n ]) => {\n return {\n objects:\n objectsResult?.data?.paginatorDetails?.totalItemsCount ?? 0,\n publicCollections:\n publicCollectionsResult?.data?.paginatorDetails\n ?.totalItemsCount ?? 0,\n articles:\n articlesResult?.data?.paginatorDetails?.totalItemsCount ?? 0,\n creators:\n creatorsResult?.data?.paginatorDetails?.totalItemsCount ?? 0,\n imprints:\n imprintsResult?.data?.paginatorDetails?.totalItemsCount ?? 0,\n };\n },\n ),\n );\n }\n\n getFilterQuery(\n type: SearchSource,\n txt: string,\n data: ISearchData = {},\n ): string {\n const result: Array<string> = [];\n\n if (txt && type !== 'creators' && type !== 'imprints') {\n result.push(`filter[phrase]=${encodeURIComponent(txt)}`);\n } else if (txt) {\n result.push(`q=${encodeURIComponent(txt)}`);\n }\n\n if (data.keywordId) {\n result.push(`filter[keywords][]=${data.keywordId}`);\n }\n\n if (data.cycleId) {\n result.push(`filter[cycles][]=${data.cycleId}`);\n }\n\n if (data.seriesTitleId) {\n result.push(`filter[cycles][]=${data.seriesTitleId}`);\n }\n\n return result.join('&');\n }\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport { Injectable, inject, PLATFORM_ID } from '@angular/core';\nimport { Title, Meta, MetaDefinition } from '@angular/platform-browser';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SeoService {\n private readonly title = inject(Title);\n private readonly meta = inject(Meta);\n private readonly platformId = inject(PLATFORM_ID);\n private readonly isBrowser = isPlatformBrowser(this.platformId);\n\n updateTitle(titleText: string): void {\n if (!titleText) {\n console.warn('Title text is empty or undefined.');\n return;\n }\n\n const decodedTitle = this.decodeHtml(titleText);\n if (decodedTitle) {\n this.title.setTitle(decodedTitle);\n }\n }\n\n updateMetaTags(metaTags: MetaDefinition[]): void {\n metaTags.forEach((tag) => this.meta.updateTag(tag));\n }\n\n updateDescription(description: string): void {\n if (!description) {\n console.warn('Description text is empty or undefined.');\n return;\n }\n\n const decodedDesc = this.decodeHtml(description);\n if (decodedDesc) {\n this.meta.updateTag({ name: 'description', content: decodedDesc });\n }\n }\n\n updateOgTags(\n title?: string,\n description?: string,\n image?: string,\n url?: string,\n ): void {\n const tags: MetaDefinition[] = [];\n\n if (title) {\n tags.push({\n property: 'og:title',\n content: this.decodeHtml(title) || title,\n });\n }\n\n if (description) {\n tags.push({\n property: 'og:description',\n content: this.decodeHtml(description) || description,\n });\n }\n\n if (image) {\n tags.push({ property: 'og:image', content: image });\n }\n\n if (url) {\n tags.push({ property: 'og:url', content: url });\n }\n\n this.updateMetaTags(tags);\n }\n\n private decodeHtml(encodedStr: string): string | null {\n if (!encodedStr) return encodedStr;\n\n // Use DOMParser only in browser environments\n if (this.isBrowser) {\n try {\n const parser = new DOMParser();\n const doc = parser.parseFromString(encodedStr, 'text/html');\n return doc.documentElement.textContent;\n } catch (error) {\n console.warn(\n 'DOMParser decode failed, falling back to server-safe decoder',\n error,\n );\n }\n }\n\n // Server / SSR fallback: decode numeric entities and common named entities\n try {\n let decoded = encodedStr\n .replace(/&#x([0-9A-Fa-f]+);?/g, (_m, hex) =>\n String.fromCharCode(parseInt(hex, 16)),\n )\n .replace(/&#([0-9]+);?/g, (_m, num) =>\n String.fromCharCode(parseInt(num, 10)),\n );\n\n const entities: Record<string, string> = {\n amp: '&',\n lt: '<',\n gt: '>',\n quot: '\"',\n apos: \"'\",\n nbsp: '\\u00A0',\n };\n\n decoded = decoded.replace(/&([a-zA-Z]+);?/g, (_m, name) =>\n Object.prototype.hasOwnProperty.call(entities, name)\n ? entities[name]\n : `&${name};`,\n );\n\n return decoded;\n } catch (error) {\n console.warn('Failed to decode HTML with fallback', error);\n return encodedStr;\n }\n }\n}\n","import { Injectable, inject } from '@angular/core';\n\nimport { SharedConfig } from '../../shared.config';\nimport { TranslationService } from '../translation/translation.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SettingsService {\n private readonly translationService = inject(TranslationService);\n private readonly config = inject(SharedConfig);\n\n getMediaUrl(): string {\n const multimediaUrl = this.config.multimediaUrl;\n\n if (!multimediaUrl) {\n return '';\n }\n\n // Remove trailing slash if present\n return multimediaUrl.endsWith('/')\n ? multimediaUrl.substring(0, multimediaUrl.length - 1)\n : multimediaUrl;\n }\n\n getBaseTitle(): string {\n return this.translationService.get('base-portal-title');\n }\n\n getCanLink(): boolean {\n // Could be extended with preview mode config in the future\n return true;\n }\n\n getMainLogo(): string {\n return this.config.mainLogoPath;\n }\n}\n","import { ElementRef, Injectable, inject } from '@angular/core';\nimport { StyleService as SmartStyleService } from '@smartsoft001/angular';\n\nimport { SharedConfig } from '../../shared.config';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class StyleService {\n private readonly smartStyleService = inject(SmartStyleService);\n private readonly config = inject(SharedConfig);\n\n init(elementRef: ElementRef, customVariables?: Record<string, any>): void {\n const variables = {\n ...this.config.styleVariables,\n ...customVariables,\n };\n\n this.smartStyleService.init(elementRef, variables);\n }\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport {\n Inject,\n Injectable,\n PLATFORM_ID,\n inject,\n signal,\n computed,\n effect,\n} from '@angular/core';\n\nimport { TranslationService } from '../translation/translation.service';\n\nconst WCAG_CONFIG_KEY = 'WCAG_CONFIG';\n\nexport type WcagContrast = 'high' | 'normal' | 'grayscale';\nexport type WcagText = 'small' | 'normal' | 'large';\nexport type WcagLetterSpacing = 'small' | 'normal' | 'large';\nexport type WcagWordSpacing = 'small' | 'normal' | 'large';\n\nexport interface IWcagConfig {\n contrast: WcagContrast;\n text: WcagText;\n letterSpacing: WcagLetterSpacing;\n wordSpacing: WcagWordSpacing;\n}\n\nexport type WcagChangeType =\n | 'setContrast'\n | 'setText'\n | 'setLetterSpacing'\n | 'setWordSpacing';\n\nconst DEFAULT_CONFIG: IWcagConfig = {\n contrast: 'normal',\n text: 'normal',\n letterSpacing: 'small',\n wordSpacing: 'small',\n};\n\n@Injectable({\n providedIn: 'root',\n})\nexport class WcagService {\n private readonly translationService = inject(TranslationService);\n private readonly platformId = inject(PLATFORM_ID);\n private readonly isBrowser = isPlatformBrowser(this.platformId);\n\n private readonly _config = signal<IWcagConfig>(this.loadConfig());\n\n readonly config = this._config.asReadonly();\n readonly wordSpacingValue = computed(() =>\n this.getSpacingValue(this._config().wordSpacing),\n );\n readonly letterSpacingValue = computed(() =>\n this.getSpacingValue(this._config().letterSpacing),\n );\n\n constructor() {\n // Apply config changes to DOM\n effect(() => {\n const config = this._config();\n this.applyConfigToDOM(config);\n });\n }\n\n async init(): Promise<void> {\n // Config is already loaded in constructor\n // This method kept for backward compatibility\n }\n\n setContrast(value: WcagContrast): void {\n this._config.update((config) => ({ ...config, contrast: value }));\n this.announceChange('setContrast', value);\n this.save();\n }\n\n setText(value: WcagText): void {\n this._config.update((config) => ({ ...config, text: value }));\n this.announceChange('setText', value);\n this.save();\n }\n\n setLetterSpacing(value: WcagLetterSpacing): void {\n this._config.update((config) => ({ ...config, letterSpacing: value }));\n this.announceChange('setLetterSpacing', value);\n this.save();\n }\n\n setWordSpacing(value: WcagWordSpacing): void {\n this._config.update((config) => ({ ...config, wordSpacing: value }));\n this.announceChange('setWordSpacing', value);\n this.save();\n }\n\n reset(): void {\n this._config.set(DEFAULT_CONFIG);\n this.save();\n }\n\n private getSpacingValue(\n spacing: WcagLetterSpacing | WcagWordSpacing,\n ): number {\n switch (spacing) {\n case 'normal':\n return 1;\n case 'large':\n return 2;\n default:\n return 0;\n }\n }\n\n private loadConfig(): IWcagConfig {\n if (this.isBrowser && typeof localStorage !== 'undefined') {\n const stored = localStorage.getItem(WCAG_CONFIG_KEY);\n if (stored) {\n try {\n const parsed = JSON.parse(stored);\n return { ...DEFAULT_CONFIG, ...parsed };\n } catch (error) {\n console.warn('Failed to parse WCAG config', error);\n }\n }\n }\n return DEFAULT_CONFIG;\n }\n\n private save(): void {\n if (this.isBrowser && typeof localStorage !== 'undefined') {\n localStorage.setItem(WCAG_CONFIG_KEY, JSON.stringify(this._config()));\n }\n }\n\n private applyConfigToDOM(config: IWcagConfig): void {\n if (!this.isBrowser) return;\n\n const body = document.getElementsByTagName('body')[0];\n if (!body) return;\n\n body.className = '';\n body.className += ` contrast-${config.contrast}`;\n body.className += ` text-${config.text}`;\n body.className += ` letter-spacing-${config.letterSpacing}`;\n body.className += ` word-spacing-${config.wordSpacing}`;\n }\n\n private announceChange(type: WcagChangeType, value: any): void {\n if (!this.isBrowser) return;\n\n let announceElement = document.getElementById('wcag-change');\n\n if (!announceElement) {\n announceElement = document.createElement('span');\n announceElement.id = 'wcag-change';\n announceElement.className = 'sr-only';\n announceElement.setAttribute('aria-atomic', 'true');\n announceElement.setAttribute('aria-live', 'polite');\n document.body.appendChild(announceElement);\n }\n\n const translationKey = `WCAG.${type}.${value}`;\n announceElement.innerHTML = this.translationService.get(translationKey);\n }\n}\n","import { PaginationMode } from '@smartsoft001/angular';\nimport {\n CrudService,\n ICrudFilter,\n ICrudFilterQueryItem,\n} from '@smartsoft001/crud-shell-angular';\nimport { IEntity } from '@smartsoft001/domain-core';\nimport { firstValueFrom, Observable, of, throwError } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\n\nexport abstract class CrudBaseService<\n T extends IEntity<string>,\n> extends CrudService<T> {\n private sortSeed = Math.floor(Math.random() * 100000);\n\n abstract getUrlNameForDetails(): string;\n abstract getUrlNameForList(): string;\n\n downloadPdf(name: string, id: string): Promise<void> {\n return fetch(\n this.config.apiUrl + this.getUrlNameForDetails() + '/' + id + '/pdf',\n )\n .then((resp) => resp.arrayBuffer())\n .then((resp) => {\n const file = new Blob([resp], { type: 'application/pdf' });\n\n const fileURL = URL.createObjectURL(file);\n const link = document.createElement('a');\n link.href = fileURL;\n link.download = name + '.pdf';\n link.click();\n });\n }\n\n getById(id: string): Promise<T> {\n return firstValueFrom(\n this.http\n .get<{\n data: T;\n }>(this.config.apiUrl + this.getUrlNameForDetails() + '/' + id)\n .pipe(map((r) => (r as { data: T })?.data)),\n );\n }\n\n getList<T>(\n filter?: ICrudFilter,\n ): Promise<{ data: T[]; totalCount: number; links: unknown }> {\n let page = 1;\n\n if (filter?.offset && filter?.limit) {\n page = filter.offset / filter.limit;\n }\n\n let url = this.getBaseListUrl(page, filter as { limit: number });\n url = this.initFilters(filter as ICrudFilter, url);\n\n return firstValueFrom(\n this.http\n .get<{\n data: unknown & {\n items: unknown;\n paginatorDetails: {\n totalItemsCount: number;\n };\n };\n }>(url)\n .pipe(\n map((r) => {\n const response = r as {\n data?: {\n items?: T[];\n paginatorDetails?: {\n totalItemsCount?: number;\n };\n };\n };\n return {\n data: response.data?.items ?? [],\n totalCount: response.data?.paginatorDetails?.totalItemsCount ?? 0,\n links: {},\n };\n }),\n catchError(this.handleError),\n ),\n );\n }\n\n private initFilters(\n filter:\n | {\n searchText?: string | undefined;\n sortBy?: string | undefined;\n sortDesc?: boolean | undefined;\n offset?: number | undefined;\n limit?: number | undefined;\n paginationMode?: PaginationMode | undefined;\n query?: Array<ICrudFilterQueryItem> | undefined;\n }\n | ICrudFilter,\n url: string,\n ) {\n if (filter?.searchText) {\n url += `&filter[phrase]=${filter.searchText}`;\n }\n\n if (filter?.sortBy) {\n url += `&sort=${filter.sortBy}-${filter.sortDesc ? 'desc' : 'asc'}`;\n } else {\n url += `&sort=random&sortSeed=${this.sortSeed}`;\n }\n\n filter?.query?.forEach((q: ICrudFilterQueryItem) => {\n const isArray = Array.isArray(q.value);\n\n if (isArray) {\n q.value.forEach((value: unknown & { id: string }) => {\n url += `&filter[${q.key}]${this.getQueryType(q.type, true)}=${\n value.id\n }`;\n });\n } else {\n url += `&filter[${q.key}]${this.getQueryType(q.type, false)}=${\n q.value\n }`;\n }\n });\n return url;\n }\n\n protected getBaseListUrl(\n page: number,\n filter: {\n limit: number;\n },\n ) {\n return `${this.config.apiUrl}${\n this.getUrlNameForList() !== 'public-collections'\n ? 'search/' + this.getUrlNameForList()\n : 'public-collections'\n }/page/${page}?maxPerPage=${filter?.limit}`;\n }\n\n protected handleError(err: unknown & { status: number }): Observable<any> {\n if (err.status === 404 || err.status === 406) {\n return of({\n data: [],\n totalCount: 0,\n links: {},\n });\n }\n\n return throwError(() => new Error(`There was an error: ${err.status}`));\n }\n\n protected getQueryType(\n type: '=' | '!=' | '>=' | '<=' | '<' | '>',\n isArray: boolean,\n ) {\n switch (type) {\n case '>=':\n return '[from]';\n case '<=':\n return '[to]';\n case '=':\n return isArray ? '[]' : '';\n default:\n throw 'Type not supported!';\n }\n }\n}\n","import { ICrudFilter } from '@smartsoft001/crud-shell-angular';\n\nexport class QueryFilterService {\n static map(\n filter: ICrudFilter,\n queryParams: any,\n data: {\n id: string;\n key: string;\n text: string;\n },\n ): ICrudFilter {\n if (!queryParams[data.id]) return filter;\n\n const ids = queryParams[data.id].split(',');\n const texts = queryParams[data.text].split(',');\n\n filter.offset = 0;\n filter.query = [\n ...(filter?.query ? filter.query : []).filter((q) => q.key !== data.key),\n {\n key: data.key,\n type: '=',\n value: ids.map((id: string, i: number) => {\n return {\n id: id,\n text: texts[i],\n selected: true,\n };\n }),\n hidden: true,\n },\n ];\n\n return filter;\n }\n}\n","import { ConfigsFacade } from '../+state/configs.facade';\nimport { AuthStorageService } from './auth-storage/auth-storage.service';\nimport { ConfigsService } from './configs/configs.service';\nimport { ContrastService } from './contrast/contrast.service';\nimport { DictionaryService } from './dictionary/dictionary.service';\nimport { FileUrlService } from './file-url/file-url.service';\nimport { GlobalService } from './global/global.service';\nimport { MetaService } from './meta/meta.service';\nimport { ModalService } from './modal/modal.service';\nimport { SearchService } from './search/search.service';\nimport { SeoService } from './seo/seo.service';\nimport { SettingsService } from './settings/settings.service';\nimport { StyleService } from './style/style.service';\nimport { TranslationService } from './translation/translation.service';\nimport { WcagService } from './wcag/wcag.service';\n\nexport * from './dictionary/dictionary.service';\nexport * from './configs/configs.service';\nexport * from './crud/crud-base.service';\nexport * from './auth-storage/auth-storage.service';\nexport * from './translation/translation.service';\nexport * from './global/global.service';\nexport * from './file-url/file-url.service';\nexport * from './settings/settings.service';\nexport * from './wcag/wcag.service';\nexport * from './contrast/contrast.service';\nexport * from './meta/meta.service';\nexport * from './seo/seo.service';\nexport * from './style/style.service';\nexport * from './modal/modal.service';\nexport * from './modal/modal-ref';\nexport * from './search/search.service';\nexport * from './query-filter/query-filter.service';\n\nexport const SERVICES = [\n DictionaryService,\n ConfigsService,\n ConfigsFacade,\n AuthStorageService,\n TranslationService,\n GlobalService,\n FileUrlService,\n SettingsService,\n WcagService,\n ContrastService,\n MetaService,\n SeoService,\n StyleService,\n ModalService,\n SearchService,\n];\n","import { inject, Injectable, signal, WritableSignal } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { ReduxAction } from '@smartsoft001/angular';\n\nimport { Config, Page } from '@smartsoft001-mobilems/models';\n\nimport { ConfigsService } from '../services';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfigsFacade {\n private service = inject(ConfigsService);\n private sanitizer = inject(DomSanitizer);\n\n private static _source: WritableSignal<Config | null> = signal<Config | null>(\n null,\n );\n\n get data(): Config | null {\n return ConfigsFacade._source();\n }\n\n @ReduxAction()\n getPage(id: number | 'home'): Promise<Page> {\n return this.service.getPage(id).then((page: Page) => {\n if (!page) return page;\n\n return {\n ...page,\n content: this.sanitizer.bypassSecurityTrustHtml(page.content),\n };\n });\n }\n\n @ReduxAction()\n init(): Promise<Config> {\n return this.service.get().then((config: Config) => {\n ConfigsFacade._source.set(config);\n return config;\n });\n }\n}\n","import { Component } from '@angular/core';\nimport { RouterOutlet } from '@angular/router';\nimport { AppBaseComponent } from '@smartsoft001/angular';\n\n@Component({\n selector: 'smart-mobilems-app',\n imports: [RouterOutlet],\n templateUrl: './app.component.html',\n})\nexport class AppComponent extends AppBaseComponent {}\n","<ng-content select=\"header\"></ng-content>\n\n<main>\n <router-outlet></router-outlet>\n</main>\n\n<ng-content select=\"footer\"></ng-content>\n","import { Directive } from '@angular/core';\nimport { PageBaseComponent } from '@smartsoft001/angular';\n\n@Directive()\nexport class PageComponent extends PageBaseComponent {}\n","import {\n AfterContentInit,\n contentChild,\n Directive,\n effect,\n inject,\n Signal,\n TemplateRef,\n} from '@angular/core';\nimport { BaseComponent } from '@smartsoft001/angular';\nimport {\n CrudFacade,\n ICrudFilter,\n ICrudFilterQueryItem,\n} from '@smartsoft001/crud-shell-angular';\nimport { IEntity } from '@smartsoft001/domain-core';\nimport * as _ from 'lodash';\nimport { Debounce } from 'lodash-decorators';\n\nexport type FilterType = string | string[] | undefined;\n\nexport class FiltersContext<T extends IEntity<string>> extends BaseComponent {\n private readonly facade = inject(CrudFacade<T>);\n\n private _filter?: ICrudFilter;\n\n set searchText(val: string | undefined) {\n if (this._filter && this._filter.searchText === val) return;\n this.refresh({\n searchText: val,\n offset: 0,\n });\n }\n get searchText() {\n return this._filter?.searchText;\n }\n\n set page(val: number) {\n const offset = this._filter?.limit ? this._filter?.limit * val : 0;\n if (this._filter && this._filter.offset === offset) return;\n this.refresh({\n offset: offset,\n });\n }\n get page() {\n if (!this._filter) return 1;\n if (!this._filter.offset || !this._filter.limit) return 1;\n\n return this._filter.offset / this._filter.limit;\n }\n\n set limit(val: number) {\n if (this._filter && this._filter.limit === val) return;\n this.refresh({\n limit: val,\n offset: 0,\n });\n }\n get limit() {\n if (!this._filter) return 20;\n if (!this._filter.limit) return 20;\n\n return this._filter.limit;\n }\n\n set sortBy(val: string | undefined) {\n if (this._filter && this._filter.sortBy === val) return;\n this.refresh({\n sortBy: val,\n });\n }\n get sortBy() {\n return this._filter?.sortBy;\n }\n\n set query(val: ICrudFilterQueryItem[] | undefined) {\n if (this._filter && this._filter.query === val) return;\n this.refresh({\n query: val,\n });\n }\n get query() {\n return this._filter?.query;\n }\n\n set sortDesc(val: boolean | undefined) {\n if (this._filter && this._filter.sortDesc === val) return;\n this.refresh({\n sortDesc: val,\n });\n }\n get sortDesc() {\n return this._filter?.sortDesc;\n }\n\n set sort(val: { by?: string; desc?: boolean } | undefined) {\n if (this._filter && this._filter.sortBy === val) return;\n this.refresh({\n sortBy: val?.by,\n sortDesc: val?.desc,\n });\n }\n\n get sort() {\n return {\n by: this._filter?.sortBy,\n desc: this._filter?.sortDesc,\n };\n }\n\n set onlyImage(val: boolean | undefined) {\n if (!val && this.onlyImage && this._filter) {\n const result = this._filter.query\n ? this._filter.query?.filter(\n (q: ICrudFilterQueryItem) =>\n !(q.type === '=' && q.key === 'onlyImage'),\n )\n : [];\n\n this.refresh({\n query: [...result],\n });\n }\n\n if (val && !this.onlyImage && this._filter) {\n const result = this._filter.query\n ? this._filter.query.filter(\n (q: ICrudFilterQueryItem) =>\n !(q.type === '=' && q.key === 'onlyImage'),\n )\n : [];\n this.refresh({\n offset: 0,\n query: [\n ...result,\n {\n type: '=',\n key: 'onlyImage',\n value: 1,\n hidden: true,\n },\n ],\n });\n }\n }\n get onlyImage() {\n return this._filter?.query?.some(\n (q: ICrudFilterQueryItem) =>\n q.type === '=' && q.key === 'onlyImage' && q.value === 1,\n );\n }\n\n set exposure(val: boolean | undefined) {\n if (!val && this.exposure && this._filter) {\n const result = this._filter.query\n ? this._filter.query?.filter(\n (q: ICrudFilterQueryItem) =>\n !(\n q.type === '=' &&\n q.key === 'locationType' &&\n q.value === 'Ekspozycja'\n ),\n )\n : [];\n\n this.refresh({\n query: [...result],\n });\n }\n\n if (val && !this.exposure && this._filter) {\n const result = this._filter.query\n ? this._filter.query?.filter(\n (q: ICrudFilterQueryItem) =>\n !(\n q.type === '=' &&\n q.key === 'locationType' &&\n q.value === 'Ekspozycja'\n ),\n )\n : [];\n this.refresh({\n offset: 0,\n query: [\n ...result,\n {\n type: '=',\n key: 'locationType',\n value: 'Ekspozycja',\n hidden: true,\n },\n ],\n });\n }\n }\n get exposure() {\n return this._filter?.query?.some(\n (q: ICrudFilterQueryItem) =>\n q.type === '=' && q.key === 'locationType' && q.value === 'Ekspozycja',\n );\n }\n\n set creators(val: FilterType) {\n this.filterSet(this.creators, val, 'creators', '=');\n }\n get creators() {\n return this.filterGet('=', 'creators');\n }\n\n set createDatesFrom(val: FilterType) {\n this.filterSet(this.createDatesFrom, val, 'createDates', '>=');\n }\n get createDatesFrom() {\n return this.filterGet('>=', 'createDates');\n }\n\n set createDatesTo(val: FilterType) {\n this.filterSet(this.createDatesTo, val, 'createDates', '<=');\n }\n get createDatesTo() {\n return this.filterGet('<=', 'createDates');\n }\n\n set publicationDateFrom(val: FilterType) {\n this.filterSet(this.publicationDateFrom, val, 'publicationDate', '>=');\n }\n get publicationDateFrom() {\n return this.filterGet('>=', 'publicationDate');\n }\n\n set publicationDateTo(val: FilterType) {\n this.filterSet(this.publicationDateTo, val, 'publicationDate', '<=');\n }\n get publicationDateTo() {\n return this.filterGet('<=', 'publicationDate');\n }\n\n set createPlaces(val: FilterType) {\n this.filterSet(this.createPlaces, val, 'createPlaces', '=');\n }\n get createPlaces() {\n return this.filterGet('=', 'createPlaces');\n }\n\n set keywords(val: FilterType) {\n this.filterSet(this.keywords, val, 'keywords', '=');\n }\n get keywords() {\n return this.filterGet('=', 'keywords');\n }\n\n set techniques(val: FilterType) {\n this.filterSet(this.techniques, val, 'techniques', '=');\n }\n get techniques() {\n return this.filterGet('=', 'techniques');\n }\n\n set materials(val: FilterType) {\n this.filterSet(this.materials, val, 'materials', '=');\n }\n get materials() {\n return this.filterGet('=', 'materials');\n }\n\n set category(val: FilterType) {\n this.filterSet(this.category, val, 'category', '=');\n }\n get category() {\n return this.filterGet('=', 'category');\n }\n\n set department(val: FilterType) {\n this.filterSet(this.department, val, 'department', '=');\n }\n get department() {\n return this.filterGet('=', 'department');\n }\n\n set location(val: FilterType) {\n this.filterSet(this.category, val, 'location', '=');\n }\n get location() {\n return this.filterGet('=', 'location');\n }\n\n set locationType(val: FilterType) {\n this.filterSet(this.category, val, 'locationType', '=');\n }\n get locationType() {\n return this.filterGet('=', 'locationType');\n }\n\n set cycles(val: FilterType) {\n this.filterSet(this.cycles, val, 'cycles', '=');\n }\n get cycles() {\n return this.filterGet('=', 'cycles');\n }\n\n set authors(val: FilterType) {\n this.filterSet(this.authors, val, 'authors', '=');\n }\n get authors() {\n return this.filterGet('=', 'authors');\n }\n\n set targetGroups(val: FilterType) {\n this.filterSet(this.targetGroups, val, 'targetGroups', '=');\n }\n get targetGroups() {\n return this.filterGet('=', 'targetGroups');\n }\n\n set template(val: FilterType) {\n this.filterSet(this.template, val, 'template', '=');\n }\n get template() {\n return this.filterGet('=', 'template');\n }\n\n set types(val: FilterType) {\n this.filterSet(this.types, val, 'types', '=');\n }\n get types() {\n return this.filterGet('=', 'types');\n }\n\n set extraNumbersValue(val: FilterType) {\n this.filterSet(this.creators, val, 'extraNumbersValue', '=');\n }\n get extraNumbersValue() {\n return this.filterGet('=', 'extraNumbersValue');\n }\n\n totalCount: Signal<number> = (this.facade as any).totalCount;\n\n constructor() {\n super();\n\n effect(() => {\n this._filter = (this.facade as any).filter();\n });\n }\n\n @Debounce(500)\n private refresh(filter: ICrudFilter): void {\n let change = false;\n\n Object.keys(filter).forEach((key) => {\n if (!_.isEqual((this._filter as any)[key], (filter as any)[key]))\n change = true;\n });\n\n if (!change) return;\n\n (this.facade as any).read({\n ...(this.facade as any).filter,\n ...filter,\n });\n }\n\n private filterGet(key: string, type: any) {\n return this._filter?.query?.find(\n (q: ICrudFilterQueryItem) => q.type === key && q.key === type,\n )?.value;\n }\n\n private filterSet(\n currentValue: FilterType,\n val: FilterType,\n key: string,\n type: any,\n ) {\n if (!val && this._filter) {\n const result = this._filter?.query\n ? this._filter?.query?.filter(\n (q: ICrudFilterQueryItem) => !(q.type === type && q.key === key),\n )\n : [];\n\n this.refresh({\n offset: 0,\n query: [...result],\n });\n }\n\n if (val && currentValue !== val && this._filter) {\n const result = this._filter?.query\n ? this._filter?.query?.filter(\n (q: ICrudFilterQueryItem) => !(q.type === type && q.key === key),\n )\n : [];\n this.refresh({\n offset: 0,\n query: [\n ...result,\n {\n type: type,\n key: key,\n value: val,\n hidden: true,\n },\n ],\n });\n }\n }\n}\n\n@Directive({\n selector: 'smart-mobilems-filters',\n})\nexport abstract class FiltersBaseComponent<T extends IEntity<string>>\n implements AfterContentInit\n{\n context?: FiltersContext<T>;\n\n contentTpl = contentChild<TemplateRef<any> | undefined>('contentTpl');\n\n ngAfterContentInit(): void {\n this.context = new FiltersContext();\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport { Directive, HostListener, Inject } from '@angular/core';\n\n@Directive()\nexport class ScrollTopComponent {\n windowScrolled!: boolean;\n\n constructor(@Inject(DOCUMENT) private document: Document) {}\n\n @HostListener('window:scroll', [])\n onWindowScroll(): void {\n if (\n window.pageYOffset ||\n document.documentElement.scrollTop ||\n document.body.scrollTop > 200\n ) {\n this.windowScrolled = true;\n } else if (\n (this.windowScrolled && window.pageYOffset) ||\n document.documentElement.scrollTop ||\n document.body.scrollTop < 50\n ) {\n this.windowScrolled = false;\n }\n }\n\n scrollToTop(): void {\n const scrollOptions: ScrollToOptions = {\n top: 0,\n left: 0,\n behavior: 'smooth',\n };\n\n window.scrollTo(scrollOptions);\n }\n}\n","import { Component, computed, inject } from '@angular/core';\n\nimport { ConfigPageType, ConfigMenuItem } from '@smartsoft001-mobilems/models';\n\nimport { ConfigsFacade } from '../../+state/configs.facade';\n\nexport interface IFooterStaticPage {\n type: ConfigPageType.static;\n title: string;\n page: {\n id: number;\n title: string;\n };\n}\n\nexport interface IFooterConfig {\n theme?: {\n footer?: {\n menu?: ConfigMenuItem[];\n };\n };\n}\n\n@Component({\n selector: 'smart-mobilems-footer',\n standalone: true,\n imports: [],\n template: ``,\n styles: [],\n})\nexport class FooterComponent {\n private configsFacade = inject(ConfigsFacade);\n\n readonly config = computed(() => this.configsFacade.data);\n readonly currentYear = computed(() => new Date().getFullYear());\n\n readonly staticPages = computed<IFooterStaticPage[]>(() => {\n const config = this.config();\n if (!config?.theme?.footer?.menu) return [];\n\n return config.theme.footer.menu.filter(\n (item): item is IFooterStaticPage => item.type === ConfigPageType.static,\n );\n });\n\n readonly hasStaticPages = computed(() => this.staticPages().length > 0);\n\n readonly menuItems = computed(() => {\n const config = this.config();\n return config?.theme?.footer?.menu ?? [];\n });\n\n readonly hasMenuItems = computed(() => this.menuItems().length > 0);\n\n getStaticPageById(id: number): IFooterStaticPage | undefined {\n return this.staticPages().find((page) => page.page.id === id);\n }\n\n getStaticPageTitle(id: number): string | undefined {\n return this.getStaticPageById(id)?.page.title;\n }\n\n updateConfig(_config: IFooterConfig): void {\n const current = this.config();\n if (!current) return;\n }\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport {\n Component,\n computed,\n inject,\n signal,\n PLATFORM_ID,\n} from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ConfigsFacade } from '../../+state/configs.facade';\n\nexport interface IHeaderUser {\n userID: string;\n [key: string]: unknown;\n}\n\nexport interface IHeaderConfig {\n theme?: {\n header?: {\n showWcagConfig?: boolean;\n showSearch?: boolean;\n showLocalCollection?: boolean;\n showLanguageSelector?: boolean;\n showUserAccount?: boolean;\n };\n };\n}\n\n@Component({\n selector: 'smart-mobilems-header',\n standalone: true,\n imports: [],\n template: ``,\n styles: [],\n})\nexport class HeaderComponent {\n private configsFacade = inject(ConfigsFacade);\n private router = inject(Router);\n private platformId = inject(PLATFORM_ID);\n\n readonly config = computed(() => this.configsFacade.data);\n readonly isMobile = computed(() => {\n if (!isPlatformBrowser(this.platformId)) {\n return false;\n }\n return typeof window !== 'undefined' && window.innerWidth <= 640;\n });\n\n readonly showWcagConfig = signal<boolean>(false);\n readonly showSearchPanel = signal<boolean>(false);\n readonly user = signal<IHeaderUser | null>(null);\n readonly localCollectionCount = signal<number>(0);\n\n readonly headerConfig = computed(() => {\n const config = this.config();\n return (config?.theme as IHeaderConfig['theme']) ?? {};\n });\n\n readonly isWcagVisible = computed(() => {\n return (\n this.showWcagConfig() &&\n this.headerConfig()?.header?.showWcagConfig !== false\n );\n });\n\n readonly isSearchVisible = computed(() => {\n return this.headerConfig()?.header?.showSearch !== false;\n });\n\n readonly isLocalCollectionVisible = computed(() => {\n return this.headerConfig()?.header?.showLocalCollection !== false;\n });\n\n readonly isLanguageSelectorVisible = computed(() => {\n return this.headerConfig()?.header?.showLanguageSelector !== false;\n });\n\n readonly isUserAccountVisible = computed(() => {\n return this.headerConfig()?.header?.showUserAccount !== false;\n });\n\n toggleWcagConfig(): void {\n this.showWcagConfig.update((value) => !value);\n }\n\n toggleSearchPanel(): void {\n this.showSearchPanel.update((value) => !value);\n }\n\n onWcagCloseButtonEvent(closed: boolean): void {\n this.showWcagConfig.set(!closed);\n }\n\n onSearchPanelButtonEvent(opened: boolean): void {\n this.showSearchPanel.set(opened);\n }\n\n routeToLogin(): void {\n this.router.navigate(['/login']);\n }\n\n routeToUserAccount(): void {\n this.router.navigate(['/profile']);\n }\n\n routeToLocalCollection(): void {\n this.router.navigate(['/my-collection']);\n }\n\n setUser(user: IHeaderUser | null): void {\n this.user.set(user);\n }\n\n setLocalCollectionCount(count: number): void {\n this.localCollectionCount.set(count);\n }\n\n getUser(): IHeaderUser | null {\n return this.user();\n }\n\n getLocalCollectionCount(): number {\n return this.localCollectionCount();\n }\n\n updateConfig(): void {\n const current = this.config();\n if (!current) return;\n }\n}\n","import { isPlatformBrowser, NgClass, NgTemplateOutlet } from '@angular/common';\nimport { Component, computed, inject, input, PLATFORM_ID } from '@angular/core';\nimport { Router, RouterLink, RouterLinkActive } from '@angular/router';\n\nimport { ConfigsFacade } from '../../+state/configs.facade';\n\nexport interface IMenuItem {\n label: string;\n route: string;\n icon?: string;\n title?: string;\n ariaLabel?: string;\n}\n\nexport interface IMenuConfig {\n theme?: {\n menu?: {\n enabled?: boolean;\n mobileBreakpoint?: number;\n };\n };\n}\n\n@Component({\n selector: 'smart-mobilems-menu',\n standalone: true,\n imports: [NgClass, NgTemplateOutlet, RouterLink, RouterLinkActive],\n templateUrl: './menu.component.html',\n})\nexport class MenuComponent {\n private configsFacade = inject(ConfigsFacade);\n private router = inject(Router);\n private platformId = inject(PLATFORM_ID);\n\n readonly menuItems = input<IMenuItem[]>([]);\n readonly searchEnabled = input<boolean>(false);\n\n readonly config = computed(() => this.configsFacade.data);\n\n readonly menuConfig = computed(() => {\n const config = this.config();\n return (config?.theme as IMenuConfig['theme']) ?? {};\n });\n\n readonly mobileBreakpoint = computed(() => {\n return this.menuConfig()?.menu?.mobileBreakpoint ?? 960;\n });\n\n readonly isMobileMenu = computed(() => {\n if (!isPlatformBrowser(this.platformId)) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n window.innerWidth <= this.mobileBreakpoint()\n );\n });\n\n private _menuOpenState = false;\n\n toggleMenu(): void {\n this._menuOpenState = !this._menuOpenState;\n }\n\n closeMenu(): void {\n this._menuOpenState = false;\n }\n\n isOpened(): boolean {\n return this._menuOpenState;\n }\n\n isRouteActive(route: string): boolean {\n return this.router.isActive(route, {\n paths: 'exact',\n queryParams: 'exact',\n fragment: 'ignored',\n matrixParams: 'ignored',\n });\n }\n\n getMenuItemTitle(item: IMenuItem): string {\n if (item.title) {\n return item.title;\n }\n return this.isRouteActive(item.route)\n ? `${item.label} (active)`\n : item.label;\n }\n\n getMenuItemAriaLabel(item: IMenuItem): string {\n if (item.ariaLabel) {\n return item.ariaLabel;\n }\n return this.isRouteActive(item.route)\n ? `${item.label} - Current page`\n : item.label;\n }\n}\n","@if (!searchEnabled()) {\n <h2 class=\"smart-sr-only\">Main Menu</h2>\n\n @if (isMobileMenu()) {\n <div\n class=\"smart-w-full smart-flex smart-flex-row smart-justify-end smart-items-stretch smart-py-[1.2rem]\"\n [ngClass]=\"isOpened() ? '' : ''\"\n role=\"navigation\"\n attr.aria-label=\"Main Menu\"\n >\n <button\n class=\"smart-h-[3.6rem] smart-relative smart-bg-transparent smart-border-0 smart-left-0 smart-flex smart-flex-row smart-items-center smart-text-[1.8rem] smart-font-bold smart-cursor-pointer\"\n (click)=\"toggleMenu()\"\n attr.aria-expanded=\"{{ isOpened() }}\"\n attr.aria-label=\"{{ isOpened() ? 'Close menu' : 'Open menu' }}\"\n >\n @if (!isOpened()) {\n <span\n class=\"smart-text-[3rem] smart-text-black smart-mr-[0.6rem] smart-material-icons\"\n >menu</span\n >\n } @else {\n <span\n class=\"smart-text-[3rem] smart-text-black smart-mr-[0.6rem] smart-material-icons\"\n >close</span\n >\n }\n </button>\n </div>\n }\n\n @if (!isMobileMenu()) {\n <div\n class=\"smart-w-full smart-flex smart-flex-row smart-justify-end smart-h-full smart-p-0\"\n role=\"navigation\"\n attr.aria-label=\"Main Menu\"\n >\n <div role=\"menubar\">\n <ng-container *ngTemplateOutlet=\"menuTemplate\"></ng-container>\n </div>\n </div>\n }\n\n @if (isMobileMenu() && isOpened()) {\n <div\n class=\"smart-w-full smart-flex smart-flex-row smart-justify-center smart-h-full smart-p-0 smart-border smart-border-[#f3f3f3] smart-bg-[#fefefe] smart-mb-[2.4rem] smart-shadow-[0_0.6rem_1.2rem_#efefef] smart-p-[1.2rem]\"\n >\n <div role=\"navigation\" aria-label=\"Main\">\n <ng-container *ngTemplateOutlet=\"menuTemplate\"></ng-container>\n </div>\n </div>\n }\n}\n\n<ng-template #menuTemplate>\n <ul\n id=\"main-menu\"\n role=\"menu\"\n class=\"smart-h-full smart-w-full smart-flex smart-flex-row smart-justify-end smart-items-stretch smart-flex-nowrap smart-list-none smart-p-0 smart-m-0 smart-gap-x-[0.3rem]\"\n [ngClass]=\"\n isMobileMenu()\n ? 'smart-flex-wrap smart-justify-center smart-p-[1.2rem] smart-m-0'\n : ''\n \"\n >\n @for (item of menuItems(); track item.route) {\n <li\n class=\"smart-inline-flex smart-relative smart-w-auto smart-m-0\"\n [ngClass]=\"isMobileMenu() ? 'smart-w-full smart-max-w-full' : ''\"\n >\n <a\n class=\"smart-flex smart-items-center smart-flex-nowrap smart-text-black smart-transition-[border] smart-ease-in-out smart-duration-500 smart-border-b-[0.6rem] smart-border-b-transparent smart-cursor-pointer smart-justify-center smart-h-full smart-w-full smart-py-[1.2rem] smart-px-[1.8rem] smart-text-[1.6rem] smart-font-medium smart-whitespace-nowrap smart-m-0 smart-no-underline hover:smart-text-black hover:smart-bg-transparent hover:smart-border-b-[0.6rem] hover:smart-border-b-black\"\n role=\"menuitem\"\n [routerLink]=\"[item.route]\"\n routerLinkActive=\"smart-cursor-default smart-text-black smart-bg-transparent smart-border-b-[0.6rem] smart-border-b-black\"\n (click)=\"closeMenu()\"\n [attr.title]=\"getMenuItemTitle(item)\"\n [attr.aria-label]=\"getMenuItemAriaLabel(item)\"\n >\n @if (item.icon) {\n <span\n class=\"smart-text-[2.2rem] smart-mr-[0.4rem] smart-material-icons\"\n >{{ item.icon }}</span\n >\n }\n <span class=\"smart-inline-block\">{{ item.label }}</span>\n </a>\n </li>\n }\n </ul>\n</ng-template>\n","import { Directive, input } from '@angular/core';\n\nimport { IArticleWidget } from '@smartsoft001-mobilems/models';\n\n@Directive()\nexport class WidgetBaseComponent<T extends IArticleWidget> {\n item = input<T>();\n}\n","import { Component } from '@angular/core';\n\nimport { IArticleWidgetText } from '@smartsoft001-mobilems/models';\n\nimport { WidgetBaseComponent } from '../base.component';\n\n@Component({\n selector: 'smart-widget-text',\n templateUrl: './text.component.html',\n standalone: true,\n})\nexport class WidgetTextComponent extends WidgetBaseComponent<IArticleWidgetText> {}\n","@if (item(); as item) {\n <div [innerHTML]=\"item.text\"></div>\n}\n","import { NgComponentOutlet } from '@angular/common';\nimport {\n Component,\n input,\n computed,\n InjectionToken,\n inject,\n} from '@angular/core';\n\nimport {\n ArticleWidget,\n ArticleWidgetType,\n} from '@smartsoft001-mobilems/models';\n\nimport { WidgetTextComponent } from './text/text.component';\n\nexport type ArticlesWidgetComponentsToken = {\n [key in ArticleWidgetType]: any;\n};\n\nexport const ARTICLES_WIDGET_COMPONENTS_TOKEN =\n new InjectionToken<ArticlesWidgetComponentsToken>(\n 'ARTICLES_WIDGET_COMPONENTS_TOKEN',\n );\n\nconst baseMap: any = {\n [ArticleWidgetType.TEXT]: WidgetTextComponent,\n};\n\n@Component({\n selector: 'smart-widget',\n templateUrl: './widget.component.html',\n imports: [NgComponentOutlet],\n standalone: true,\n})\nexport class WidgetComponent {\n item = input.required<ArticleWidget>();\n\n extendMap = inject(ARTICLES_WIDGET_COMPONENTS_TOKEN, {\n optional: true,\n });\n\n component = computed(() => {\n const item = this.item();\n\n const map = { ...baseMap, ...this.extendMap };\n\n const component = map[item.widget];\n return component;\n });\n inputs = computed(() => {\n const item = this.item();\n return {\n item: item,\n };\n });\n}\n","<ng-container *ngComponentOutlet=\"component(); inputs: inputs()\" />\n","import { AppComponent } from './app/app.component';\n\nexport * from './app/app.component';\nexport * from './page/page.component';\nexport * from './filters/filters.component';\nexport * from './scroll-top/scroll-top.component';\nexport * from '../services/modal/modal-container.component';\nexport * from './footer';\nexport * from './header';\nexport * from './menu';\nexport * from './widget';\n\nexport const COMPONENTS = [AppComponent];\n","import { Directive, HostListener, inject, ElementRef } from '@angular/core';\n\n/**\n * Directive that adds a \"hover\" CSS class to the host element on mouse enter\n * and removes it on mouse leave.\n *\n * @example\n * ```html\n * <div smartHover>Hover me</div>\n * ```\n */\n@Directive({\n selector: '[smartHover]',\n standalone: true,\n})\nexport class HoverDirective {\n private readonly el = inject(ElementRef);\n\n /**\n * Adds the \"hover\" class when the mouse enters the element\n */\n @HostListener('mouseenter')\n onMouseEnter(): void {\n this.el.nativeElement.classList.add('hover');\n }\n\n /**\n * Removes the \"hover\" class when the mouse leaves the element\n */\n @HostListener('mouseleave')\n onMouseLeave(): void {\n this.el.nativeElement.classList.remove('hover');\n }\n}\n","import {\n Directive,\n input,\n inject,\n ElementRef,\n OnInit,\n signal,\n effect,\n} from '@angular/core';\n\n/**\n * Directive that provides programmatic scrolling and overflow detection\n * for horizontally or vertically scrollable containers.\n *\n * @example\n * ```html\n * <div smartScrollable [scrollUnit]=\"200\" #scroll=\"smartScrollable\">\n * <!-- scrollable content -->\n * </div>\n * <button (click)=\"scroll.scrollHorizontal(1)\" [disabled]=\"!scroll.canScrollEndHorizontal\">\n * Next →\n * </button>\n * ```\n */\n@Directive({\n selector: '[smartScrollable]',\n standalone: true,\n exportAs: 'smartScrollable',\n})\nexport class ScrollableDirective implements OnInit {\n private readonly el = inject(ElementRef);\n\n /**\n * The number of pixels to scroll per unit when using scroll methods.\n * Can be updated dynamically to change scroll behavior.\n */\n readonly scrollUnit = input.required<number>();\n\n /** Indicates if the container can scroll further to the right */\n canScrollEndHorizontal = signal<boolean>(false);\n\n /** Indicates if the container can scroll further to the left */\n canScrollStartHorizontal = signal<boolean>(false);\n\n /** Indicates if the container can scroll further down */\n canScrollEndVertical = signal<boolean>(false);\n\n /** Indicates if the container can scroll further up */\n canScrollStartVertical = signal<boolean>(false);\n\n /** Current horizontal scroll position */\n scrollLeftPosition = signal<number>(0);\n\n /** Current vertical scroll position */\n scrollTopPosition = signal<number>(0);\n\n constructor() {\n // Update overflow detection when scrollUnit changes\n effect(() => {\n this.scrollUnit();\n this.updateOverflow();\n });\n }\n\n ngOnInit(): void {\n this.updateOverflow();\n this.addScrollListener();\n this.addResizeListener();\n }\n\n /**\n * Scrolls the container horizontally by the specified number of units.\n * @param units Number of scroll units (can be negative for backward scroll)\n */\n scrollHorizontal(units: number): void {\n const element = this.el.nativeElement;\n const scrollAmount = units * this.scrollUnit();\n element.scrollLeft += scrollAmount;\n this.updateOverflow();\n }\n\n /**\n * Scrolls the container vertically by the specified number of units.\n * @param units Number of scroll units (can be negative for upward scroll)\n */\n scrollVertical(units: number): void {\n const element = this.el.nativeElement;\n const scrollAmount = units * this.scrollUnit();\n element.scrollTop += scrollAmount;\n this.updateOverflow();\n }\n\n /**\n * Updates all overflow detection signals based on current scroll position\n */\n private updateOverflow(): void {\n const element = this.el.nativeElement;\n\n // Horizontal overflow detection\n const scrollLeft = element.scrollLeft;\n const scrollWidth = element.scrollWidth;\n const clientWidth = element.clientWidth;\n\n this.scrollLeftPosition.set(scrollLeft);\n this.canScrollStartHorizontal.set(scrollLeft > 0);\n this.canScrollEndHorizontal.set(scrollLeft + clientWidth < scrollWidth);\n\n // Vertical overflow detection\n const scrollTop = element.scrollTop;\n const scrollHeight = element.scrollHeight;\n const clientHeight = element.clientHeight;\n\n this.scrollTopPosition.set(scrollTop);\n this.canScrollStartVertical.set(scrollTop > 0);\n this.canScrollEndVertical.set(scrollTop + clientHeight < scrollHeight);\n }\n\n /**\n * Adds scroll event listener to track scroll position changes\n */\n private addScrollListener(): void {\n this.el.nativeElement.addEventListener('scroll', () => {\n this.updateOverflow();\n });\n }\n\n /**\n * Adds window resize listener to recalculate overflow on resize\n */\n private addResizeListener(): void {\n window.addEventListener('resize', () => {\n this.updateOverflow();\n });\n }\n}\n","import {\n Directive,\n ElementRef,\n HostListener,\n effect,\n inject,\n input,\n output,\n} from '@angular/core';\n\nimport { ClickOutsideEvent } from '../models/click-outside-event.model';\n\n/**\n * Directive that detects when a click occurs outside of an element.\n *\n * When a click is detected outside the element, the `smartClickOutside` output\n * signal emits a `ClickOutsideEvent` containing the click event and target element.\n *\n * The directive respects the `isActive` input signal. When `isActive` is false,\n * outside clicks are not detected.\n *\n * @example\n * ```typescript\n * import { Component, signal } from '@angular/core';\n * import { ClickOutsideDirective } from '@smartsoft001-mobilems/angular';\n *\n * @Component({\n * selector: 'app-example',\n * imports: [ClickOutsideDirective],\n * template: `\\n * <div\n * smartClickOutside\n * [isActive]=\"isActive()\"\n * (smartClickOutside)=\"onClickOutside()\"\n * class=\"smart-border smart-p-4\"\n * >\n * Content inside\n * </div>\n * `,\n * })\n * export class ExampleComponent {\n * isActive = signal(true);\n *\n * onClickOutside(): void {\n * console.log('Clicked outside!');\n * }\n * }\n * ```\n */\n@Directive({\n selector: '[smartClickOutside]',\n})\nexport class ClickOutsideDirective {\n private readonly elementRef = inject(ElementRef);\n\n /**\n * Controls whether the directive responds to click events.\n * When false, no outside clicks are detected.\n */\n readonly isActive = input<boolean>(true);\n\n /**\n * Emits when a click outside the element is detected while isActive is true.\n */\n readonly smartClickOutside = output<ClickOutsideEvent>();\n\n private readonly clickEffect = effect(() => {\n // Access the isActive signal to track changes\n this.isActive();\n });\n\n /**\n * Handles document click events and checks if the click was outside the element.\n */\n @HostListener('document:click', ['$event'])\n onClick(event: MouseEvent | null): void {\n if (!event) {\n return;\n }\n\n if (!this.isActive()) {\n return;\n }\n\n const target = event.target as HTMLElement | null;\n if (!target) {\n return;\n }\n\n const isClickInsideElement = this.elementRef.nativeElement.contains(target);\n\n if (!isClickInsideElement) {\n this.smartClickOutside.emit({\n event,\n target: event.target,\n });\n }\n }\n}\n","export * from './hover.directive';\nexport * from './scrollable.directive';\nexport * from './click-outside.directive';\n\nexport const DIRECTIVES = [];\n","import { APP_INITIALIZER, ModuleWithProviders, NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\n\nimport { ConfigsFacade } from './+state/configs.facade';\nimport { COMPONENTS } from './components';\nimport { DIRECTIVES } from './directives';\nimport { SharedConfig } from './shared.config';\n\nfunction initializeApp(configsFacade: ConfigsFacade): () => void {\n return () => {\n setTimeout(() => {\n configsFacade.init().then();\n });\n };\n}\n\n@NgModule({\n declarations: [...DIRECTIVES],\n imports: [RouterModule, COMPONENTS],\n exports: [...DIRECTIVES, ...COMPONENTS], // Export our own components instead of SmartSharedModule\n})\nexport class SharedModule {\n static forFeature(config: SharedConfig): ModuleWithProviders<SharedModule> {\n return {\n ngModule: SharedModule,\n providers: [\n {\n provide: SharedConfig,\n useValue: config,\n },\n ],\n };\n }\n\n static forRoot(config: SharedConfig): ModuleWithProviders<SharedModule> {\n return {\n ngModule: SharedModule,\n providers: [\n {\n provide: SharedConfig,\n useValue: config,\n },\n {\n provide: APP_INITIALIZER,\n useFactory: initializeApp,\n multi: true,\n deps: [ConfigsFacade],\n },\n ],\n };\n }\n}\n","import { MsFile } from '@smartsoft001-mobilems/models';\n\nexport enum ListMode {\n mobile = 'mobile',\n desktop = 'desktop',\n masonryGrid = 'masonryGrid',\n timeline = 'timeline',\n map = 'map',\n}\n\nexport interface IQuickMenu {\n elementId: string;\n name: string;\n}\n\nexport interface IGame {\n scores: any;\n gameType: GameType;\n difficulty: number;\n puzzleImage: MsFile;\n image: MsFile;\n images: IImages[];\n coverImage: MsFile;\n questions?: IGameQuestion[];\n objects: any[];\n name: string;\n description: string;\n id: number;\n published: boolean;\n userId: number;\n}\n\nexport interface IGameQuestion {\n question: string;\n answers: IGameAnswer[];\n file?: MsFile;\n hint: string;\n}\n\nexport interface IGameAnswer {\n userChoice?: boolean;\n class?: string;\n answer: string;\n correct: boolean;\n id?: number;\n position?: number;\n}\n\nexport enum GameType {\n puzzle = 1,\n memo = 2,\n quiz = 3,\n}\n\nexport interface IObjectGallery {\n id: number;\n name: string;\n items: IObjectGalleryItem[];\n}\n\nexport interface IObjectGalleryItem {\n id: number;\n position: number;\n object: IObjectGallerySingleObject;\n}\n\nexport interface IObjectGallerySingleObject {\n id: number;\n inventoryNumber: string;\n name: string;\n multimedium: ISingleObjectMultimedia;\n}\n\nexport interface ISingleObjectMultimedia {\n altTextEn: string;\n extension: string;\n altText: string;\n filePath: string;\n id: number;\n}\n\nexport interface IGameMemoConfig {\n headerStyle: string;\n boxStyle: string;\n hiddenLabel?: boolean;\n buttonStyle?: string;\n gameNameStyle?: string;\n textStyle: string;\n mediaBaseUrl?: string;\n}\n\nexport interface IGamePuzzleConfig {\n headerStyle: string;\n boxStyle: string;\n hiddenLabel: boolean;\n startButtonStyle: string;\n gameNameStyle: string;\n imageStyle: string;\n noImagePlaceholderSrc: string;\n mediaBaseUrl?: string;\n}\n\nexport interface IGameQuizConfig {\n headerStyle: string;\n boxStyle: string;\n hiddenLabel: boolean;\n buttonStyle: string;\n gameNameStyle: string;\n answerStyle: string;\n questionStyle: string;\n textStyle: string;\n progressStyle: string;\n hintStyle: string;\n noImagePlaceholderSrc: string;\n mediaBaseUrl: string;\n}\n\nexport interface IImages {\n file: MsFile;\n id: number;\n position: number;\n}\n\nexport class ImageBox {\n xPos!: string;\n yPos!: string;\n index!: string;\n}\n\nexport interface IAudio {\n image?: MsFile;\n audio?: MsFile;\n title: string;\n text: string;\n}\n\nexport interface IVideo {\n image?: MsFile;\n video?: MsFile;\n title: string;\n text: string;\n}\n\nexport interface IErrorMessages {\n loginErrorMessage?: string | null;\n forgotPasswordErrorMessage?: ForgotPasswordErrorMessage | null;\n registerErrorMessage?: RegisterErrorMessage | null;\n changePasswordErrorMessage?: ChangePasswordErrorMessage | null;\n modifyUserErrorMessage?: ModifyUserErrorMessage | null;\n}\n\nexport interface ChangePasswordErrorMessage {\n first: string;\n second: string;\n}\n\nexport interface ForgotPasswordErrorMessage {\n userNotFound: boolean;\n}\n\nexport interface ModifyUserErrorMessage {\n authenticationError: {\n email?: string;\n login?: string;\n avatar?: string;\n };\n}\n\nexport interface RegisterErrorMessage {\n email: string[] | null;\n login: string[] | null;\n password: {\n first: string[] | null;\n second: string[] | null;\n };\n status: number;\n message: string;\n}\n\nexport interface IUserRegister {\n username: string;\n email: string;\n password?: string;\n password2?: string;\n termsAcceptance: boolean;\n}\n\nexport interface IUser {\n email: string;\n password?: string;\n userID: string;\n token: string;\n avatar?: string;\n newsletterAcceptance?: boolean;\n refreshToken?: string;\n}\n\nexport interface IUserInfo {\n email: string;\n userID: string;\n avatar?: string;\n newsletterAcceptance: boolean;\n}\n\nexport interface ILoginResponse {\n /**\n * JWTToken\n */\n token: string;\n refresh_token: string;\n}\n\nexport interface ILoginResponse {\n /**\n * JWTToken\n */\n token: string;\n refresh_token: string;\n}\n\nexport interface IUserModify {\n email?: string;\n username?: string;\n}\n\nexport interface IFilterOne {\n active: boolean;\n name: string;\n desc: any;\n value: any;\n}\n\nexport interface IFilterItem {\n title: string;\n searchText?: string;\n value: string;\n filter: IFilterOne;\n}\n\nexport interface IUserQuery {\n id?: number;\n createdAt?: string;\n sortBy?: string;\n filterList?: {\n query?: IFilterItem[];\n searchText?: string;\n sortBy?: string;\n };\n jobs?: any[];\n name: string;\n type: string;\n query: any;\n}\n\nexport interface IUserQueryList {\n items: IUserQuery[];\n}\n\nexport interface SearchQuery {\n deleteInProgress: boolean;\n // filtersList: FilterItem[];\n // profileQuery: ProfileQuery;\n searchDate: string;\n searchTitle: string;\n}\n","import { inject } from '@angular/core';\nimport { CanActivateFn, Router } from '@angular/router';\n\nimport { AuthStorageService } from '../services/auth-storage/auth-storage.service';\n\nexport const authenticationGuard: CanActivateFn = () => {\n const router = inject(Router);\n const authStorageService = inject(AuthStorageService);\n\n if (authStorageService.hasUser()) {\n return true;\n }\n\n router.navigate(['/logowanie']);\n return false;\n};\n","import { inject } from '@angular/core';\nimport { CanActivateFn, Router } from '@angular/router';\n\nimport { AuthStorageService } from '../services/auth-storage/auth-storage.service';\n\nexport const unauthorizedGuard: CanActivateFn = () => {\n const router = inject(Router);\n const authStorageService = inject(AuthStorageService);\n\n if (!authStorageService.hasUser()) {\n return true;\n }\n\n router.navigate(['/strona-glowna']);\n return false;\n};\n","import {\n AfterViewInit,\n Directive,\n inject,\n OnInit,\n signal,\n} from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { capitalize } from '@smartsoft001/utils';\n\nimport { PageSlide } from '@smartsoft001-mobilems/models';\n\nimport { ConfigsFacade } from '../../+state/configs.facade';\nimport { SeoService } from '../../services';\n\n@Directive()\nexport abstract class HomeComponent implements OnInit, AfterViewInit {\n private readonly seoService = inject(SeoService);\n private readonly translateService = inject(TranslateService);\n private configsFacade = inject(ConfigsFacade);\n\n slides = signal<Array<PageSlide>>([]);\n\n async ngOnInit(): Promise<void> {\n this.setTitle();\n }\n\n async ngAfterViewInit(): Promise<void> {\n await this.initSlides();\n }\n\n protected setTitle(): void {\n this.seoService.updateTitle(\n `${capitalize(this.translateService.instant('MODEL.mainTitle'))}`,\n );\n }\n\n private async initSlides(): Promise<void> {\n const page = await this.configsFacade.getPage('home' as any);\n this.slides.set(page?.slides || []);\n }\n}\n","import { Directive, inject, OnInit } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { capitalize } from '@smartsoft001/utils';\n\nimport { SeoService } from '../../services';\n\n@Directive()\nexport abstract class NotFoundComponent implements OnInit {\n private readonly seoService = inject(SeoService);\n private readonly translateService = inject(TranslateService);\n\n async ngOnInit(): Promise<void> {\n this.setTitle();\n }\n\n protected setTitle(): void {\n this.seoService.updateTitle(\n `${capitalize(this.translateService.instant('MODEL.mainTitle'))}`,\n );\n }\n}\n","import { Directive, effect, inject, signal } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { ActivatedRoute } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { capitalize } from '@smartsoft001/utils';\n\nimport { Page } from '@smartsoft001-mobilems/models';\n\nimport { ConfigsFacade } from '../../+state/configs.facade';\nimport { SeoService } from '../../services';\n\n@Directive()\nexport abstract class PageStaticComponent {\n protected readonly configsFacade = inject(ConfigsFacade);\n protected readonly route = inject(ActivatedRoute);\n protected readonly seoService = inject(SeoService);\n protected readonly translateService = inject(TranslateService);\n protected readonly params = toSignal(this.route.params);\n\n config = this.configsFacade.data;\n data = signal<Page | null>(null);\n\n loading = signal(false);\n\n constructor() {\n effect(() => {\n const params = this.params();\n if (params && params['id']) {\n this.loadData(+params['id']).then();\n }\n });\n }\n\n async loadData(id: number): Promise<void> {\n this.loading.set(true);\n this.data.set((await this.configsFacade.getPage(id)) as Page);\n this.loading.set(false);\n\n this.setTitle();\n }\n\n protected setTitle(): void {\n this.seoService.updateTitle(\n `${capitalize(this.data()?.title as string)} - ${capitalize(this.translateService.instant('MODEL.mainTitle'))}`,\n );\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["NgxTranslateService","SmartStyleService","i1.AppComponent"],"mappings":"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"}
|
package/index.d.ts
CHANGED
|
@@ -364,7 +364,7 @@ declare class QueryFilterService {
|
|
|
364
364
|
}): ICrudFilter;
|
|
365
365
|
}
|
|
366
366
|
|
|
367
|
-
declare const SERVICES: (typeof SearchService | typeof
|
|
367
|
+
declare const SERVICES: (typeof SearchService | typeof AuthStorageService | typeof ConfigsService | typeof ContrastService | typeof DictionaryService | typeof FileUrlService | typeof GlobalService | typeof TranslationService | typeof MetaService | typeof ModalService | typeof SeoService | typeof SettingsService | typeof StyleService | typeof WcagService | typeof ConfigsFacade)[];
|
|
368
368
|
|
|
369
369
|
declare class PageComponent extends PageBaseComponent {
|
|
370
370
|
static ɵfac: i0.ɵɵFactoryDeclaration<PageComponent, never>;
|