UNPKG

@hpe/angular-toolkit

Version:

Hewlett-Packard Enterprise : Angular toolkit for rapid project development

99 lines (97 loc) 9.39 kB
/** * @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