Beispiel #1
8
export function getUrl(router: Router, activatedRoute: ActivatedRoute) {
  const urlTree = router.createUrlTree(['.'], { relativeTo: activatedRoute });
  return router.serializeUrl(urlTree);
}
 private setCurrentUrl() {
     let url = this.router.serializeUrl(this.router.urlTree);
     if (url)
         this.currentUrl = url;
     else
         this.currentUrl = '/';
 }
Beispiel #3
0
  protected _prepareItem(object:any):any {
    if (!object.skip) {

      let itemUrl = this._router.serializeUrl(this._router.createUrlTree(object.route.paths));
      object.url = object.url ? object.url : '/#' + itemUrl;

      object.target = object.target || '';
      return this._selectItem(object);
    }

    return object;
  }
    constructor(private appStore:AppStore, router:Router, private commBroker:CommBroker) {

        const currentUrlTree: UrlTree = router.urlTree;
        // root segment
        const root: UrlSegment = currentUrlTree.root;
        // you can get the first child or the list of children of a segment
        const firstChild: UrlSegment = currentUrlTree.firstChild(root);
        // matrix parameters of a segment
        const params: {[key:string]:string} = firstChild.parameters;
        const path: string = firstChild.path;
        // You can also serialize the tree back into a string.
        const url: string = router.serializeUrl(currentUrlTree);

        this.myRouter = router;
        var user = commBroker.getValue(Consts.Values().USER_NAME);
        this.user = user || '';
        this.pass = user || '';

        this.unsub = appStore.subscribe((objectPath, oldVal, newVal) => {
            console.log('%s changed from %s to %s', objectPath, oldVal, newVal)
        }, 'notify', true);

        // more examples of subscribing to store
        //
        // useIsEqual is set to true for deep Map equality
        // appStore.subscribe((objectPath, oldVal, newVal) => {
        //     console.log('%s changed from %s to %s', objectPath, oldVal, newVal)
        // }, 'notify', true);
        //
        // useIsEqual is set to false for normal equality
        // var ubsub = appStore.subscribe((objectPath, oldVal, newVal) => {
        // }, 'notify.data', false);
        //
        // with casting
        // this.ubsub = appStore.subscribe((path, prev, value:Map<string,any>) => {
        //     if (value.get('credentials').authenticated)
        //         this.onLogin();
        // }, 'appdb', false);
        //
        // this is a shorthand version which allows you to just receive back the changes
        // this.ubsub = appStore.sub((appdb:Map<string,any>) => {
        //     var status = appdb.get('credentials').get('authenticated');
        //     var user = appdb.get('credentials').get('user');
        //     var pass = appdb.get('credentials').get('pass');
        //     if (status)
        //         this.onLogin();
        // }, 'appdb', false);
        //
        // var ubsub = appStore.subscribe((state)=> {
        // })

    }
Beispiel #5
0
 this.subscription = this.activatedRoute.queryParams.subscribe((params: {code: string, state: string})=> {
   const state = params.state;
   const code = params.code;
   if (!state && !code) {
     return this.router.navigate(['/bbs']);
   }
   if (decodeURIComponent(state) !== this.auth.csrfToken) {
     alert('安全码不匹配,请联系管理员!');
   } else {
     this.http.post('/api/github/user', {
       state: state,
       code: code,
       redirect_url: this.router.serializeUrl(this.router.createUrlTree(['/bbs/user/home']))
     }).subscribe((data)=> {
       this.name = data.json().name;
     }, (err)=> {
       console.error(err);
     });
   }
 });
Beispiel #6
0
 isActive(path: string): boolean {
     return (this.router.serializeUrl(this.router.urlTree).toLowerCase() === path.toLowerCase());
 }
Beispiel #7
0
 isActiveRoute(route:string) {
   return this.router.serializeUrl(this.router.urlTree) == this.router.serializeUrl((this.router.createUrlTree([route])));
 }
Beispiel #8
0
this.rt.changes.subscribe((val) => {this.akRoute = this.rt.serializeUrl(this.rt.urlTree)});