Commit 12120fb18df30f29b66558c25c6fcb346585acce

Authored by ABNER SILVA DE OLIVEIRA
2 parents bf8b50ac f3a9c42c

merge with ngforward

src/app/components/language-selector/language-selector.component.spec.ts
@@ -11,16 +11,16 @@ describe("Components", () => { @@ -11,16 +11,16 @@ describe("Components", () => {
11 11
12 beforeEach(angular.mock.module("templates")); 12 beforeEach(angular.mock.module("templates"));
13 13
14 - let languageService: any; 14 + let translatorService: any;
15 15
16 let buildComponent = (): Promise<ComponentFixture> => { 16 let buildComponent = (): Promise<ComponentFixture> => {
17 - languageService = jasmine.createSpyObj("languageService", ["availableLanguages", "currentLanguage"]); 17 + translatorService = jasmine.createSpyObj("translatorService", ["availableLanguages", "currentLanguage"])
18 return helpers.quickCreateComponent({ 18 return helpers.quickCreateComponent({
19 template: "<language-selector></language-selector>", 19 template: "<language-selector></language-selector>",
20 directives: [LanguageSelector], 20 directives: [LanguageSelector],
21 providers: [ 21 providers: [
22 - provide('LanguageService', {  
23 - useValue: languageService 22 + provide('TranslatorService', {
  23 + useValue: translatorService
24 }) 24 })
25 ].concat(helpers.provideFilters("translateFilter")) 25 ].concat(helpers.provideFilters("translateFilter"))
26 }); 26 });
@@ -34,5 +34,13 @@ describe(&quot;Components&quot;, () =&gt; { @@ -34,5 +34,13 @@ describe(&quot;Components&quot;, () =&gt; {
34 }); 34 });
35 }); 35 });
36 36
  37 + it("call the translator service when change the language", (done) => {
  38 + let translatorService = jasmine.createSpyObj("translatorService", ["changeLanguage"]);
  39 + let languageSelector = new LanguageSelector(<any>translatorService);
  40 + languageSelector.changeLanguage("en");
  41 + expect(translatorService.changeLanguage).toHaveBeenCalledWith("en");
  42 + done();
  43 + });
  44 +
37 }); 45 });
38 }); 46 });
src/app/components/language-selector/language-selector.component.ts
1 import {Component, Inject} from "ng-forward"; 1 import {Component, Inject} from "ng-forward";
2 -import {LanguageService} from "./language.service"; 2 +import {TranslatorService} from "../translator/translator.service";
3 3
4 @Component({ 4 @Component({
5 selector: "language-selector", 5 selector: "language-selector",
6 templateUrl: "app/components/language-selector/language-selector.html" 6 templateUrl: "app/components/language-selector/language-selector.html"
7 }) 7 })
8 -@Inject(LanguageService) 8 +@Inject(TranslatorService)
9 export class LanguageSelector { 9 export class LanguageSelector {
10 10
11 - constructor(private languageService: LanguageService) { } 11 + constructor(private translatorService: TranslatorService) { }
12 12
13 currentLanguage() { 13 currentLanguage() {
14 - return this.languageService.currentLanguage(); 14 + return this.translatorService.currentLanguage();
15 } 15 }
16 16
17 changeLanguage(language: string) { 17 changeLanguage(language: string) {
18 - this.languageService.changeLanguage(language); 18 + this.translatorService.changeLanguage(language);
19 } 19 }
20 20
21 availableLanguages() { 21 availableLanguages() {
22 - return this.languageService.availableLanguages; 22 + return this.translatorService.availableLanguages;
23 } 23 }
24 } 24 }
src/app/components/language-selector/language.service.spec.ts
@@ -1,61 +0,0 @@ @@ -1,61 +0,0 @@
1 -import {ComponentFixture} from 'ng-forward/cjs/testing/test-component-builder';  
2 -import {provide} from 'ng-forward';  
3 -  
4 -import {LanguageService} from './language.service';  
5 -  
6 -import * as helpers from "../../../spec/helpers";  
7 -  
8 -describe("Services", () => {  
9 -  
10 - describe("Language Service", () => {  
11 -  
12 - let $rootScope: ng.IScope;  
13 - let $q: ng.IQService;  
14 -  
15 - beforeEach(inject((_$rootScope_: ng.IRootScopeService, _$q_: ng.IQService) => {  
16 - $rootScope = _$rootScope_;  
17 - $q = _$q_;  
18 - }));  
19 -  
20 - it("set available languages when change language", (done) => {  
21 - let component: LanguageService = new LanguageService(  
22 - <any>helpers.mocks.$translate,  
23 - <any>helpers.mocks.tmhDynamicLocale,  
24 - <any>helpers.mocks.amMoment,  
25 - <any>helpers.mocks.angularLoad,  
26 - helpers.mocks.scopeWithEvents  
27 - );  
28 - component.availableLanguages = null;  
29 - expect(component.availableLanguages).toBeNull();  
30 - component.changeLanguage('en');  
31 - expect(component.availableLanguages).toBeDefined();  
32 - done();  
33 - });  
34 -  
35 - it("change the language", (done) => {  
36 - let component: LanguageService = new LanguageService(  
37 - <any>helpers.mocks.$translate,  
38 - <any>helpers.mocks.tmhDynamicLocale,  
39 - <any>helpers.mocks.amMoment,  
40 - <any>helpers.mocks.angularLoad,  
41 - helpers.mocks.scopeWithEvents  
42 - );  
43 - let loadScripPromise = $q.defer();  
44 - loadScripPromise.resolve();  
45 - component["angularLoad"].loadScript = jasmine.createSpy("loadScript").and.returnValue(loadScripPromise.promise);  
46 - component["tmhDynamicLocale"].set = jasmine.createSpy("set");  
47 - component["tmhDynamicLocale"].get = jasmine.createSpy("get").and.returnValue("en");  
48 - component["$translate"].use = jasmine.createSpy("use");  
49 -  
50 - component.changeLanguage('pt');  
51 - $rootScope.$digest();  
52 -  
53 - expect(component["angularLoad"].loadScript).toHaveBeenCalledWith("/bower_components/moment/locale/pt.js");  
54 - expect(component["angularLoad"].loadScript).toHaveBeenCalledWith("/bower_components/messageformat/locale/pt.js");  
55 - expect(component["tmhDynamicLocale"].set).toHaveBeenCalledWith("pt");  
56 - expect(component["$translate"].use).toHaveBeenCalledWith("pt");  
57 - done();  
58 - });  
59 -  
60 - });  
61 -});  
src/app/components/language-selector/language.service.ts
@@ -1,59 +0,0 @@ @@ -1,59 +0,0 @@
1 -import {Injectable, Inject} from "ng-forward";  
2 -  
3 -@Injectable()  
4 -@Inject("$translate", "tmhDynamicLocale", "amMoment", "angularLoad", "$rootScope")  
5 -export class LanguageService {  
6 -  
7 - availableLanguages: any;  
8 -  
9 - constructor(private $translate: angular.translate.ITranslateService,  
10 - private tmhDynamicLocale: angular.dynamicLocale.tmhDynamicLocaleService,  
11 - private amMoment: any,  
12 - private angularLoad: any,  
13 - private $rootScope: any) {  
14 -  
15 - this.configAvailableLanguages();  
16 - this.$rootScope.$on("$localeChangeSuccess", () => {  
17 - this.changeLanguage(tmhDynamicLocale.get() || $translate.use());  
18 - });  
19 - }  
20 -  
21 - currentLanguage() {  
22 - return this.$translate.use();  
23 - }  
24 -  
25 - changeLanguage(language: string) {  
26 - if (!language) {  
27 - console.log("WARN: language undefined");  
28 - return;  
29 - }  
30 - this.changeMomentLocale(language);  
31 - this.tmhDynamicLocale.set(language);  
32 - this.angularLoad.loadScript(`/bower_components/messageformat/locale/${language}.js`).then(() => {  
33 - return this.$translate.use(language);  
34 - }).then(() => {  
35 - this.configAvailableLanguages();  
36 - });  
37 - }  
38 -  
39 - translate(text: string) {  
40 - return this.$translate.instant(text);  
41 - }  
42 -  
43 - private configAvailableLanguages() {  
44 - this.availableLanguages = {  
45 - "en": this.$translate.instant("language.en"),  
46 - "pt": this.$translate.instant("language.pt")  
47 - };  
48 - }  
49 -  
50 - private changeMomentLocale(language: string) {  
51 - let localePromise = Promise.resolve();  
52 - if (language !== "en") {  
53 - localePromise = this.angularLoad.loadScript(`/bower_components/moment/locale/${language}.js`);  
54 - }  
55 - localePromise.then(() => {  
56 - this.amMoment.changeLocale(language);  
57 - });  
58 - }  
59 -}  
src/app/components/navbar/navbar.spec.ts
@@ -71,8 +71,8 @@ describe(&quot;Components&quot;, () =&gt; { @@ -71,8 +71,8 @@ describe(&quot;Components&quot;, () =&gt; {
71 AUTH_EVENTS 71 AUTH_EVENTS
72 } 72 }
73 }), 73 }),
74 - provide('LanguageService', {  
75 - useValue: helpers.mocks.languageService 74 + provide('TranslatorService', {
  75 + useValue: helpers.mocks.translatorService
76 }) 76 })
77 ].concat(helpers.provideFilters("translateFilter")), 77 ].concat(helpers.provideFilters("translateFilter")),
78 directives: [Navbar], 78 directives: [Navbar],
src/app/components/notification/notification.component.spec.ts
@@ -13,11 +13,25 @@ describe(&quot;Components&quot;, () =&gt; { @@ -13,11 +13,25 @@ describe(&quot;Components&quot;, () =&gt; {
13 13
14 beforeEach(angular.mock.module("templates")); 14 beforeEach(angular.mock.module("templates"));
15 15
  16 + it("display an error message when notify an error", done => {
  17 + let sweetAlert = jasmine.createSpyObj("sweetAlert", ["swal"]);
  18 + sweetAlert.swal = jasmine.createSpy("swal");
  19 +
  20 + let component: Notification = new Notification(<any>helpers.mocks.$log, <any>sweetAlert, <any>helpers.mocks.translatorService);
  21 + component.error("message", "title");
  22 + expect(sweetAlert.swal).toHaveBeenCalledWith(jasmine.objectContaining({
  23 + text: "message",
  24 + title: "title",
  25 + type: "error"
  26 + }));
  27 + done();
  28 + });
  29 +
16 it("use the default message when call notification component without a message", done => { 30 it("use the default message when call notification component without a message", done => {
17 let sweetAlert = jasmine.createSpyObj("sweetAlert", ["swal"]); 31 let sweetAlert = jasmine.createSpyObj("sweetAlert", ["swal"]);
18 sweetAlert.swal = jasmine.createSpy("swal"); 32 sweetAlert.swal = jasmine.createSpy("swal");
19 33
20 - let component: Notification = new Notification(<any>helpers.mocks.$log, <any>sweetAlert, <any>helpers.mocks.languageService); 34 + let component: Notification = new Notification(<any>helpers.mocks.$log, <any>sweetAlert, <any>helpers.mocks.translatorService);
21 component.error(); 35 component.error();
22 expect(sweetAlert.swal).toHaveBeenCalledWith(jasmine.objectContaining({ 36 expect(sweetAlert.swal).toHaveBeenCalledWith(jasmine.objectContaining({
23 text: Notification.DEFAULT_ERROR_MESSAGE, 37 text: Notification.DEFAULT_ERROR_MESSAGE,
@@ -30,7 +44,7 @@ describe(&quot;Components&quot;, () =&gt; { @@ -30,7 +44,7 @@ describe(&quot;Components&quot;, () =&gt; {
30 let sweetAlert = jasmine.createSpyObj("sweetAlert", ["swal"]); 44 let sweetAlert = jasmine.createSpyObj("sweetAlert", ["swal"]);
31 sweetAlert.swal = jasmine.createSpy("swal"); 45 sweetAlert.swal = jasmine.createSpy("swal");
32 46
33 - let component: Notification = new Notification(<any>helpers.mocks.$log, <any>sweetAlert, <any>helpers.mocks.languageService); 47 + let component: Notification = new Notification(<any>helpers.mocks.$log, <any>sweetAlert, <any>helpers.mocks.translatorService);
34 component.success("title", "message", 1000); 48 component.success("title", "message", 1000);
35 expect(sweetAlert.swal).toHaveBeenCalledWith(jasmine.objectContaining({ 49 expect(sweetAlert.swal).toHaveBeenCalledWith(jasmine.objectContaining({
36 type: "success" 50 type: "success"
@@ -42,7 +56,7 @@ describe(&quot;Components&quot;, () =&gt; { @@ -42,7 +56,7 @@ describe(&quot;Components&quot;, () =&gt; {
42 let sweetAlert = jasmine.createSpyObj("sweetAlert", ["swal"]); 56 let sweetAlert = jasmine.createSpyObj("sweetAlert", ["swal"]);
43 sweetAlert.swal = jasmine.createSpy("swal"); 57 sweetAlert.swal = jasmine.createSpy("swal");
44 58
45 - let component: Notification = new Notification(<any>helpers.mocks.$log, <any>sweetAlert, <any>helpers.mocks.languageService); 59 + let component: Notification = new Notification(<any>helpers.mocks.$log, <any>sweetAlert, <any>helpers.mocks.translatorService);
46 component.httpError(500, {}); 60 component.httpError(500, {});
47 expect(sweetAlert.swal).toHaveBeenCalledWith(jasmine.objectContaining({ 61 expect(sweetAlert.swal).toHaveBeenCalledWith(jasmine.objectContaining({
48 text: "notification.http_error.500.message" 62 text: "notification.http_error.500.message"
@@ -54,7 +68,7 @@ describe(&quot;Components&quot;, () =&gt; { @@ -54,7 +68,7 @@ describe(&quot;Components&quot;, () =&gt; {
54 let sweetAlert = jasmine.createSpyObj("sweetAlert", ["swal"]); 68 let sweetAlert = jasmine.createSpyObj("sweetAlert", ["swal"]);
55 sweetAlert.swal = jasmine.createSpy("swal"); 69 sweetAlert.swal = jasmine.createSpy("swal");
56 70
57 - let component: Notification = new Notification(<any>helpers.mocks.$log, <any>sweetAlert, <any>helpers.mocks.languageService); 71 + let component: Notification = new Notification(<any>helpers.mocks.$log, <any>sweetAlert, <any>helpers.mocks.translatorService);
58 component.success("title", "message"); 72 component.success("title", "message");
59 expect(sweetAlert.swal).toHaveBeenCalledWith(jasmine.objectContaining({ 73 expect(sweetAlert.swal).toHaveBeenCalledWith(jasmine.objectContaining({
60 type: "success", 74 type: "success",
src/app/components/notification/notification.component.ts
1 import {Injectable, Inject} from "ng-forward"; 1 import {Injectable, Inject} from "ng-forward";
2 -import {LanguageService} from "../language-selector/language.service"; 2 +import {TranslatorService} from "../translator/translator.service";
3 3
4 @Injectable() 4 @Injectable()
5 -@Inject("$log", "SweetAlert", LanguageService) 5 +@Inject("$log", "SweetAlert", TranslatorService)
6 export class Notification { 6 export class Notification {
7 7
8 constructor( 8 constructor(
9 private $log: ng.ILogService, 9 private $log: ng.ILogService,
10 private SweetAlert: any, 10 private SweetAlert: any,
11 - private languageService: LanguageService 11 + private translatorService: TranslatorService
12 ) { } 12 ) { }
13 13
14 public static DEFAULT_ERROR_TITLE = "notification.error.default.title"; 14 public static DEFAULT_ERROR_TITLE = "notification.error.default.title";
@@ -16,10 +16,10 @@ export class Notification { @@ -16,10 +16,10 @@ export class Notification {
16 public static DEFAULT_SUCCESS_TIMER = 1000; 16 public static DEFAULT_SUCCESS_TIMER = 1000;
17 17
18 error(message: string = Notification.DEFAULT_ERROR_MESSAGE, title: string = Notification.DEFAULT_ERROR_TITLE) { 18 error(message: string = Notification.DEFAULT_ERROR_MESSAGE, title: string = Notification.DEFAULT_ERROR_TITLE) {
19 - this.$log.debug("Notification error:", title, message, this.languageService.currentLanguage()); 19 + this.$log.debug("Notification error:", title, message, this.translatorService.currentLanguage());
20 this.SweetAlert.swal({ 20 this.SweetAlert.swal({
21 - title: this.languageService.translate(title),  
22 - text: this.languageService.translate(message), 21 + title: this.translatorService.translate(title),
  22 + text: this.translatorService.translate(message),
23 type: "error" 23 type: "error"
24 }); 24 });
25 } 25 }
src/app/components/translator/translator.service.spec.ts 0 → 100644
@@ -0,0 +1,116 @@ @@ -0,0 +1,116 @@
  1 +import {ComponentFixture} from 'ng-forward/cjs/testing/test-component-builder';
  2 +import {provide} from 'ng-forward';
  3 +
  4 +import {TranslatorService} from './translator.service';
  5 +
  6 +import * as helpers from "../../../spec/helpers";
  7 +
  8 +describe("Services", () => {
  9 +
  10 + describe("Translator Service", () => {
  11 +
  12 + let $rootScope: ng.IScope;
  13 + let $q: ng.IQService;
  14 +
  15 + beforeEach(inject((_$rootScope_: ng.IRootScopeService, _$q_: ng.IQService) => {
  16 + $rootScope = _$rootScope_;
  17 + $q = _$q_;
  18 + }));
  19 +
  20 + function createComponent() {
  21 + return new TranslatorService(
  22 + <any>helpers.mocks.$translate,
  23 + <any>helpers.mocks.tmhDynamicLocale,
  24 + <any>helpers.mocks.amMoment,
  25 + <any>helpers.mocks.angularLoad,
  26 + $rootScope
  27 + );
  28 + }
  29 +
  30 + it("set available languages when change language", (done) => {
  31 + let component: TranslatorService = createComponent();
  32 + component.availableLanguages = null;
  33 + expect(component.availableLanguages).toBeNull();
  34 + $rootScope.$emit("$translateChangeSuccess");
  35 + expect(component.availableLanguages).not.toBeNull();
  36 + done();
  37 + });
  38 +
  39 + it("change the language", (done) => {
  40 + let component: TranslatorService = createComponent();
  41 + let loadScripPromise = $q.defer();
  42 + loadScripPromise.resolve();
  43 + component["angularLoad"].loadScript = jasmine.createSpy("loadScript").and.returnValue(loadScripPromise.promise);
  44 + component["tmhDynamicLocale"].set = jasmine.createSpy("set");
  45 + component["tmhDynamicLocale"].get = jasmine.createSpy("get").and.returnValue("en");
  46 + component["$translate"].use = jasmine.createSpy("use");
  47 +
  48 + component.changeLanguage('pt');
  49 + $rootScope.$digest();
  50 +
  51 + expect(component["angularLoad"].loadScript).toHaveBeenCalledWith("/bower_components/moment/locale/pt.js");
  52 + expect(component["angularLoad"].loadScript).toHaveBeenCalledWith("/bower_components/messageformat/locale/pt.js");
  53 + expect(component["tmhDynamicLocale"].set).toHaveBeenCalledWith("pt");
  54 + expect(component["$translate"].use).toHaveBeenCalledWith("pt");
  55 + done();
  56 + });
  57 +
  58 + it("do not load moment locale when change the language to english", (done) => {
  59 + let component: TranslatorService = createComponent();
  60 + component["angularLoad"].loadScript = jasmine.createSpy("loadScript").and.returnValue($q.defer().promise);
  61 + component.changeLanguage('en');
  62 + expect(component["angularLoad"].loadScript).not.toHaveBeenCalledWith("/bower_components/moment/locale/pt.js");
  63 + done();
  64 + });
  65 +
  66 + it("do nothing when call change language with null", (done) => {
  67 + let component: TranslatorService = createComponent();
  68 + component["angularLoad"].loadScript = jasmine.createSpy("loadScript");
  69 + component["tmhDynamicLocale"].set = jasmine.createSpy("set");
  70 + component["$translate"].use = jasmine.createSpy("use");
  71 +
  72 + component.changeLanguage(null);
  73 +
  74 + expect(component["angularLoad"].loadScript).not.toHaveBeenCalled();
  75 + expect(component["tmhDynamicLocale"].set).not.toHaveBeenCalled();
  76 + expect(component["$translate"].use).not.toHaveBeenCalled();
  77 + done();
  78 + });
  79 +
  80 + it("return the current language used by the translator", (done) => {
  81 + let component: TranslatorService = createComponent();
  82 + component["$translate"].use = jasmine.createSpy("use").and.returnValue("en");
  83 + expect(component.currentLanguage()).toEqual("en");
  84 + expect(component["$translate"].use).toHaveBeenCalled();
  85 + done();
  86 + });
  87 +
  88 + it("call translate service when translate a text", (done) => {
  89 + let component: TranslatorService = createComponent();
  90 + component["$translate"].instant = jasmine.createSpy("instant");
  91 + component.translate("text");
  92 + expect(component["$translate"].instant).toHaveBeenCalledWith("text");
  93 + done();
  94 + });
  95 +
  96 + it("change the language when receive an event", (done) => {
  97 + let component: TranslatorService = createComponent();
  98 + component.changeLanguage = jasmine.createSpy("changeLanguage");
  99 + $rootScope.$emit("$localeChangeSuccess");
  100 + expect(component.changeLanguage).toHaveBeenCalled();
  101 + done();
  102 + });
  103 +
  104 + it("use the translate language when receive a change language event and there is no language previously selected", (done) => {
  105 + let component: TranslatorService = createComponent();
  106 + component.changeLanguage = jasmine.createSpy("changeLanguage");
  107 + component["tmhDynamicLocale"].get = jasmine.createSpy("get").and.returnValue(null);
  108 + component["$translate"].use = jasmine.createSpy("use").and.returnValue("en");
  109 +
  110 + $rootScope.$emit("$localeChangeSuccess");
  111 + expect(component["$translate"].use).toHaveBeenCalled();
  112 + expect(component.changeLanguage).toHaveBeenCalledWith("en");
  113 + done();
  114 + });
  115 + });
  116 +});
src/app/components/translator/translator.service.ts 0 → 100644
@@ -0,0 +1,59 @@ @@ -0,0 +1,59 @@
  1 +import {Injectable, Inject} from "ng-forward";
  2 +
  3 +@Injectable()
  4 +@Inject("$translate", "tmhDynamicLocale", "amMoment", "angularLoad", "$rootScope")
  5 +export class TranslatorService {
  6 +
  7 + availableLanguages: any;
  8 +
  9 + constructor(private $translate: angular.translate.ITranslateService,
  10 + private tmhDynamicLocale: angular.dynamicLocale.tmhDynamicLocaleService,
  11 + private amMoment: any,
  12 + private angularLoad: any,
  13 + private $rootScope: any) {
  14 +
  15 + this.$rootScope.$on("$localeChangeSuccess", () => {
  16 + this.changeLanguage(tmhDynamicLocale.get() || $translate.use());
  17 + });
  18 + this.$rootScope.$on("$translateChangeSuccess", () => {
  19 + this.configAvailableLanguages();
  20 + });
  21 + }
  22 +
  23 + currentLanguage() {
  24 + return this.$translate.use();
  25 + }
  26 +
  27 + changeLanguage(language: string) {
  28 + if (!language) {
  29 + console.log("WARN: language undefined");
  30 + return;
  31 + }
  32 + this.changeMomentLocale(language);
  33 + this.tmhDynamicLocale.set(language);
  34 + this.angularLoad.loadScript(`/bower_components/messageformat/locale/${language}.js`).then(() => {
  35 + return this.$translate.use(language);
  36 + });
  37 + }
  38 +
  39 + translate(text: string) {
  40 + return this.$translate.instant(text);
  41 + }
  42 +
  43 + private configAvailableLanguages() {
  44 + this.availableLanguages = {
  45 + "en": this.$translate.instant("language.en"),
  46 + "pt": this.$translate.instant("language.pt")
  47 + };
  48 + }
  49 +
  50 + private changeMomentLocale(language: string) {
  51 + let localePromise = Promise.resolve();
  52 + if (language !== "en") {
  53 + localePromise = this.angularLoad.loadScript(`/bower_components/moment/locale/${language}.js`);
  54 + }
  55 + localePromise.then(() => {
  56 + this.amMoment.changeLocale(language);
  57 + });
  58 + }
  59 +}
src/app/index.route.ts
@@ -1,11 +0,0 @@ @@ -1,11 +0,0 @@
1 -  
2 -  
3 -/** @ngInject */  
4 -export function routeConfig($stateProvider: ng.ui.IStateProvider, $urlRouterProvider: ng.ui.IUrlRouterProvider) {  
5 - $stateProvider  
6 - .state("main.profile.settings", {  
7 - url: "^/myprofile/:profile"  
8 - });  
9 -  
10 - $urlRouterProvider.otherwise("/");  
11 -}  
src/app/index.ts
1 import {NoosferoApp} from "./index.module"; 1 import {NoosferoApp} from "./index.module";
2 import {noosferoModuleConfig} from "./index.config"; 2 import {noosferoModuleConfig} from "./index.config";
3 import {noosferoAngularRunBlock} from "./index.run"; 3 import {noosferoAngularRunBlock} from "./index.run";
4 -import {routeConfig} from "./index.route";  
5 4
6 import {Main} from "./main/main.component"; 5 import {Main} from "./main/main.component";
7 import {bootstrap, bundle} from "ng-forward"; 6 import {bootstrap, bundle} from "ng-forward";
@@ -28,5 +27,3 @@ NoosferoApp.addConstants(&quot;AUTH_EVENTS&quot;, AUTH_EVENTS); @@ -28,5 +27,3 @@ NoosferoApp.addConstants(&quot;AUTH_EVENTS&quot;, AUTH_EVENTS);
28 27
29 NoosferoApp.addConfig(noosferoModuleConfig); 28 NoosferoApp.addConfig(noosferoModuleConfig);
30 NoosferoApp.run(noosferoAngularRunBlock); 29 NoosferoApp.run(noosferoAngularRunBlock);
31 -  
32 -NoosferoApp.addConfig(routeConfig);  
src/app/profile/myprofile.component.ts 0 → 100644
@@ -0,0 +1,9 @@ @@ -0,0 +1,9 @@
  1 +import {Component} from "ng-forward";
  2 +
  3 +@Component({
  4 + selector: 'profile',
  5 + templateUrl: "app/profile/profile.html",
  6 +})
  7 +export class MyProfile {
  8 +
  9 +}
src/app/profile/profile.component.ts
@@ -7,6 +7,7 @@ import {ContentViewerActions} from &quot;../content-viewer/content-viewer-actions.com @@ -7,6 +7,7 @@ import {ContentViewerActions} from &quot;../content-viewer/content-viewer-actions.com
7 import {NoosferoActivities} from "../components/noosfero-activities/activities.component"; 7 import {NoosferoActivities} from "../components/noosfero-activities/activities.component";
8 import {ProfileService} from "../../lib/ng-noosfero-api/http/profile.service"; 8 import {ProfileService} from "../../lib/ng-noosfero-api/http/profile.service";
9 import {Notification} from "../components/notification/notification.component"; 9 import {Notification} from "../components/notification/notification.component";
  10 +import {MyProfile} from "./myprofile.component";
10 11
11 12
12 /** 13 /**
@@ -39,6 +40,11 @@ import {Notification} from &quot;../components/notification/notification.component&quot;; @@ -39,6 +40,11 @@ import {Notification} from &quot;../components/notification/notification.component&quot;;
39 } 40 }
40 }, 41 },
41 { 42 {
  43 + name: 'main.profile.settings',
  44 + url: "^/myprofile/:profile",
  45 + component: MyProfile
  46 + },
  47 + {
42 name: 'main.profile.cms', 48 name: 'main.profile.cms',
43 url: "^/myprofile/:profile/cms", 49 url: "^/myprofile/:profile/cms",
44 component: Cms, 50 component: Cms,
src/languages/en.json
@@ -20,6 +20,6 @@ @@ -20,6 +20,6 @@
20 "navbar.content_viewer_actions.new_post": "New Post", 20 "navbar.content_viewer_actions.new_post": "New Post",
21 "notification.error.default.message": "Something went wrong!", 21 "notification.error.default.message": "Something went wrong!",
22 "notification.error.default.title": "Oops...", 22 "notification.error.default.title": "Oops...",
23 - "notification.profile.not_found": "Profile not found", 23 + "notification.profile.not_found": "Page not found",
24 "notification.http_error.401.message": "Unauthorized" 24 "notification.http_error.401.message": "Unauthorized"
25 } 25 }
src/languages/pt.json
@@ -20,6 +20,6 @@ @@ -20,6 +20,6 @@
20 "navbar.content_viewer_actions.new_post": "Novo Artigo", 20 "navbar.content_viewer_actions.new_post": "Novo Artigo",
21 "notification.error.default.message": "Algo deu errado!", 21 "notification.error.default.message": "Algo deu errado!",
22 "notification.error.default.title": "Oops...", 22 "notification.error.default.title": "Oops...",
23 - "notification.profile.not_found": "Perfil não encontrado", 23 + "notification.profile.not_found": "Página não encontrada",
24 "notification.http_error.401.message": "Não autorizado" 24 "notification.http_error.401.message": "Não autorizado"
25 } 25 }
src/spec/mocks.ts
@@ -107,7 +107,7 @@ export var mocks = { @@ -107,7 +107,7 @@ export var mocks = {
107 $log: { 107 $log: {
108 debug: () => { } 108 debug: () => { }
109 }, 109 },
110 - languageService: { 110 + translatorService: {
111 currentLanguage: () => { }, 111 currentLanguage: () => { },
112 changeLanguage: (lang: string) => { }, 112 changeLanguage: (lang: string) => { },
113 translate: (text: string) => { return text; } 113 translate: (text: string) => { return text; }