/// import {Component, OnInit} from 'angular2/core'; import {AuthenticationService} from "../model/authentication.service"; import {Router, Location, RouteParams} from "angular2/router"; import {GalleryService} from "./gallery.service"; import {Directory} from "../../../common/entities/Directory"; import {Message} from "../../../common/entities/Message"; import {GalleryPhotoComponent} from "./photo/photo.gallery.component"; import {GalleryDirectoryComponent} from "./directory/directory.gallery.component"; @Component({ selector: 'gallery', templateUrl: 'app/gallery/gallery.component.html', directives:[GalleryPhotoComponent, GalleryDirectoryComponent] }) export class GalleryComponent implements OnInit{ directory:Directory = new Directory(-1,"","/",new Date(),[],[]); constructor(private _galleryService:GalleryService, private _params: RouteParams, private _authService: AuthenticationService, private _router: Router, private _location:Location) { } ngOnInit(){ if (!this._authService.isAuthenticated()) { this._location.replaceState('/'); // clears browser history so they can't navigate with back button this._router.navigate(['Login']); return; } let directoryName = this._params.get('directory'); directoryName = directoryName ? directoryName : ""; this._galleryService.getDirectory(directoryName).then(( message:Message) => { if(message.errors){ //TODO: implement return; } this.directory = message.result; }); } }