2016-03-14 20:20:29 +08:00
|
|
|
///<reference path="../browser.d.ts"/>
|
2016-03-13 01:11:19 +08:00
|
|
|
|
2016-03-12 21:57:22 +08:00
|
|
|
import { Component } from 'angular2/core';
|
2016-03-26 23:25:48 +08:00
|
|
|
import {RouteConfig, ROUTER_DIRECTIVES, ROUTER_PROVIDERS, RouterLink} from 'angular2/router';
|
2016-03-12 21:57:22 +08:00
|
|
|
import {LoginComponent} from "./login/login.component";
|
2016-03-13 18:28:29 +08:00
|
|
|
import {AuthenticationService} from "./model/authentication.service";
|
|
|
|
import {GalleryComponent} from "./gallery/gallery.component";
|
|
|
|
import {OnInit} from "angular2/core";
|
|
|
|
import {User} from "../../common/entities/User";
|
2016-04-26 18:03:44 +08:00
|
|
|
import {Router} from "angular2/router";
|
2016-03-19 16:58:27 +08:00
|
|
|
import {HTTP_PROVIDERS} from "angular2/http";
|
|
|
|
import {UserService} from "./model/user.service";
|
2016-03-20 23:54:30 +08:00
|
|
|
import {GalleryService} from "./gallery/gallery.service";
|
2016-04-19 03:27:15 +08:00
|
|
|
import {MATERIAL_BROWSER_PROVIDERS} from "ng2-material/all";
|
|
|
|
import {ViewportHelper} from "ng2-material/core/util/viewport";
|
2016-03-12 21:57:22 +08:00
|
|
|
|
2016-04-19 03:27:15 +08:00
|
|
|
|
2016-03-12 21:57:22 +08:00
|
|
|
@Component({
|
|
|
|
selector: 'pi-gallery2-app',
|
|
|
|
template: `<router-outlet></router-outlet>`,
|
2016-04-19 03:27:15 +08:00
|
|
|
directives: [ROUTER_DIRECTIVES, RouterLink],
|
2016-03-12 21:57:22 +08:00
|
|
|
providers: [
|
2016-03-19 16:58:27 +08:00
|
|
|
HTTP_PROVIDERS,
|
2016-03-13 05:19:24 +08:00
|
|
|
ROUTER_PROVIDERS,
|
2016-03-19 16:58:27 +08:00
|
|
|
UserService,
|
2016-03-20 23:54:30 +08:00
|
|
|
GalleryService,
|
2016-04-19 03:27:15 +08:00
|
|
|
AuthenticationService,MATERIAL_BROWSER_PROVIDERS,ViewportHelper
|
|
|
|
|
2016-03-12 21:57:22 +08:00
|
|
|
]
|
|
|
|
})
|
|
|
|
@RouteConfig([
|
2016-04-10 00:06:29 +08:00
|
|
|
{
|
|
|
|
path: '/',
|
|
|
|
redirectTo: ["Login"]
|
|
|
|
},
|
2016-03-12 21:57:22 +08:00
|
|
|
{
|
|
|
|
path: '/login',
|
|
|
|
name: 'Login',
|
|
|
|
component: LoginComponent,
|
|
|
|
useAsDefault: true
|
2016-03-28 03:21:47 +08:00
|
|
|
},
|
2016-03-13 18:28:29 +08:00
|
|
|
{
|
2016-03-28 03:21:47 +08:00
|
|
|
path: '/gallery',
|
2016-04-10 00:06:29 +08:00
|
|
|
redirectTo: ["Gallery",{directory:""}]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
path: '/gallery/:directory',
|
2016-03-13 18:28:29 +08:00
|
|
|
name: 'Gallery',
|
|
|
|
component: GalleryComponent
|
2016-04-10 00:06:29 +08:00
|
|
|
},
|
2016-03-12 21:57:22 +08:00
|
|
|
])
|
2016-03-13 18:28:29 +08:00
|
|
|
export class AppComponent implements OnInit{
|
|
|
|
|
2016-04-26 18:03:44 +08:00
|
|
|
constructor(private _router: Router, private _authenticationService: AuthenticationService){
|
2016-03-13 18:28:29 +08:00
|
|
|
}
|
2016-03-13 01:11:19 +08:00
|
|
|
|
2016-03-13 18:28:29 +08:00
|
|
|
ngOnInit() {
|
2016-04-10 00:06:29 +08:00
|
|
|
this._authenticationService.OnAuthenticated.on((user:User) => {
|
|
|
|
if (this._router.isRouteActive(this._router.generate(['Login']))) {
|
|
|
|
console.log("routing");
|
|
|
|
this._router.navigate(["Gallery",{directory:""}]);
|
|
|
|
}
|
2016-03-13 18:28:29 +08:00
|
|
|
});
|
2016-04-19 03:27:15 +08:00
|
|
|
|
2016-03-19 16:58:27 +08:00
|
|
|
|
2016-03-13 01:11:19 +08:00
|
|
|
}
|
2016-03-12 21:57:22 +08:00
|
|
|
}
|