demo/src/app/theme/theme-storage.ts
// Copyright (c) 2017 Google, Inc.
import { EventEmitter, Injectable } from '@angular/core';
@Injectable()
export class ThemeStorage {
static storageKey = 'bs-theme-storage-current';
onThemeUpdate: EventEmitter<string> = new EventEmitter<string>();
storeTheme(theme: 'bs3' | 'bs4') {
try {
window.localStorage[ThemeStorage.storageKey] = theme;
} catch (e) {}
this.onThemeUpdate.emit(theme);
}
getStoredTheme(): 'bs3' | 'bs4' {
try {
return window.localStorage[ThemeStorage.storageKey] || null;
} catch (e) {
return null;
}
}
clearStorage() {
try {
window.localStorage.removeItem(ThemeStorage.storageKey);
} catch (e) {}
}
}