@santinobch/os-window-angular
Version:
Create windows inside a browser window!
69 lines • 7.01 kB
JavaScript
import { Injectable } from '@angular/core';
import { THEME_LIST } from '../../themes/theme_list';
import * as i0 from "@angular/core";
export class OsConfigService {
constructor() {
this.globalTheme = {
name: 'arc',
variant: 'light',
};
this.zIndex = 1;
this.userThemeList = THEME_LIST;
}
// This stores windows information (id and styles)
getInstances() {
return this.instances;
}
setInstances(shared) {
this.instances.push(shared);
}
getGlobalTheme() {
const GLOBAL_THEME = localStorage.getItem('GLOBAL_THEME');
if (GLOBAL_THEME === null) {
return this.globalTheme;
}
return JSON.parse(GLOBAL_THEME);
}
setGlobalTheme(style) {
this.globalTheme = style;
localStorage.setItem('GLOBAL_THEME', JSON.stringify(this.globalTheme));
}
/**
* Returns last zIndex value
*
* When a window is focused, it's zIndex value changes,
* making it appear in front of the other windows
*/
getZIndex() {
return this.zIndex;
}
/**
* Sets last zIndex value
*
* When a window is focused, it's zIndex value changes,
* making it appear in front of the other windows
*/
setZIndex(zIndex) {
this.zIndex = zIndex;
}
addTheme(theme) {
this.userThemeList.push(theme);
localStorage.setItem('THEME_LIST', JSON.stringify(this.userThemeList));
}
getThemes() {
const THEME_LIST = localStorage.getItem('THEME_LIST');
if (THEME_LIST === null) {
return THEME_LIST;
}
return JSON.parse(THEME_LIST);
}
}
OsConfigService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: OsConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
OsConfigService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: OsConfigService, providedIn: 'root' });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: OsConfigService, decorators: [{
type: Injectable,
args: [{
providedIn: 'root',
}]
}], ctorParameters: function () { return []; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3MtY29uZmlnLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vcy13aW5kb3ctYW5ndWxhci9zcmMvbGliL3NlcnZpY2VzL29zLWNvbmZpZy9vcy1jb25maWcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFLckQsTUFBTSxPQUFPLGVBQWU7SUFDMUI7UUFFUSxnQkFBVyxHQUFVO1lBQzNCLElBQUksRUFBRSxLQUFLO1lBQ1gsT0FBTyxFQUFFLE9BQU87U0FDakIsQ0FBQztRQTZCTSxXQUFNLEdBQVcsQ0FBQyxDQUFDO1FBc0JuQixrQkFBYSxHQUFzQixVQUFVLENBQUM7SUF4RHZDLENBQUM7SUFTaEIsa0RBQWtEO0lBQ2xELFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVELFlBQVksQ0FBQyxNQUFxQjtRQUNoQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsY0FBYztRQUNaLE1BQU0sWUFBWSxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFMUQsSUFBSSxZQUFZLEtBQUssSUFBSSxFQUFFO1lBQ3pCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztTQUN6QjtRQUVELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsY0FBYyxDQUFDLEtBQVk7UUFDekIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFFekIsWUFBWSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBSUQ7Ozs7O09BS0c7SUFDSCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFNBQVMsQ0FBQyxNQUFjO1FBQ3RCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFJRCxRQUFRLENBQUMsS0FBc0I7UUFDN0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFL0IsWUFBWSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQsU0FBUztRQUNQLE1BQU0sVUFBVSxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFdEQsSUFBSSxVQUFVLEtBQUssSUFBSSxFQUFFO1lBQ3ZCLE9BQU8sVUFBVSxDQUFDO1NBQ25CO1FBRUQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7OzRHQXpFVSxlQUFlO2dIQUFmLGVBQWUsY0FGZCxNQUFNOzJGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUHJvY2Vzc01vZGVsIGFzIEluc3RhbmNlTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvU2hhcmVkLm1vZGVsJztcbmltcG9ydCB7IFRoZW1lLCBUaGVtZURlZmluaXRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvVGhlbWUubW9kZWwnO1xuaW1wb3J0IHsgVEhFTUVfTElTVCB9IGZyb20gJy4uLy4uL3RoZW1lcy90aGVtZV9saXN0JztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIE9zQ29uZmlnU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBwcml2YXRlIGdsb2JhbFRoZW1lOiBUaGVtZSA9IHtcbiAgICBuYW1lOiAnYXJjJyxcbiAgICB2YXJpYW50OiAnbGlnaHQnLFxuICB9O1xuXG4gIHByaXZhdGUgaW5zdGFuY2VzITogSW5zdGFuY2VNb2RlbFtdO1xuXG4gIC8vIFRoaXMgc3RvcmVzIHdpbmRvd3MgaW5mb3JtYXRpb24gKGlkIGFuZCBzdHlsZXMpXG4gIGdldEluc3RhbmNlcygpOiBJbnN0YW5jZU1vZGVsW10ge1xuICAgIHJldHVybiB0aGlzLmluc3RhbmNlcztcbiAgfVxuXG4gIHNldEluc3RhbmNlcyhzaGFyZWQ6IEluc3RhbmNlTW9kZWwpIHtcbiAgICB0aGlzLmluc3RhbmNlcy5wdXNoKHNoYXJlZCk7XG4gIH1cblxuICBnZXRHbG9iYWxUaGVtZSgpOiBUaGVtZSB7XG4gICAgY29uc3QgR0xPQkFMX1RIRU1FID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ0dMT0JBTF9USEVNRScpO1xuXG4gICAgaWYgKEdMT0JBTF9USEVNRSA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHRoaXMuZ2xvYmFsVGhlbWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIEpTT04ucGFyc2UoR0xPQkFMX1RIRU1FKTtcbiAgfVxuXG4gIHNldEdsb2JhbFRoZW1lKHN0eWxlOiBUaGVtZSkge1xuICAgIHRoaXMuZ2xvYmFsVGhlbWUgPSBzdHlsZTtcblxuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdHTE9CQUxfVEhFTUUnLCBKU09OLnN0cmluZ2lmeSh0aGlzLmdsb2JhbFRoZW1lKSk7XG4gIH1cblxuICBwcml2YXRlIHpJbmRleDogbnVtYmVyID0gMTtcblxuICAvKipcbiAgICogUmV0dXJucyBsYXN0IHpJbmRleCB2YWx1ZVxuICAgKlxuICAgKiBXaGVuIGEgd2luZG93IGlzIGZvY3VzZWQsIGl0J3MgekluZGV4IHZhbHVlIGNoYW5nZXMsXG4gICAqIG1ha2luZyBpdCBhcHBlYXIgaW4gZnJvbnQgb2YgdGhlIG90aGVyIHdpbmRvd3NcbiAgICovXG4gIGdldFpJbmRleCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnpJbmRleDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIGxhc3QgekluZGV4IHZhbHVlXG4gICAqXG4gICAqIFdoZW4gYSB3aW5kb3cgaXMgZm9jdXNlZCwgaXQncyB6SW5kZXggdmFsdWUgY2hhbmdlcyxcbiAgICogbWFraW5nIGl0IGFwcGVhciBpbiBmcm9udCBvZiB0aGUgb3RoZXIgd2luZG93c1xuICAgKi9cbiAgc2V0WkluZGV4KHpJbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy56SW5kZXggPSB6SW5kZXg7XG4gIH1cblxuICBwcml2YXRlIHVzZXJUaGVtZUxpc3Q6IFRoZW1lRGVmaW5pdGlvbltdID0gVEhFTUVfTElTVDtcblxuICBhZGRUaGVtZSh0aGVtZTogVGhlbWVEZWZpbml0aW9uKSB7XG4gICAgdGhpcy51c2VyVGhlbWVMaXN0LnB1c2godGhlbWUpO1xuXG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ1RIRU1FX0xJU1QnLCBKU09OLnN0cmluZ2lmeSh0aGlzLnVzZXJUaGVtZUxpc3QpKTtcbiAgfVxuXG4gIGdldFRoZW1lcygpIHtcbiAgICBjb25zdCBUSEVNRV9MSVNUID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ1RIRU1FX0xJU1QnKTtcblxuICAgIGlmIChUSEVNRV9MSVNUID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gVEhFTUVfTElTVDtcbiAgICB9XG5cbiAgICByZXR1cm4gSlNPTi5wYXJzZShUSEVNRV9MSVNUKTtcbiAgfVxufVxuIl19