From d03380c9fa49de9b2deddc8a1a5cf936329a76d9 Mon Sep 17 00:00:00 2001 From: Joachim Nielandt Date: Sun, 25 Mar 2018 14:35:44 +0200 Subject: [PATCH] Back in the saddle. --- src/app/components/home/home.component.ts | 2 - .../languagetoggle.component.ts | 49 +++++------ src/app/components/post/post.component.html | 2 +- src/app/components/post/post.component.ts | 16 ++-- src/app/components/posts/posts.component.ts | 66 ++++++++------ src/app/components/root/root.component.html | 8 +- src/app/components/root/root.component.ts | 87 +++++++++++++------ src/app/model/post.ts | 5 +- src/app/services/dataloader.service.ts | 24 +++-- src/app/services/state.service.ts | 65 +++++++------- .../cupboard1/{full.html => full-en.html} | 0 src/assets/post/cupboard1/full-nl.html | 1 + src/assets/post/cupboard1/info.json | 15 +++- .../post/first/{full.html => full-en.html} | 9 +- src/assets/post/first/full-nl.html | 1 + src/assets/post/first/info.json | 12 ++- .../post/lxdarch/{full.html => full-en.html} | 0 src/assets/post/lxdarch/full-nl.html | 1 + src/assets/post/lxdarch/info.json | 12 ++- .../post/test/{full.html => full-en.html} | 0 src/assets/post/test/full-nl.html | 1 + src/assets/post/test/info.json | 16 +++- src/assets/posts.json | 2 +- src/scripts/compileposts.py | 2 +- 24 files changed, 248 insertions(+), 148 deletions(-) rename src/assets/post/cupboard1/{full.html => full-en.html} (100%) create mode 100644 src/assets/post/cupboard1/full-nl.html rename src/assets/post/first/{full.html => full-en.html} (75%) create mode 100644 src/assets/post/first/full-nl.html rename src/assets/post/lxdarch/{full.html => full-en.html} (100%) create mode 100644 src/assets/post/lxdarch/full-nl.html rename src/assets/post/test/{full.html => full-en.html} (100%) create mode 100644 src/assets/post/test/full-nl.html diff --git a/src/app/components/home/home.component.ts b/src/app/components/home/home.component.ts index 4c103f2..4c864af 100644 --- a/src/app/components/home/home.component.ts +++ b/src/app/components/home/home.component.ts @@ -12,8 +12,6 @@ export class HomeComponent implements OnInit { constructor(private route: ActivatedRoute, private stateService: StateService) { } ngOnInit() { - // fix up the language, fetch it from the route! - this.stateService.getLanguageFromRoute(this.route.parent).subscribe(language => {console.log('homecomp gets: ' + language); }); } } diff --git a/src/app/components/languagetoggle/languagetoggle.component.ts b/src/app/components/languagetoggle/languagetoggle.component.ts index 7c3bfa7..1e70e33 100644 --- a/src/app/components/languagetoggle/languagetoggle.component.ts +++ b/src/app/components/languagetoggle/languagetoggle.component.ts @@ -1,5 +1,5 @@ import {Component, Input, OnInit} from '@angular/core'; -import {ActivatedRoute} from '@angular/router'; +import {ActivatedRoute, NavigationEnd, Router} from '@angular/router'; import {StateService} from '../../services/state.service'; @Component({ @@ -21,36 +21,31 @@ export class LanguagetoggleComponent implements OnInit { */ private show = false; - constructor(private route: ActivatedRoute, private stateService: StateService) { + constructor(private router: Router, private route: ActivatedRoute, private stateService: StateService) { } ngOnInit() { - this.stateService.getLanguageFromRoute(this.route).subscribe(lang => { - if(lang==null) { - console.log('language is null from first level route, ignoring'); - return; - } - console.log('languagetoggle gets first level lang: '+lang); - if (lang === this.language) { - console.log('equalled (first level of route)! showing the component' + this.language); - this.show = true; - } else { - this.show = false; - } - }); - this.stateService.getLanguageFromRoute(this.route.parent).subscribe(lang => { - if(lang==null) { - console.log('language is null from parent level route, ignoring'); - return; - } - console.log('languagetoggle gets parent level lang: '+lang); - if (lang === this.language) { - console.log('equalled (parent level of route)! showing the component ' + this.language); - this.show = true; - } else { - this.show = false; - } + this.route.pathFromRoot.forEach(p => { + this.router.events.filter(e => e instanceof NavigationEnd).subscribe(e => { + console.log('language toggle is detecting a navigation end: have to update values, things might have changed!'); + this.updateValues(); + }); }); } + private updateValues() { + const lang = this.stateService.getLanguage(); + if (lang == null) { + console.log('languagetoggle: language is null from stateservice, ignoring'); + return; + } + console.log('languagetoggle gets lang: ' + lang); + if (lang === this.language) { + console.log('languagetoggle: showing the component ' + lang); + this.show = true; + } else { + this.show = false; + } + } + } diff --git a/src/app/components/post/post.component.html b/src/app/components/post/post.component.html index 5cc6756..b088c38 100644 --- a/src/app/components/post/post.component.html +++ b/src/app/components/post/post.component.html @@ -4,7 +4,7 @@ {{post.created_timestamp | simpledate}}
- {{post.title}} + {{getPostTitle()}}