{"version":3,"sources":["./src/app/wireframe/sidebar/sidebar-content.component.ts","./src/app/home.component.ts","./src/app/home.component.html","./src/app/wireframe/sidebar/sidebar-header.component.ts","./src/app/feature/group-details/group-details.module.ts","./src/app/wireframe/sidebar/sidebar-title.component.ts","./src/app/auth/login-site/login-site.component.ts","./src/app/auth/login-site/login-site.component.html","./src/app/services/news.service.ts","./src/environments/environment.ts","./src/app/feature/group-browser/group-browser.module.ts","./src/app/components/news/news.module.ts","./src/app/feature/group-browser/group-tile.component.ts","./src/app/feature/group-browser/group-tile.component.html","./src/app/services/api.service.ts","./src/app/components/welcome/welcome.component.ts","./src/app/components/welcome/welcome.component.html","./src/app/feature/group-details/dialogs/add-comment.dialog.component.ts","./src/app/feature/group-details/dialogs/add-comment.dialog.component.html","./src/app/services/icon.service.ts","./src/app/feature/group-details/group-details.component.ts","./src/app/feature/group-details/group-details.component.html","./src/app/feature/group-details/components/cast/cast.component.ts","./src/app/feature/group-details/components/cast/cast.component.html","./src/app/auth/auth-guard.service.ts","./src/app/wireframe/sidebar/sidebar-closer.component.ts","./src/app/wireframe/sidebar/sidebar-closer.component.html","./src/app/wireframe/sidebar/sidebar.component.ts","./src/app/wireframe/sidebar/sidebar.component.html","./src/app/app.error-handler.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/feature/group-details/components/comments/comments.component.ts","./src/app/feature/group-details/components/comments/comments.component.html","./src/app/components/news/news.component.ts","./src/app/components/news/news.component.html","./src/app/feature/group-browser/group-browser.component.ts","./src/app/feature/group-browser/group-browser.component.html","./src/app/feature/feature.module.ts","./src/app/auth/auth.module.ts","./src/app/wireframe/title/title.module.ts","./src/app/app.module.ts","./src/app/wireframe/sidebar/sidebar.module.ts","./src/app/services/cached-request.ts","./src/app/shared.module.ts","./src/app/feature/group-details/components/feature-player/feature-player.component.ts","./src/app/feature/group-details/components/feature-player/feature-player.component.html","./src/app/auth/login-form/login-form.component.ts","./src/app/auth/login-form/login-form.component.html","./src/app/feature/group-details/components/feature-browser/feature-browser.component.ts","./src/app/feature/group-details/components/feature-browser/feature-browser.component.html","./src/app/services/log.service.ts","./src/app/components/components.module.ts","./src/app/wireframe/title/title.component.ts","./src/app/wireframe/title/title.component.html","./src/app/feature/sidebar/feature-sidebar.component.ts","./src/app/feature/sidebar/feature-sidebar.component.html","./src/app/auth/auth.service.ts","./src/app/services/feature.service.ts","./src/app/wireframe/wireframe.module.ts","./src/app/services/scroll.service.ts","./src/app/app-routing.module.ts","./src/app/services/feature-group.service.ts","./src/app/services/dom.service.ts","./src/main.ts","./$_lazy_route_resource lazy namespace object"],"names":[],"mappings":"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","file":"main-es2015.js","sourcesContent":["import { Component } from '@angular/core';\n\n@Component({\n selector: 'skibbyfilm-sidebar-content',\n template: '',\n styles: [\n`:host {\n padding: 20px;\n}`]\n})\nexport class SidebarContent {}","import { AfterViewInit, Component, OnInit } from '@angular/core';\nimport { AuthService } from './auth/auth.service';\nimport { LogService } from './services/log.service';\nimport { ScrollService } from './services/scroll.service';\n\n@Component({\n selector: 'skibbyfilm-home',\n templateUrl: 'home.component.html'\n})\nexport class Home implements AfterViewInit, OnInit {\n constructor(\n private _authService: AuthService,\n private _logService: LogService,\n private _scrollService: ScrollService) {}\n\n ngOnInit() {\n this._logService.log(`${this._authService.authenticatedName}/${this._authService.authenticatedCongregation} ankom til forsiden`);\n }\n\n ngAfterViewInit() {\n this._scrollService.scrollToTop();\n }\n}","\n\n
\n
\n
\n
\n \n
\n
\n
\n\n
\n

Film og videoer

\n \n
\n
\n\n\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'skibbyfilm-sidebar-header',\n template: '',\n styles: [`\n:host {\n display: flex;\n flex-direction: row;\n align-items: center;\n flex: 0 0 auto;\n padding: 20px;\n box-shadow: 0 -2px 4px 1px rgba(0,0,0,.2);\n background-color: white;\n}`\n ]\n})\nexport class SidebarHeader { }","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SharedModule } from 'src/app/shared.module';\nimport { WireframeModule } from 'src/app/wireframe/wireframe.module';\n\nimport { Cast } from './components/cast/cast.component';\nimport { Comments } from './components/comments/comments.component';\nimport { FeatureBrowser } from './components/feature-browser/feature-browser.component';\nimport { FeaturePlayer } from './components/feature-player/feature-player.component';\nimport { FeatureGroupDetails } from './group-details.component';\n\nimport { AddCommentDialog } from './dialogs/add-comment.dialog.component';\n\n@NgModule({\n imports: [\n CommonModule,\n SharedModule,\n WireframeModule\n ],\n declarations: [\n Cast,\n Comments,\n FeatureBrowser,\n FeatureGroupDetails,\n FeaturePlayer,\n\n AddCommentDialog\n ],\n exports: [\n FeatureGroupDetails\n ]\n})\nexport class FeatureGroupDetailsModule { }\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'skibbyfilm-sidebar-title',\n template: '

{{title}}

