@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
JavaScript
/**
* @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=