UNPKG

@hpe/angular-toolkit

Version:

Hewlett-Packard Enterprise : Angular toolkit for rapid project development

94 lines (92 loc) 9.32 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 ButtonPanel extends AbstractSubscriber { /** * @param {?} eventBusService * @param {?} changeDetectorRef */ constructor(eventBusService, changeDetectorRef) { super(eventBusService); this.changeDetectorRef = changeDetectorRef; this.submitting = false; super.subscribeToApp(AppEvent.SUBMIT_START, () => this.onSubmitStart()); super.subscribeToApp(AppEvent.SUBMIT_END, () => this.onSubmitEnd()); } /** * @return {?} */ getComponentClass() { let /** @type {?} */ styles = ['row']; if (this.submitting) { styles.push("disabled"); } return styles; } /** * @return {?} */ onSubmitStart() { this.submitting = true; this.changeDetectorRef.detectChanges(); } /** * @return {?} */ onSubmitEnd() { this.submitting = false; this.changeDetectorRef.detectChanges(); } } ButtonPanel.decorators = [ { type: Component, args: [{ selector: 'hpe-button-panel', 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 [ngClass]="getComponentClass()"> <ng-content></ng-content> </div> `, styles: [`.row{display:flex;padding:1rem;border-top:1px solid #e1e1e1;justify-content:center;background-color:#f6f6f6}.disabled{pointer-events:none;background-color:#c6c9ca}`] },] }, ]; /** @nocollapse */ ButtonPanel.ctorParameters = () => [ { type: EventBusService, }, { type: ChangeDetectorRef, }, ]; function ButtonPanel_tsickle_Closure_declarations() { /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */ ButtonPanel.decorators; /** * @nocollapse * @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>} */ ButtonPanel.ctorParameters; /** @type {?} */ ButtonPanel.prototype.submitting; /** @type {?} */ ButtonPanel.prototype.changeDetectorRef; } //============================================================================= //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLXBhbmVsLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGhwZS9hbmd1bGFyLXRvb2xraXQvZ3VpL3BhbmVsLyIsInNvdXJjZXMiOlsiYnV0dG9uLXBhbmVsL2J1dHRvbi1wYW5lbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQVFBLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFM0QsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFnQiw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQVMsOEJBQThCLENBQUM7QUFJaEU7QUFxQkEsTUFBTSxrQkFBbUIsU0FBUSxrQkFBa0I7Ozs7O0lBZ0JsRCxZQUFZLGVBQWlDLEVBQVUsaUJBQW9DO1FBRXZGLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUY0QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBSTFGLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLEtBQUssQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztRQUNsRSxLQUFLLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUksR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7S0FDNUU7Ozs7SUFRTSxpQkFBaUI7UUFFdkIscUJBQUksTUFBTSxHQUFjLENBQUUsS0FBSyxDQUFFLENBQUM7UUFFbEMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7WUFDckIsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUN4QjtRQUVELE1BQU0sQ0FBQyxNQUFNLENBQUM7Ozs7O0lBU0osYUFBYTtRQUVqQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUN2QixJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7Ozs7O0lBS25DLFdBQVc7UUFFZixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUN4QixJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7Ozs7WUFoRjlDLFNBQVMsU0FBQztnQkFDVixRQUFRLEVBQVUsa0JBQWtCO2dCQUNwQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Q0FhVjtnQkFDQSxNQUFNLEVBQUUsQ0FBQyxxS0FBcUssQ0FBQzthQUMvSzs7OztZQXJCTyxlQUFlO1lBSmYsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy89PT1cbi8vPT09IChDKSBDb3B5cmlnaHQgMjAxOCBIZXdsZXR0IFBhY2thcmQgRW50ZXJwcmlzZSBEZXZlbG9wbWVudCBMUC5cbi8vPT09XG4vLz09PSBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuLy89PT0gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZVxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5pbXBvcnQge0NoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnR9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbmltcG9ydCB7QXBwRXZlbnR9ICAgICAgICAgICBmcm9tIFwiQGhwZS9hbmd1bGFyLXRvb2xraXQvbW9kZWxcIjtcbmltcG9ydCB7QWJzdHJhY3RTdWJzY3JpYmVyfSBmcm9tIFwiQGhwZS9hbmd1bGFyLXRvb2xraXQvc2VydmljZVwiO1xuaW1wb3J0IHtFdmVudEJ1c1NlcnZpY2V9ICAgIGZyb20gXCJAaHBlL2FuZ3VsYXItdG9vbGtpdC9zZXJ2aWNlXCI7XG5cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yICAgIDogICAgICdocGUtYnV0dG9uLXBhbmVsJyxcblx0dGVtcGxhdGU6IGA8IS0tXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuPT09XG49PT0gKEMpIENvcHlyaWdodCAyMDE4IEhld2xldHQgUGFja2FyZCBFbnRlcnByaXNlIERldmVsb3BtZW50IExQLlxuPT09XG49PT0gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbj09PSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLS0+XG5cbjxkaXYgW25nQ2xhc3NdPVwiZ2V0Q29tcG9uZW50Q2xhc3MoKVwiPlxuICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gPC9kaXY+XG5gLFxuXHRzdHlsZXM6IFtgLnJvd3tkaXNwbGF5OmZsZXg7cGFkZGluZzoxcmVtO2JvcmRlci10b3A6MXB4IHNvbGlkICNlMWUxZTE7anVzdGlmeS1jb250ZW50OmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOiNmNmY2ZjZ9LmRpc2FibGVke3BvaW50ZXItZXZlbnRzOm5vbmU7YmFja2dyb3VuZC1jb2xvcjojYzZjOWNhfWBdXG59KVxuXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmV4cG9ydCBjbGFzcyBCdXR0b25QYW5lbCBleHRlbmRzIEFic3RyYWN0U3Vic2NyaWJlciB7XG5cblx0Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cdC8vLS0tXG5cdC8vLS0tIFZhcmlhYmxlc1xuXHQvLy0tLVxuXHQvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByaXZhdGUgc3VibWl0dGluZyA6IGJvb2xlYW47XG5cblx0Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cdC8vLS0tXG5cdC8vLS0tIENvbnN0cnVjdG9yXG5cdC8vLS0tXG5cdC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cdGNvbnN0cnVjdG9yKGV2ZW50QnVzU2VydmljZSA6IEV2ZW50QnVzU2VydmljZSwgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcblxuXHQgICAgc3VwZXIoZXZlbnRCdXNTZXJ2aWNlKTtcblxuXHRcdHRoaXMuc3VibWl0dGluZyA9IGZhbHNlO1xuXHRcdHN1cGVyLnN1YnNjcmliZVRvQXBwKEFwcEV2ZW50LlNVQk1JVF9TVEFSVCwgKCkgPT4gdGhpcy5vblN1Ym1pdFN0YXJ0KCkpO1xuICAgICAgICBzdXBlci5zdWJzY3JpYmVUb0FwcChBcHBFdmVudC5TVUJNSVRfRU5ELCAgICgpID0+IHRoaXMub25TdWJtaXRFbmQoKSk7XG5cdH1cblxuXHQvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblx0Ly8tLS1cblx0Ly8tLS0gQVBJIG1ldGhvZHNcblx0Ly8tLS1cblx0Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblx0cHVibGljIGdldENvbXBvbmVudENsYXNzKCkgOiBzdHJpbmdbXSB7XG5cblx0XHRsZXQgc3R5bGVzIDogc3RyaW5nW10gPSBbICdyb3cnIF07XG5cblx0XHRpZiAodGhpcy5zdWJtaXR0aW5nKSB7XG5cdFx0XHRzdHlsZXMucHVzaChcImRpc2FibGVkXCIpO1xuXHRcdH1cblxuXHRcdHJldHVybiBzdHlsZXM7XG5cdH1cblxuXHQvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLy0tLVxuICAgIC8vLS0tIEV2ZW50IG1ldGhvZHNcbiAgICAvLy0tLVxuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHJpdmF0ZSBvblN1Ym1pdFN0YXJ0KCkge1xuXG4gICAgICAgIHRoaXMuc3VibWl0dGluZyA9IHRydWU7XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHJpdmF0ZSBvblN1Ym1pdEVuZCgpIHtcblxuICAgICAgICB0aGlzLnN1Ym1pdHRpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxufVxuXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4iXX0=