@hpe/angular-toolkit
Version:
Hewlett-Packard Enterprise : Angular toolkit for rapid project development
99 lines (97 loc) • 9.39 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
//=============================================================================
//===
//=== (C) Copyright 2018 Hewlett Packard Enterprise Development LP.
//===
//=== Use of this source code is governed by an MIT-style license that can be
//=== found in the LICENSE file
//=============================================================================
import { ChangeDetectorRef, Component } from '@angular/core';
import { AppEvent } from "@hpe/angular-toolkit/model";
import { AbstractSubscriber } from "@hpe/angular-toolkit/service";
import { EventBusService } from "@hpe/angular-toolkit/service";
//=============================================================================
export class LoadingSpinner extends AbstractSubscriber {
/**
* @param {?} eventBusService
* @param {?} changeDetectorRef
*/
constructor(eventBusService, changeDetectorRef) {
super(eventBusService);
this.changeDetectorRef = changeDetectorRef;
//-------------------------------------------------------------------------
//---
//--- Variables
//---
//-------------------------------------------------------------------------
this.state = "loaded";
//-------------------------------------------------------------------------
this.classes = {
loading: "fa-pulse",
loaded: "loaded",
};
//--- Local Fat Arrow is mandatory in order to preserve 'this'
super.subscribeToApp(AppEvent.SUBMIT_START, event => this.onSubmitStart(event));
super.subscribeToApp(AppEvent.SUBMIT_END, event => this.onSubmitEnd(event));
}
/**
* @param {?} event
* @return {?}
*/
onSubmitStart(event) {
this.state = "loading";
this.changeDetectorRef.detectChanges();
}
/**
* @param {?} event
* @return {?}
*/
onSubmitEnd(event) {
this.state = "loaded";
this.changeDetectorRef.detectChanges();
}
}
LoadingSpinner.decorators = [
{ type: Component, args: [{
selector: 'hpe-loading-spinner',
template: `<!--
=============================================================================
===
=== (C) Copyright 2018 Hewlett Packard Enterprise Development LP.
===
=== Use of this source code is governed by an MIT-style license that can be
=== found in the LICENSE file
=============================================================================
-->
<div class="loadingContainer" >
<i class="fa fa-circle-o-notch fa-2x" [ngClass]="classes[state]"></i>
</div>
`,
styles: [`.loadingContainer{height:100%;display:flex;align-items:center}.loaded{display:none}`]
},] },
];
/** @nocollapse */
LoadingSpinner.ctorParameters = () => [
{ type: EventBusService, },
{ type: ChangeDetectorRef, },
];
function LoadingSpinner_tsickle_Closure_declarations() {
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
LoadingSpinner.decorators;
/**
* @nocollapse
* @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>}
*/
LoadingSpinner.ctorParameters;
/** @type {?} */
LoadingSpinner.prototype.state;
/** @type {?} */
LoadingSpinner.prototype.classes;
/** @type {?} */
LoadingSpinner.prototype.changeDetectorRef;
}
//=============================================================================
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy1zcGlubmVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGhwZS9hbmd1bGFyLXRvb2xraXQvZ3VpL3BhbmVsLyIsInNvdXJjZXMiOlsidG9vbGJhci9sb2FkaW5nLXNwaW5uZXIvbG9hZGluZy1zcGlubmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBUUEsT0FBTyxFQUFDLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU1RCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQWdCLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBUyw4QkFBOEIsQ0FBQztBQUtoRTtBQXFCQSxNQUFNLHFCQUFzQixTQUFRLGtCQUFrQjs7Ozs7SUF1QnJELFlBQVksZUFBaUMsRUFBVSxpQkFBcUM7UUFFM0YsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRitCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBb0I7Ozs7OztxQkFmM0UsUUFBUTs7dUJBSVQ7WUFDZixPQUFPLEVBQUcsVUFBVTtZQUNwQixNQUFNLEVBQUksUUFBUTtTQUNsQjs7UUFhQSxLQUFLLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDaEYsS0FBSyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFJLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0tBQzlFOzs7OztJQVFPLGFBQWEsQ0FBQyxLQUFlO1FBQ3BDLElBQUksQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQzs7Ozs7O0lBS2hDLFdBQVcsQ0FBQyxLQUFlO1FBQ2xDLElBQUksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQzs7OztZQXBFeEMsU0FBUyxTQUFDO2dCQUNWLFFBQVEsRUFBWSxxQkFBcUI7Z0JBQ3pDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7OztDQWFWO2dCQUNBLE1BQU0sRUFBRSxDQUFDLHFGQUFxRixDQUFDO2FBQy9GOzs7O1lBdEJPLGVBQWU7WUFKZixpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyIvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLz09PVxuLy89PT0gKEMpIENvcHlyaWdodCAyMDE4IEhld2xldHQgUGFja2FyZCBFbnRlcnByaXNlIERldmVsb3BtZW50IExQLlxuLy89PT1cbi8vPT09IFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4vLz09PSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmltcG9ydCB7Q2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge0FwcEV2ZW50fSAgICAgICAgICAgZnJvbSBcIkBocGUvYW5ndWxhci10b29sa2l0L21vZGVsXCI7XG5pbXBvcnQge0Fic3RyYWN0U3Vic2NyaWJlcn0gZnJvbSBcIkBocGUvYW5ndWxhci10b29sa2l0L3NlcnZpY2VcIjtcbmltcG9ydCB7RXZlbnRCdXNTZXJ2aWNlfSAgICBmcm9tIFwiQGhwZS9hbmd1bGFyLXRvb2xraXQvc2VydmljZVwiO1xuaW1wb3J0IHtIdHRwU2VydmljZX0gICAgICAgIGZyb20gXCJAaHBlL2FuZ3VsYXItdG9vbGtpdC9zZXJ2aWNlXCI7XG5cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yICAgICAgOiAgICAgJ2hwZS1sb2FkaW5nLXNwaW5uZXInLFxuXHR0ZW1wbGF0ZTogYDwhLS1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT1cbj09PSAoQykgQ29weXJpZ2h0IDIwMTggSGV3bGV0dCBQYWNrYXJkIEVudGVycHJpc2UgRGV2ZWxvcG1lbnQgTFAuXG49PT1cbj09PSBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuPT09IGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGVcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4tLT5cblxuPGRpdiBjbGFzcz1cImxvYWRpbmdDb250YWluZXJcIiA+XG5cdDxpIGNsYXNzPVwiZmEgZmEtY2lyY2xlLW8tbm90Y2ggZmEtMnhcIiBbbmdDbGFzc109XCJjbGFzc2VzW3N0YXRlXVwiPjwvaT5cbjwvZGl2PlxuYCxcblx0c3R5bGVzOiBbYC5sb2FkaW5nQ29udGFpbmVye2hlaWdodDoxMDAlO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXJ9LmxvYWRlZHtkaXNwbGF5Om5vbmV9YF1cbn0pXG5cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZXhwb3J0IGNsYXNzIExvYWRpbmdTcGlubmVyIGV4dGVuZHMgQWJzdHJhY3RTdWJzY3JpYmVyIHtcblxuXHQvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblx0Ly8tLS1cblx0Ly8tLS0gVmFyaWFibGVzXG5cdC8vLS0tXG5cdC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cdHN0YXRlIDogc3RyaW5nID0gXCJsb2FkZWRcIjtcblxuXHQvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXHRjbGFzc2VzIDogYW55ID0ge1xuXHRcdGxvYWRpbmcgOiBcImZhLXB1bHNlXCIsXG5cdFx0bG9hZGVkICA6IFwibG9hZGVkXCIsXG5cdH07XG5cblx0Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cdC8vLS0tXG5cdC8vLS0tIENvbnN0cnVjdG9yXG5cdC8vLS0tXG5cdC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cdGNvbnN0cnVjdG9yKGV2ZW50QnVzU2VydmljZSA6IEV2ZW50QnVzU2VydmljZSwgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZiA6IENoYW5nZURldGVjdG9yUmVmKSB7XG5cblx0XHRzdXBlcihldmVudEJ1c1NlcnZpY2UpO1xuXG5cdFx0Ly8tLS0gTG9jYWwgRmF0IEFycm93IGlzIG1hbmRhdG9yeSBpbiBvcmRlciB0byBwcmVzZXJ2ZSAndGhpcydcblx0XHRzdXBlci5zdWJzY3JpYmVUb0FwcChBcHBFdmVudC5TVUJNSVRfU1RBUlQsIGV2ZW50ID0+IHRoaXMub25TdWJtaXRTdGFydChldmVudCkpO1xuXHRcdHN1cGVyLnN1YnNjcmliZVRvQXBwKEFwcEV2ZW50LlNVQk1JVF9FTkQsICAgZXZlbnQgPT4gdGhpcy5vblN1Ym1pdEVuZChldmVudCkpO1xuXHR9XG5cblx0Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cdC8vLS0tXG5cdC8vLS0tIEV2ZW50IG1ldGhvZHNcblx0Ly8tLS1cblx0Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblx0cHJpdmF0ZSBvblN1Ym1pdFN0YXJ0KGV2ZW50OiBBcHBFdmVudCkge1xuXHRcdHRoaXMuc3RhdGUgPSBcImxvYWRpbmdcIjtcblx0XHR0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcblx0fVxuXG5cdC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cdHByaXZhdGUgb25TdWJtaXRFbmQoZXZlbnQ6IEFwcEV2ZW50KSB7XG5cdFx0dGhpcy5zdGF0ZSA9IFwibG9hZGVkXCI7XG5cdFx0dGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG5cdH1cbn1cblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuIl19