1
0
mirror of https://github.com/bpatrik/pigallery2.git synced 2024-12-23 01:27:14 +02:00
pigallery2/frontend/app/gallery/gallery.component.ts
Braun Patrik 4a44f232a8 changing design.
adding ng2-material
implementing login, gallery draft design
2016-04-18 21:27:15 +02:00

60 lines
2.1 KiB
TypeScript

///<reference path="../../browser.d.ts"/>
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 {GalleryDirectoryComponent} from "./directory/directory.gallery.component";
import {GalleryGridComponent} from "./grid/grid.gallery.component";
import {MATERIAL_DIRECTIVES} from "ng2-material/all";
import {SidenavService} from "ng2-material/all";
@Component({
selector: 'gallery',
templateUrl: 'app/gallery/gallery.component.html',
styleUrls: ['app/gallery/gallery.component.css'],
directives:[GalleryGridComponent,
GalleryDirectoryComponent,
MATERIAL_DIRECTIVES],
providers: [SidenavService]
})
export class GalleryComponent implements OnInit{
currentDirectory:Directory = new Directory(-1,"","/",new Date(),[],[]);
constructor(private _galleryService:GalleryService,
private _params: RouteParams,
private _authService: AuthenticationService,
private _router: Router,
public sidenav: SidenavService) {
}
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');
console.log(this._params);
console.log(directoryName);
directoryName = directoryName ? directoryName : "";
this._galleryService.getDirectory(directoryName).then(( message:Message<Directory>) => {
if(message.error){
//TODO: implement
return;
}
this.currentDirectory = message.result;
});
}
public showSideNav(){
this.sidenav.show("menu");
}
}