com.phloxui
Version:
PhloxUI Ng2+ Framework
102 lines (101 loc) • 7.75 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
import { Injectable } from '@angular/core';
import { PhloxAppInfo } from '../component/model/PhloxAppInfo';
import { ConnectionManager } from '../service/ConnectionManager.service';
/**
* <p style="text-indent: 2em;">
* A <code>ng</code> service providing [[PhloxAppInfo]] object of currently running <code>application</code>. In normal sense, this service may load a
* [[PhloxAppInfo]] object from backend to fetch user settings and configurations from the server.
* </p>
*
* @author shiorin, tee4cute
*/
var PhloxAppInfoService = /** @class */ (function () {
function PhloxAppInfoService(connectionManager) {
this.connectionManager = connectionManager;
}
/**
* @return {?}
*/
PhloxAppInfoService.prototype.ngOnInit = /**
* @return {?}
*/
function () {
if (this.connectionManager !== null && typeof this.connectionManager !== 'undefined') {
this.loadAppInfo();
this.connectionManager.setPhloxAppInfo(this.appInfo);
}
};
/**
* @return {?}
*/
PhloxAppInfoService.prototype.loadAppInfo = /**
* @return {?}
*/
function () {
// ! TODO: Edit this on PRODUCTION
return Promise.resolve(new PhloxAppInfo("", "", "", ""));
};
/**
* @return {?}
*/
PhloxAppInfoService.prototype.reload = /**
* @return {?}
*/
function () {
this.appInfo = null;
return this.getAppInfo();
};
/**
* <p style="text-indent: 1em;">
* Get [[PhloxAppInfo]] of currently running <code>application</code>.
* </p>
*
* @return {?} A <code>Promise</code> which will be resolved when the [[PhloxAppInfo]] object is ready.
*/
PhloxAppInfoService.prototype.getAppInfo = /**
* <p style="text-indent: 1em;">
* Get [[PhloxAppInfo]] of currently running <code>application</code>.
* </p>
*
* @return {?} A <code>Promise</code> which will be resolved when the [[PhloxAppInfo]] object is ready.
*/
function () {
var _this = this;
if (this.appInfo !== null && typeof this.appInfo !== 'undefined') {
return Promise.resolve(this.appInfo);
}
else {
return this.loadAppInfo().then(function (result) {
_this.appInfo = result;
return Promise.resolve(_this.appInfo);
});
}
};
PhloxAppInfoService.decorators = [
{ type: Injectable },
];
/** @nocollapse */
PhloxAppInfoService.ctorParameters = function () { return [
{ type: ConnectionManager, },
]; };
return PhloxAppInfoService;
}());
export { PhloxAppInfoService };
function PhloxAppInfoService_tsickle_Closure_declarations() {
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
PhloxAppInfoService.decorators;
/**
* @nocollapse
* @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>}
*/
PhloxAppInfoService.ctorParameters;
/** @type {?} */
PhloxAppInfoService.prototype.connectionManager;
/** @type {?} */
PhloxAppInfoService.prototype.appInfo;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGhsb3hBcHBJbmZvU2VydmljZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vY29tLnBobG94dWkvIiwic291cmNlcyI6WyJsaWIvc2VydmljZS9QaGxveEFwcEluZm9TZXJ2aWNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7Ozs7Ozs7O0lBZ0JyRSw2QkFBWSxpQkFBb0M7UUFDNUMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLGlCQUFpQixDQUFDO0tBQzlDOzs7O0lBRU0sc0NBQVE7Ozs7UUFDWCxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEtBQUssSUFBSSxJQUFJLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDbkYsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3hEOzs7OztJQUdLLHlDQUFXOzs7SUFBckI7O1FBRUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxZQUFZLENBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztLQUN6RDs7OztJQUVNLG9DQUFNOzs7O1FBQ1QsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFFcEIsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQzs7Ozs7Ozs7O0lBVXRCLHdDQUFVOzs7Ozs7Ozs7UUFDYixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxLQUFLLElBQUksSUFBSSxPQUFPLElBQUksQ0FBQyxPQUFPLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQztZQUMvRCxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDeEM7UUFBQyxJQUFJLENBQUMsQ0FBQztZQUNKLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQUMsTUFBb0I7Z0JBQ2hELEtBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO2dCQUV0QixNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDeEMsQ0FBQyxDQUFDO1NBQ047OztnQkE1Q1IsVUFBVTs7OztnQkFWRixpQkFBaUI7OzhCQUYxQjs7U0FhYSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBobG94QXBwSW5mbyB9IGZyb20gJy4uL2NvbXBvbmVudC9tb2RlbC9QaGxveEFwcEluZm8nO1xuaW1wb3J0IHsgQ29ubmVjdGlvbk1hbmFnZXIgfSBmcm9tICcuLi9zZXJ2aWNlL0Nvbm5lY3Rpb25NYW5hZ2VyLnNlcnZpY2UnO1xuXG4vKipcbiAqIDxwIHN0eWxlPVwidGV4dC1pbmRlbnQ6IDJlbTtcIj5cbiAqIEEgPGNvZGU+bmc8L2NvZGU+IHNlcnZpY2UgcHJvdmlkaW5nIFtbUGhsb3hBcHBJbmZvXV0gb2JqZWN0IG9mIGN1cnJlbnRseSBydW5uaW5nIDxjb2RlPmFwcGxpY2F0aW9uPC9jb2RlPi4gSW4gbm9ybWFsIHNlbnNlLCB0aGlzIHNlcnZpY2UgbWF5IGxvYWQgYVxuICogW1tQaGxveEFwcEluZm9dXSBvYmplY3QgZnJvbSBiYWNrZW5kIHRvIGZldGNoIHVzZXIgc2V0dGluZ3MgYW5kIGNvbmZpZ3VyYXRpb25zIGZyb20gdGhlIHNlcnZlci5cbiAqIDwvcD5cbiAqXG4gKiBAYXV0aG9yIHNoaW9yaW4sIHRlZTRjdXRlXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBQaGxveEFwcEluZm9TZXJ2aWNlIGltcGxlbWVudHMgT25Jbml0IHtcblxuICAgIHByaXZhdGUgY29ubmVjdGlvbk1hbmFnZXI6IENvbm5lY3Rpb25NYW5hZ2VyO1xuICAgIHByb3RlY3RlZCBhcHBJbmZvOiBQaGxveEFwcEluZm87XG5cbiAgICBjb25zdHJ1Y3Rvcihjb25uZWN0aW9uTWFuYWdlcjogQ29ubmVjdGlvbk1hbmFnZXIpe1xuICAgICAgICB0aGlzLmNvbm5lY3Rpb25NYW5hZ2VyID0gY29ubmVjdGlvbk1hbmFnZXI7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jb25uZWN0aW9uTWFuYWdlciAhPT0gbnVsbCAmJiB0eXBlb2YgdGhpcy5jb25uZWN0aW9uTWFuYWdlciAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIHRoaXMubG9hZEFwcEluZm8oKTtcbiAgICAgICAgICAgIHRoaXMuY29ubmVjdGlvbk1hbmFnZXIuc2V0UGhsb3hBcHBJbmZvKHRoaXMuYXBwSW5mbyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgbG9hZEFwcEluZm8oKTogUHJvbWlzZTxQaGxveEFwcEluZm8+IHtcbiAgICAgICAgLy8gISBUT0RPOiBFZGl0IHRoaXMgb24gUFJPRFVDVElPTlxuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG5ldyBQaGxveEFwcEluZm8oXCJcIixcIlwiLFwiXCIsXCJcIikpO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWxvYWQoKTogUHJvbWlzZTxQaGxveEFwcEluZm8+IHtcbiAgICAgICAgdGhpcy5hcHBJbmZvID0gbnVsbDtcblxuICAgICAgICByZXR1cm4gdGhpcy5nZXRBcHBJbmZvKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogPHAgc3R5bGU9XCJ0ZXh0LWluZGVudDogMWVtO1wiPlxuICAgICAqIEdldCBbW1BobG94QXBwSW5mb11dIG9mIGN1cnJlbnRseSBydW5uaW5nIDxjb2RlPmFwcGxpY2F0aW9uPC9jb2RlPi5cbiAgICAgKiA8L3A+XG4gICAgICpcbiAgICAgKiBAcmV0dXJuIEEgPGNvZGU+UHJvbWlzZTwvY29kZT4gd2hpY2ggd2lsbCBiZSByZXNvbHZlZCB3aGVuIHRoZSBbW1BobG94QXBwSW5mb11dIG9iamVjdCBpcyByZWFkeS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0QXBwSW5mbygpOiBQcm9taXNlPFBobG94QXBwSW5mbz4ge1xuICAgICAgICBpZiAodGhpcy5hcHBJbmZvICE9PSBudWxsICYmIHR5cGVvZiB0aGlzLmFwcEluZm8gIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMuYXBwSW5mbyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5sb2FkQXBwSW5mbygpLnRoZW4oKHJlc3VsdDogUGhsb3hBcHBJbmZvKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5hcHBJbmZvID0gcmVzdWx0O1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh0aGlzLmFwcEluZm8pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiJdfQ==