Commit e02d6ae5c34328b09540708d0eba2cf32053f3a1
1 parent
976d69f6
Exists in
master
and in
9 other branches
Fixed design mode service auth lifecycle
Showing
4 changed files
with
13 additions
and
6 deletions
Show diff stats
src/app/admin/layout-edit/designMode.service.ts
| ... | ... | @@ -6,11 +6,13 @@ import {INoosferoLocalStorage} from "./../../shared/models/interfaces"; |
| 6 | 6 | export class DesignModeService { |
| 7 | 7 | @Output() onToggle: EventEmitter<boolean> = new EventEmitter<boolean>(); |
| 8 | 8 | |
| 9 | - //private designModeOn: boolean = false; | |
| 10 | - | |
| 11 | 9 | isInDesignMode(): boolean { |
| 12 | 10 | return this.$localStorage.settings.designModeOn; |
| 13 | 11 | } |
| 12 | + | |
| 13 | + destroy() { | |
| 14 | + this.$localStorage.settings = {}; | |
| 15 | + } | |
| 14 | 16 | |
| 15 | 17 | setInDesignMode(value: boolean) { |
| 16 | 18 | if (this.$localStorage.settings.designModeOn !== value) { | ... | ... |
src/app/admin/layout-edit/designModeToggler.component.spec.ts
| ... | ... | @@ -22,7 +22,8 @@ describe('DesignModeToggler Component', () => { |
| 22 | 22 | template: htmlTemplate, |
| 23 | 23 | directives: [DesignModeTogglerComponent], |
| 24 | 24 | providers: [ |
| 25 | - helpers.createProviderToValue('DesignModeService', designModeService) | |
| 25 | + helpers.createProviderToValue('DesignModeService', designModeService), | |
| 26 | + helpers.createProviderToValue('AuthService', helpers.mocks.authService), | |
| 26 | 27 | ] |
| 27 | 28 | }); |
| 28 | 29 | helper = new ComponentTestHelper<DesignModeTogglerComponent>(cls, done); | ... | ... |
src/app/admin/layout-edit/designModeToggler.component.ts
| 1 | 1 | import {Component, Inject} from 'ng-forward'; |
| 2 | 2 | import {DesignModeService} from './designMode.service'; |
| 3 | +import {AuthService, AuthEvents} from '../../login' | |
| 4 | + | |
| 3 | 5 | @Component({ |
| 4 | 6 | selector: 'noosfero-design-toggler', |
| 5 | 7 | templateUrl: 'app/admin/layout-edit/designModeToggler.html' |
| 6 | 8 | }) |
| 7 | -@Inject(DesignModeService) | |
| 9 | +@Inject(DesignModeService, AuthService) | |
| 8 | 10 | export class DesignModeTogglerComponent { |
| 9 | 11 | |
| 10 | 12 | icon: string = " <i class='glyphicon glyphicon-wrench'></i> "; |
| 11 | 13 | |
| 12 | - constructor(private designModeService: DesignModeService) { | |
| 14 | + constructor(private designModeService: DesignModeService, private authService: AuthService) { | |
| 15 | + this.authService.subscribe(AuthEvents[AuthEvents.logoutSuccess], () => { | |
| 16 | + this.designModeService.destroy(); | |
| 17 | + }); | |
| 13 | 18 | } |
| 14 | 19 | |
| 15 | 20 | private _inDesignMode: boolean = false; | ... | ... |
src/app/profile/custom-content/custom-content.component.spec.ts
| ... | ... | @@ -25,7 +25,6 @@ describe("Components", () => { |
| 25 | 25 | helpers.createProviderToValue("$uibModal", helpers.mocks.$modal), |
| 26 | 26 | helpers.createProviderToValue("ProfileService", profileService), |
| 27 | 27 | helpers.createProviderToValue("NotificationService", notificationService), |
| 28 | - //helpers.createProviderToValue("DesignModeService", helpers.mocks.designModeService) | |
| 29 | 28 | helpers.createProviderToValue("DesignModeService", designModeService) |
| 30 | 29 | ] |
| 31 | 30 | }); | ... | ... |