From 6b66bf91d4eca6487bffcaa7af5dd52e20ae0f88 Mon Sep 17 00:00:00 2001 From: Michel Felipe Date: Thu, 21 Jul 2016 16:54:57 -0300 Subject: [PATCH] Added the modal to show environment terms of use text --- src/app/account/register-component.html | 3 +-- src/app/account/register-terms.html | 7 +++++++ src/app/account/register.component.ts | 22 ++++++++++++++++++++-- src/app/account/register.controller.ts | 17 +++++++++++++++++ src/app/account/scss/register-component.scss | 38 -------------------------------------- src/app/account/scss/register.scss | 44 ++++++++++++++++++++++++++++++++++++++++++++ src/app/layout/navbar/navbar.ts | 20 ++++++++++---------- src/app/shared/components/interfaces.ts | 9 ++++++--- src/languages/en.json | 5 ++--- src/languages/pt.json | 5 ++--- 10 files changed, 109 insertions(+), 61 deletions(-) create mode 100644 src/app/account/register-terms.html create mode 100644 src/app/account/register.controller.ts delete mode 100644 src/app/account/scss/register-component.scss create mode 100644 src/app/account/scss/register.scss diff --git a/src/app/account/register-component.html b/src/app/account/register-component.html index 3a05cc5..a6ae020 100644 --- a/src/app/account/register-component.html +++ b/src/app/account/register-component.html @@ -2,7 +2,6 @@

{{"account.register.welcomeMessageTitle" | translate }}

-

{{"account.register.seeMoreMessage" | translate}} {{"account.register.informationsMessage" | translate}}

@@ -62,7 +61,7 @@
-

{{"account.register.accountCreatingMessage" | translate}} {{"account.register.termsOfUseMessage" | translate}}.

+

{{"account.register.accountCreatingMessage" | translate}} {{"account.register.termsOfUseMessage" | translate}}.

diff --git a/src/app/account/register-terms.html b/src/app/account/register-terms.html new file mode 100644 index 0000000..de90dbe --- /dev/null +++ b/src/app/account/register-terms.html @@ -0,0 +1,7 @@ + + + diff --git a/src/app/account/register.component.ts b/src/app/account/register.component.ts index 41fdd35..110fdc5 100644 --- a/src/app/account/register.component.ts +++ b/src/app/account/register.component.ts @@ -2,6 +2,8 @@ import { Inject, Input, Component, Output, EventEmitter, provide } from 'ng-forw import { RegisterService } from "./../../lib/ng-noosfero-api/http/register.service"; import { NotificationService } from "./../shared/services/notification.service"; import { EnvironmentService } from "../../lib/ng-noosfero-api/http/environment.service"; +import { RegisterController } from "./register.controller"; +import { IModalComponent } from "../shared/components/interfaces"; @Component({ selector: 'noosfero-register', @@ -11,16 +13,20 @@ import { EnvironmentService } from "../../lib/ng-noosfero-api/http/environment.s ] }) -@Inject("$state", RegisterService, NotificationService, EnvironmentService) +@Inject('$state', '$uibModal', '$scope', RegisterService, NotificationService, EnvironmentService) export class RegisterComponent { @Input() account: any; environment: noosfero.Environment; + modalInstance: ng.ui.bootstrap.IModalServiceInstance; + constructor( private $state: ng.ui.IStateService, + private $uibModal: ng.ui.bootstrap.IModalService, + private $scope: ng.IScope, public registerService: RegisterService, private notificationService: NotificationService, - private environmentService: EnvironmentService + private environmentService: EnvironmentService, ) { this.account = {}; this.environment = environmentService.getCurrentEnvironment(); @@ -44,4 +50,16 @@ export class RegisterComponent { isInvalid(field: Object): Object { return { 'has-error': field['$touched'] && field['$invalid'] }; } + + openTerms() { + + this.modalInstance = this.$uibModal.open({ + templateUrl: 'app/account/register-terms.html', + size: 'lg', + controller: RegisterController, + controllerAs: 'vm', + bindToController: true, + scope: this.$scope + }); + } } diff --git a/src/app/account/register.controller.ts b/src/app/account/register.controller.ts new file mode 100644 index 0000000..71fa4c4 --- /dev/null +++ b/src/app/account/register.controller.ts @@ -0,0 +1,17 @@ +import { Input } from "ng-forward"; +import { IModalComponent } from "../shared/components/interfaces"; + +export class RegisterController { + + static $inject = ["$log", "$stateParams", "$scope"]; + ctrl: IModalComponent; + + constructor( + private $log: ng.ILogService, + private $stateParams: any, + ) { } + + closeTerms() { + this.ctrl.modalInstance.dismiss('ok'); + } +} diff --git a/src/app/account/scss/register-component.scss b/src/app/account/scss/register-component.scss deleted file mode 100644 index 99c0f2d..0000000 --- a/src/app/account/scss/register-component.scss +++ /dev/null @@ -1,38 +0,0 @@ -.register-page button { - width: 100%; - text-transform: uppercase; - font-weight: 600; -} - -.register-page .light-text { - color: #BBB; - margin-top: 0px; - margin-bottom: 0px; - font-weight: 600; -} - -.register-page .terms-info { - margin-top: 30px; - margin-bottom: 30px; -} - -.register-page .welcome-message { - text-align: center; -} - -.register-page .already-registered-message { - margin-top: 60px; - text-align: center; -} - -.register-page input { - height: 40px; -} - -.register-page .register-field { - margin-bottom: 25px; -} - -.register-page input:focus { - border: 2px solid #bbb; -} diff --git a/src/app/account/scss/register.scss b/src/app/account/scss/register.scss new file mode 100644 index 0000000..00277e1 --- /dev/null +++ b/src/app/account/scss/register.scss @@ -0,0 +1,44 @@ +.modal .modal-body-overflow { + max-height: 420px; + overflow-y: auto; +} + +.register-page button { + width: 100%; + text-transform: uppercase; + font-weight: 600; +} + +.register-page .light-text { + color: #BBB; + margin-top: 0px; + margin-bottom: 0px; + font-weight: 600; +} + +.register-page .terms-info { + margin-top: 30px; + margin-bottom: 30px; + font-weight: bold; +} + +.register-page .welcome-message { + text-align: center; +} + +.register-page .already-registered-message { + margin-top: 60px; + text-align: center; +} + +.register-page input { + height: 40px; +} + +.register-page .register-field { + margin-bottom: 25px; +} + +.register-page input:focus { + border: 2px solid #bbb; +} diff --git a/src/app/layout/navbar/navbar.ts b/src/app/layout/navbar/navbar.ts index ef338ee..64e4771 100644 --- a/src/app/layout/navbar/navbar.ts +++ b/src/app/layout/navbar/navbar.ts @@ -1,11 +1,11 @@ -import {Component, Inject, EventEmitter, Input} from "ng-forward"; -import {LanguageSelectorComponent} from "../language-selector/language-selector.component"; -import {SessionService, AuthService, AuthController, AuthEvents} from "./../../login"; -import {EnvironmentService} from "./../../../lib/ng-noosfero-api/http/environment.service"; -import {SidebarNotificationService} from "../sidebar/sidebar.notification.service"; -import {BodyStateClassesService} from '../services/body-state-classes.service'; -import {DesignModeTogglerComponent} from './../../admin/layout-edit/designModeToggler.component'; -import {BootstrapSwitcherComponent, BootstrapSwitcherItem} from './../../shared/components/bootstrap-switcher/bootstrap-switcher.component'; +import { Component, Inject, EventEmitter, Input } from "ng-forward"; +import { LanguageSelectorComponent } from "../language-selector/language-selector.component"; +import { SessionService, AuthService, AuthController, AuthEvents } from "./../../login"; +import { EnvironmentService } from "./../../../lib/ng-noosfero-api/http/environment.service"; +import { SidebarNotificationService } from "../sidebar/sidebar.notification.service"; +import { BodyStateClassesService } from '../services/body-state-classes.service'; +import { DesignModeTogglerComponent } from './../../admin/layout-edit/designModeToggler.component'; +import { BootstrapSwitcherComponent, BootstrapSwitcherItem } from './../../shared/components/bootstrap-switcher/bootstrap-switcher.component'; @Component({ selector: "acme-navbar", @@ -17,14 +17,14 @@ import {BootstrapSwitcherComponent, BootstrapSwitcherItem} from './../../shared/ export class Navbar { private currentUser: noosfero.User; - private modalInstance: any = null; + private modalInstance: ng.ui.bootstrap.IModalServiceInstance; public showHamburger: boolean = false; public currentEnvironment: noosfero.Environment = { name: '' }; /** * */ constructor( - private $uibModal: any, + private $uibModal: ng.ui.bootstrap.IModalService, public authService: AuthService, private session: SessionService, private $state: ng.ui.IStateService, diff --git a/src/app/shared/components/interfaces.ts b/src/app/shared/components/interfaces.ts index bcce69c..8f932a4 100644 --- a/src/app/shared/components/interfaces.ts +++ b/src/app/shared/components/interfaces.ts @@ -1,5 +1,8 @@ - - export interface IComponentWithPermissions { permissions: () => string[]; -} \ No newline at end of file +} + +export interface IModalComponent { + $uibModal: ng.ui.bootstrap.IModalService; + modalInstance: ng.ui.bootstrap.IModalServiceInstance; +} diff --git a/src/languages/en.json b/src/languages/en.json index 2c14710..c4e3ba6 100644 --- a/src/languages/en.json +++ b/src/languages/en.json @@ -100,8 +100,6 @@ "block.edition.display_user.not_logged": "Not logged", "block.edition.language.label": "Show for:", "account.register.welcomeMessageTitle": "Nice to have you there!", - "account.register.seeMoreMessage": "See more ", - "account.register.informationsMessage": "informations", "account.register.fullNameLabel": "Full name", "account.register.usernameLabel": "Username", "account.register.emailLabel": "Email", @@ -117,5 +115,6 @@ "messages.invalid.required": "This field is required", "messages.invalid.maxlength": "This field is too long", "messages.invalid.minlength": "This field is too short", - "messages.invalid.email": "This needs to be a valid email" + "messages.invalid.email": "This needs to be a valid email", + "messages.invalid.passwordConfirm": "Passwords do not match" } diff --git a/src/languages/pt.json b/src/languages/pt.json index 8615977..ed6be5f 100644 --- a/src/languages/pt.json +++ b/src/languages/pt.json @@ -100,8 +100,6 @@ "block.edition.display_user.not_logged": "Não logados", "block.edition.language.label": "Exibir para:", "account.register.welcomeMessageTitle": "Ótimo ter você aqui!", - "account.register.seeMoreMessage": "Saiba mais ", - "account.register.informationsMessage": "informações", "account.register.fullNameLabel": "Nome completo", "account.register.lastNameLabel": "Sobrenome", "account.register.usernameLabel": "Nome de usuário", @@ -118,5 +116,6 @@ "messages.invalid.required": "Campo obrigatório", "messages.invalid.maxlength": "O valor é muito longo", "messages.invalid.minlength": "O valor é muito curto", - "messages.invalid.email": "Informe um email válido" + "messages.invalid.email": "Informe um email válido", + "messages.invalid.passwordConfirm": "As senhas não coincidem" } -- libgit2 0.21.2