com.phloxui
Version:
PhloxUI Ng2+ Framework
83 lines (82 loc) • 7.22 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
import { Injectable } from '@angular/core';
export class ColorThemeProvider {
/**
* @param {?} defaultTheme
* @return {?}
*/
setDefaultTheme(defaultTheme) {
this.defaultTheme = defaultTheme;
}
/**
* @return {?}
*/
reload() {
this.colorThemes = [];
return Promise.resolve(this.colorThemes);
}
/**
* @return {?}
*/
getColorThemes() {
if (this.colorThemes !== null && typeof this.colorThemes !== 'undefined') {
return Promise.resolve(this.colorThemes);
}
else {
let /** @type {?} */ prom = this.reload();
if (prom !== null && prom !== undefined) {
return new Promise((resolve, reject) => {
prom.then((result) => {
this.colorThemes = result;
resolve(this.colorThemes);
}).catch((error) => {
reject(error);
});
});
}
return Promise.resolve([]);
}
}
/**
* @param {?} name
* @param {?=} useDefault
* @return {?}
*/
getColorTheme(name, useDefault = true) {
return this.getColorThemes().then((result) => {
let /** @type {?} */ theme = null;
for (let /** @type {?} */ i = 0; i < result.length; i++) {
if (result[i].name === name) {
theme = result[i];
break;
}
}
if (theme === null && useDefault) {
return Promise.resolve(this.defaultTheme);
}
else {
return Promise.resolve(theme);
}
});
}
}
ColorThemeProvider.decorators = [
{ type: Injectable },
];
function ColorThemeProvider_tsickle_Closure_declarations() {
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
ColorThemeProvider.decorators;
/**
* @nocollapse
* @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>}
*/
ColorThemeProvider.ctorParameters;
/** @type {?} */
ColorThemeProvider.prototype.colorThemes;
/** @type {?} */
ColorThemeProvider.prototype.defaultTheme;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29sb3JUaGVtZVByb3ZpZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9jb20ucGhsb3h1aS8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlL0NvbG9yVGhlbWVQcm92aWRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSTNDLE1BQU07Ozs7O0lBS0ssZUFBZSxDQUFDLFlBQXdCO1FBQzdDLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDOzs7OztJQUc1QixNQUFNO1FBQ1QsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFFdEIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDOzs7OztJQUd0QyxjQUFjO1FBQ2pCLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEtBQUssSUFBSSxJQUFJLE9BQU8sSUFBSSxDQUFDLFdBQVcsS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDO1lBQ3ZFLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUM1QztRQUFDLElBQUksQ0FBQyxDQUFDO1lBQ0oscUJBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUV6QixFQUFFLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxJQUFJLElBQUksS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDO2dCQUN4QyxNQUFNLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFDLEVBQUU7b0JBQ3BDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFvQixFQUFFLEVBQUU7d0JBQy9CLElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDO3dCQUUxQixPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO3FCQUM3QixDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxFQUFDLEVBQUU7d0JBQ2hCLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztxQkFDZixDQUFDLENBQUM7aUJBQ0osQ0FBQyxDQUFDO2FBQ0o7WUFFRCxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUM5Qjs7Ozs7OztJQUdFLGFBQWEsQ0FBQyxJQUFZLEVBQUUsYUFBcUIsSUFBSTtRQUN4RCxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQW9CLEVBQUUsRUFBRTtZQUN2RCxxQkFBSSxLQUFLLEdBQWUsSUFBSSxDQUFDO1lBRTdCLEdBQUcsQ0FBQyxDQUFDLHFCQUFJLENBQUMsR0FBVyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDN0MsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDO29CQUMxQixLQUFLLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUVsQixLQUFLLENBQUM7aUJBQ1Q7YUFDSjtZQUVELEVBQUUsQ0FBQyxDQUFDLEtBQUssS0FBSyxJQUFJLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQztnQkFDL0IsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQzdDO1lBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ0osTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDakM7U0FDSixDQUFDLENBQUM7Ozs7WUF2RFYsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbG9yVGhlbWUgfSBmcm9tICcuLi9jb21wb25lbnQvbW9kZWwvbW9kZWxzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENvbG9yVGhlbWVQcm92aWRlciB7XG5cbiAgICBwcm90ZWN0ZWQgY29sb3JUaGVtZXM6IENvbG9yVGhlbWVbXTtcbiAgICBwcm90ZWN0ZWQgZGVmYXVsdFRoZW1lOiBDb2xvclRoZW1lO1xuXG4gICAgcHVibGljIHNldERlZmF1bHRUaGVtZShkZWZhdWx0VGhlbWU6IENvbG9yVGhlbWUpOiB2b2lkIHtcbiAgICAgIHRoaXMuZGVmYXVsdFRoZW1lID0gZGVmYXVsdFRoZW1lO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWxvYWQoKTogUHJvbWlzZTxDb2xvclRoZW1lW10+IHtcbiAgICAgICAgdGhpcy5jb2xvclRoZW1lcyA9IFtdO1xuXG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUodGhpcy5jb2xvclRoZW1lcyk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldENvbG9yVGhlbWVzKCk6IFByb21pc2U8Q29sb3JUaGVtZVtdPiB7XG4gICAgICAgIGlmICh0aGlzLmNvbG9yVGhlbWVzICE9PSBudWxsICYmIHR5cGVvZiB0aGlzLmNvbG9yVGhlbWVzICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh0aGlzLmNvbG9yVGhlbWVzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGxldCBwcm9tID0gdGhpcy5yZWxvYWQoKTtcblxuICAgICAgICAgICAgaWYgKHByb20gIT09IG51bGwgJiYgcHJvbSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KT0+e1xuICAgICAgICAgICAgICAgIHByb20udGhlbigocmVzdWx0OiBDb2xvclRoZW1lW10pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb2xvclRoZW1lcyA9IHJlc3VsdDtcblxuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHRoaXMuY29sb3JUaGVtZXMpO1xuICAgICAgICAgICAgICAgIH0pLmNhdGNoKChlcnJvcik9PntcbiAgICAgICAgICAgICAgICAgIHJlamVjdChlcnJvcik7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKFtdKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXRDb2xvclRoZW1lKG5hbWU6IHN0cmluZywgdXNlRGVmYXVsdDpib29sZWFuID0gdHJ1ZSk6IFByb21pc2U8Q29sb3JUaGVtZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRDb2xvclRoZW1lcygpLnRoZW4oKHJlc3VsdDogQ29sb3JUaGVtZVtdKSA9PiB7XG4gICAgICAgICAgICBsZXQgdGhlbWU6IENvbG9yVGhlbWUgPSBudWxsO1xuXG4gICAgICAgICAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAwOyBpIDwgcmVzdWx0Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgaWYgKHJlc3VsdFtpXS5uYW1lID09PSBuYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoZW1lID0gcmVzdWx0W2ldO1xuXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHRoZW1lID09PSBudWxsICYmIHVzZURlZmF1bHQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMuZGVmYXVsdFRoZW1lKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh0aGVtZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxufVxuIl19