@lucasferreiralsf/angular-frontend-library
Version:
This is a set of custom angular components to easy the development of any Subway frontend project.
212 lines • 16.4 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';
var FilterTableComponent = /** @class */ (function () {
function FilterTableComponent(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 {?}
*/
FilterTableComponent.prototype.ngOnInit = /**
* @return {?}
*/
function () {
this.dropDownDialogOpen = 'out';
this.btnLimparOutsideShow = 'out';
};
/**
* @return {?}
*/
FilterTableComponent.prototype.ngAfterViewInit = /**
* @return {?}
*/
function () {
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 {?}
*/
FilterTableComponent.prototype.openFilterTableContentOverlay = /**
* @return {?}
*/
function () {
var _this = this;
this.overlayRef.backdropClick().subscribe((/**
* @return {?}
*/
function () {
_this.overlayRef.detach();
}));
this.overlayRef.attach(this.overlayDropDownContentTemplate);
};
/**
* closeDropdown
*/
/**
* closeDropdown
* @return {?}
*/
FilterTableComponent.prototype.closeDropdown = /**
* closeDropdown
* @return {?}
*/
function () {
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'
} */
/* clickedInside($event: Event) {
$event.preventDefault();
$event.stopPropagation(); // <- that will stop propagation on lower layers
} */
/* @HostListener("document:click", ['$event']) clickedOutside($event) {
this.dropDownDialogOpen = 'out'
} */
/**
* @return {?}
*/
FilterTableComponent.prototype.toggleFilter = /* clickedInside($event: Event) {
$event.preventDefault();
$event.stopPropagation(); // <- that will stop propagation on lower layers
} */
/* @HostListener("document:click", ['$event']) clickedOutside($event) {
this.dropDownDialogOpen = 'out'
} */
/**
* @return {?}
*/
function () {
this.dropDownDialogOpen = this.dropDownDialogOpen === 'out' ? 'in' : 'out';
};
/**
* @return {?}
*/
FilterTableComponent.prototype.pesquisar = /**
* @return {?}
*/
function () {
this.pesquisa.emit();
this.btnLimparOutsideShow = 'in';
this.closeDropdown();
};
/**
* @return {?}
*/
FilterTableComponent.prototype.limparFiltro = /**
* @return {?}
*/
function () {
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 = function () { return [
{ type: Overlay },
{ type: ViewContainerRef }
]; };
FilterTableComponent.propDecorators = {
limpar: [{ type: Output }],
pesquisa: [{ type: Output }],
_overlayOrigin: [{ type: ViewChild, args: [CdkOverlayOrigin,] }],
overlayDropDownContentTemplate: [{ type: ViewChild, args: ['overlayDropDownContentTemplate',] }]
};
return FilterTableComponent;
}());
export { FilterTableComponent };
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BsdWNhc2ZlcnJlaXJhbHNmL2FuZ3VsYXItZnJvbnRlbmQtbGlicmFyeS8iLCJzb3VyY2VzIjpbImxpYi9kYXRhLXRhYmxlL2ZpbHRlci10YWJsZS9maWx0ZXItdGFibGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNwSCxPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMvQyxPQUFPLEVBQ0wsT0FBTyxFQUNQLGdCQUFnQixFQUNoQixhQUFhLEVBR2QsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUU5RDtJQWdDRSw4QkFDVSxPQUFnQixFQUNqQixnQkFBa0M7UUFEakMsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNqQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBZGpDLFdBQU0sR0FBdUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNoRCxhQUFRLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFJbkQsY0FBUyxHQUF3QixDQUFDO2dCQUN4QyxPQUFPLEVBQUUsS0FBSztnQkFDZCxPQUFPLEVBQUUsUUFBUTtnQkFDakIsUUFBUSxFQUFFLEtBQUs7Z0JBQ2YsUUFBUSxFQUFFLEtBQUs7YUFDaEIsQ0FBQyxDQUFDO0lBS0csQ0FBQzs7OztJQUVQLHVDQUFROzs7SUFBUjtRQUNFLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7UUFDaEMsSUFBSSxDQUFDLG9CQUFvQixH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OEI7Ozs7O0lBQzlCLDBDQUErQjs7SUFDL0Isa0RBQTJCOztJQUMzQixvREFBNkI7O0lBQzdCLHNDQUEwRDs7SUFDMUQsd0NBQTJEOzs7OztJQUMzRCw4Q0FBc0U7Ozs7O0lBQ3RFLDhEQUE2Rzs7Ozs7SUFFN0cseUNBS0c7Ozs7O0lBR0QsdUNBQXdCOztJQUN4QixnREFBeUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIFZpZXdDaGlsZCwgVmlld0NvbnRhaW5lclJlZiwgQWZ0ZXJWaWV3SW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyB0cmlnZ2VyLCB0cmFuc2l0aW9uLCB1c2VBbmltYXRpb24gfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcclxuaW1wb3J0IHsgZmxpcEluWCwgZmxpcE91dFggfSBmcm9tICduZy1hbmltYXRlJztcclxuaW1wb3J0IHtcclxuICBPdmVybGF5LFxyXG4gIENka092ZXJsYXlPcmlnaW4sXHJcbiAgT3ZlcmxheUNvbmZpZyxcclxuICBDb25uZWN0ZWRQb3NpdGlvbixcclxuICBPdmVybGF5UmVmXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzYi1maWx0ZXItdGFibGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9maWx0ZXItdGFibGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2ZpbHRlci10YWJsZS5jb21wb25lbnQuc2NzcyddLFxyXG4gIGFuaW1hdGlvbnM6IFtcclxuICAgIHRyaWdnZXIoJ2ZsaXBJbk91dCcsIFtcclxuICAgICAgdHJhbnNpdGlvbigndm9pZCA9PiAqJywgdXNlQW5pbWF0aW9uKGZsaXBJblgsIHtcclxuICAgICAgICBwYXJhbXM6IHsgdGltaW5nOiAwLjQsIGRlbGF5OiAwIH19KSksXHJcbiAgICAgIHRyYW5zaXRpb24oJyogPT4gdm9pZCcsIHVzZUFuaW1hdGlvbihmbGlwT3V0WCwge1xyXG4gICAgICAgIHBhcmFtczogeyB0aW1pbmc6IDAuNSwgZGVsYXk6IDAgfX0pKVxyXG4gICAgXSlcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRmlsdGVyVGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xyXG5cclxuICBwcml2YXRlIHN0cmF0ZWd5OiBhbnk7XHJcbiAgcHJpdmF0ZSBjb25maWc6IE92ZXJsYXlDb25maWc7XHJcbiAgcHJpdmF0ZSBvdmVybGF5UmVmOiBPdmVybGF5UmVmO1xyXG4gIGRyb3BEb3duRGlhbG9nT3Blbjogc3RyaW5nO1xyXG4gIGJ0bkxpbXBhck91dHNpZGVTaG93OiBzdHJpbmc7XHJcbiAgQE91dHB1dCgpIGxpbXBhcjogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBwZXNxdWlzYTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQFZpZXdDaGlsZChDZGtPdmVybGF5T3JpZ2luKSBwcml2YXRlIF9vdmVybGF5T3JpZ2luOiBDZGtPdmVybGF5T3JpZ2luO1xyXG4gIEBWaWV3Q2hpbGQoJ292ZXJsYXlEcm9wRG93bkNvbnRlbnRUZW1wbGF0ZScpIHByaXZhdGUgb3ZlcmxheURyb3BEb3duQ29udGVudFRlbXBsYXRlOiBUZW1wbGF0ZVBvcnRhbERpcmVjdGl2ZTtcclxuXHJcbiAgcHJpdmF0ZSBwb3NpdGlvbnM6IENvbm5lY3RlZFBvc2l0aW9uW10gPSBbe1xyXG4gICAgb3JpZ2luWDogJ2VuZCcsXHJcbiAgICBvcmlnaW5ZOiAnYm90dG9tJyxcclxuICAgIG92ZXJsYXlYOiAnZW5kJyxcclxuICAgIG92ZXJsYXlZOiAndG9wJ1xyXG4gIH1dO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheSxcclxuICAgIHB1YmxpYyB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmXHJcbiAgICApIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuZHJvcERvd25EaWFsb2dPcGVuID0gJ291dCc7XHJcbiAgICB0aGlzLmJ0bkxpbXBhck91dHNpZGVTaG93ID0gJ291dCc7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnN0cmF0ZWd5ID0gdGhpcy5vdmVybGF5LnBvc2l0aW9uKClcclxuICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8oXHJcbiAgICAgICAgdGhpcy5fb3ZlcmxheU9yaWdpbi5lbGVtZW50UmVmKVxyXG4gICAgICAud2l0aFBvc2l0aW9ucyh0aGlzLnBvc2l0aW9ucykud2l0aFRyYW5zZm9ybU9yaWdpbk9uKCcjZmlsdGVyLXRhYmxlLWJ1dHRvbicpO1xyXG5cclxuICAgIHRoaXMuY29uZmlnID0gbmV3IE92ZXJsYXlDb25maWcoe1xyXG4gICAgICBwb3NpdGlvblN0cmF0ZWd5OiB0aGlzLnN0cmF0ZWd5LFxyXG4gICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcclxuICAgICAgYmFja2Ryb3BDbGFzczogJ2Nkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wJ1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKHRoaXMuY29uZmlnKTtcclxuXHJcblxyXG4gIH1cclxuXHJcbiAgb3BlbkZpbHRlclRhYmxlQ29udGVudE92ZXJsYXkoKSB7XHJcblxyXG4gICAgdGhpcy5vdmVybGF5UmVmLmJhY2tkcm9wQ2xpY2soKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLm92ZXJsYXlSZWYuZGV0YWNoKCk7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKHRoaXMub3ZlcmxheURyb3BEb3duQ29udGVudFRlbXBsYXRlKTtcclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiBjbG9zZURyb3Bkb3duXHJcbiAgICovXHJcbiAgcHVibGljIGNsb3NlRHJvcGRvd24oKSB7XHJcbiAgICBpZiAodGhpcy5vdmVybGF5UmVmLmhhc0F0dGFjaGVkKSB7XHJcbiAgICAgIHRoaXMub3ZlcmxheVJlZi5kZXRhY2goKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qIGNsaWNrZWRJbnNpZGUoJGV2ZW50OiBFdmVudCkge1xyXG4gICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7ICAvLyA8LSB0aGF0IHdpbGwgc3RvcCBwcm9wYWdhdGlvbiBvbiBsb3dlciBsYXllcnNcclxuICB9ICovXHJcblxyXG5cclxuICAvKiBASG9zdExpc3RlbmVyKFwiZG9jdW1lbnQ6Y2xpY2tcIiwgWyckZXZlbnQnXSkgY2xpY2tlZE91dHNpZGUoJGV2ZW50KSB7XHJcbiAgICAgIHRoaXMuZHJvcERvd25EaWFsb2dPcGVuID0gJ291dCdcclxuICB9ICovXHJcblxyXG4gIHRvZ2dsZUZpbHRlcigpOiB2b2lkIHtcclxuICAgIHRoaXMuZHJvcERvd25EaWFsb2dPcGVuID0gdGhpcy5kcm9wRG93bkRpYWxvZ09wZW4gPT09ICdvdXQnID8gJ2luJyA6ICdvdXQnO1xyXG4gIH1cclxuXHJcbiAgcGVzcXVpc2FyKCkge1xyXG4gICAgdGhpcy5wZXNxdWlzYS5lbWl0KCk7XHJcbiAgICB0aGlzLmJ0bkxpbXBhck91dHNpZGVTaG93ID0gJ2luJztcclxuICAgIHRoaXMuY2xvc2VEcm9wZG93bigpO1xyXG4gIH1cclxuXHJcbiAgbGltcGFyRmlsdHJvKCkge1xyXG4gICAgdGhpcy5saW1wYXIuZW1pdCgpO1xyXG4gICAgdGhpcy5idG5MaW1wYXJPdXRzaWRlU2hvdyA9ICdvdXQnO1xyXG4gICAgdGhpcy5jbG9zZURyb3Bkb3duKCk7XHJcbiAgfVxyXG5cclxuICAvKiBwZXNxdWlzYXIoKSB7XHJcbiAgICB0aGlzLnBlc3F1aXNhLmVtaXQoKVxyXG4gICAgdGhpcy5idG5MaW1wYXJPdXRzaWRlU2hvdyA9ICdpbidcclxuICAgIHRoaXMudG9nZ2xlRmlsdGVyKClcclxuICB9ICovXHJcblxyXG4gIC8qIGxpbXBhckZpbHRybygpIHtcclxuICAgIHRoaXMubGltcGFyLmVtaXQoKVxyXG4gICAgdGhpcy5idG5MaW1wYXJPdXRzaWRlU2hvdyA9ICdvdXQnXHJcbiAgICB0aGlzLmRyb3BEb3duRGlhbG9nT3BlbiA9ICdvdXQnXHJcbiAgfSAqL1xyXG5cclxufVxyXG4iXX0=