toggle-settings-button.component.ts 1022 字节
Newer Older
1 2 3 4 5 6 7 8 9 10 11
import { Component } from '@angular/core';
import { NbSidebarService } from '@nebular/theme';
import { StateService } from '../../../@core/utils';

@Component({
  selector: 'ngx-toggle-settings-button',
  styleUrls: ['./toggle-settings-button.component.scss'],
  template: `
    <button class="toggle-settings"
            (click)="toggleSettings()"
            [class.expanded]="expanded"
12 13
            [class.sidebar-end]="sidebarEnd"
            [class.was-expanded]="wasExpanded"
14
    >
15 16 17 18 19 20 21 22
      <i class="nb-gear"></i>
    </button>
  `,
})
export class ToggleSettingsButtonComponent {

  sidebarEnd = false;
  expanded = false;
23
  wasExpanded = false;
24 25 26 27 28 29 30 31 32 33 34

  constructor(private sidebarService: NbSidebarService, protected stateService: StateService) {
    this.stateService.onSidebarState()
      .subscribe(({id}) => {
        this.sidebarEnd = id === 'end';
      });
  }

  toggleSettings() {
    this.sidebarService.toggle(false, 'settings-sidebar');
    this.expanded = !this.expanded;
35
    this.wasExpanded = true;
36 37
  }
}