import { Component, OnInit, Self, SkipSelf } from '@angular/core';
import { BROWSER_STORAGE, BrowserStorageService } from './storage.service';
 
@Component({
  selector: 'app-storage',
  template: `
    Open the inspector to see the local/session storage keys:
 
    ‹h3›Session Storage‹/h3›
    ‹button (click)="setSession()"›Set Session Storage‹/button›
 
    ‹h3›Local Storage‹/h3›
    ‹button (click)="setLocal()"›Set Local Storage‹/button›
  `,
  providers: [
    BrowserStorageService,
    { provide: BROWSER_STORAGE, useFactory: () => sessionStorage }
  ]
})
export class StorageComponent implements OnInit {
 
  constructor(
    @Self() private sessionStorageService: BrowserStorageService,
    @SkipSelf() private localStorageService: BrowserStorageService,
  ) { }
 
  ngOnInit() {
  }
 
  setSession() {
    this.sessionStorageService.set('hero', 'Mr. Nice - Session');
  }
 
  setLocal() {
    this.localStorageService.set('hero', 'Mr. Nice - Local');
  }
}