@hpe/angular-toolkit
Version:
Hewlett-Packard Enterprise : Angular toolkit for rapid project development
99 lines (96 loc) • 9.46 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 { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
import { OverlayPanel } from "primeng/primeng";
//=============================================================================
export class ToolbarButton {
constructor() {
//-------------------------------------------------------------------------
this.onClick = new EventEmitter();
this.toggle = false;
this.highlighted = false;
this.selected = false;
}
/**
* @param {?} event
* @return {?}
*/
onButtonClick(event) {
if (this.toggle) {
this.selected = !this.selected;
this.overlayPanel.toggle(event);
}
this.onClick.emit(event);
}
}
ToolbarButton.decorators = [
{ type: Component, args: [{
selector: 'hpe-toolbar-button',
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
=============================================================================
-->
<button mat-button class = "button"
(click) = "onButtonClick($event)"
[ngClass] = "{'selected':selected, 'highlighted':highlighted, 'disabled':disabled}"
[disabled]= "disabled">
<hpe-toolbar-icon [name]="icon"></hpe-toolbar-icon>
</button>
<p-overlayPanel #op [dismissable]="false" styleClass="content">
<ng-content></ng-content>
</p-overlayPanel>
`,
styles: [`.button{min-width:100%;height:100%;color:#fff}.selected{background-color:rgba(0,0,0,.2)}:host .highlighted{color:#ff8d6d}:host .disabled{color:#c6c9ca}:host ::ng-deep .ui-overlaypanel{display:block!important}:host ::ng-deep .ui-overlaypanel-content{max-height:30rem;overflow-y:auto;padding:0}`]
},] },
];
/** @nocollapse */
ToolbarButton.ctorParameters = () => [];
ToolbarButton.propDecorators = {
"icon": [{ type: Input },],
"toggle": [{ type: Input },],
"highlighted": [{ type: Input },],
"disabled": [{ type: Input },],
"onClick": [{ type: Output },],
"overlayPanel": [{ type: ViewChild, args: ["op",] },],
};
function ToolbarButton_tsickle_Closure_declarations() {
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
ToolbarButton.decorators;
/**
* @nocollapse
* @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>}
*/
ToolbarButton.ctorParameters;
/** @type {!Object<string,!Array<{type: !Function, args: (undefined|!Array<?>)}>>} */
ToolbarButton.propDecorators;
/** @type {?} */
ToolbarButton.prototype.icon;
/** @type {?} */
ToolbarButton.prototype.toggle;
/** @type {?} */
ToolbarButton.prototype.highlighted;
/** @type {?} */
ToolbarButton.prototype.disabled;
/** @type {?} */
ToolbarButton.prototype.onClick;
/** @type {?} */
ToolbarButton.prototype.selected;
/** @type {?} */
ToolbarButton.prototype.overlayPanel;
}
//=============================================================================
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci1idXR0b24uanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaHBlL2FuZ3VsYXItdG9vbGtpdC9ndWkvcGFuZWwvIiwic291cmNlcyI6WyJ0b29sYmFyL3Rvb2xiYXItYnV0dG9uL3Rvb2xiYXItYnV0dG9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBUUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBSTdDO0FBNEJBLE1BQU07SUErQkw7O3VCQWhCd0MsSUFBSSxZQUFZLEVBQUU7UUFpQnpELElBQUksQ0FBQyxNQUFNLEdBQVEsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxRQUFRLEdBQU0sS0FBSyxDQUFDO0tBQ3pCOzs7OztJQVFELGFBQWEsQ0FBQyxLQUFLO1FBRWxCLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQ2pCLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBRSxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ2hDO1FBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDekI7OztZQS9FRCxTQUFTLFNBQUM7Z0JBQ1YsUUFBUSxFQUFVLG9CQUFvQjtnQkFDdEMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQW9CVjtnQkFDQSxNQUFNLEVBQUUsQ0FBQyxzU0FBc1MsQ0FBQzthQUNoVDs7Ozs7cUJBWUMsS0FBSzt1QkFDTCxLQUFLOzRCQUNMLEtBQUs7eUJBQ0wsS0FBSzt3QkFJTCxNQUFNOzZCQVFOLFNBQVMsU0FBQyxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy89PT1cbi8vPT09IChDKSBDb3B5cmlnaHQgMjAxOCBIZXdsZXR0IFBhY2thcmQgRW50ZXJwcmlzZSBEZXZlbG9wbWVudCBMUC5cbi8vPT09XG4vLz09PSBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuLy89PT0gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZVxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5pbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtPdmVybGF5UGFuZWx9IGZyb20gXCJwcmltZW5nL3ByaW1lbmdcIjtcblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3IgICAgOiAgICAgJ2hwZS10b29sYmFyLWJ1dHRvbicsXG5cdHRlbXBsYXRlOiBgPCEtLVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PVxuPT09IChDKSBDb3B5cmlnaHQgMjAxOCBIZXdsZXR0IFBhY2thcmQgRW50ZXJwcmlzZSBEZXZlbG9wbWVudCBMUC5cbj09PVxuPT09IFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG49PT0gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi0tPlxuXG48YnV0dG9uIG1hdC1idXR0b24gXHRjbGFzcyAgICAgPSBcImJ1dHRvblwiXG5cdFx0XHRcdFx0KGNsaWNrKSAgID0gXCJvbkJ1dHRvbkNsaWNrKCRldmVudClcIlxuXHRcdFx0XHRcdFtuZ0NsYXNzXSA9IFwieydzZWxlY3RlZCc6c2VsZWN0ZWQsICdoaWdobGlnaHRlZCc6aGlnaGxpZ2h0ZWQsICdkaXNhYmxlZCc6ZGlzYWJsZWR9XCJcblx0XHRcdFx0XHRbZGlzYWJsZWRdPSBcImRpc2FibGVkXCI+XG5cdDxocGUtdG9vbGJhci1pY29uIFtuYW1lXT1cImljb25cIj48L2hwZS10b29sYmFyLWljb24+XG48L2J1dHRvbj5cblxuPHAtb3ZlcmxheVBhbmVsICNvcCBbZGlzbWlzc2FibGVdPVwiZmFsc2VcIiBzdHlsZUNsYXNzPVwiY29udGVudFwiPlxuXHQ8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L3Atb3ZlcmxheVBhbmVsPlxuYCxcblx0c3R5bGVzOiBbYC5idXR0b257bWluLXdpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7Y29sb3I6I2ZmZn0uc2VsZWN0ZWR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4yKX06aG9zdCAuaGlnaGxpZ2h0ZWR7Y29sb3I6I2ZmOGQ2ZH06aG9zdCAuZGlzYWJsZWR7Y29sb3I6I2M2YzljYX06aG9zdCA6Om5nLWRlZXAgLnVpLW92ZXJsYXlwYW5lbHtkaXNwbGF5OmJsb2NrIWltcG9ydGFudH06aG9zdCA6Om5nLWRlZXAgLnVpLW92ZXJsYXlwYW5lbC1jb250ZW50e21heC1oZWlnaHQ6MzByZW07b3ZlcmZsb3cteTphdXRvO3BhZGRpbmc6MH1gXVxufSlcblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5leHBvcnQgY2xhc3MgVG9vbGJhckJ1dHRvbiB7XG5cblx0Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cdC8vLS0tXG5cdC8vLS0tIFZhcmlhYmxlc1xuXHQvLy0tLVxuXHQvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXHRASW5wdXQoKSBpY29uICAgICAgICA6IHN0cmluZztcblx0QElucHV0KCkgdG9nZ2xlICAgICAgOiBib29sZWFuO1xuXHRASW5wdXQoKSBoaWdobGlnaHRlZCA6IGJvb2xlYW47XG5cdEBJbnB1dCgpIGRpc2FibGVkICAgIDogYm9vbGVhbjtcblxuXHQvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXHRAT3V0cHV0KCkgb25DbGljayA6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG5cdC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cdHNlbGVjdGVkIDogYm9vbGVhbjtcblxuXHQvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXHRAVmlld0NoaWxkKFwib3BcIikgcHJpdmF0ZSBvdmVybGF5UGFuZWw6IE92ZXJsYXlQYW5lbDtcblxuXHQvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblx0Ly8tLS1cblx0Ly8tLS0gQ29uc3RydWN0b3Jcblx0Ly8tLS1cblx0Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0dGhpcy50b2dnbGUgICAgICA9IGZhbHNlO1xuXHRcdHRoaXMuaGlnaGxpZ2h0ZWQgPSBmYWxzZTtcblx0XHR0aGlzLnNlbGVjdGVkICAgID0gZmFsc2U7XG5cdH1cblxuXHQvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblx0Ly8tLS1cblx0Ly8tLS0gRXZlbnRzXG5cdC8vLS0tXG5cdC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cdG9uQnV0dG9uQ2xpY2soZXZlbnQpIDogdm9pZCB7XG5cblx0XHRpZiAodGhpcy50b2dnbGUpIHtcblx0XHRcdHRoaXMuc2VsZWN0ZWQgPSAhIHRoaXMuc2VsZWN0ZWQ7XG5cdFx0XHR0aGlzLm92ZXJsYXlQYW5lbC50b2dnbGUoZXZlbnQpO1xuXHRcdH1cblxuXHRcdHRoaXMub25DbGljay5lbWl0KGV2ZW50KTtcblx0fVxufVxuXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4iXX0=