@senior-gestao-pessoas/hcm-entity-lookups 5.0.2 → 5.1.0-develop-b397a733

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (25) hide show
  1. package/bundles/senior-gestao-pessoas-hcm-entity-lookups.umd.js +103 -8
  2. package/bundles/senior-gestao-pessoas-hcm-entity-lookups.umd.js.map +1 -1
  3. package/bundles/senior-gestao-pessoas-hcm-entity-lookups.umd.min.js +1 -1
  4. package/bundles/senior-gestao-pessoas-hcm-entity-lookups.umd.min.js.map +1 -1
  5. package/esm2015/lookups/wage-type-payroll-lookup/wage-type-payroll-lookup.service.js +26 -8
  6. package/esm2015/public-api.js +5 -1
  7. package/esm2015/senior-gestao-pessoas-hcm-entity-lookups.js +2 -1
  8. package/esm2015/shared/interceptors/filter-module-interceptor/filter-module-interceptor.module.js +31 -0
  9. package/esm2015/shared/interceptors/filter-module-interceptor/filter-module.interceptor.js +43 -0
  10. package/esm5/lookups/wage-type-payroll-lookup/wage-type-payroll-lookup.service.js +28 -9
  11. package/esm5/public-api.js +5 -1
  12. package/esm5/senior-gestao-pessoas-hcm-entity-lookups.js +2 -1
  13. package/esm5/shared/interceptors/filter-module-interceptor/filter-module-interceptor.module.js +36 -0
  14. package/esm5/shared/interceptors/filter-module-interceptor/filter-module.interceptor.js +44 -0
  15. package/fesm2015/senior-gestao-pessoas-hcm-entity-lookups.js +94 -11
  16. package/fesm2015/senior-gestao-pessoas-hcm-entity-lookups.js.map +1 -1
  17. package/fesm5/senior-gestao-pessoas-hcm-entity-lookups.js +102 -12
  18. package/fesm5/senior-gestao-pessoas-hcm-entity-lookups.js.map +1 -1
  19. package/lookups/wage-type-payroll-lookup/wage-type-payroll-lookup.service.d.ts +10 -0
  20. package/package.json +1 -1
  21. package/public-api.d.ts +4 -0
  22. package/senior-gestao-pessoas-hcm-entity-lookups.d.ts +1 -0
  23. package/senior-gestao-pessoas-hcm-entity-lookups.metadata.json +1 -1
  24. package/shared/interceptors/filter-module-interceptor/filter-module-interceptor.module.d.ts +4 -0
  25. package/shared/interceptors/filter-module-interceptor/filter-module.interceptor.d.ts +11 -0
@@ -6633,17 +6633,36 @@
6633
6633
  var _this = this;
6634
6634
  return (__assign(__assign({}, list), { contents: list.contents.map(function (item) { return (__assign(__assign({}, item), { label: _this.getLabelForMapping(item) })); }) }));
6635
6635
  };
6636
- WageTypePayrollLookupService.prototype.getFilters = function (filterData, filter) {
6637
- var filterQuery = '';
6636
+ /**
6637
+ * Constrói uma query de filtros otimizada combinando filterData e filters adicionais.
6638
+ *
6639
+ * Este método agrupa filtros com a mesma key usando operador IN para melhor performance,
6640
+ * e conecta diferentes keys usando operador OR.
6641
+ *
6642
+ * @param filterData String de filtro base (ex: busca por texto)
6643
+ * @param filters Array de filtros estruturados com key/value
6644
+ * @returns String de query formatada para uso no backend
6645
+ */
6646
+ WageTypePayrollLookupService.prototype.getFilters = function (filterData, filters) {
6647
+ var conditions = [];
6638
6648
  if (filterData) {
6639
- filterQuery += "(" + filterData + ") or ";
6640
- }
6641
- if (filter) {
6642
- filter.forEach(function (filter) {
6643
- filterQuery += filter.key + " eq '" + filter.value + "' or ";
6649
+ conditions.push("(" + filterData + ")");
6650
+ }
6651
+ if (filters === null || filters === void 0 ? void 0 : filters.length) {
6652
+ var groupedFilters = filters.reduce(function (acc, filter) {
6653
+ (acc[filter.key] = acc[filter.key] || []).push(filter.value);
6654
+ return acc;
6655
+ }, {});
6656
+ var filterConditions = Object.entries(groupedFilters).map(function (_a) {
6657
+ var _b = __read(_a, 2), key = _b[0], values = _b[1];
6658
+ var quotedValues = values.map(function (value) { return "'" + value + "'"; });
6659
+ return values.length === 1
6660
+ ? key + " eq " + quotedValues[0]
6661
+ : key + " in (" + quotedValues.join(', ') + ")";
6644
6662
  });
6663
+ conditions.push.apply(conditions, __spread(filterConditions));
6645
6664
  }
6646
- return filterQuery.slice(0, -4);
6665
+ return conditions.join(' or ');
6647
6666
  };
6648
6667
  WageTypePayrollLookupService.ctorParameters = function () { return [
6649
6668
  { type: core$1.TranslateService },
@@ -11297,6 +11316,79 @@
11297
11316
  return InssTaxationGroup;
11298
11317
  }());
11299
11318
 
11319
+ // Core Module
11320
+
11321
+ var FILTER_KEY = 'filter';
11322
+ var EMPLOYEE_URL = "/hcm_contract/employment_contract/entities/employee";
11323
+ var FILTER_MODULE_TYPES = new core.InjectionToken('FILTER_MODULE_TYPES');
11324
+ var FilterModuleInterceptor = /** @class */ (function () {
11325
+ function FilterModuleInterceptor(moduleTypes) {
11326
+ this.moduleTypes = moduleTypes;
11327
+ }
11328
+ FilterModuleInterceptor.prototype.intercept = function (request, next) {
11329
+ var _a, _b, _c;
11330
+ if (!((_a = request === null || request === void 0 ? void 0 : request.url) === null || _a === void 0 ? void 0 : _a.includes(EMPLOYEE_URL)) || !((_b = this.moduleTypes) === null || _b === void 0 ? void 0 : _b.length)) {
11331
+ return next.handle(request);
11332
+ }
11333
+ var filterQuery = "(" + this.moduleTypes.map(function (m) { return "modules.moduleType eq '" + m + "'"; }).join(' or ') + ")";
11334
+ var updatedRequest;
11335
+ if ((_c = request === null || request === void 0 ? void 0 : request.params) === null || _c === void 0 ? void 0 : _c.has(FILTER_KEY)) {
11336
+ var actualFilter = "(" + request.params.get(FILTER_KEY) + ")";
11337
+ updatedRequest = request.clone({
11338
+ setParams: {
11339
+ filter: "" + [actualFilter, filterQuery].join(" and ")
11340
+ }
11341
+ });
11342
+ }
11343
+ else {
11344
+ updatedRequest = request.clone({
11345
+ setParams: {
11346
+ filter: filterQuery
11347
+ }
11348
+ });
11349
+ }
11350
+ return next.handle(updatedRequest);
11351
+ };
11352
+ FilterModuleInterceptor.ctorParameters = function () { return [
11353
+ { type: Array, decorators: [{ type: core.Optional }, { type: core.Inject, args: [FILTER_MODULE_TYPES,] }] }
11354
+ ]; };
11355
+ FilterModuleInterceptor = __decorate([
11356
+ core.Injectable(),
11357
+ __param(0, core.Optional()), __param(0, core.Inject(FILTER_MODULE_TYPES))
11358
+ ], FilterModuleInterceptor);
11359
+ return FilterModuleInterceptor;
11360
+ }());
11361
+
11362
+ var FilterModuleInterceptorModule = /** @class */ (function () {
11363
+ function FilterModuleInterceptorModule() {
11364
+ }
11365
+ FilterModuleInterceptorModule_1 = FilterModuleInterceptorModule;
11366
+ FilterModuleInterceptorModule.forRoot = function (moduleTypes) {
11367
+ if (moduleTypes === void 0) { moduleTypes = []; }
11368
+ return {
11369
+ ngModule: FilterModuleInterceptorModule_1,
11370
+ providers: [
11371
+ {
11372
+ provide: FILTER_MODULE_TYPES,
11373
+ useValue: moduleTypes
11374
+ },
11375
+ {
11376
+ provide: http.HTTP_INTERCEPTORS,
11377
+ useClass: FilterModuleInterceptor,
11378
+ multi: true
11379
+ },
11380
+ ],
11381
+ };
11382
+ };
11383
+ var FilterModuleInterceptorModule_1;
11384
+ FilterModuleInterceptorModule = FilterModuleInterceptorModule_1 = __decorate([
11385
+ core.NgModule({
11386
+ imports: [common.CommonModule]
11387
+ })
11388
+ ], FilterModuleInterceptorModule);
11389
+ return FilterModuleInterceptorModule;
11390
+ }());
11391
+
11300
11392
  exports.AdministrativeJudicialCase = AdministrativeJudicialCase;
11301
11393
  exports.AdministrativeJudicialCaseLookupComponent = AdministrativeJudicialCaseLookupComponent;
11302
11394
  exports.AdministrativeJudicialCaseLookupModule = AdministrativeJudicialCaseLookupModule;
@@ -11366,6 +11458,7 @@
11366
11458
  exports.FgtsTaxationLookupComponent = FgtsTaxationLookupComponent;
11367
11459
  exports.FgtsTaxationLookupModule = FgtsTaxationLookupModule;
11368
11460
  exports.FgtsTaxationLookupService = FgtsTaxationLookupService;
11461
+ exports.FilterModuleInterceptorModule = FilterModuleInterceptorModule;
11369
11462
  exports.FpasRegistrationLookupModule = FpasRegistrationLookupModule;
11370
11463
  exports.FpasRegistrationLookupService = FpasRegistrationLookupService;
11371
11464
  exports.Holiday = Holiday;
@@ -11459,6 +11552,8 @@
11459
11552
  exports.ɵbk = NaturePayrollRubricaModule;
11460
11553
  exports.ɵbl = InssTaxationModule;
11461
11554
  exports.ɵbm = InssTaxationGroupModule;
11555
+ exports.ɵbn = FILTER_MODULE_TYPES;
11556
+ exports.ɵbo = FilterModuleInterceptor;
11462
11557
  exports.ɵc = SharedModule;
11463
11558
  exports.ɵd = CompanyBranchLookupComponent;
11464
11559
  exports.ɵe = PersonLookupComponent;