@senior-gestao-empresarial/angular-components 7.14.1-ec5f2ab3-5b80-485c-8495-13eb6c5073d7 → 7.15.0-09167df2-59df-4982-8a40-f0024103e502

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.
@@ -429,6 +429,19 @@
429
429
  /** Contains string value (Ex: /Products?$filter=containing(lower(name), lower('my name'))) */
430
430
  EnumLogicalOperator["Contains"] = "containing";
431
431
  })(exports.EnumLogicalOperator || (exports.EnumLogicalOperator = {}));
432
+ var ErpLookupsFormField = /** @class */ (function (_super) {
433
+ __extends(ErpLookupsFormField, _super);
434
+ function ErpLookupsFormField(erpLookupsFormField) {
435
+ var args = [];
436
+ for (var _i = 1; _i < arguments.length; _i++) {
437
+ args[_i - 1] = arguments[_i];
438
+ }
439
+ var _this = _super.apply(this, __spread(args)) || this;
440
+ _this.erpLookupsFormField = erpLookupsFormField;
441
+ return _this;
442
+ }
443
+ return ErpLookupsFormField;
444
+ }(angularComponents.FormField));
432
445
  var ErpLookups = /** @class */ (function () {
433
446
  /**
434
447
  * Criação de um lookup.
@@ -471,6 +484,9 @@
471
484
  translationKey = prefix + ".lookup_" + _this.toSnakeCase(_this.entity) + "_" + _this.toSnakeCase(fieldName);
472
485
  label = _this.translate.instant(translationKey);
473
486
  }
487
+ if ("searchOptions" in field) {
488
+ return new ErpLookupsFormField(field.searchOptions, __assign(__assign({}, field), { label: label }));
489
+ }
474
490
  return new angularComponents.FormField(__assign(__assign({}, field), { label: label }));
475
491
  });
476
492
  };
@@ -505,6 +521,26 @@
505
521
  }).join(" and ");
506
522
  }
507
523
  };
524
+ ErpLookups.prototype.mountCustomFilter = function (_a) {
525
+ var erpLookupsSearchField = _a.erpLookupsSearchField, filterData = _a.filterData;
526
+ var searchOptions = erpLookupsSearchField.erpLookupsFormField, name = erpLookupsSearchField.name;
527
+ return searchOptions.customFilters
528
+ .map(function (_a) {
529
+ var operator = _a.operator, value = _a.value;
530
+ value = typeof value === "function" ? value({
531
+ value: filterData[name],
532
+ filterData: filterData,
533
+ }) : value;
534
+ if (operator === exports.EnumLogicalOperator.Contains) {
535
+ return "containing(lower(" + name + "), lower('" + value + "'))";
536
+ }
537
+ if ((operator === exports.EnumLogicalOperator.IsNot || operator === exports.EnumLogicalOperator.Is) && !value) {
538
+ return name + " " + operator + " null";
539
+ }
540
+ return name + " " + operator + " '" + value + "'";
541
+ })
542
+ .join(" and ");
543
+ };
508
544
  ErpLookups.prototype.mountFilterQuery = function (value, lookupFields, defaultFilter, dynamicFilter) {
509
545
  var filterQuery;
510
546
  if (Number.isInteger(Number(value))) {
@@ -654,9 +690,15 @@
654
690
  var name = _a.name;
655
691
  return filterData[name] != undefined && filterData[name] != "";
656
692
  })
657
- .map(function (_a) {
658
- var name = _a.name, type = _a.type, multiple = _a.multiple;
693
+ .map(function (formField) {
694
+ var _a = formField, name = _a.name, type = _a.type, multiple = _a.multiple, searchOptions = _a.erpLookupsFormField;
659
695
  var value = filterData[name];
696
+ if (searchOptions) {
697
+ return _this.mountCustomFilter({
698
+ erpLookupsSearchField: formField,
699
+ filterData: filterData,
700
+ });
701
+ }
660
702
  if (typeof value == "number")
661
703
  return name + " eq " + value;
662
704
  else if (type == angularComponents.FieldType.Date)
@@ -671,8 +713,7 @@
671
713
  return "(containing(lower(" + name + "), lower('" + value + "')))";
672
714
  else if (type === angularComponents.FieldType.Lookup)
673
715
  return "(" + name + " eq '" + value.id + "')";
674
- else
675
- return name + " eq '" + value + "'";
716
+ return name + " eq '" + value + "'";
676
717
  })
677
718
  .join(" and ");
678
719
  if (options.entityDependency) {
@@ -9012,6 +9053,7 @@
9012
9053
  exports.EntityPersonProductLookup = EntityPersonProductLookup;
9013
9054
  exports.EquipmentLookup = EquipmentLookup;
9014
9055
  exports.ErpLookups = ErpLookups;
9056
+ exports.ErpLookupsFormField = ErpLookupsFormField;
9015
9057
  exports.ErpLookupsModule = ErpLookupsModule;
9016
9058
  exports.ErpLookupsService = ErpLookupsService;
9017
9059
  exports.ErpPolling = ErpPolling;