UNPKG

@lucasferreiralsf/angular-frontend-library

Version:

This is a set of custom angular components to easy the development of any Subway frontend project.

174 lines 14.8 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Component, Output, EventEmitter, ViewChild, ViewContainerRef } from '@angular/core'; import { trigger, transition, useAnimation } from '@angular/animations'; import { flipInX, flipOutX } from 'ng-animate'; import { Overlay, CdkOverlayOrigin, OverlayConfig } from '@angular/cdk/overlay'; import { TemplatePortalDirective } from '@angular/cdk/portal'; export class FilterTableComponent { /** * @param {?} overlay * @param {?} viewContainerRef */ constructor(overlay, viewContainerRef) { this.overlay = overlay; this.viewContainerRef = viewContainerRef; this.limpar = new EventEmitter(); this.pesquisa = new EventEmitter(); this.positions = [{ originX: 'end', originY: 'bottom', overlayX: 'end', overlayY: 'top' }]; } /** * @return {?} */ ngOnInit() { this.dropDownDialogOpen = 'out'; this.btnLimparOutsideShow = 'out'; } /** * @return {?} */ ngAfterViewInit() { this.strategy = this.overlay.position() .flexibleConnectedTo(this._overlayOrigin.elementRef) .withPositions(this.positions).withTransformOriginOn('#filter-table-button'); this.config = new OverlayConfig({ positionStrategy: this.strategy, hasBackdrop: true, backdropClass: 'cdk-overlay-transparent-backdrop' }); this.overlayRef = this.overlay.create(this.config); } /** * @return {?} */ openFilterTableContentOverlay() { this.overlayRef.backdropClick().subscribe((/** * @return {?} */ () => { this.overlayRef.detach(); })); this.overlayRef.attach(this.overlayDropDownContentTemplate); } /** * closeDropdown * @return {?} */ closeDropdown() { if (this.overlayRef.hasAttached) { this.overlayRef.detach(); } } /* clickedInside($event: Event) { $event.preventDefault(); $event.stopPropagation(); // <- that will stop propagation on lower layers } */ /* @HostListener("document:click", ['$event']) clickedOutside($event) { this.dropDownDialogOpen = 'out' } */ /** * @return {?} */ toggleFilter() { this.dropDownDialogOpen = this.dropDownDialogOpen === 'out' ? 'in' : 'out'; } /** * @return {?} */ pesquisar() { this.pesquisa.emit(); this.btnLimparOutsideShow = 'in'; this.closeDropdown(); } /** * @return {?} */ limparFiltro() { this.limpar.emit(); this.btnLimparOutsideShow = 'out'; this.closeDropdown(); } } FilterTableComponent.decorators = [ { type: Component, args: [{ selector: 'sb-filter-table', template: "<div fxLayout=\"row\" fxLayoutAlign=\"flex-end center\">\r\n\t<button @flipInOut *ngIf=\"btnLimparOutsideShow == 'in'\" id=\"btn-filter-limpar-outside\" mat-button class=\"btn-filter\"\r\n\t\t(click)=\"limparFiltro();\">Limpar Filtro</button>\r\n\t<button mat-icon-button (click)=\"openFilterTableContentOverlay()\" cdk-overlay-origin id=\"filter-table-button\">\r\n\t\t<mat-icon>filter_list</mat-icon>\r\n\t</button>\r\n\t<ng-template cdk-portal #overlayDropDownContentTemplate=\"cdkPortal\">\r\n\t\t<mat-card @flipInOut style=\"z-index: 1;\" class=\"mat-elevation-z4\">\r\n\t\t\t<div fxLayout=\"row wrap\" fxLayoutGap=\"20px grid\" fxLayoutAlign=\"center\">\r\n\t\t\t\t<ng-content></ng-content>\r\n\t\t\t</div>\r\n\t\t\t<sb-filter-table-actions (limpar)=\"limparFiltro()\" (pesquisa)=\"pesquisar()\"></sb-filter-table-actions>\r\n\t\t</mat-card>\r\n\t</ng-template>\r\n</div>\r\n", animations: [ trigger('flipInOut', [ transition('void => *', useAnimation(flipInX, { params: { timing: 0.4, delay: 0 } })), transition('* => void', useAnimation(flipOutX, { params: { timing: 0.5, delay: 0 } })) ]) ], styles: [""] }] } ]; /** @nocollapse */ FilterTableComponent.ctorParameters = () => [ { type: Overlay }, { type: ViewContainerRef } ]; FilterTableComponent.propDecorators = { limpar: [{ type: Output }], pesquisa: [{ type: Output }], _overlayOrigin: [{ type: ViewChild, args: [CdkOverlayOrigin,] }], overlayDropDownContentTemplate: [{ type: ViewChild, args: ['overlayDropDownContentTemplate',] }] }; if (false) { /** * @type {?} * @private */ FilterTableComponent.prototype.strategy; /** * @type {?} * @private */ FilterTableComponent.prototype.config; /** * @type {?} * @private */ FilterTableComponent.prototype.overlayRef; /** @type {?} */ FilterTableComponent.prototype.dropDownDialogOpen; /** @type {?} */ FilterTableComponent.prototype.btnLimparOutsideShow; /** @type {?} */ FilterTableComponent.prototype.limpar; /** @type {?} */ FilterTableComponent.prototype.pesquisa; /** * @type {?} * @private */ FilterTableComponent.prototype._overlayOrigin; /** * @type {?} * @private */ FilterTableComponent.prototype.overlayDropDownContentTemplate; /** * @type {?} * @private */ FilterTableComponent.prototype.positions; /** * @type {?} * @private */ FilterTableComponent.prototype.overlay; /** @type {?} */ FilterTableComponent.prototype.viewContainerRef; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BsdWNhc2ZlcnJlaXJhbHNmL2FuZ3VsYXItZnJvbnRlbmQtbGlicmFyeS8iLCJzb3VyY2VzIjpbImxpYi9kYXRhLXRhYmxlL2ZpbHRlci10YWJsZS9maWx0ZXItdGFibGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNwSCxPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMvQyxPQUFPLEVBQ0wsT0FBTyxFQUNQLGdCQUFnQixFQUNoQixhQUFhLEVBR2QsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQWU5RCxNQUFNLE9BQU8sb0JBQW9COzs7OztJQW1CL0IsWUFDVSxPQUFnQixFQUNqQixnQkFBa0M7UUFEakMsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNqQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBZGpDLFdBQU0sR0FBdUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNoRCxhQUFRLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFJbkQsY0FBUyxHQUF3QixDQUFDO2dCQUN4QyxPQUFPLEVBQUUsS0FBSztnQkFDZCxPQUFPLEVBQUUsUUFBUTtnQkFDakIsUUFBUSxFQUFFLEtBQUs7Z0JBQ2YsUUFBUSxFQUFFLEtBQUs7YUFDaEIsQ0FBQyxDQUFDO0lBS0csQ0FBQzs7OztJQUVQLFFBQVE7UUFDTixJQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO1FBQ2hDLElBQUks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S0c7Ozs7O0lBR0QsdUNBQXdCOztJQUN4QixnREFBeUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIFZpZXdDaGlsZCwgVmlld0NvbnRhaW5lclJlZiwgQWZ0ZXJWaWV3SW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyB0cmlnZ2VyLCB0cmFuc2l0aW9uLCB1c2VBbmltYXRpb24gfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcclxuaW1wb3J0IHsgZmxpcEluWCwgZmxpcE91dFggfSBmcm9tICduZy1hbmltYXRlJztcclxuaW1wb3J0IHtcclxuICBPdmVybGF5LFxyXG4gIENka092ZXJsYXlPcmlnaW4sXHJcbiAgT3ZlcmxheUNvbmZpZyxcclxuICBDb25uZWN0ZWRQb3NpdGlvbixcclxuICBPdmVybGF5UmVmXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzYi1maWx0ZXItdGFibGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9maWx0ZXItdGFibGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2ZpbHRlci10YWJsZS5jb21wb25lbnQuc2NzcyddLFxyXG4gIGFuaW1hdGlvbnM6IFtcclxuICAgIHRyaWdnZXIoJ2ZsaXBJbk91dCcsIFtcclxuICAgICAgdHJhbnNpdGlvbigndm9pZCA9PiAqJywgdXNlQW5pbWF0aW9uKGZsaXBJblgsIHtcclxuICAgICAgICBwYXJhbXM6IHsgdGltaW5nOiAwLjQsIGRlbGF5OiAwIH19KSksXHJcbiAgICAgIHRyYW5zaXRpb24oJyogPT4gdm9pZCcsIHVzZUFuaW1hdGlvbihmbGlwT3V0WCwge1xyXG4gICAgICAgIHBhcmFtczogeyB0aW1pbmc6IDAuNSwgZGVsYXk6IDAgfX0pKVxyXG4gICAgXSlcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRmlsdGVyVGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xyXG5cclxuICBwcml2YXRlIHN0cmF0ZWd5OiBhbnk7XHJcbiAgcHJpdmF0ZSBjb25maWc6IE92ZXJsYXlDb25maWc7XHJcbiAgcHJpdmF0ZSBvdmVybGF5UmVmOiBPdmVybGF5UmVmO1xyXG4gIGRyb3BEb3duRGlhbG9nT3Blbjogc3RyaW5nO1xyXG4gIGJ0bkxpbXBhck91dHNpZGVTaG93OiBzdHJpbmc7XHJcbiAgQE91dHB1dCgpIGxpbXBhcjogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBwZXNxdWlzYTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQFZpZXdDaGlsZChDZGtPdmVybGF5T3JpZ2luKSBwcml2YXRlIF9vdmVybGF5T3JpZ2luOiBDZGtPdmVybGF5T3JpZ2luO1xyXG4gIEBWaWV3Q2hpbGQoJ292ZXJsYXlEcm9wRG93bkNvbnRlbnRUZW1wbGF0ZScpIHByaXZhdGUgb3ZlcmxheURyb3BEb3duQ29udGVudFRlbXBsYXRlOiBUZW1wbGF0ZVBvcnRhbERpcmVjdGl2ZTtcclxuXHJcbiAgcHJpdmF0ZSBwb3NpdGlvbnM6IENvbm5lY3RlZFBvc2l0aW9uW10gPSBbe1xyXG4gICAgb3JpZ2luWDogJ2VuZCcsXHJcbiAgICBvcmlnaW5ZOiAnYm90dG9tJyxcclxuICAgIG92ZXJsYXlYOiAnZW5kJyxcclxuICAgIG92ZXJsYXlZOiAndG9wJ1xyXG4gIH1dO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheSxcclxuICAgIHB1YmxpYyB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmXHJcbiAgICApIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuZHJvcERvd25EaWFsb2dPcGVuID0gJ291dCc7XHJcbiAgICB0aGlzLmJ0bkxpbXBhck91dHNpZGVTaG93ID0gJ291dCc7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnN0cmF0ZWd5ID0gdGhpcy5vdmVybGF5LnBvc2l0aW9uKClcclxuICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8oXHJcbiAgICAgICAgdGhpcy5fb3ZlcmxheU9yaWdpbi5lbGVtZW50UmVmKVxyXG4gICAgICAud2l0aFBvc2l0aW9ucyh0aGlzLnBvc2l0aW9ucykud2l0aFRyYW5zZm9ybU9yaWdpbk9uKCcjZmlsdGVyLXRhYmxlLWJ1dHRvbicpO1xyXG5cclxuICAgIHRoaXMuY29uZmlnID0gbmV3IE92ZXJsYXlDb25maWcoe1xyXG4gICAgICBwb3NpdGlvblN0cmF0ZWd5OiB0aGlzLnN0cmF0ZWd5LFxyXG4gICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcclxuICAgICAgYmFja2Ryb3BDbGFzczogJ2Nkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wJ1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKHRoaXMuY29uZmlnKTtcclxuXHJcblxyXG4gIH1cclxuXHJcbiAgb3BlbkZpbHRlclRhYmxlQ29udGVudE92ZXJsYXkoKSB7XHJcblxyXG4gICAgdGhpcy5vdmVybGF5UmVmLmJhY2tkcm9wQ2xpY2soKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLm92ZXJsYXlSZWYuZGV0YWNoKCk7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKHRoaXMub3ZlcmxheURyb3BEb3duQ29udGVudFRlbXBsYXRlKTtcclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiBjbG9zZURyb3Bkb3duXHJcbiAgICovXHJcbiAgcHVibGljIGNsb3NlRHJvcGRvd24oKSB7XHJcbiAgICBpZiAodGhpcy5vdmVybGF5UmVmLmhhc0F0dGFjaGVkKSB7XHJcbiAgICAgIHRoaXMub3ZlcmxheVJlZi5kZXRhY2goKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qIGNsaWNrZWRJbnNpZGUoJGV2ZW50OiBFdmVudCkge1xyXG4gICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7ICAvLyA8LSB0aGF0IHdpbGwgc3RvcCBwcm9wYWdhdGlvbiBvbiBsb3dlciBsYXllcnNcclxuICB9ICovXHJcblxyXG5cclxuICAvKiBASG9zdExpc3RlbmVyKFwiZG9jdW1lbnQ6Y2xpY2tcIiwgWyckZXZlbnQnXSkgY2xpY2tlZE91dHNpZGUoJGV2ZW50KSB7XHJcbiAgICAgIHRoaXMuZHJvcERvd25EaWFsb2dPcGVuID0gJ291dCdcclxuICB9ICovXHJcblxyXG4gIHRvZ2dsZUZpbHRlcigpOiB2b2lkIHtcclxuICAgIHRoaXMuZHJvcERvd25EaWFsb2dPcGVuID0gdGhpcy5kcm9wRG93bkRpYWxvZ09wZW4gPT09ICdvdXQnID8gJ2luJyA6ICdvdXQnO1xyXG4gIH1cclxuXHJcbiAgcGVzcXVpc2FyKCkge1xyXG4gICAgdGhpcy5wZXNxdWlzYS5lbWl0KCk7XHJcbiAgICB0aGlzLmJ0bkxpbXBhck91dHNpZGVTaG93ID0gJ2luJztcclxuICAgIHRoaXMuY2xvc2VEcm9wZG93bigpO1xyXG4gIH1cclxuXHJcbiAgbGltcGFyRmlsdHJvKCkge1xyXG4gICAgdGhpcy5saW1wYXIuZW1pdCgpO1xyXG4gICAgdGhpcy5idG5MaW1wYXJPdXRzaWRlU2hvdyA9ICdvdXQnO1xyXG4gICAgdGhpcy5jbG9zZURyb3Bkb3duKCk7XHJcbiAgfVxyXG5cclxuICAvKiBwZXNxdWlzYXIoKSB7XHJcbiAgICB0aGlzLnBlc3F1aXNhLmVtaXQoKVxyXG4gICAgdGhpcy5idG5MaW1wYXJPdXRzaWRlU2hvdyA9ICdpbidcclxuICAgIHRoaXMudG9nZ2xlRmlsdGVyKClcclxuICB9ICovXHJcblxyXG4gIC8qIGxpbXBhckZpbHRybygpIHtcclxuICAgIHRoaXMubGltcGFyLmVtaXQoKVxyXG4gICAgdGhpcy5idG5MaW1wYXJPdXRzaWRlU2hvdyA9ICdvdXQnXHJcbiAgICB0aGlzLmRyb3BEb3duRGlhbG9nT3BlbiA9ICdvdXQnXHJcbiAgfSAqL1xyXG5cclxufVxyXG4iXX0=