UNPKG

fundamental-ngx

Version:

SAP Fiori Fundamentals, implemented in Angular

73 lines 5.28 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Component, ElementRef, EventEmitter, HostListener, Output, ViewChild, ViewEncapsulation } from '@angular/core'; /** * A token is used to represent contextualizing information. * They can be useful to show applied filters, selected values for form fields or object metadata. */ export class TokenComponent { /** * @hidden * @param {?} elRef */ constructor(elRef) { this.elRef = elRef; /** * Emitted when the *x* icon is clicked. Specifically, any pseudo-element. */ this.onCloseClick = new EventEmitter(); } /** * @hidden * @param {?} event * @return {?} */ clickHandler(event) { if (this.contentContainer) { if (this.elRef.nativeElement.contains(event.target) && !this.contentContainer.nativeElement.contains(event.target)) { this.onCloseClick.emit(); } } } } TokenComponent.decorators = [ { type: Component, args: [{ selector: 'fd-token', template: "<span class=\"fd-token-content\" #contentContainer>\n <ng-content></ng-content>\n</span>\n\n", host: { class: 'fd-token', 'role': 'button' }, encapsulation: ViewEncapsulation.None, styles: [".fd-token-content{display:inline-block}"] }] } ]; /** @nocollapse */ TokenComponent.ctorParameters = () => [ { type: ElementRef } ]; TokenComponent.propDecorators = { contentContainer: [{ type: ViewChild, args: ['contentContainer',] }], onCloseClick: [{ type: Output }], clickHandler: [{ type: HostListener, args: ['click', ['$event'],] }] }; if (false) { /** * @hidden * @type {?} */ TokenComponent.prototype.contentContainer; /** * Emitted when the *x* icon is clicked. Specifically, any pseudo-element. * @type {?} */ TokenComponent.prototype.onCloseClick; /** * @type {?} * @private */ TokenComponent.prototype.elRef; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vZnVuZGFtZW50YWwtbmd4LyIsInNvdXJjZXMiOlsibGliL3Rva2VuL3Rva2VuLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQWdCeEgsTUFBTSxPQUFPLGNBQWM7Ozs7O0lBV3ZCLFlBQW9CLEtBQWlCO1FBQWpCLFVBQUssR0FBTCxLQUFLLENBQVk7Ozs7UUFINUIsaUJBQVksR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUlyRSxDQUFDOzs7Ozs7SUFJRCxZQUFZLENBQUMsS0FBSztRQUNkLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQ3ZCLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDaEgsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQzthQUM1QjtTQUNKO0lBQ0wsQ0FBQzs7O1lBaENKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsVUFBVTtnQkFDcEIsMkdBQXFDO2dCQUVyQyxJQUFJLEVBQUU7b0JBQ0YsS0FBSyxFQUFFLFVBQVU7b0JBQ2pCLE1BQU0sRUFBRSxRQUFRO2lCQUNuQjtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTs7YUFDeEM7Ozs7WUFmbUIsVUFBVTs7OytCQW1CekIsU0FBUyxTQUFDLGtCQUFrQjsyQkFJNUIsTUFBTTsyQkFRTixZQUFZLFNBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDOzs7Ozs7O0lBWmpDLDBDQUM2Qjs7Ozs7SUFHN0Isc0NBQ3FFOzs7OztJQUd6RCwrQkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBPdXRwdXQsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBBIHRva2VuIGlzIHVzZWQgdG8gcmVwcmVzZW50IGNvbnRleHR1YWxpemluZyBpbmZvcm1hdGlvbi5cbiAqIFRoZXkgY2FuIGJlIHVzZWZ1bCB0byBzaG93IGFwcGxpZWQgZmlsdGVycywgc2VsZWN0ZWQgdmFsdWVzIGZvciBmb3JtIGZpZWxkcyBvciBvYmplY3QgbWV0YWRhdGEuXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmQtdG9rZW4nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90b2tlbi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdG9rZW4uY29tcG9uZW50LnNjc3MnXSxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAnZmQtdG9rZW4nLFxuICAgICAgICAncm9sZSc6ICdidXR0b24nXG4gICAgfSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIFRva2VuQ29tcG9uZW50IHtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQFZpZXdDaGlsZCgnY29udGVudENvbnRhaW5lcicpXG4gICAgY29udGVudENvbnRhaW5lcjogRWxlbWVudFJlZjtcblxuICAgIC8qKiBFbWl0dGVkIHdoZW4gdGhlICp4KiBpY29uIGlzIGNsaWNrZWQuIFNwZWNpZmljYWxseSwgYW55IHBzZXVkby1lbGVtZW50LiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IG9uQ2xvc2VDbGljazogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsUmVmOiBFbGVtZW50UmVmKSB7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gICAgY2xpY2tIYW5kbGVyKGV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRlbnRDb250YWluZXIpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSAmJiAhdGhpcy5jb250ZW50Q29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSkge1xuICAgICAgICAgICAgICAgIHRoaXMub25DbG9zZUNsaWNrLmVtaXQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbiJdfQ==