Commit 6e7c76e6d3542b681fac66bcbeed96be684e734e

Authored by Victor Costa
1 parent 62f85230

Get available languages from translator service in block edition

src/app/layout/blocks/block-edition/block-edition.component.spec.ts 0 → 100644
... ... @@ -0,0 +1,34 @@
  1 +import {Component} from 'ng-forward';
  2 +import {BlockEditionComponent} from './block-edition.component';
  3 +import * as helpers from "../../../../spec/helpers";
  4 +import {ComponentTestHelper, createClass} from '../../../../spec/component-test-helper';
  5 +
  6 +const htmlTemplate: string = '<noosfero-block-edition></noosfero-block-edition>';
  7 +
  8 +describe("Boxes Component", () => {
  9 +
  10 + let helper: ComponentTestHelper<BlockEditionComponent>;
  11 + let translatorService = {
  12 + availableLanguages: { 'en': 'English', 'pt': 'Portuguese' }
  13 + };
  14 +
  15 + beforeEach(() => {
  16 + angular.mock.module("templates");
  17 + });
  18 +
  19 + beforeEach((done) => {
  20 + let cls = createClass({
  21 + template: htmlTemplate,
  22 + directives: [BlockEditionComponent],
  23 + providers: [
  24 + helpers.createProviderToValue('TranslatorService', translatorService)
  25 + ]
  26 + });
  27 + helper = new ComponentTestHelper<BlockEditionComponent>(cls, done);
  28 + });
  29 +
  30 + it("get available languages from translator service", () => {
  31 + expect(helper.component.languageOptions).toEqual(['all', 'en', 'pt']);
  32 + });
  33 +
  34 +});
... ...
src/app/layout/blocks/block-edition/block-edition.component.ts
1   -import { Input, Component } from 'ng-forward';
  1 +import { Input, Inject, Component } from 'ng-forward';
  2 +import { TranslatorService } from "../../../shared/services/translator.service";
2 3  
3 4 @Component({
4 5 selector: 'noosfero-block-edition',
5 6 templateUrl: 'app/layout/blocks/block-edition/block-edition.html'
6 7 })
  8 +@Inject(TranslatorService)
7 9 export class BlockEditionComponent {
8 10  
  11 + static $inject = ["TranslatorService"]; // @Inject doesn't works with uibModal.open
  12 +
9 13 displayOptions: any;
10 14 displayUserOptions: any;
11 15 languageOptions: any;
12 16  
13   - constructor() {
  17 + constructor(private translatorService: TranslatorService) {
14 18 this.displayOptions = ["always", "home_page_only", "except_home_page", "never"];
15 19 this.displayUserOptions = ["all", "logged", "not_logged"];
16   - this.languageOptions = ["all", "en", "pt"]; // FIXME get language list
  20 + this.languageOptions = ["all"].concat(Object.keys(translatorService.availableLanguages));
17 21 }
18 22 }
... ...