',\n styles: [`\n:host { \n max-width: 100%;\n overflow: hidden;\n}\n:host h1 {\n font-weight: 200;\n font-size: 2em;\n display: block;\n margin: 0 0 -1px 5px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n text-shadow: none;\n}`]\n})\nexport class SidebarTitle {\n @Input() title!: string;\n}","import { Component } from '@angular/core';\n\n@Component({\n selector: 'skibbyfilm-login',\n templateUrl: 'login-site.component.html'\n})\nexport class LoginSite {}","\n\n
\n
\n \n
\n
\n","import { Injectable } from '@angular/core';\n\nimport { Observable, of } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { INewsData } from '../model/news.data';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NewsService {\n getNews(): Observable {\n return of([\n { timestamp: '15/3 2014', content: 'Vær Modig og Stærk er lagt online' },\n { timestamp: '21/12 2013', content: 'Tredje filmprojekt er startet og vi ser meget frem til at kunne præsentere næste film en gang i marts 2014!' },\n { timestamp: '17/3 2013', content: 'Skibby menigheds børn og unge har arbejdet hårdt og ihærdigt med den seneste film: Pigen, Hærføreren og Tjeneren. Du kan se den her på hjemmesiden og du kan også downloade den i både mobilt format og HD format. Husk at hvis du downloader den, er det kun til privat brug. Du må altså ikke gøre den tilgængelig på f.eks. Facebook eller YouTube.' }\n ]);\n }\n}","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\n","import { NgModule } from '@angular/core';\n\nimport { SharedModule } from 'src/app/shared.module';\n\nimport { FeatureGroupBrowser } from './group-browser.component';\nimport { FeatureGroupBrowserTile } from './group-tile.component';\n\n@NgModule({\n imports: [SharedModule],\n declarations: [\n FeatureGroupBrowser,\n FeatureGroupBrowserTile\n ],\n exports: [\n FeatureGroupBrowser\n ]\n})\nexport class FeatureGroupBrowserModule { }\n","import { NgModule } from '@angular/core';\nimport { SharedModule } from 'src/app/shared.module';\n\nimport { News } from './news.component';\n\n@NgModule({\n imports: [SharedModule],\n declarations: [News],\n exports: [News]\n})\nexport class NewsModule { }\n","import { Component, Input, OnInit } from '@angular/core';\nimport { IFeatureGroupData } from 'src/app/model/feature-group.data';\n\n@Component({\n selector: 'skibbyfilm-feature-group-browser-tile',\n templateUrl: 'group-tile.component.html',\n styleUrls: ['group-tile.component.scss']\n})\nexport class FeatureGroupBrowserTile implements OnInit {\n constructor() { }\n\n @Input() featureGroup!: IFeatureGroupData;\n\n ngOnInit() { }\n}","
\n \n \n
\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpErrorResponse, HttpHeaders, HttpResponse } from '@angular/common/http';\n\nimport { Observable, throwError } from 'rxjs';\nimport { catchError, map, tap } from 'rxjs/operators';\n\nimport { AuthService } from '../auth/auth.service';\n\nexport interface IApiOptions {\n allowUnauthorized?: boolean;\n suppressErrors?: boolean;\n contentType?: string;\n password?: string;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ApiService {\n constructor(\n private auth: AuthService,\n private http: HttpClient) { }\n\n get apiBase() {\n // If the hostname is \"localhost\" or \"localhost:\", hardcode the\n // baseUrl to the dev API\n return /^localhost(:\\d+)?$/.test(this.host)\n ? 'http://local.skibbyfilm.dk'\n : 'http://api.skibbyfilm.dk'\n }\n\n get host() { return window.location.host; }\n\n private buildRequestHeaders(hasBody: boolean, options: IApiOptions) {\n const headers: any = {};\n\n if (hasBody)\n headers['Content-Type'] = options.contentType || 'application/json';\n\n if (!options || !options.allowUnauthorized)\n headers['Authorization'] = this.auth.authHeaderValue;\n\n if (options && options.password)\n headers['Password'] = options.password;\n\n return new HttpHeaders(headers);\n }\n\n private buildRequestOptions(hasBody: boolean, options: IApiOptions) {\n return {\n headers: this.buildRequestHeaders(hasBody, options),\n observe: 'response' as 'response'\n };\n }\n\n private handleError = (error: HttpErrorResponse, options: IApiOptions): Observable => {\n if (error.error instanceof ErrorEvent) {\n // A client-side or network error occurred\n console.error('An error occured:', error.error.message);\n return throwError(error);\n }\n\n let message: string;\n try {\n let content = error.error;\n if (content.data)\n content = content.data;\n message = content.message ? content.message : content;\n }\n catch (e) {\n message = `[${error.status}] ${error.statusText}`;\n }\n\n switch (error.status) {\n case 401: // The token is invalid - the user should be redirected to login\n return throwError(error);\n\n case 403: // Access has been denied to a resource (app or app grant)\n return throwError(error);\n\n default:\n return throwError(error);\n }\n }\n\n private wrapResponse(response: Observable>, options: IApiOptions): Observable {\n return response\n .pipe(\n tap(res => {\n if (!options || !options.allowUnauthorized) {\n // Check to see whether a new token has been returned. This will always be the case\n // when using Sliding expiration.\n const token = res.headers.get('Token');\n if (token)\n this.auth.refresh(token);\n }\n }),\n map((res: HttpResponse) => res.body),\n catchError((err: HttpErrorResponse) => this.handleError(err, options))\n );\n }\n\n get(url: string, options: IApiOptions = {}): Observable {\n const requestOpts = this.buildRequestOptions(false, options);\n return this.wrapResponse(this.http.get(url, requestOpts), options);\n }\n\n post(url: string, data: any = {}, options: IApiOptions = {}): Observable {\n const ref = { data };\n const requestOpts = this.buildRequestOptions(true, options);\n return this.wrapResponse(this.http.post(url, ref.data, requestOpts), options);\n }\n\n put(url: string, data: any = {}, options: IApiOptions = {}): Observable {\n const ref = { data };\n const requestOpts = this.buildRequestOptions(true, options);\n return this.wrapResponse(this.http.put(url, ref.data, requestOpts), options);\n }\n}","import { Component } from '@angular/core';\n\n@Component({\n selector: 'skibbyfilm-welcome',\n templateUrl: 'welcome.component.html',\n styleUrls: ['welcome.component.scss'] \n})\nexport class Welcome { }","

Velkommen

\n
På Skibbyfilm.dk finder du blandt andet de tegnefilm som børnene og de unge i Skibby menighed gennem årene har produceret. \n Du finder også en optagelse af Den Store Zoomfest, som blev holdt i menigheden den 12/12 2020.
\n

Må jeg downloade film fra Skibbyfilm.dk?

\n
Hvis du kunne tænke dig at få en lokal kopi af vores film, skal du skrive en email til administratoren af Skibbyfilm.dk og bede om at få et download link. Det er ikke muligt at downloade vores film direkte fra hjemmesiden.\n Vær opmærksom på, at en lokal kopi udelukkende er til eget privat brug, og ikke må videregives til andre eller gøres offentligt tilgængelig på andre medier, f.eks. Facebook, YouTube eller lignende. Du er derimod meget velkommen til at give adgangskoden til hjemmesiden videre til familie og venner.
\n","import { Component, OnInit } from \"@angular/core\";\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { MatDialogRef } from \"@angular/material/dialog\";\n\n@Component({\n selector: 'add-comment-dialog',\n templateUrl: 'add-comment.dialog.component.html',\n styleUrls: ['add-comment.dialog.component.scss']\n})\nexport class AddCommentDialog implements OnInit {\n constructor(private _dialogRef: MatDialogRef) { }\n\n form!: FormGroup;\n formComment: FormControl | undefined;\n\n private ensureForm() {\n this.formComment = new FormControl(null, Validators.required);\n this.form = new FormGroup({ comment: this.formComment });\n }\n\n save() {\n if (this.form.invalid)\n return;\n\n const comment = this.formComment?.value;\n this._dialogRef.close(comment);\n }\n\n ngOnInit() {\n this.ensureForm();\n }\n}","

Skriv en kommentar

\n\n
\n \n Kommentar\n \n \n
\n
\n\n \n \n\n","import { Injectable } from '@angular/core';\nimport { MatIconRegistry } from '@angular/material/icon';\nimport { DomSanitizer } from '@angular/platform-browser';\n\nexport interface IIcon {\n key: string;\n url: string;\n}\n\nclass Icon implements IIcon {\n constructor(\n public key: string,\n public url: string) { }\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class IconService {\n constructor(\n private _domSanitizer: DomSanitizer,\n private _matIconRegistry: MatIconRegistry) {\n }\n\n private readonly _baseUrl = '../assets/icons/';\n private _icons!: IIcon[];\n\n get icons(): IIcon[] { return this._icons; }\n\n private newIcon(key: string, file: string): IIcon {\n return new Icon(key, `${this._baseUrl}${file}`);\n }\n\n private registerIcon(name: string, url: string) {\n this._matIconRegistry.addSvgIcon(name, this._domSanitizer.bypassSecurityTrustResourceUrl(url));\n }\n\n init() {\n this._icons = [\n this.newIcon('close', 'menu-close.svg')\n ];\n\n this.icons.forEach(i => this.registerIcon(i.key, i.url));\n }\n}","import { Component, Input } from '@angular/core';\nimport { AuthService } from 'src/app/auth/auth.service';\n\nimport { IFeatureGroupData } from 'src/app/model/feature-group.data';\nimport { IFeatureData } from 'src/app/model/feature.data';\nimport { LogService } from 'src/app/services/log.service';\n\n@Component({\n selector: 'skibbyfilm-feature-group-details',\n templateUrl: 'group-details.component.html'\n})\nexport class FeatureGroupDetails {\n constructor(\n private _authService: AuthService,\n private _logService: LogService) { }\n\n private _featureGroup!: IFeatureGroupData | undefined;\n\n features!: IFeatureData[];\n selectedFeature: IFeatureData | undefined;\n\n @Input()\n get featureGroup(): IFeatureGroupData | undefined { return this._featureGroup; }\n set featureGroup(value: IFeatureGroupData | undefined) {\n this._featureGroup = value;\n if (this._featureGroup) {\n this._logService.log(`${this._authService.authenticatedName}/${this._authService.authenticatedCongregation} viser detaljer for ${this._featureGroup.name}`);\n this.fetchFeatures();\n }\n }\n\n private fetchFeatures() {\n if (this._featureGroup) {\n this.features = this._featureGroup.features.sort((a, b) => b.id - a.id);\n this.selectedFeature = this.features[0];\n };\n }\n\n closed() {\n this._logService.log(`${this._authService.authenticatedName}/${this._authService.authenticatedCongregation} gik tilbage til forsiden`);\n }\n\n selectFeature(feature: IFeatureData) {\n this.selectedFeature = feature;\n const sbt = document.getElementsByClassName('sidebar-top');\n if (sbt.length > 0)\n sbt[0].scrollIntoView({ behavior: 'smooth', block: 'center' }); \n }\n}","
\n
\n \n\n 1\"\n [features]=\"features\"\n [selectedFeature]=\"selectedFeature\"\n (selectionChange)=\"selectFeature($event)\">\n
\n
\n \n
\n
\n\n
\n \n \n
\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'skibbyfilm-feature-group-cast',\n templateUrl: 'cast.component.html',\n styleUrls: ['cast.component.scss']\n})\nexport class Cast implements OnInit {\n constructor() { }\n\n @Input() cast: string[] | undefined;\n\n ngOnInit() { }\n}","\n Medvirkede\n \n
\n
{{member}}
\n
\n
\n
\n\n
\n

Medvirkende

\n
\n
{{member}}
\n
\n
\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot, UrlTree } from '@angular/router';\n\nimport { Observable, of } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\nimport { AuthService } from './auth.service';\nimport { ApiService } from '../services/api.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuthGuard implements CanActivate {\n constructor(\n private _api: ApiService,\n private _authService: AuthService,\n private _router: Router) { }\n\n private checkLogin(url: string): Observable {\n if (this._authService.authenticated)\n return this._api.get(`${this._api.apiBase}/security/initialize`, { suppressErrors: true })\n .pipe(\n map(e => true),\n catchError(() => of(this._router.parseUrl('/login'))));\n\n // Store the attempted URL for redirecting\n this._authService.redirectUrl = url;\n\n // Redirect to the login page\n return of(this._router.parseUrl('/login'));\n }\n\n canActivate(next: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable {\n const url: string = state.url;\n return this.checkLogin(url);\n }\n}\n","import { Component, EventEmitter, Output } from '@angular/core';\n\n@Component({\n selector: 'skibbyfilm-sidebar-closer',\n templateUrl: 'sidebar-closer.component.html',\n styles: [`\n:host {\n display: block;\n margin-bottom: -5px;\n}`]\n})\nexport class SidebarCloser {\n @Output() closed: EventEmitter = new EventEmitter();\n\n close() {\n this.closed.emit();\n }\n}\n","\n \n\n","import { Component, Input, Output, EventEmitter, AfterViewInit, ViewChild, ElementRef } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { animate, style, transition, trigger, state } from '@angular/animations';\nimport { ScrollService } from 'src/app/services/scroll.service';\n\n@Component({\n selector: 'skibbyfilm-sidebar',\n templateUrl: 'sidebar.component.html',\n styleUrls: ['sidebar.component.scss'],\n animations: [\n trigger('sideBar', [\n state('open', style({ transform: 'translateX(0)' })),\n state('closed', style({ transform: 'translateX(100%)' })),\n transition('closed => open', [animate('.2s ease-in-out')]),\n transition('open => closed', [animate('.1s ease-in-out')])\n ]),\n trigger('backdrop', [\n state('on', style({ backgroundColor: 'rgba(40, 40, 40, .5)' })),\n state('off', style({ backgroundColor: 'transparent' })),\n transition('off => on', [animate('.2s')]),\n transition('on => off', [animate('.1s')])\n ])\n ]\n})\nexport class Sidebar implements AfterViewInit {\n constructor(\n private route: ActivatedRoute,\n private router: Router,\n private ss: ScrollService) { }\n\n private _isOpen = false;\n\n backdrop = 'off';\n sidebar = 'closed';\n\n @ViewChild('sidebarContentRef', { static: true }) sidebarContentRef: ElementRef | undefined;\n\n get isOpen(): boolean { return this._isOpen; }\n set isOpen(value: boolean) {\n this._isOpen = value;\n\n if (value)\n this.ss.disableBodyScroll();\n else\n this.ss.enableBodyScroll();\n\n setTimeout(() => {\n this.backdrop = value ? 'on' : 'off';\n this.sidebar = value ? 'open' : 'closed';\n }, 0);\n }\n\n @Input() backPath = '/';\n @Input() mode = 'full';\n\n @Output() closed: EventEmitter = new EventEmitter();\n\n close() {\n this.isOpen = false;\n this.closed.emit();\n setTimeout(() => this.router.navigate([this.backPath], {relativeTo: this.route}), 100);\n }\n\n sidebarAnimationDone(event: any) {\n if (event.fromState === 'closed' && event.toState === 'open')\n if (this.sidebarContentRef)\n this.sidebarContentRef.nativeElement.focus();\n }\n\n ngAfterViewInit() {\n this.isOpen = true;\n }\n}","","import { ErrorHandler, Injector, Injectable } from '@angular/core';\nimport { HttpErrorResponse } from '@angular/common/http';\n\nimport { LogService } from './services/log.service';\n\n@Injectable()\nexport class AppErrorHandler implements ErrorHandler {\n constructor(private injector: Injector) { }\n\n handleError(error: any) {\n // Unauthorized errors do not need to be logged or handled further.\n if (error instanceof HttpErrorResponse && error.status === 401) {\n console.debug(error.statusText);\n return;\n }\n\n let message: string;\n if (error.message) {\n message = error.message;\n if (error.error && error.error.message)\n message += '\\n ' + error.error.message;\n }\n else if (error.error && error.error.message)\n message = error.error.message;\n else\n message = error.toString();\n\n console.group('Error logging:');\n console.log(`[${error.name}: ${message}]`);\n console.error(error);\n console.groupEnd();\n\n const logService = this.injector.get(LogService);\n if (!logService) {\n console.warn('No LogService available');\n return;\n }\n\n const payload: any = {};\n if (typeof error === 'string')\n payload.error = error;\n else if (typeof error === 'object') {\n payload.error = {};\n for (const propName of Object.getOwnPropertyNames(error)) {\n if (typeof error[propName] === 'string')\n payload.error[propName] = error[propName];\n else\n try {\n payload.error[propName] = JSON.stringify(error[propName], null, 2);\n }\n catch {\n payload.error[propName] = 'Could not be stringified';\n }\n }\n }\n else\n payload.error = `${typeof error}: ${error.toString()}`;\n\n logService.error(payload.error);\n }\n}\n","import { Component } from '@angular/core';\nimport { IconService } from './services/icon.service';\n\n@Component({\n selector: 'skibbyfilm-root',\n templateUrl: 'app.component.html',\n styles: []\n})\nexport class App {\n constructor(_iconService: IconService) {\n _iconService.init();\n }\n\n title = 'skibbyfilm';\n}\n","","import { Component, Input } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { ICommentData } from 'src/app/model/comment.data';\nimport { FeatureGroupService } from 'src/app/services/feature-group.service';\nimport { AddCommentDialog } from '../../dialogs/add-comment.dialog.component';\n\n@Component({\n selector: 'skibbyfilm-feature-group-comments',\n templateUrl: 'comments.component.html',\n styleUrls: ['comments.component.scss']\n})\nexport class Comments {\n constructor(\n private _dialog: MatDialog,\n private _featureGroupService: FeatureGroupService) { }\n\n loading = false;\n\n @Input() comments: ICommentData[] | undefined;\n @Input() featureGroupID: number | undefined;\n\n addComment() {\n const dialogRef = this._dialog.open(AddCommentDialog, { panelClass: 'mat-dialog-mobile-full-screen' });\n dialogRef.afterClosed()\n .subscribe(result => {\n if (result && this.featureGroupID) {\n this.loading = true;\n this._featureGroupService.addComment(this.featureGroupID, result)\n .subscribe(() => this.loading = false);\n }\n });\n }\n}","
\n
\n \n
\n\n
\n
\n

Kommentarer {{comments ? '(' + comments.length + ')' : ''}}

\n
\n \n
\n
\n
\n
\n
{{comment.name}}, {{comment.congregation}}
\n
{{comment.createdDate}}
\n
{{comment.text}}
\n
\n
\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { INewsData } from 'src/app/model/news.data';\nimport { NewsService } from 'src/app/services/news.service';\n\n@Component({\n selector: 'skibbyfilm-news',\n templateUrl: 'news.component.html',\n styleUrls: ['news.component.scss']\n})\nexport class News implements OnInit {\n constructor(private _newsService: NewsService) { }\n\n news!: INewsData[];\n\n ngOnInit() {\n this._newsService.getNews()\n .subscribe(news => this.news = news);\n }\n}","\n Seneste nyt\n \n \n \n \n \n\n \n \n \n\n \n
{{n.timestamp}} {{n.content}}
\n
\n
\n","import { Component, OnInit } from '@angular/core';\n\nimport { FeatureGroupService } from 'src/app/services/feature-group.service';\nimport { IFeatureGroupData } from 'src/app/model/feature-group.data';\n\n@Component({\n selector: 'skibbyfilm-feature-group-browser',\n templateUrl: 'group-browser.component.html',\n styleUrls: ['group-browser.component.scss']\n})\nexport class FeatureGroupBrowser implements OnInit {\n constructor(private _featureGroupService: FeatureGroupService) { }\n\n featureGroups!: IFeatureGroupData[];\n loading = true;\n\n ngOnInit() {\n this._featureGroupService.featureGroups$\n .subscribe(featureGroups => {\n this.featureGroups = featureGroups;\n this.loading = false;\n });\n }\n}","
\n \n \n
\n\n
\n \n
\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { SharedModule } from '../shared.module';\nimport { WireframeModule } from '../wireframe/wireframe.module';\n\nimport { FeatureGroupBrowserModule } from './group-browser/group-browser.module';\nimport { FeatureGroupDetailsModule } from './group-details/group-details.module';\n\nimport { FeatureSidebar } from './sidebar/feature-sidebar.component';\n\n@NgModule({\n imports: [\n CommonModule,\n SharedModule,\n WireframeModule,\n\n FeatureGroupBrowserModule,\n FeatureGroupDetailsModule\n ],\n declarations: [\n FeatureSidebar\n ],\n exports: [\n FeatureGroupBrowserModule,\n FeatureSidebar\n ]\n})\nexport class FeautureModule { }\n","import { NgModule } from '@angular/core';\nimport { ComponentsModule } from '../components/components.module';\nimport { SharedModule } from '../shared.module';\nimport { WireframeModule } from '../wireframe/wireframe.module';\n\nimport { LoginForm } from './login-form/login-form.component';\nimport { LoginSite } from './login-site/login-site.component';\n\n@NgModule({\n imports: [\n SharedModule,\n WireframeModule,\n ComponentsModule\n ],\n declarations: [\n LoginForm, \n LoginSite\n ],\n exports: [\n LoginSite,\n LoginForm\n ]\n})\nexport class AuthModule { }\n","import { NgModule } from '@angular/core';\nimport { SharedModule } from 'src/app/shared.module';\n\nimport { Title } from './title.component';\n\n@NgModule({\n imports: [SharedModule],\n declarations: [Title],\n exports: [Title]\n})\nexport class TitleModule { }\n","import { ErrorHandler, NgModule } from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\n\nimport { AppRoutingModule } from './app-routing.module';\nimport { ComponentsModule } from './components/components.module';\nimport { SharedModule } from './shared.module';\nimport { WireframeModule } from './wireframe/wireframe.module';\nimport { FeautureModule } from './feature/feature.module';\n\nimport { AuthModule } from './auth/auth.module';\nimport { App } from './app.component';\nimport { Home } from './home.component';\n\nimport { AppErrorHandler } from './app.error-handler';\n\n@NgModule({\n imports: [\n BrowserModule,\n BrowserAnimationsModule,\n\n AppRoutingModule,\n SharedModule,\n ComponentsModule,\n WireframeModule,\n\n AuthModule,\n FeautureModule\n ],\n declarations: [\n App,\n Home\n ],\n providers: [\n {provide: ErrorHandler, useClass: AppErrorHandler}\n ], \n bootstrap: [App]\n})\nexport class AppModule { }\n","import { NgModule } from '@angular/core';\n\nimport { SharedModule } from '../../shared.module';\n\nimport { Sidebar } from './sidebar.component';\nimport { SidebarCloser } from './sidebar-closer.component';\nimport { SidebarHeader } from './sidebar-header.component';\nimport { SidebarTitle } from './sidebar-title.component';\nimport { SidebarContent } from './sidebar-content.component';\n\n@NgModule({\n imports: [\n SharedModule\n ],\n declarations: [\n Sidebar,\n SidebarCloser,\n SidebarContent,\n SidebarHeader,\n SidebarTitle\n ],\n exports: [\n Sidebar,\n SidebarCloser,\n SidebarContent,\n SidebarHeader,\n SidebarTitle\n ]\n})\nexport class SidebarModule { }\n","import { Observable, BehaviorSubject, of, timer } from 'rxjs';\nimport { switchMap, map, shareReplay, tap } from 'rxjs/operators';\n\nexport class CachedRequest {\n constructor(\n private _request: Observable,\n private _project?: (items: T | undefined) => any,\n public timeout?: number) {\n this.establishTimer();\n }\n\n private _cache$: Observable | undefined;\n private _cacheController$ = new BehaviorSubject(true);\n private _localItems: T | undefined;\n private _timer: Observable | undefined;\n\n get items$(): Observable {\n if (!this._cache$)\n this._cache$ = this._cacheController$\n .pipe(\n switchMap(bigFlush => bigFlush ? this._request : of(this._localItems)),\n tap(items => this._localItems = items),\n map(items => this._project ? this._project(items) : items),\n shareReplay(1)\n );\n\n return this._cache$;\n }\n\n private establishTimer() {\n if (!this.timeout)\n return;\n\n this._timer = timer(0, this.timeout);\n this._timer.subscribe(() => this.flush());\n }\n\n flush() {\n this._cacheController$.next(true);\n }\n\n manipulate(cb: (items: T | undefined) => T) {\n this._localItems = cb(this._localItems);\n this._cacheController$.next(false);\n }\n\n setRequest(request: Observable) {\n this._request = request;\n this.flush();\n }\n}","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { HttpClientModule } from '@angular/common/http';\nimport { RouterModule } from '@angular/router';\n\nimport { FlexLayoutModule } from '@angular/flex-layout';\n\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { MatTableModule } from '@angular/material/table';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n HttpClientModule,\n ReactiveFormsModule,\n RouterModule,\n\n FlexLayoutModule,\n\n MatButtonModule,\n MatCardModule,\n MatDialogModule,\n MatFormFieldModule,\n MatIconModule,\n MatInputModule,\n MatProgressBarModule,\n MatProgressSpinnerModule,\n MatTableModule\n ],\n exports: [\n CommonModule,\n FormsModule,\n HttpClientModule,\n ReactiveFormsModule,\n RouterModule,\n\n FlexLayoutModule,\n\n MatButtonModule,\n MatCardModule,\n MatDialogModule,\n MatFormFieldModule,\n MatIconModule,\n MatInputModule,\n MatProgressBarModule,\n MatProgressSpinnerModule,\n MatTableModule\n ]\n})\nexport class SharedModule { }\n","import { AfterViewInit, Component, ElementRef, Input, ViewChild } from '@angular/core';\n\nimport { AuthService } from 'src/app/auth/auth.service';\nimport { IFeatureData } from 'src/app/model/feature.data';\nimport { FeatureService } from 'src/app/services/feature.service';\nimport { LogService } from 'src/app/services/log.service';\n\n@Component({\n selector: 'skibbyfilm-feature-player',\n templateUrl: 'feature-player.component.html',\n styleUrls: ['feature-player.component.scss']\n})\nexport class FeaturePlayer implements AfterViewInit {\n constructor(\n private _authService: AuthService,\n private _featureService: FeatureService,\n private _logService: LogService) { }\n\n private _feature: IFeatureData | undefined;\n private _playRegistered = false;\n\n @Input()\n get feature(): IFeatureData | undefined { return this._feature; }\n set feature(value: IFeatureData | undefined) {\n this._playRegistered = false;\n this._feature = value;\n this.loadPlayer();\n }\n\n @ViewChild('videoPlayer') videoPlayer: ElementRef | undefined;\n\n private loadPlayer() {\n if (this.feature && this.videoPlayer)\n this.videoPlayer.nativeElement.load();\n }\n\n registerPlay() {\n if (this._playRegistered)\n return;\n\n if (this._feature) {\n this._logService.log(`${this._authService.authenticatedName}/${this._authService.authenticatedCongregation} afspiller ${this._feature.name}`);\n this._featureService.incrementFeatureViewCount(this._feature.id)\n .subscribe(incrementedViewCount => {\n if (this._feature)\n this._feature.views = incrementedViewCount\n\n this._playRegistered = true;\n });\n }\n }\n\n ngAfterViewInit() {\n this.loadPlayer();\n }\n}","
\n
\n \n
\n
Filmen er vist {{feature.views}} gange
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\n\nimport { ApiService } from 'src/app/services/api.service';\nimport { LogService } from 'src/app/services/log.service';\nimport { AuthService } from '../auth.service';\n\n@Component({\n selector: 'skibbyfilm-login-form',\n templateUrl: 'login-form.component.html',\n styleUrls: ['login-form.component.scss']\n})\nexport class LoginForm implements OnInit {\n constructor(\n private _api: ApiService,\n private _authService: AuthService,\n private _logService: LogService,\n private _router: Router) { }\n\n form!: FormGroup;\n formName!: FormControl;\n formPassword!: FormControl;\n formCongregation!: FormControl;\n loading = false;\n\n private ensureForm() {\n this.formName = new FormControl(null, Validators.required);\n this.formPassword = new FormControl(null, Validators.required);\n this.formCongregation = new FormControl(null, Validators.required);\n this.form = new FormGroup({\n name: this.formName,\n password: this.formPassword,\n congregation: this.formCongregation\n });\n }\n\n login() {\n if (this.form.invalid)\n return;\n\n const name = this.formName.value;\n const congregation = this.formCongregation.value;\n const password = this.formPassword.value;\n this.loading = true;\n this._api.post(`${this._api.apiBase}/security/login`, { name, congregation, password })\n .subscribe((authData: any) => {\n if (authData.successful) {\n this._authService.authenticate(authData.token, name, congregation);\n this._logService.log(`${name}/${congregation} loggede ind`);\n this._router.navigate([this._authService.redirectUrl ? this._authService.redirectUrl : '/']);\n }\n else {\n this.formPassword.setErrors({ denied: true });\n this._logService.error({ message: 'Invalid login attempt', name, congregation, password });\n }\n\n this.loading = false;\n });\n }\n\n ngOnInit() {\n this.ensureForm();\n }\n}","
\n \n
\n \n
\n\n Velkommen\n På Skibbyfilm.dk finder du de blandt andet de tegnefilm som børnene og de unge i Skibby menighed har produceret gennem årene.\n \n\n
\n \n Dit navn\n \n Navn skal udfyldes\n \n\n \n Adgangskode\n \n Adgangskode skal udfyldes\n Adgangskoden er ikke korrekt\n \n\n \n Din menighed\n \n Hvorfor navn og menighed? Fordi det er hyggeligt at vide hvem der besøger vores hjemmeside\n Menighed skal udfyldes\n \n
\n
\n \n \n \n
\n\n \n Brug for hjælp?\n \n Adgangskoden skal du få af den der har givet dig linket til denne side.\n Alternativt kan du bede om en ny adgangskode\n \n
\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { IFeatureData } from 'src/app/model/feature.data';\n\n@Component({\n selector: 'skibbyfilm-feature-browser',\n templateUrl: 'feature-browser.component.html',\n styleUrls: ['feature-browser.component.scss']\n})\nexport class FeatureBrowser {\n constructor() { }\n\n @Input() features: IFeatureData[] | undefined;\n @Input() selectedFeature: IFeatureData | undefined; \n\n @Output() selectionChange: EventEmitter = new EventEmitter(); \n\n select(feature: IFeatureData) {\n this.selectionChange.emit(feature);\n }\n}","
\n
\n \n
\n
\n","import { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { of } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\n\nimport { ApiService, IApiOptions } from './api.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LogService {\n constructor(\n private _api: ApiService,\n private _router: Router) {}\n\n log(action: string) {\n this._api.post(`${this._api.apiBase}/log`, { action }).subscribe();\n }\n\n error(error: any) {\n const options: IApiOptions = {\n allowUnauthorized: true,\n suppressErrors: true\n };\n \n let url = '';\n if (this._router)\n url = this._router.url;\n\n this._api.post(`${this._api.apiBase}/log`, { error, url }, options)\n .pipe(\n catchError(err => {\n console.warn('An error occurred while logging an error:');\n console.error(err);\n console.warn('Original error:');\n console.error(error);\n return of([]);\n })\n )\n .subscribe();\n }\n}","import { NgModule } from '@angular/core';\nimport { SharedModule } from '../shared.module';\nimport { NewsModule } from './news/news.module';\nimport { Welcome } from './welcome/welcome.component';\n\n@NgModule({\n imports: [\n SharedModule,\n NewsModule\n ],\n declarations: [\n Welcome\n ],\n exports: [\n NewsModule,\n Welcome\n ]\n})\nexport class ComponentsModule { }\n","import { Component } from '@angular/core';\nimport { ScrollService } from 'src/app/services/scroll.service';\n\n@Component({\n selector: 'skibbyfilm-title',\n templateUrl: 'title.component.html',\n styleUrls: ['title.component.scss']\n})\nexport class Title {\n constructor(private _scrollService: ScrollService) { }\n\n home() {\n this._scrollService.scrollToTop();\n }\n}","\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { of } from 'rxjs';\nimport { switchMap } from 'rxjs/operators';\n\nimport { FeatureGroupService } from 'src/app/services/feature-group.service';\nimport { IFeatureGroupData } from 'src/app/model/feature-group.data';\n\n@Component({\n selector: 'skibbyfilm-feature-sidebar',\n templateUrl: 'feature-sidebar.component.html'\n})\nexport class FeatureSidebar implements OnInit {\n constructor(\n private _featureGroupService: FeatureGroupService,\n private _route: ActivatedRoute) { }\n \n featureGroup: IFeatureGroupData | undefined;\n\n ngOnInit() {\n this._route.paramMap\n .pipe(switchMap(params => {\n const key = params.get('key');\n return key ? this._featureGroupService.getFeatureGroup(key) : of(undefined);\n }))\n .subscribe(featureGroup => {\n this.featureGroup = featureGroup;\n });\n }\n}","\n \n\n \n \n \n\n \n \n \n\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuthService {\n constructor() {\n this._authenticated = localStorage.getItem('jwt') !== null;\n }\n\n private _authenticated: boolean;\n private _storage = localStorage;\n\n redirectUrl!: string;\n\n get authenticated() {\n return this._authenticated;\n }\n\n get authenticatedCongregation() { return this._storage.getItem('authCongregation'); }\n set authenticatedCongregation(congregation: string | null) { if (congregation) this._storage.setItem('authCongregation', congregation); }\n\n get authenticatedName() { return this._storage.getItem('authName'); }\n set authenticatedName(name: string | null) { if (name) this._storage.setItem('authName', name); }\n\n get authHeaderValue() {\n return `Bearer ${this._storage.getItem('jwt')}`;\n }\n\n authenticate(token: string, name: string, congregation: string) {\n this._storage.setItem('jwt', token);\n this.authenticatedName = name;\n this.authenticatedCongregation = congregation;\n this._authenticated = true;\n }\n\n refresh(token: string) {\n this._storage.setItem('jwt', token);\n }\n}","import { Injectable } from '@angular/core';\n\nimport { Observable } from 'rxjs';\n\nimport { ApiService } from './api.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FeatureService {\n constructor(private _api: ApiService) {}\n\n incrementFeatureViewCount(featureID: number): Observable {\n return this._api.put(`${this._api.apiBase}/feature/${featureID}/views`);\n }\n}","import { NgModule } from '@angular/core';\nimport { SharedModule } from '../shared.module';\nimport { SidebarModule } from './sidebar/sidebar.module';\nimport { TitleModule } from './title/title.module';\n\n@NgModule({\n imports: [\n SharedModule,\n SidebarModule,\n TitleModule\n ],\n declarations: [],\n exports: [\n SidebarModule,\n TitleModule\n ],\n providers: [],\n})\nexport class WireframeModule { }\n","import { Injectable } from '@angular/core';\n\nimport { Subject } from 'rxjs';\nimport { DomService } from './dom.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ScrollService {\n constructor(private _ds: DomService) {\n\n window.addEventListener('scroll', () => {\n if (this.isScrollBlocked)\n return;\n\n const shouldFix = this.scrollY >= 90;\n if (shouldFix !== this._shouldFixToolbars) {\n this._shouldFixToolbars = shouldFix;\n this.onFixedPositionChange.next(shouldFix);\n }\n });\n }\n\n private readonly CLASS_SCROLL_BLOCK = 'cdk-global-scrollblock';\n private _shouldFixToolbars = false;\n\n onFixedPositionChange = new Subject();\n\n get isScrollBlocked(): boolean {\n return this._ds.hasClass(this._ds.htmlElement, this.CLASS_SCROLL_BLOCK);\n }\n\n get scrollX() {\n return (window.pageXOffset !== undefined)\n ? window.pageXOffset\n : (document.documentElement || document.body).scrollLeft;\n }\n\n get scrollY() {\n return (window.pageYOffset !== undefined)\n ? window.pageYOffset\n : (document.documentElement || document.body).scrollTop;\n }\n\n disableBodyScroll() {\n if (!this.isScrollBlocked) {\n this._ds.setStyle(this._ds.htmlElement, 'top', `-${this.scrollY}px`);\n this._ds.addClass(this._ds.htmlElement, this.CLASS_SCROLL_BLOCK);\n }\n }\n\n enableBodyScroll() {\n if (this.isScrollBlocked) {\n const styles = getComputedStyle(this._ds.htmlElement);\n const scrollY = parseInt(styles.top.replace('-', '').replace('px', ''), 10);\n this._ds.removeStyle(this._ds.htmlElement, 'top');\n this._ds.removeClass(this._ds.htmlElement, this.CLASS_SCROLL_BLOCK);\n window.scrollTo(0, scrollY);\n }\n }\n\n scrollToTop() {\n const requiredScroll = this.scrollY;\n if (requiredScroll === 0)\n return;\n\n const decrement = (requiredScroll / 200) * 5;\n const intervalHandle = setInterval(() => {\n const newY = this.scrollY - decrement;\n window.scrollTo(0, newY < 0 ? 0 : newY);\n if (this.scrollY === 0)\n clearInterval(intervalHandle);\n }, 5);\n }\n}\n\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\n\nimport { AuthGuard } from './auth/auth-guard.service';\nimport { LoginSite } from './auth/login-site/login-site.component';\nimport { LoginForm } from './auth/login-form/login-form.component';\n\nimport { Home } from './home.component';\nimport { FeatureSidebar } from './feature/sidebar/feature-sidebar.component';\n\nconst routes: Routes = [\n { path: 'login', component: LoginSite, children: [\n { path: '', component: LoginForm } \n ]},\n { path: '', component: Home, canActivate: [AuthGuard], children: [\n { path: ':key', component: FeatureSidebar } \n ]}\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes)],\n exports: [RouterModule]\n})\nexport class AppRoutingModule { }\n","import { Injectable } from '@angular/core';\n\nimport { Observable } from 'rxjs';\nimport { map, tap } from 'rxjs/operators';\n\nimport { IFeatureGroupData } from '../model/feature-group.data';\nimport { ApiService } from './api.service';\nimport { CachedRequest } from './cached-request';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FeatureGroupService {\n constructor(private _api: ApiService) {}\n \n private _featureGroups: CachedRequest = new CachedRequest(\n this._api.get(`${this._api.apiBase}/featureGroup`),\n featureGroups => featureGroups ? featureGroups.sort((a, b) => b.id - a.id) : featureGroups);\n\n get featureGroups$(): Observable { return this._featureGroups.items$; }\n\n private replaceFeatureGroup = (updatedFeatureGroup: IFeatureGroupData) => {\n this._featureGroups.manipulate(featureGroups => {\n if (!featureGroups)\n return [];\n\n const idx = featureGroups.findIndex(fg => fg.id === updatedFeatureGroup.id);\n if (idx > -1)\n featureGroups[idx] = updatedFeatureGroup;\n\n return featureGroups;\n });\n }\n\n private post(url: string, data: any): Observable {\n return this._api.post(url, data)\n .pipe(tap((result: IFeatureGroupData) => {\n this.replaceFeatureGroup(result);\n }));\n }\n\n addComment(featureGroupID: number, comment: string): Observable {\n return this.post(`${this._api}/featureGroup/${featureGroupID}/comment`, { comment });\n }\n\n getFeatureGroup(key: string): Observable {\n return this.featureGroups$\n .pipe(map(groups => groups.find(g => g.key === key)));\n }\n}","import { Injectable, Renderer2, RendererFactory2 } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DomService {\n constructor(rendererFactory: RendererFactory2) {\n this._renderer = rendererFactory.createRenderer(null, null);\n }\n\n private _htmlElement: any;\n private _renderer: Renderer2;\n\n get htmlElement(): any {\n if (!this._htmlElement) {\n const elements = document.getElementsByTagName('HTML');\n if (elements && elements.length > 0)\n this._htmlElement = elements[0];\n }\n\n return this._htmlElement;\n }\n\n animate(element: any, style: string, unit: string, from: number, to: number, time: number, isProperty: boolean) {\n if (!element)\n return;\n\n const start = new Date().getTime();\n const timer = setInterval(() => {\n const step = Math.min(1, (new Date().getTime() - start) / time);\n if (isProperty)\n element[style] = (from + step * (to - from)) + unit;\n else\n element.style[style] = (from + step * (to - from)) + unit;\n\n if (step === 1)\n clearInterval(timer);\n }, 25);\n\n if (isProperty)\n element[style] = from + unit;\n else\n element.style[style] = from + unit;\n }\n\n addClass(element: any, className: string) {\n if (element) this._renderer.addClass(element, className);\n }\n\n hasClass(element: any, className: string) {\n return element && element.classList && element.classList.contains(className);\n }\n\n removeClass(element: any, className: string) {\n if (element) this._renderer.removeClass(element, className);\n }\n\n removeStyle(element: any, style: string) {\n if (element) this._renderer.removeStyle(element, style);\n }\n\n setStyle(element: any, style: string, value: string) {\n if (element) this._renderer.setStyle(element, style, value);\n }\n}","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"zn8P\";"],"sourceRoot":"webpack:///"}