air-lib
Version:
This is Air's angular component library
129 lines • 8.21 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Input, Output, EventEmitter } from '@angular/core';
import { NavigationMode } from './navigation-mode';
/**
* @template T
*/
export class BaseTileComponent {
/**
* @param {?} httpService
* @param {?} router
*/
constructor(httpService, router) {
this.httpService = httpService;
this.router = router;
this.linkClicked = new EventEmitter();
this.hasLoading = false;
this.loadOnInit = true;
this.navigationMode = NavigationMode.ByWindowLocation;
}
/**
* @return {?}
*/
ngOnInit() {
if (this.arguments && this.arguments.length > 0 && typeof (this.arguments[0].loadOnInit) !== 'undefined') {
this.loadOnInit = this.arguments[0].loadOnInit;
}
if (this.loadOnInit) {
this.fillData();
}
}
/**
* @return {?}
*/
fillData() {
this.hasLoading = true;
this.httpService.httpGet(this.apiMethod).subscribe((data) => {
this.ownData = this.transformData(data);
this.hasLoading = false;
}, err => {
this.hasLoading = false;
console.log(err);
});
}
/**
* @protected
* @param {?} data
* @return {?}
*/
transformData(data) {
return data;
}
/**
* @return {?}
*/
onLinkClicked() {
/** @type {?} */
const eventData = {
link: this.link,
navigationMode: this.navigationMode
};
this.linkClicked.emit(eventData);
}
/**
* @return {?}
*/
loadData() {
this.fillData();
}
/**
* @return {?}
*/
getDataForState() {
return null;
}
}
BaseTileComponent.propDecorators = {
arguments: [{ type: Input }],
linkClicked: [{ type: Output }]
};
if (false) {
/** @type {?} */
BaseTileComponent.prototype.arguments;
/** @type {?} */
BaseTileComponent.prototype.linkClicked;
/** @type {?} */
BaseTileComponent.prototype.ownData;
/** @type {?} */
BaseTileComponent.prototype.component;
/** @type {?} */
BaseTileComponent.prototype.canRemove;
/** @type {?} */
BaseTileComponent.prototype.hasLoading;
/** @type {?} */
BaseTileComponent.prototype.type;
/**
* @type {?}
* @protected
*/
BaseTileComponent.prototype.loadOnInit;
/**
* @type {?}
* @protected
*/
BaseTileComponent.prototype.apiMethod;
/**
* @type {?}
* @protected
*/
BaseTileComponent.prototype.link;
/**
* @type {?}
* @protected
*/
BaseTileComponent.prototype.navigationMode;
/**
* @type {?}
* @protected
*/
BaseTileComponent.prototype.httpService;
/**
* @type {?}
* @protected
*/
BaseTileComponent.prototype.router;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS10aWxlLWNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2Fpci1saWIvIiwic291cmNlcyI6WyJsaWIvZW50aXRpZXMvYmFzZS10aWxlLWNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFVLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFtQixNQUFNLGVBQWUsQ0FBQztBQUdyRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7QUFHbkQsTUFBTTs7Ozs7SUFnQkYsWUFBc0IsV0FBd0IsRUFBWSxNQUFjO1FBQWxELGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQVksV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQWI5RCxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFLcEMsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUdoQixlQUFVLEdBQUcsSUFBSSxDQUFDO1FBR2xCLG1CQUFjLEdBQW1CLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQztJQUczRSxDQUFDOzs7O0lBRU0sUUFBUTtRQUNiLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksT0FBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEtBQUssV0FBVyxFQUFFO1lBQ3ZHLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7U0FDaEQ7UUFFRCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ2pCO0lBQ0gsQ0FBQzs7OztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUN2QixJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBUyxDQUNoRCxDQUFDLElBQVMsRUFBRSxFQUFFO1lBQ1osSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3hDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQzFCLENBQUMsRUFDRCxHQUFHLENBQUMsRUFBRTtZQUNKLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1lBQ3hCLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbkIsQ0FBQyxDQUNGLENBQUM7SUFDSixDQUFDOzs7Ozs7SUFFUyxhQUFhLENBQUMsSUFBUztRQUMvQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Ozs7SUFFTSxhQUFhOztjQUNaLFNBQVMsR0FBRztZQUNoQixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixjQUFjLEVBQUUsSUFBSSxDQUFDLGNBQWM7U0FDcEM7UUFFRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNuQyxDQUFDOzs7O0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDOzs7O0lBRU0sZUFBZTtRQUNsQixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDOzs7d0JBN0RBLEtBQUs7MEJBRUwsTUFBTTs7OztJQUZQLHNDQUErQjs7SUFFL0Isd0NBQTJDOztJQUUzQyxvQ0FBa0I7O0lBQ2xCLHNDQUE0Qjs7SUFDNUIsc0NBQTBCOztJQUMxQix1Q0FBMEI7O0lBQzFCLGlDQUFxQjs7Ozs7SUFFckIsdUNBQTRCOzs7OztJQUM1QixzQ0FBNEI7Ozs7O0lBQzVCLGlDQUF1Qjs7Ozs7SUFDdkIsMkNBQTJFOzs7OztJQUUvRCx3Q0FBa0M7Ozs7O0lBQUUsbUNBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIFR5cGUsIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBIdHRwU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2h0dHAuc2VydmljZSc7XHJcbmltcG9ydCB7IE5hdmlnYXRpb25Nb2RlIH0gZnJvbSAnLi9uYXZpZ2F0aW9uLW1vZGUnO1xyXG5pbXBvcnQgeyBJVGlsZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvaXRpbGUnO1xyXG5cclxuZXhwb3J0IGNsYXNzIEJhc2VUaWxlQ29tcG9uZW50PFQ+IGltcGxlbWVudHMgT25Jbml0LCBJVGlsZTxUPiB7XHJcbiAgICBASW5wdXQoKSBhcmd1bWVudHM6IEFycmF5PGFueT47XHJcblxyXG4gICAgQE91dHB1dCgpIGxpbmtDbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICAgIHB1YmxpYyBvd25EYXRhOiBUO1xyXG4gICAgcHVibGljIGNvbXBvbmVudDogVHlwZTxhbnk+O1xyXG4gICAgcHVibGljIGNhblJlbW92ZTogYm9vbGVhbjtcclxuICAgIHB1YmxpYyBoYXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgdHlwZT86IHN0cmluZztcclxuXHJcbiAgICBwcm90ZWN0ZWQgbG9hZE9uSW5pdCA9IHRydWU7XHJcbiAgICBwcm90ZWN0ZWQgYXBpTWV0aG9kOiBzdHJpbmc7XHJcbiAgICBwcm90ZWN0ZWQgbGluazogc3RyaW5nO1xyXG4gICAgcHJvdGVjdGVkIG5hdmlnYXRpb25Nb2RlOiBOYXZpZ2F0aW9uTW9kZSA9IE5hdmlnYXRpb25Nb2RlLkJ5V2luZG93TG9jYXRpb247XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIGh0dHBTZXJ2aWNlOiBIdHRwU2VydmljZSwgcHJvdGVjdGVkIHJvdXRlcjogUm91dGVyKSB7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG5nT25Jbml0KCkge1xyXG4gICAgICBpZiAodGhpcy5hcmd1bWVudHMgJiYgdGhpcy5hcmd1bWVudHMubGVuZ3RoID4gMCAmJiB0eXBlb2YodGhpcy5hcmd1bWVudHNbMF0ubG9hZE9uSW5pdCkgIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgICAgdGhpcy5sb2FkT25Jbml0ID0gdGhpcy5hcmd1bWVudHNbMF0ubG9hZE9uSW5pdDtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKHRoaXMubG9hZE9uSW5pdCkge1xyXG4gICAgICAgIHRoaXMuZmlsbERhdGEoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBmaWxsRGF0YSgpOiBhbnkge1xyXG4gICAgICB0aGlzLmhhc0xvYWRpbmcgPSB0cnVlO1xyXG4gICAgICB0aGlzLmh0dHBTZXJ2aWNlLmh0dHBHZXQodGhpcy5hcGlNZXRob2QpLnN1YnNjcmliZShcclxuICAgICAgICAoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLm93bkRhdGEgPSB0aGlzLnRyYW5zZm9ybURhdGEoZGF0YSk7XHJcbiAgICAgICAgICB0aGlzLmhhc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGVyciA9PiB7XHJcbiAgICAgICAgICB0aGlzLmhhc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKGVycik7XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCB0cmFuc2Zvcm1EYXRhKGRhdGE6IGFueSk6IFQge1xyXG4gICAgICByZXR1cm4gZGF0YTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgb25MaW5rQ2xpY2tlZCgpIHtcclxuICAgICAgY29uc3QgZXZlbnREYXRhID0ge1xyXG4gICAgICAgIGxpbms6IHRoaXMubGluayxcclxuICAgICAgICBuYXZpZ2F0aW9uTW9kZTogdGhpcy5uYXZpZ2F0aW9uTW9kZVxyXG4gICAgICB9O1xyXG5cclxuICAgICAgdGhpcy5saW5rQ2xpY2tlZC5lbWl0KGV2ZW50RGF0YSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGxvYWREYXRhKCkge1xyXG4gICAgICB0aGlzLmZpbGxEYXRhKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldERhdGFGb3JTdGF0ZSgpIHtcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxufVxyXG4iXX0=