@jcbautistam/custom-table
Version:
Librería de tabla reutilizable con acciones, filtros, exportación y más.
67 lines • 9.28 kB
JavaScript
import { HttpParams } from '@angular/common/http';
import { Injectable } from '@angular/core';
import * as i0 from "@angular/core";
export class ParametrosGenerales {
constructor(init) {
this.ordenarPor = 'FechaCreacion';
this.descending = false;
this.noPagina = 1;
this.tamanoPagina = 10;
this.activos = true;
this.filtrosIniciales = {};
this.filtrosPorColumna = {};
this.rangoFechas = '';
this.multiIds = '';
this.actionMulti = '';
this.idCompania = 0;
if (init) {
Object.assign(this, init);
}
}
}
export class ConfiguracionParametros {
configurar(parametros, extraParams) {
let params = new HttpParams();
parametros.idCompania = Number(localStorage.getItem('CompaniaSelect')) || 0;
// Agregar valores básicos del objeto de parámetros
Object.entries(parametros).forEach(([key, value]) => {
if (value !== undefined && value !== null) {
params = params.set(key, value.toString());
}
});
// Agregar filtros iniciales
params = this.agregarFiltros(params, 'filtrosIniciales', parametros.filtrosIniciales);
// Agregar filtros por columna
params = this.agregarFiltros(params, 'filtrosPorColumna', parametros.filtrosPorColumna);
// Agregar parámetros adicionales
if (extraParams) {
Object.entries(extraParams).forEach(([key, value]) => {
if (value !== undefined && value !== null) {
params = params.set(key, value.toString());
}
});
}
return params;
}
agregarFiltros(params, prefix, filtros) {
// Añadir filtros si existen
if (filtros) {
Object.keys(filtros).forEach((key) => {
const filtro = filtros[key];
if (filtro) {
params = params.set(`${prefix}[${key}]`, filtro);
}
});
}
return params;
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: ConfiguracionParametros, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: ConfiguracionParametros, providedIn: 'root' }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: ConfiguracionParametros, decorators: [{
type: Injectable,
args: [{
providedIn: 'root',
}]
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFyYW1ldHJvc0dlbmVyYWxlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2N1c3RvbS10YWJsZS9zcmMvbGliL01vZGVscy9QYXJhbWV0cm9zR2VuZXJhbGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQWUzQyxNQUFNLE9BQU8sbUJBQW1CO0lBZTlCLFlBQVksSUFBb0M7UUFkaEQsZUFBVSxHQUFXLGVBQWUsQ0FBQztRQUNyQyxlQUFVLEdBQVksS0FBSyxDQUFDO1FBQzVCLGFBQVEsR0FBVyxDQUFDLENBQUM7UUFDckIsaUJBQVksR0FBVyxFQUFFLENBQUM7UUFDMUIsWUFBTyxHQUFZLElBQUksQ0FBQztRQUN4QixxQkFBZ0IsR0FBMkIsRUFBRSxDQUFDO1FBQzlDLHNCQUFpQixHQUEyQixFQUFFLENBQUM7UUFFL0MsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFFekIsYUFBUSxHQUFXLEVBQUUsQ0FBQztRQUN0QixnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUN6QixlQUFVLEdBQVcsQ0FBQyxDQUFDO1FBR3JCLElBQUksSUFBSSxFQUFFO1lBQ1IsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDM0I7SUFDSCxDQUFDO0NBQ0Y7QUFLRCxNQUFNLE9BQU8sdUJBQXVCO0lBQ2xDLFVBQVUsQ0FDUixVQUErQixFQUMvQixXQUFpQztRQUVqQyxJQUFJLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQzlCLFVBQVUsQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUU1RSxtREFBbUQ7UUFDbkQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFO1lBQ2xELElBQUksS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFO2dCQUN6QyxNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7YUFDNUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILDRCQUE0QjtRQUM1QixNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FDMUIsTUFBTSxFQUNOLGtCQUFrQixFQUNsQixVQUFVLENBQUMsZ0JBQWdCLENBQzVCLENBQUM7UUFFRiw4QkFBOEI7UUFDOUIsTUFBTSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQzFCLE1BQU0sRUFDTixtQkFBbUIsRUFDbkIsVUFBVSxDQUFDLGlCQUFpQixDQUM3QixDQUFDO1FBRUYsaUNBQWlDO1FBQ2pDLElBQUksV0FBVyxFQUFFO1lBQ2YsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFO2dCQUNuRCxJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxLQUFLLElBQUksRUFBRTtvQkFDekMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO2lCQUM1QztZQUNILENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU8sY0FBYyxDQUNwQixNQUFrQixFQUNsQixNQUFjLEVBQ2QsT0FBZ0M7UUFFaEMsNEJBQTRCO1FBQzVCLElBQUksT0FBTyxFQUFFO1lBQ1gsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDbkMsTUFBTSxNQUFNLEdBQUcsT0FBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUM3QixJQUFJLE1BQU0sRUFBRTtvQkFDVixNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLE1BQU0sSUFBSSxHQUFHLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztpQkFDbEQ7WUFDSCxDQUFDLENBQUMsQ0FBQztTQUNKO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzs4R0F6RFUsdUJBQXVCO2tIQUF2Qix1QkFBdUIsY0FGdEIsTUFBTTs7MkZBRVAsdUJBQXVCO2tCQUhuQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVBhcmFtZXRyb3NHZW5lcmFsZXMge1xyXG4gIG9yZGVuYXJQb3I/OiBzdHJpbmc7XHJcbiAgZGVzY2VuZGluZz86IGJvb2xlYW47XHJcbiAgbm9QYWdpbmE/OiBudW1iZXI7XHJcbiAgdGFtYW5vUGFnaW5hPzogbnVtYmVyO1xyXG4gIGFjdGl2b3M/OiBib29sZWFuO1xyXG4gIGZpbHRyb3NJbmljaWFsZXM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xyXG4gIGZpbHRyb3NQb3JDb2x1bW5hPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcclxuICBtdWx0aUlkcz86IHN0cmluZztcclxuICBhY3Rpb25NdWx0aT86IHN0cmluZztcclxuICBpZENvbXBhbmlhPzogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgUGFyYW1ldHJvc0dlbmVyYWxlcyBpbXBsZW1lbnRzIElQYXJhbWV0cm9zR2VuZXJhbGVzIHtcclxuICBvcmRlbmFyUG9yOiBzdHJpbmcgPSAnRmVjaGFDcmVhY2lvbic7XHJcbiAgZGVzY2VuZGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIG5vUGFnaW5hOiBudW1iZXIgPSAxO1xyXG4gIHRhbWFub1BhZ2luYTogbnVtYmVyID0gMTA7XHJcbiAgYWN0aXZvczogYm9vbGVhbiA9IHRydWU7XHJcbiAgZmlsdHJvc0luaWNpYWxlczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHt9O1xyXG4gIGZpbHRyb3NQb3JDb2x1bW5hOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge307XHJcblxyXG4gIHJhbmdvRmVjaGFzOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgbXVsdGlJZHM6IHN0cmluZyA9ICcnO1xyXG4gIGFjdGlvbk11bHRpOiBzdHJpbmcgPSAnJztcclxuICBpZENvbXBhbmlhOiBudW1iZXIgPSAwO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihpbml0PzogUGFydGlhbDxJUGFyYW1ldHJvc0dlbmVyYWxlcz4pIHtcclxuICAgIGlmIChpbml0KSB7XHJcbiAgICAgIE9iamVjdC5hc3NpZ24odGhpcywgaW5pdCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29uZmlndXJhY2lvblBhcmFtZXRyb3Mge1xyXG4gIGNvbmZpZ3VyYXIoXHJcbiAgICBwYXJhbWV0cm9zOiBQYXJhbWV0cm9zR2VuZXJhbGVzLFxyXG4gICAgZXh0cmFQYXJhbXM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+XHJcbiAgKTogSHR0cFBhcmFtcyB7XHJcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcclxuICAgIHBhcmFtZXRyb3MuaWRDb21wYW5pYSA9IE51bWJlcihsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnQ29tcGFuaWFTZWxlY3QnKSkgfHwgMDtcclxuXHJcbiAgICAvLyBBZ3JlZ2FyIHZhbG9yZXMgYsOhc2ljb3MgZGVsIG9iamV0byBkZSBwYXLDoW1ldHJvc1xyXG4gICAgT2JqZWN0LmVudHJpZXMocGFyYW1ldHJvcykuZm9yRWFjaCgoW2tleSwgdmFsdWVdKSA9PiB7XHJcbiAgICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHZhbHVlICE9PSBudWxsKSB7XHJcbiAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldChrZXksIHZhbHVlLnRvU3RyaW5nKCkpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyBBZ3JlZ2FyIGZpbHRyb3MgaW5pY2lhbGVzXHJcbiAgICBwYXJhbXMgPSB0aGlzLmFncmVnYXJGaWx0cm9zKFxyXG4gICAgICBwYXJhbXMsXHJcbiAgICAgICdmaWx0cm9zSW5pY2lhbGVzJyxcclxuICAgICAgcGFyYW1ldHJvcy5maWx0cm9zSW5pY2lhbGVzXHJcbiAgICApO1xyXG5cclxuICAgIC8vIEFncmVnYXIgZmlsdHJvcyBwb3IgY29sdW1uYVxyXG4gICAgcGFyYW1zID0gdGhpcy5hZ3JlZ2FyRmlsdHJvcyhcclxuICAgICAgcGFyYW1zLFxyXG4gICAgICAnZmlsdHJvc1BvckNvbHVtbmEnLFxyXG4gICAgICBwYXJhbWV0cm9zLmZpbHRyb3NQb3JDb2x1bW5hXHJcbiAgICApO1xyXG5cclxuICAgIC8vIEFncmVnYXIgcGFyw6FtZXRyb3MgYWRpY2lvbmFsZXNcclxuICAgIGlmIChleHRyYVBhcmFtcykge1xyXG4gICAgICBPYmplY3QuZW50cmllcyhleHRyYVBhcmFtcykuZm9yRWFjaCgoW2tleSwgdmFsdWVdKSA9PiB7XHJcbiAgICAgICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQgJiYgdmFsdWUgIT09IG51bGwpIHtcclxuICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoa2V5LCB2YWx1ZS50b1N0cmluZygpKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBwYXJhbXM7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFncmVnYXJGaWx0cm9zKFxyXG4gICAgcGFyYW1zOiBIdHRwUGFyYW1zLFxyXG4gICAgcHJlZml4OiBzdHJpbmcsXHJcbiAgICBmaWx0cm9zPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPlxyXG4gICk6IEh0dHBQYXJhbXMge1xyXG4gICAgLy8gQcOxYWRpciBmaWx0cm9zIHNpIGV4aXN0ZW5cclxuICAgIGlmIChmaWx0cm9zKSB7XHJcbiAgICAgIE9iamVjdC5rZXlzKGZpbHRyb3MpLmZvckVhY2goKGtleSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGZpbHRybyA9IGZpbHRyb3MhW2tleV07XHJcbiAgICAgICAgaWYgKGZpbHRybykge1xyXG4gICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldChgJHtwcmVmaXh9WyR7a2V5fV1gLCBmaWx0cm8pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHBhcmFtcztcclxuICB9XHJcbn1cclxuIl19