File

projects/nshmp-template/src/lib/services/header.service.ts

Index

Properties
Methods

Constructor

constructor(nshmpService: NshmpTemplateService)
Parameters :
Name Type Optional
nshmpService NshmpTemplateService No

Methods

Private checkControls
checkControls()
Returns : void
reset
reset()
Returns : void
resetAppControls
resetAppControls()
Returns : void
toggleControlPanel
toggleControlPanel()
Returns : void
toggleSettingsPanel
toggleSettingsPanel()
Returns : void

Properties

aboutClicked
Default value : new Subject<void>()
Readonly controlPanelSelected
Default value : signal(false)
Readonly navigationChanged
Default value : signal<Navigation>({ display: '', routerLink: '', })
Readonly navigationList
Default value : signal<NavigationList[]>([])
Readonly settingsSelected
Default value : signal(false)
Readonly showNewBadge
Default value : signal(false)
Readonly title
Default value : signal('')
import {Injectable, signal} from '@angular/core';
import {Subject} from 'rxjs';

import {Navigation, NavigationList} from '../models';
import {NshmpTemplateService} from './nshmp-template.service';

@Injectable({
  providedIn: 'root',
})
export class HeaderService {
  readonly controlPanelSelected = signal(false);
  readonly navigationChanged = signal<Navigation>({
    display: '',
    routerLink: '',
  });
  readonly navigationList = signal<NavigationList[]>([]);
  readonly settingsSelected = signal(false);
  readonly title = signal('');
  readonly showNewBadge = signal(false);

  aboutClicked = new Subject<void>();

  constructor(private nshmpService: NshmpTemplateService) {}

  reset(): void {
    this.resetAppControls();
  }

  toggleControlPanel(): void {
    const toggle = !this.controlPanelSelected();
    this.checkControls();
    this.controlPanelSelected.set(toggle);
  }

  toggleSettingsPanel(): void {
    const toggle = !this.settingsSelected();
    this.checkControls();
    this.settingsSelected.set(toggle);
  }

  resetAppControls(): void {
    this.controlPanelSelected.set(false);
    this.settingsSelected.set(false);
  }

  private checkControls(): void {
    if (this.nshmpService.isSmallScreen) {
      this.resetAppControls();
    }
  }
}

results matching ""

    No results matching ""