@tapsellorg/angular-material-library
Version:
Angular library for Tapsell
1 lines • 8.8 kB
Source Map (JSON)
{"version":3,"file":"tapsellorg-angular-material-library-src-lib-indicator.mjs","sources":["../../projects/pegah-library/src/lib/indicator/pgh-indicator-persist.service.ts","../../projects/pegah-library/src/lib/indicator/indicator.directive.ts","../../projects/pegah-library/src/lib/indicator/indicator.module.ts","../../projects/pegah-library/src/lib/indicator/tapsellorg-angular-material-library-src-lib-indicator.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { PghIndicatorPersistData } from './indicator.models';\nimport { PghStorageFactory } from '@tapsellorg/angular-material-library/src/lib/common';\n\nexport type PghIndicatorPersistServiceSavedData = { persistId: string; expirationDate: Date };\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PghIndicatorPersistService {\n private localStorageFactory = PghStorageFactory.localStorageFactory();\n\n constructor() {}\n\n persist({ persistId, persistDays }: PghIndicatorPersistData) {\n const expirationDate = new Date();\n expirationDate.setDate(expirationDate.getDate() + persistDays);\n this.localStorageFactory.setItem(\n PghIndicatorPersistService.getKey(persistId),\n JSON.stringify({ persistId, expirationDate }),\n );\n }\n\n private static getKey(persistId: string) {\n return `pghIndicator_${persistId}`;\n }\n\n getPersistData(persistId: string) {\n const rawData = this.localStorageFactory.getItem(PghIndicatorPersistService.getKey(persistId));\n if (!rawData) return;\n\n try {\n const parsedData = JSON.parse(rawData) as PghIndicatorPersistServiceSavedData;\n parsedData.expirationDate = new Date(parsedData.expirationDate);\n return parsedData;\n } catch (e) {\n return;\n }\n }\n}\n","import {\n Directive,\n ElementRef,\n input,\n model,\n OnChanges,\n OnInit,\n SimpleChanges,\n} from '@angular/core';\nimport {\n PghIndicatorColor,\n PghIndicatorPersistData,\n PghIndicatorPosition,\n} from './indicator.models';\nimport { PghIndicatorPersistService } from './pgh-indicator-persist.service';\n\n@Directive({\n selector: '[pghIndicator]',\n exportAs: 'pghIndicator',\n standalone: false,\n})\nexport class PghIndicatorDirective implements OnInit, OnChanges {\n color = input<PghIndicatorColor>('primary', {\n alias: 'pghIndicatorColor',\n });\n persistData = input<PghIndicatorPersistData>(\n {\n persistId: '',\n persistDays: 0,\n },\n {\n alias: 'pghIndicatorPersistData',\n },\n );\n position = input<PghIndicatorPosition>('top end', {\n alias: 'pghIndicatorPosition',\n });\n hidden = model<boolean>(false, {\n alias: 'pghIndicatorHidden',\n });\n\n private element: HTMLElement;\n\n constructor(\n private _elementRef: ElementRef<HTMLElement>,\n private indicatorPersistService: PghIndicatorPersistService,\n ) {\n this.element = _elementRef.nativeElement;\n }\n\n ngOnInit() {\n this.handlePersistence();\n this.configLoaderAttributes();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.color || changes.position) {\n this.configLoaderAttributes();\n }\n }\n\n private handlePersistence() {\n if (!this.persistData()) return;\n\n const { persistId, persistDays } = this.persistData();\n if (!persistId || !persistDays) throw new Error('You must provide persistId and persistDays');\n\n const persistServiceSavedData = this.indicatorPersistService.getPersistData(persistId);\n if (!persistServiceSavedData) {\n this.indicatorPersistService.persist(this.persistData());\n } else if (persistServiceSavedData.expirationDate <= new Date()) {\n this.hidden.set(true);\n }\n }\n\n private configLoaderAttributes() {\n if (this.hidden()) {\n this.element.setAttribute('data-pgh-indicator', 'hidden');\n } else {\n this.element.setAttribute('data-pgh-indicator', `${this.position} ${this.color}`);\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { PghIndicatorDirective } from './indicator.directive';\n\n@NgModule({\n declarations: [PghIndicatorDirective],\n imports: [CommonModule],\n exports: [PghIndicatorDirective],\n})\nexport class PghIndicatorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.PghIndicatorPersistService"],"mappings":"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"}