Commit e02d6ae5c34328b09540708d0eba2cf32053f3a1

Authored by Carlos Purificação
1 parent 976d69f6

Fixed design mode service auth lifecycle

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(&#39;DesignModeToggler Component&#39;, () =&gt; {
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 = "&nbsp;<i class='glyphicon glyphicon-wrench'></i>&nbsp;";
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(&quot;Components&quot;, () =&gt; {
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 });
... ...