@seniorsistemas/angular-components 17.10.0 → 17.10.2

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/seniorsistemas-angular-components.umd.js +85 -143
  2. package/bundles/seniorsistemas-angular-components.umd.js.map +1 -1
  3. package/bundles/seniorsistemas-angular-components.umd.min.js +2 -2
  4. package/bundles/seniorsistemas-angular-components.umd.min.js.map +1 -1
  5. package/components/badge/badge.component.d.ts +4 -2
  6. package/components/dynamic-form/components/lookup/lookup.component.d.ts +25 -3
  7. package/components/tooltip/tooltip.directive.d.ts +1 -1
  8. package/esm2015/components/badge/badge.component.js +10 -4
  9. package/esm2015/components/dynamic-form/components/fields/lookup/lookup-field.component.js +2 -2
  10. package/esm2015/components/dynamic-form/components/lookup/lookup.component.js +5 -2
  11. package/esm2015/components/dynamic-form/dynamic-form.module.js +3 -1
  12. package/esm2015/components/tooltip/tooltip.component.js +3 -3
  13. package/esm2015/components/tooltip/tooltip.directive.js +59 -138
  14. package/esm5/components/badge/badge.component.js +10 -4
  15. package/esm5/components/dynamic-form/components/fields/lookup/lookup-field.component.js +2 -2
  16. package/esm5/components/dynamic-form/components/lookup/lookup.component.js +5 -2
  17. package/esm5/components/dynamic-form/dynamic-form.module.js +3 -1
  18. package/esm5/components/tooltip/tooltip.component.js +3 -3
  19. package/esm5/components/tooltip/tooltip.directive.js +71 -139
  20. package/fesm2015/seniorsistemas-angular-components.js +74 -143
  21. package/fesm2015/seniorsistemas-angular-components.js.map +1 -1
  22. package/fesm5/seniorsistemas-angular-components.js +86 -144
  23. package/fesm5/seniorsistemas-angular-components.js.map +1 -1
  24. package/package.json +1 -1
  25. package/seniorsistemas-angular-components.metadata.json +1 -1
@@ -525,8 +525,8 @@
525
525
  }
526
526
  TooltipComponent = __decorate([
527
527
  core.Component({
528
- template: "<div\n class=\"tooltip\"\n [ngClass]=\"['tooltip--' + position]\"\n [class.tooltip--visible]=\"visible\"\n [ngStyle]=\"{\n 'left': left + 'px',\n 'top': top + 'px'\n }\">\n <ng-template\n *ngIf=\"escape;\n then escapeTemplate;\n else noEscapeTemplate\">\n </ng-template> \n</div>\n\n<ng-template #noEscapeTemplate>\n <span\n class=\"tooltip__content\"\n [innerHTML]=\"tooltip\">\n </span>\n</ng-template>\n\n<ng-template #escapeTemplate>\n <span class=\"tooltip__content\">\n {{ tooltip }}\n </span>\n</ng-template>",
529
- styles: [".tooltip{background-color:#000;border-radius:2px;color:#fff;font-family:\"Open Sans\",sans-serif;font-size:14px;font-weight:400;line-height:21px;margin-top:5px;opacity:0;padding:8px;position:fixed;transform:translateX(-50%);text-align:center;max-width:150px;word-wrap:break-word;z-index:99999}.tooltip--visible{opacity:1;transition:opacity .3s}.tooltip::before{content:\"\";height:0;position:absolute;width:0}.tooltip--bottom{margin-top:8px;transform:translateX(-50%)}.tooltip--bottom::before{border:5px solid transparent;border-bottom:5px solid #000;left:calc(50% - 5px);top:-10px}.tooltip--top{margin-bottom:8px;transform:translate(-50%,-100%)}.tooltip--top::before{border:5px solid transparent;border-top:5px solid #000;left:calc(50% - 5px);bottom:-10px}.tooltip--left{margin-right:28px;transform:translate(calc(-100% - 7px),-50%)}.tooltip--left::before{border:5px solid transparent;border-left:5px solid #000;right:-10px;bottom:calc(50% - 5px)}.tooltip--right{margin-left:7px;transform:translateY(-50%)}.tooltip--right::before{border:5px solid transparent;border-right:5px solid #000;left:-10px;bottom:calc(50% - 5px)}"]
528
+ template: "<div\n id=\"tooltip\"\n class=\"tooltip\"\n [ngClass]=\"['tooltip--' + position]\"\n [class.tooltip--visible]=\"visible\"\n [ngStyle]=\"{\n 'left': left + 'px',\n 'top': top + 'px'\n }\">\n <ng-template\n *ngIf=\"escape;\n then escapeTemplate;\n else noEscapeTemplate\">\n </ng-template> \n</div>\n\n<ng-template #noEscapeTemplate>\n <span\n class=\"tooltip__content\"\n [innerHTML]=\"tooltip\">\n </span>\n</ng-template>\n\n<ng-template #escapeTemplate>\n <span class=\"tooltip__content\">\n {{ tooltip }}\n </span>\n</ng-template>",
529
+ styles: [".tooltip{background-color:#000;border-radius:2px;color:#fff;font-family:\"Open Sans\",sans-serif;font-size:14px;font-weight:400;line-height:21px;margin-top:5px;opacity:0;padding:8px;position:fixed;transform:translateX(-50%);text-align:center;max-width:220px;word-wrap:break-word;z-index:99999}.tooltip--visible{opacity:1;transition:opacity .3s}.tooltip::before{content:\"\";height:0;position:absolute;width:0}.tooltip--bottom{margin-top:8px;transform:translateX(-50%)}.tooltip--bottom::before{border:5px solid transparent;border-bottom:5px solid #000;left:calc(50% - 5px);top:-10px}.tooltip--top{margin-bottom:8px;transform:translate(-50%,-100%)}.tooltip--top::before{border:5px solid transparent;border-top:5px solid #000;left:calc(50% - 5px);bottom:-10px}.tooltip--left{margin-right:28px;transform:translate(calc(-100% - 7px),-50%)}.tooltip--left::before{border:5px solid transparent;border-left:5px solid #000;right:-10px;bottom:calc(50% - 5px)}.tooltip--right{margin-left:7px;transform:translateY(-50%)}.tooltip--right::before{border:5px solid transparent;border-right:5px solid #000;left:-10px;bottom:calc(50% - 5px)}"]
530
530
  })
531
531
  ], TooltipComponent);
532
532
  return TooltipComponent;
@@ -626,7 +626,7 @@
626
626
  top: Math.min(elementRect.top, toolTipRect.top),
627
627
  right: Math.max(elementRect.right, toolTipRect.right),
628
628
  left: Math.min(elementRect.left, toolTipRect.left),
629
- bottom: Math.max(elementRect.bottom, toolTipRect.bottom)
629
+ bottom: Math.max(elementRect.bottom, toolTipRect.bottom),
630
630
  };
631
631
  if (this.isMousePositionOutsideOfElement(event.clientX, event.clientY, totalElementArea)) {
632
632
  this.destroy();
@@ -643,12 +643,12 @@
643
643
  if (this.focusedInputRef) {
644
644
  var inputFocus = this.focusedInputRef;
645
645
  var icon_1 = this.getIconFromFocusedInput();
646
- this.renderer.listen(this.focusedInputRef, 'focus', function () {
646
+ this.renderer.listen(this.focusedInputRef, "focus", function () {
647
647
  if (icon_1 && _this.isMatchingTooltip(icon_1)) {
648
648
  _this.createTootipByFocus(icon_1);
649
649
  }
650
650
  });
651
- this.renderer.listen(inputFocus, 'blur', function () {
651
+ this.renderer.listen(inputFocus, "blur", function () {
652
652
  if (icon_1 && _this.isMatchingTooltip(icon_1)) {
653
653
  _this.removeTooltip(icon_1);
654
654
  _this.destroy();
@@ -669,7 +669,7 @@
669
669
  * @returns true se o tooltip corresponde; caso contrário, false.
670
670
  */
671
671
  TooltipDirective.prototype.isMatchingTooltip = function (icon) {
672
- var tooltipText = icon.getAttribute('ng-reflect-tooltip');
672
+ var tooltipText = icon.getAttribute("ng-reflect-tooltip");
673
673
  return this.tooltip === tooltipText;
674
674
  };
675
675
  /**
@@ -677,7 +677,7 @@
677
677
  * @param icon O ícone do input em focus.
678
678
  */
679
679
  TooltipDirective.prototype.removeTooltip = function (icon) {
680
- var tooltip = icon.querySelector('.tooltip');
680
+ var tooltip = icon.querySelector(".tooltip");
681
681
  if (tooltip) {
682
682
  tooltip.remove();
683
683
  }
@@ -685,9 +685,7 @@
685
685
  // whenever the component with the tooltip is clicked I destroy the tooltip.
686
686
  // whenever a key is pressed on the component with the tooltip I destroy the tooltip.
687
687
  TooltipDirective.prototype.onClick = function () {
688
- if (this.tooltipEvent === TooltipEvent.Hover &&
689
- !navigator.userAgent.match(/Android/i) &&
690
- !navigator.userAgent.match(/iPhone/i)) {
688
+ if (this.tooltipEvent === TooltipEvent.Hover && !navigator.userAgent.match(/Android/i) && !navigator.userAgent.match(/iPhone/i)) {
691
689
  this.destroy();
692
690
  }
693
691
  };
@@ -732,12 +730,7 @@
732
730
  }
733
731
  };
734
732
  TooltipDirective.prototype.validatePosition = function () {
735
- var containsPosition = [
736
- exports.TooltipPosition.Top,
737
- exports.TooltipPosition.Right,
738
- exports.TooltipPosition.Bottom,
739
- exports.TooltipPosition.Left,
740
- ].includes(this.position);
733
+ var containsPosition = [exports.TooltipPosition.Top, exports.TooltipPosition.Right, exports.TooltipPosition.Bottom, exports.TooltipPosition.Left].includes(this.position);
741
734
  if (!containsPosition) {
742
735
  this.position = exports.TooltipPosition.Top;
743
736
  throw new Error("Tooltip " + this.position + " position is unexpected");
@@ -750,7 +743,7 @@
750
743
  document.body.appendChild(domElem);
751
744
  this.setTooltipComponentProperties();
752
745
  this.showTimeout = window.setTimeout(this.showTooltip.bind(this), this.showDelay);
753
- this.tooltipDivElement = domElem.querySelector('.tooltip');
746
+ this.tooltipDivElement = domElem.querySelector(".tooltip");
754
747
  if (this.displayTime) {
755
748
  window.setTimeout(this.destroy.bind(this), this.displayTime);
756
749
  }
@@ -772,142 +765,81 @@
772
765
  var _a;
773
766
  if (this.componentRef === null && ((_a = this.tooltip) === null || _a === void 0 ? void 0 : _a.length)) {
774
767
  var domElem = this.getDomElement();
775
- var tooltip_1 = domElem.querySelector('.tooltip');
768
+ var tooltip_1 = domElem.querySelector(".tooltip");
776
769
  icon.appendChild(tooltip_1);
777
770
  this.setTooltipComponentProperties();
778
771
  setTimeout(function () { return tooltip_1.classList.add("tooltip--visible"); }, 0);
779
- this.renderer.listen(window, 'scroll', function () {
780
- _this.updateTooltipPosition();
772
+ this.renderer.listen(window, "scroll", function () {
773
+ _this.setTooltipPositionProperty();
781
774
  });
782
775
  }
783
776
  };
784
- TooltipDirective.prototype.updateTooltipPosition = function () {
785
- if (this.componentRef) {
786
- var _a = this.elementRef.nativeElement.getBoundingClientRect(), left = _a.left, right = _a.right, top_1 = _a.top, bottom = _a.bottom;
787
- var tooltipWidth = right - left;
788
- var tooltipHeight = bottom - top_1;
789
- switch (this.position) {
790
- case exports.TooltipPosition.Top:
791
- this.componentRef.instance.left = Math.round(tooltipWidth / 2 + left);
792
- this.componentRef.instance.top = Math.round(top_1 - 20 - 5);
793
- break;
794
- case exports.TooltipPosition.Bottom:
795
- this.componentRef.instance.left = Math.round(tooltipWidth / 2 + left);
796
- this.componentRef.instance.top = Math.round(bottom + 20);
797
- break;
798
- case exports.TooltipPosition.Left:
799
- this.componentRef.instance.left = Math.round(left - 20);
800
- this.componentRef.instance.top = Math.round(top_1 + tooltipHeight / 2 - 5);
801
- break;
802
- case exports.TooltipPosition.Right:
803
- this.componentRef.instance.left = Math.round(right + 20);
804
- this.componentRef.instance.top = Math.round(top_1 + tooltipHeight / 2 - 5);
805
- break;
806
- default:
807
- break;
808
- }
809
- }
810
- };
811
777
  TooltipDirective.prototype.showTooltip = function () {
812
778
  if (this.componentRef !== null) {
813
779
  this.componentRef.instance.visible = this.visible;
814
- window.addEventListener('mousemove', this.boundOnWindowMouseMoveFunction);
780
+ this.setTooltipPositionProperty();
781
+ window.addEventListener("mousemove", this.boundOnWindowMouseMoveFunction);
815
782
  }
816
783
  };
817
- TooltipDirective.prototype.setTooltipComponentProperties = function () {
784
+ TooltipDirective.prototype.setTooltipPositionProperty = function () {
785
+ var e_1, _a;
818
786
  var margin = 20;
819
787
  var anchorSize = 5;
788
+ var domElem = this.componentRef.hostView.rootNodes[0].querySelector("#tooltip");
789
+ var _b = domElem.getBoundingClientRect(), height = _b.height, width = _b.width;
790
+ var _c = this.elementRef.nativeElement.getBoundingClientRect(), left = _c.left, right = _c.right, top = _c.top, bottom = _c.bottom;
791
+ var positions = [
792
+ {
793
+ pos: exports.TooltipPosition.Top,
794
+ check: function () { return top > height; },
795
+ set: function () { return ({ left: left + (right - left) / 2, top: top - margin - anchorSize }); },
796
+ },
797
+ {
798
+ pos: exports.TooltipPosition.Bottom,
799
+ check: function () { return document.body.clientHeight - bottom > height; },
800
+ set: function () { return ({ left: left + (right - left) / 2, top: bottom + margin }); },
801
+ },
802
+ {
803
+ pos: exports.TooltipPosition.Left,
804
+ check: function () { return left > width; },
805
+ set: function () { return ({ left: left - margin, top: top + height / 2 - anchorSize }); },
806
+ },
807
+ {
808
+ pos: exports.TooltipPosition.Right,
809
+ check: function () { return document.body.clientWidth - right > width; },
810
+ set: function () { return ({ left: right + margin, top: top + height / 2 - anchorSize }); },
811
+ },
812
+ ];
813
+ try {
814
+ for (var positions_1 = __values(positions), positions_1_1 = positions_1.next(); !positions_1_1.done; positions_1_1 = positions_1.next()) {
815
+ var _d = positions_1_1.value, pos = _d.pos, check = _d.check, set = _d.set;
816
+ if (check()) {
817
+ this.position = pos;
818
+ var _e = set(), left_1 = _e.left, top_1 = _e.top;
819
+ this.componentRef.instance.left = Math.round(left_1);
820
+ this.componentRef.instance.top = Math.round(top_1);
821
+ this.componentRef.instance.position = this.position;
822
+ return;
823
+ }
824
+ }
825
+ }
826
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
827
+ finally {
828
+ try {
829
+ if (positions_1_1 && !positions_1_1.done && (_a = positions_1.return)) _a.call(positions_1);
830
+ }
831
+ finally { if (e_1) throw e_1.error; }
832
+ }
833
+ // Se não conseguir posicionar, mostrar abaixo
834
+ this.position = exports.TooltipPosition.Bottom;
835
+ this.componentRef.instance.left = Math.round(left + (right - left) / 2);
836
+ this.componentRef.instance.top = Math.round(bottom + margin);
837
+ this.componentRef.instance.position = this.position;
838
+ };
839
+ TooltipDirective.prototype.setTooltipComponentProperties = function () {
820
840
  if (this.componentRef !== null) {
821
841
  this.componentRef.instance.tooltip = this.tooltip;
822
842
  this.componentRef.instance.escape = this.escape;
823
- var _a = this.elementRef.nativeElement.getBoundingClientRect(), left = _a.left, right = _a.right, top_2 = _a.top, bottom = _a.bottom;
824
- var tooltipHeight = bottom - top_2;
825
- var tooltipWidth = right - left;
826
- var safeSpace = 150;
827
- var positioned = false;
828
- var invalidOptions = [];
829
- while (!positioned) {
830
- if (invalidOptions.includes(exports.TooltipPosition.Top)
831
- && invalidOptions.includes(exports.TooltipPosition.Bottom)
832
- && invalidOptions.includes(exports.TooltipPosition.Left)
833
- && invalidOptions.includes(exports.TooltipPosition.Right)) {
834
- this.destroy();
835
- throw new Error("No space to show tooltip");
836
- }
837
- switch (this.position) {
838
- case exports.TooltipPosition.Top: {
839
- if (invalidOptions.includes(exports.TooltipPosition.Top)) {
840
- this.position = exports.TooltipPosition.Left;
841
- break;
842
- }
843
- var topShift = top_2;
844
- if (topShift <= tooltipHeight + safeSpace) {
845
- this.position = exports.TooltipPosition.Bottom;
846
- invalidOptions.push(exports.TooltipPosition.Top);
847
- positioned = false;
848
- break;
849
- }
850
- this.componentRef.instance.left = Math.round(tooltipWidth / 2 + left);
851
- this.componentRef.instance.top = Math.round(top_2 - margin - anchorSize);
852
- positioned = true;
853
- break;
854
- }
855
- case exports.TooltipPosition.Bottom: {
856
- if (invalidOptions.includes(exports.TooltipPosition.Bottom)) {
857
- this.position = exports.TooltipPosition.Left;
858
- break;
859
- }
860
- var bottomShift = document.body.clientHeight - bottom;
861
- if (bottomShift <= tooltipHeight + safeSpace) {
862
- this.position = exports.TooltipPosition.Top;
863
- invalidOptions.push(exports.TooltipPosition.Bottom);
864
- break;
865
- }
866
- this.componentRef.instance.left = Math.round(tooltipWidth / 2 + left);
867
- this.componentRef.instance.top = Math.round(bottom + margin);
868
- positioned = true;
869
- break;
870
- }
871
- case exports.TooltipPosition.Left: {
872
- if (invalidOptions.includes(exports.TooltipPosition.Left)) {
873
- this.position = exports.TooltipPosition.Top;
874
- break;
875
- }
876
- var leftShift = left;
877
- if (leftShift <= tooltipWidth + safeSpace) {
878
- this.position = exports.TooltipPosition.Right;
879
- invalidOptions.push(exports.TooltipPosition.Left);
880
- positioned = false;
881
- break;
882
- }
883
- this.componentRef.instance.left = Math.round(left - margin);
884
- this.componentRef.instance.top = Math.round(top_2 + tooltipHeight / 2 - anchorSize);
885
- positioned = true;
886
- break;
887
- }
888
- case exports.TooltipPosition.Right: {
889
- if (invalidOptions.includes(exports.TooltipPosition.Right)) {
890
- this.position = exports.TooltipPosition.Top;
891
- break;
892
- }
893
- var rightShift = document.body.clientWidth - right;
894
- if (rightShift <= tooltipWidth + safeSpace) {
895
- this.position = exports.TooltipPosition.Left;
896
- invalidOptions.push(exports.TooltipPosition.Right);
897
- positioned = false;
898
- break;
899
- }
900
- this.componentRef.instance.left = Math.round(right + margin);
901
- this.componentRef.instance.top = Math.round(top_2 + tooltipHeight / 2 - anchorSize);
902
- positioned = true;
903
- break;
904
- }
905
- default: {
906
- break;
907
- }
908
- }
909
- this.componentRef.instance.position = this.position;
910
- }
911
843
  }
912
844
  };
913
845
  TooltipDirective.prototype.destroy = function () {
@@ -918,7 +850,7 @@
918
850
  this.componentRef = null;
919
851
  this.tooltipDivElement = null;
920
852
  }
921
- window.removeEventListener('mousemove', this.boundOnWindowMouseMoveFunction);
853
+ window.removeEventListener("mousemove", this.boundOnWindowMouseMoveFunction);
922
854
  };
923
855
  TooltipDirective.ctorParameters = function () { return [
924
856
  { type: core.ElementRef },
@@ -1112,15 +1044,21 @@
1112
1044
 
1113
1045
  var BadgeComponent = /** @class */ (function () {
1114
1046
  function BadgeComponent() {
1115
- this.type = BadgeTypes.Pill;
1116
- this.color = exports.BadgeColors.Blue;
1117
1047
  this.selectable = false;
1118
- this.iconPosition = "left";
1119
1048
  this.selected = new core.EventEmitter();
1120
1049
  }
1121
1050
  BadgeComponent.prototype.onClick = function () {
1122
1051
  this.selected.emit(this.text);
1123
1052
  };
1053
+ BadgeComponent.prototype.ngOnInit = function () {
1054
+ this._setDefaultValues();
1055
+ };
1056
+ BadgeComponent.prototype._setDefaultValues = function () {
1057
+ var _a, _b, _c;
1058
+ this.type = (_a = this.type) !== null && _a !== void 0 ? _a : BadgeTypes.Pill;
1059
+ this.color = (_b = this.color) !== null && _b !== void 0 ? _b : exports.BadgeColors.Blue;
1060
+ this.iconPosition = (_c = this.iconPosition) !== null && _c !== void 0 ? _c : "left";
1061
+ };
1124
1062
  __decorate([
1125
1063
  core.Input()
1126
1064
  ], BadgeComponent.prototype, "type", void 0);
@@ -5589,6 +5527,9 @@
5589
5527
  LookupComponent.prototype.getFieldValue = function (obj, path) {
5590
5528
  return path.split(".").reduce(function (result, prop) { return (result[prop] === undefined ? "" : result[prop]); }, obj);
5591
5529
  };
5530
+ LookupComponent.prototype.getBadgeFromValue = function (value, options) {
5531
+ return options === null || options === void 0 ? void 0 : options.find(function (opt) { return opt.value === value; }).badge;
5532
+ };
5592
5533
  LookupComponent.prototype.getLabelForValue = function (value, options) {
5593
5534
  if (!options)
5594
5535
  return value;
@@ -5890,7 +5831,7 @@
5890
5831
  core.Injectable(),
5891
5832
  core.Component({
5892
5833
  selector: "s-lookup",
5893
- template: "<div [ngClass]=\"{ inputgroup: showSearch }\">\n <p-autoComplete\n #autocomplete\n [(ngModel)]=\"value\"\n [disabled]=\"disabled\"\n [dataKey]=\"dataKey\"\n [multiple]=\"multiple\"\n [inputId]=\"id + '-autocomplete'\"\n [forceSelection]=\"autocompleteForceSelection\"\n [suggestions]=\"getLookupSuggestions()\"\n (completeMethod)=\"lazyLoadLookup($event)\"\n (onSelect)=\"onSelect.next($event)\"\n (onBlur)=\"onBlur.next($event)\"\n (onFocus)=\"onFocus.next($event)\"\n (onUnselect)=\"onUnselect.next($event)\"\n (onClear)=\"onClear.next($event)\"\n (onKeyUp)=\"onKeyUp.next($event)\"\n [field]=\"lookupDisplayField\"\n [emptyMessage]=\"lookupEmptyMessage\"\n [dropdown]=\"!showSearch\"\n [appendTo]=\"lookupAppendTo\"\n [placeholder]=\"placeholder || ' '\"\n [autoHighlight]=\"true\"\n inputStyleClass=\"mousetrap\">\n <ng-template let-item pTemplate=\"selectedItem\">\n <span\n class=\"ui-autocomplete-token-label ng-tns-c65-43 ng-star-inserted\"\n [sTooltip]=\"lookupDisplayFieldTooltip ? item[lookupDisplayField] : null\"\n tooltipPosition=\"top\">\n {{item[lookupDisplayField]}}\n </span>\n </ng-template>\n </p-autoComplete>\n <button\n *ngIf=\"showSearch\"\n pButton\n type=\"button\"\n icon=\"fa fa-search\"\n class=\"button-addon\"\n [disabled]=\"disabled\"\n (click)=\"showDialog()\">\n </button>\n</div>\n<p-dialog\n appendTo=\"body\"\n styleClass=\"s-lookup-modal\"\n [header]=\"searchTitle || 'platform.angular_components.advanced_search' | translate\"\n [(visible)]=\"dialogVisible\"\n [modal]=\"true\"\n (onHide)=\"hideDialog()\"\n [blockScroll]=\"true\"\n [focusOnShow]=\"true\"\n [draggable]=\"false\"\n [resizable]=\"false\"\n #dialog>\n <div\n *ngIf=\"dialogVisible\"\n class=\"s-lookup-modal-container\">\n <div\n *ngIf=\"searchFields && searchFields.length\"\n class=\"filter\"\n [@collapseContent]=\"collapsed\n ? { value: 'hidden', params: { transitionParams: transitionOptions } }\n : { value: 'visible', params: { transitionParams: transitionOptions } }\"\n (@collapseContent.done)=\"onToggleDone()\">\n <form\n [formGroup]=\"formGroupDialog\"\n novalidate\n autocomplete=\"off\">\n <div\n *ngIf=\"!collapsed\"\n class=\"form-content\"\n [@childCollapseContent]=\"collapsed\n ? { value: ':leave', params: { transitionParams: transitionOptions } }\n : { value: ':enter', params: { transitionParams: transitionOptions } }\">\n <div class=\"filter-title sds-section-title\">\n {{ filterTitle || \"platform.angular_components.filters\" | translate }}\n </div>\n <div class=\"form-fields\">\n <s-dynamic-form\n [fields]=\"searchFields\"\n [form]=\"formGroupDialog\">\n </s-dynamic-form>\n </div>\n <div class=\"ui-g\">\n <div class=\"ui-g-12\">\n <s-button\n [id]=\"id + '-filter-button'\"\n type=\"submit\"\n [label]=\"filterLabel || 'platform.angular_components.filter' | translate\"\n (onClick)=\"search()\"\n sTooltip=\"(ALT + SHIFT + F)\"\n tooltipPosition=\"top\"\n showDelay=\"500\">\n </s-button>\n <s-button\n [id]=\"id + '-clear-button'\"\n type=\"button\"\n [label]=\"clearLabel || 'platform.angular_components.clear' | translate\"\n (onClick)=\"clear()\"\n priority=\"link\"\n sTooltip=\"(ALT + SHIFT + L)\"\n tooltipPosition=\"top\"\n showDelay=\"500\">\n </s-button>\n </div>\n </div>\n </div>\n </form>\n </div>\n <div\n *ngIf=\"searchFields && searchFields.length\"\n class=\"filter-toggle\">\n <div class=\"filter-toggle--start-border-mask\"></div>\n <button\n [id]=\"id + '-filter-toggle-button'\"\n type=\"button\"\n (click)=\"filterToggle()\">\n <span\n class=\"fa\"\n [ngClass]=\"{'fa-chevron-left': !collapsed, 'fa-chevron-right': collapsed}\"\n aria-hidden=\"true\">\n </span>\n </button>\n <div class=\"filter-toggle--end-border-mask\"></div>\n </div>\n <div\n class=\"content\"\n [ngClass]=\"{'empty-content': !searchTotalRecords && !loading}\">\n <s-empty-state\n [id]=\"id + '-empty-state'\"\n *ngIf=\"!searchTotalRecords && !loading\"\n [title]=\"searchEmptyTitle || 'platform.angular_components.no_records_found' | translate\"\n [description]=\"searchEmptyDescription\"\n iconClass=\"fa fa-search\">\n </s-empty-state>\n\n <div>\n <s-button\n *ngIf=\"showAddOption\"\n priority=\"default\"\n [label]=\"'platform.angular_components.add' | translate\"\n (onClick)=\"onAdd.emit()\">\n </s-button>\n <s-button\n *ngIf=\"showEditOption\"\n priority=\"default\"\n [label]=\"'platform.angular_components.edit' | translate\"\n [disabled]=\"selected.length !== 1\"\n (onClick)=\"onEdit.emit(this.selected[0])\">\n </s-button>\n <s-button\n *ngIf=\"showRemoveOption\"\n priority=\"default\"\n [label]=\"'platform.angular_components.remove' | translate\"\n [disabled]=\"!selected.length\"\n (onClick)=\"onRemove.emit(this.selected)\">\n </s-button>\n </div>\n\n <p-table\n [dataKey]=\"dataKey\"\n [value]=\"getGridData()\"\n [columns]=\"searchGridFields\"\n [lazy]=\"true\"\n [scrollable]=\"true\"\n [paginator]=\"true\"\n sortMode=\"multiple\"\n [totalRecords]=\"searchTotalRecords\"\n [rows]=\"10\"\n [selection]=\"selected\"\n (onLazyLoad)=\"lazyLoadGrid($event)\"\n *sLoadingState=\"{ loading: loading, indicator: 'logo' }\"\n [multiSortMeta]=\"multiSortMeta\"\n [attr.data-hidden]=\"!searchTotalRecords && !loading\"\n [selectionMode]=\"multiple ? 'multiple' : 'single'\"\n (selectionChange)=\"onSelectionChange($event)\">\n <ng-template pTemplate=\"colgroup\" let-columns>\n <colgroup>\n <col\n *ngIf=\"multiple\"\n style=\"width: 50px\" />\n <col\n *ngFor=\"let col of columns\"\n [style.width]=\"col.width\" />\n </colgroup>\n </ng-template>\n <ng-template pTemplate=\"header\" let-columns>\n <tr>\n <th\n *ngIf=\"multiple\"\n style=\"width: 50px\">\n <s-table-header-checkbox\n [useAllObject]=\"lookupRowProps ? false : true\"\n [rowProps]=\"lookupRowProps\">\n </s-table-header-checkbox>\n </th>\n <th\n [style.width]=\"col.width\"\n *ngFor=\"let col of columns\"\n [pSortableColumn]=\"col.name\"\n [pSortableColumnDisabled]=\"sortableColumnsDisabled?.includes(col.name)\">\n <div class=\"senior-header\">\n <span class=\"senior-header-title\">{{ col.label }}</span>\n <p-sortIcon\n [field]=\"col.name\"\n *ngIf=\"!sortableColumnsDisabled?.includes(col.name)\">\n </p-sortIcon>\n </div>\n </th>\n </tr>\n </ng-template>\n <ng-template\n pTemplate=\"body\"\n let-rowData\n let-columns\n let-rowIndex=\"rowIndex\">\n <tr\n sNavigation\n [pSelectableRow]=\"rowData\"\n [pSelectableRowIndex]=\"rowIndex\"\n sDoubleClick (onDoubleClick)=\"onTableRowDoubleClick(rowData)\">\n <td\n *ngIf=\"multiple\"\n style=\"width: 50px\"\n tabindex=\"0\">\n <p-tableCheckbox\n [value]=\"rowData\"\n [pSelectableRow]=\"rowData\">\n </p-tableCheckbox>\n </td>\n <td\n [style.width]=\"col['width']\"\n *ngFor=\"let col of searchGridFields\"\n [ngSwitch]=\"col.type\"\n tabindex=\"0\">\n <ng-container *ngSwitchCase=\"'Boolean'\">\n <ng-container *ngIf=\"isBooleanValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getBooleanLabel(rowData, col.name, col.optionsLabel) }}</span>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'Date'\">\n <ng-container *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) | localizedDate: col.calendarLocaleOptions?.dateFormat || \"L\" | async }}</span>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'DateTime'\">\n <ng-container *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) | localizedDate | async }}</span>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'LocalDateTime'\">\n <ng-container *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) | localizedDate | async }}</span>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'Time'\">\n <ng-container *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) | localizedTime: col.calendarLocaleOptions?.dateFormat || \"LTS\" | async }}</span>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'Integer'\">\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span> {{ getFieldValue(rowData, col.name) | localizedBignumber: getIntegerMaskConfig(col) | async }} </span>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'Double'\">\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span> {{ getFieldValue(rowData, col.name) | localizedBignumber: getDoubleMaskConfig(col) | async }} </span>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'Money'\">\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span> {{ getFieldValue(rowData, col.name) | localizedBignumber: getMoneyMaskConfig(col) | async }} </span>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'Number'\">\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span> {{ getFieldValue(rowData, col.name) | localizedBignumber: getNumberMaskConfig(col) | async }} </span>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'Enum'\">\n <ng-container\n *ngIf=\"getLabelForValue(getFieldValue(rowData, col.name), col.options); else emptyTemplate\"\n >\n <span> {{ getLabelForValue(getFieldValue(rowData, col.name), col.options) }} </span>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <ng-container *ngIf=\"col.mask && col.mask()\">\n <ng-container *ngIf=\"(isNumber(rowData, col.name) || getFieldValue(rowData, col.name))\">\n <span>{{ getFieldValue(rowData, col.name) | sMaskFormatter: col.mask() }}</span>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!(col.mask && col.mask())\">\n <ng-container *ngIf=\"(isNumber(rowData, col.name) || getFieldValue(rowData, col.name)); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) }}</span>\n </ng-container>\n </ng-container>\n </ng-container>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"paginatorright\">\n <span [attr.data-hidden]=\"loading\">\n {{ printRecordTotalizer() }}\n </span>\n </ng-template>\n </p-table>\n </div>\n </div>\n <p-footer>\n <s-button\n [id]=\"id + '-select-button'\"\n type=\"button\"\n [label]=\"selectLabel || 'platform.angular_components.select' | translate\"\n (onClick)=\"select()\"\n sTooltip=\"(ALT + SHIFT + S)\"\n tooltipPosition=\"top\"\n showDelay=\"500\"\n [disabled]=\"!selected?.length\">\n </s-button>\n <s-button\n [id]=\"id + '-cancel-button'\"\n type=\"button\"\n priority=\"link\"\n [label]=\"cancelLabel || 'platform.angular_components.cancel' | translate\"\n (onClick)=\"hideDialog()\"\n sTooltip=\"(ALT + SHIFT + C)\"\n tooltipPosition=\"top\"\n showDelay=\"500\">\n </s-button>\n </p-footer>\n</p-dialog>\n<ng-template #emptyTemplate>\n <span [ngClass]=\"'sds-empty-value'\">\n {{ emptyFieldLabel || 'platform.angular_components.not_informed' | translate }}\n </span>\n</ng-template>\n",
5834
+ template: "<div [ngClass]=\"{ inputgroup: showSearch }\">\n <p-autoComplete\n #autocomplete\n [(ngModel)]=\"value\"\n [disabled]=\"disabled\"\n [dataKey]=\"dataKey\"\n [multiple]=\"multiple\"\n [inputId]=\"id + '-autocomplete'\"\n [forceSelection]=\"autocompleteForceSelection\"\n [suggestions]=\"getLookupSuggestions()\"\n (completeMethod)=\"lazyLoadLookup($event)\"\n (onSelect)=\"onSelect.next($event)\"\n (onBlur)=\"onBlur.next($event)\"\n (onFocus)=\"onFocus.next($event)\"\n (onUnselect)=\"onUnselect.next($event)\"\n (onClear)=\"onClear.next($event)\"\n (onKeyUp)=\"onKeyUp.next($event)\"\n [field]=\"lookupDisplayField\"\n [emptyMessage]=\"lookupEmptyMessage\"\n [dropdown]=\"!showSearch\"\n [appendTo]=\"lookupAppendTo\"\n [placeholder]=\"placeholder || ' '\"\n [autoHighlight]=\"true\"\n inputStyleClass=\"mousetrap\">\n <ng-template let-item pTemplate=\"selectedItem\">\n <span\n class=\"ui-autocomplete-token-label ng-tns-c65-43 ng-star-inserted\"\n [sTooltip]=\"lookupDisplayFieldTooltip ? item[lookupDisplayField] : null\"\n tooltipPosition=\"top\">\n {{item[lookupDisplayField]}}\n </span>\n </ng-template>\n </p-autoComplete>\n <button\n *ngIf=\"showSearch\"\n pButton\n type=\"button\"\n icon=\"fa fa-search\"\n class=\"button-addon\"\n [disabled]=\"disabled\"\n (click)=\"showDialog()\">\n </button>\n</div>\n<p-dialog\n appendTo=\"body\"\n styleClass=\"s-lookup-modal\"\n [header]=\"searchTitle || 'platform.angular_components.advanced_search' | translate\"\n [(visible)]=\"dialogVisible\"\n [modal]=\"true\"\n (onHide)=\"hideDialog()\"\n [blockScroll]=\"true\"\n [focusOnShow]=\"true\"\n [draggable]=\"false\"\n [resizable]=\"false\"\n #dialog>\n <div\n *ngIf=\"dialogVisible\"\n class=\"s-lookup-modal-container\">\n <div\n *ngIf=\"searchFields && searchFields.length\"\n class=\"filter\"\n [@collapseContent]=\"collapsed\n ? { value: 'hidden', params: { transitionParams: transitionOptions } }\n : { value: 'visible', params: { transitionParams: transitionOptions } }\"\n (@collapseContent.done)=\"onToggleDone()\">\n <form\n [formGroup]=\"formGroupDialog\"\n novalidate\n autocomplete=\"off\">\n <div\n *ngIf=\"!collapsed\"\n class=\"form-content\"\n [@childCollapseContent]=\"collapsed\n ? { value: ':leave', params: { transitionParams: transitionOptions } }\n : { value: ':enter', params: { transitionParams: transitionOptions } }\">\n <div class=\"filter-title sds-section-title\">\n {{ filterTitle || \"platform.angular_components.filters\" | translate }}\n </div>\n <div class=\"form-fields\">\n <s-dynamic-form\n [fields]=\"searchFields\"\n [form]=\"formGroupDialog\">\n </s-dynamic-form>\n </div>\n <div class=\"ui-g\">\n <div class=\"ui-g-12\">\n <s-button\n [id]=\"id + '-filter-button'\"\n type=\"submit\"\n [label]=\"filterLabel || 'platform.angular_components.filter' | translate\"\n (onClick)=\"search()\"\n sTooltip=\"(ALT + SHIFT + F)\"\n tooltipPosition=\"top\"\n showDelay=\"500\">\n </s-button>\n <s-button\n [id]=\"id + '-clear-button'\"\n type=\"button\"\n [label]=\"clearLabel || 'platform.angular_components.clear' | translate\"\n (onClick)=\"clear()\"\n priority=\"link\"\n sTooltip=\"(ALT + SHIFT + L)\"\n tooltipPosition=\"top\"\n showDelay=\"500\">\n </s-button>\n </div>\n </div>\n </div>\n </form>\n </div>\n <div\n *ngIf=\"searchFields && searchFields.length\"\n class=\"filter-toggle\">\n <div class=\"filter-toggle--start-border-mask\"></div>\n <button\n [id]=\"id + '-filter-toggle-button'\"\n type=\"button\"\n (click)=\"filterToggle()\">\n <span\n class=\"fa\"\n [ngClass]=\"{'fa-chevron-left': !collapsed, 'fa-chevron-right': collapsed}\"\n aria-hidden=\"true\">\n </span>\n </button>\n <div class=\"filter-toggle--end-border-mask\"></div>\n </div>\n <div\n class=\"content\"\n [ngClass]=\"{'empty-content': !searchTotalRecords && !loading}\">\n <s-empty-state\n [id]=\"id + '-empty-state'\"\n *ngIf=\"!searchTotalRecords && !loading\"\n [title]=\"searchEmptyTitle || 'platform.angular_components.no_records_found' | translate\"\n [description]=\"searchEmptyDescription\"\n iconClass=\"fa fa-search\">\n </s-empty-state>\n\n <div>\n <s-button\n *ngIf=\"showAddOption\"\n priority=\"default\"\n [label]=\"'platform.angular_components.add' | translate\"\n (onClick)=\"onAdd.emit()\">\n </s-button>\n <s-button\n *ngIf=\"showEditOption\"\n priority=\"default\"\n [label]=\"'platform.angular_components.edit' | translate\"\n [disabled]=\"selected.length !== 1\"\n (onClick)=\"onEdit.emit(this.selected[0])\">\n </s-button>\n <s-button\n *ngIf=\"showRemoveOption\"\n priority=\"default\"\n [label]=\"'platform.angular_components.remove' | translate\"\n [disabled]=\"!selected.length\"\n (onClick)=\"onRemove.emit(this.selected)\">\n </s-button>\n </div>\n\n <p-table\n [dataKey]=\"dataKey\"\n [value]=\"getGridData()\"\n [columns]=\"searchGridFields\"\n [lazy]=\"true\"\n [scrollable]=\"true\"\n [paginator]=\"true\"\n sortMode=\"multiple\"\n [totalRecords]=\"searchTotalRecords\"\n [rows]=\"10\"\n [selection]=\"selected\"\n (onLazyLoad)=\"lazyLoadGrid($event)\"\n *sLoadingState=\"{ loading: loading, indicator: 'logo' }\"\n [multiSortMeta]=\"multiSortMeta\"\n [attr.data-hidden]=\"!searchTotalRecords && !loading\"\n [selectionMode]=\"multiple ? 'multiple' : 'single'\"\n (selectionChange)=\"onSelectionChange($event)\">\n <ng-template pTemplate=\"colgroup\" let-columns>\n <colgroup>\n <col\n *ngIf=\"multiple\"\n style=\"width: 50px\" />\n <col\n *ngFor=\"let col of columns\"\n [style.width]=\"col.width\" />\n </colgroup>\n </ng-template>\n <ng-template pTemplate=\"header\" let-columns>\n <tr>\n <th\n *ngIf=\"multiple\"\n style=\"width: 50px\">\n <s-table-header-checkbox\n [useAllObject]=\"lookupRowProps ? false : true\"\n [rowProps]=\"lookupRowProps\">\n </s-table-header-checkbox>\n </th>\n <th\n [style.width]=\"col.width\"\n *ngFor=\"let col of columns\"\n [pSortableColumn]=\"col.name\"\n [pSortableColumnDisabled]=\"sortableColumnsDisabled?.includes(col.name)\">\n <div class=\"senior-header\">\n <span class=\"senior-header-title\">{{ col.label }}</span>\n <p-sortIcon\n [field]=\"col.name\"\n *ngIf=\"!sortableColumnsDisabled?.includes(col.name)\">\n </p-sortIcon>\n </div>\n </th>\n </tr>\n </ng-template>\n <ng-template\n pTemplate=\"body\"\n let-rowData\n let-columns\n let-rowIndex=\"rowIndex\">\n <tr\n sNavigation\n [pSelectableRow]=\"rowData\"\n [pSelectableRowIndex]=\"rowIndex\"\n sDoubleClick (onDoubleClick)=\"onTableRowDoubleClick(rowData)\">\n <td\n *ngIf=\"multiple\"\n style=\"width: 50px\"\n tabindex=\"0\">\n <p-tableCheckbox\n [value]=\"rowData\"\n [pSelectableRow]=\"rowData\">\n </p-tableCheckbox>\n </td>\n <td\n [style.width]=\"col['width']\"\n *ngFor=\"let col of searchGridFields\"\n [ngSwitch]=\"col.type\"\n tabindex=\"0\">\n <ng-container *ngSwitchCase=\"'Boolean'\">\n <ng-container *ngIf=\"isBooleanValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getBooleanLabel(rowData, col.name, col.optionsLabel) }}</span>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'Date'\">\n <ng-container *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) | localizedDate: col.calendarLocaleOptions?.dateFormat || \"L\" | async }}</span>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'DateTime'\">\n <ng-container *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) | localizedDate | async }}</span>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'LocalDateTime'\">\n <ng-container *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) | localizedDate | async }}</span>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'Time'\">\n <ng-container *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) | localizedTime: col.calendarLocaleOptions?.dateFormat || \"LTS\" | async }}</span>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'Integer'\">\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span> {{ getFieldValue(rowData, col.name) | localizedBignumber: getIntegerMaskConfig(col) | async }} </span>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'Double'\">\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span> {{ getFieldValue(rowData, col.name) | localizedBignumber: getDoubleMaskConfig(col) | async }} </span>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'Money'\">\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span> {{ getFieldValue(rowData, col.name) | localizedBignumber: getMoneyMaskConfig(col) | async }} </span>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'Number'\">\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span> {{ getFieldValue(rowData, col.name) | localizedBignumber: getNumberMaskConfig(col) | async }} </span>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'Enum'\">\n <ng-container *ngIf=\"getLabelForValue(getFieldValue(rowData, col.name), col.options); else emptyTemplate\">\n <ng-container *ngIf=\"getBadgeFromValue(getFieldValue(rowData, col.name), col.options); then withBadge; else withoutBadge\"></ng-container>\n <ng-template #withBadge>\n <s-badge\n [text]=\"getLabelForValue(getFieldValue(rowData, col.name), col.options)\"\n [color]=\"getBadgeFromValue(getFieldValue(rowData, col.name), col.options).color\"\n [type]=\"getBadgeFromValue(getFieldValue(rowData, col.name), col.options).type\"\n [iconClass]=\"getBadgeFromValue(getFieldValue(rowData, col.name), col.options).iconClass\"\n [iconPosition]=\"getBadgeFromValue(getFieldValue(rowData, col.name), col.options).iconPosition\">\n </s-badge>\n </ng-template>\n <ng-template #withoutBadge>\n <span> {{ getLabelForValue(getFieldValue(rowData, col.name), col.options) }} </span>\n </ng-template>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <ng-container *ngIf=\"col.mask && col.mask()\">\n <ng-container *ngIf=\"(isNumber(rowData, col.name) || getFieldValue(rowData, col.name))\">\n <span>{{ getFieldValue(rowData, col.name) | sMaskFormatter: col.mask() }}</span>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!(col.mask && col.mask())\">\n <ng-container *ngIf=\"(isNumber(rowData, col.name) || getFieldValue(rowData, col.name)); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) }}</span>\n </ng-container>\n </ng-container>\n </ng-container>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"paginatorright\">\n <span [attr.data-hidden]=\"loading\">\n {{ printRecordTotalizer() }}\n </span>\n </ng-template>\n </p-table>\n </div>\n </div>\n <p-footer>\n <s-button\n [id]=\"id + '-select-button'\"\n type=\"button\"\n [label]=\"selectLabel || 'platform.angular_components.select' | translate\"\n (onClick)=\"select()\"\n sTooltip=\"(ALT + SHIFT + S)\"\n tooltipPosition=\"top\"\n showDelay=\"500\"\n [disabled]=\"!selected?.length\">\n </s-button>\n <s-button\n [id]=\"id + '-cancel-button'\"\n type=\"button\"\n priority=\"link\"\n [label]=\"cancelLabel || 'platform.angular_components.cancel' | translate\"\n (onClick)=\"hideDialog()\"\n sTooltip=\"(ALT + SHIFT + C)\"\n tooltipPosition=\"top\"\n showDelay=\"500\">\n </s-button>\n </p-footer>\n</p-dialog>\n<ng-template #emptyTemplate>\n <span [ngClass]=\"'sds-empty-value'\">\n {{ emptyFieldLabel || 'platform.angular_components.not_informed' | translate }}\n </span>\n</ng-template>\n",
5894
5835
  providers: [
5895
5836
  {
5896
5837
  provide: forms.NG_VALUE_ACCESSOR,
@@ -9572,7 +9513,7 @@
9572
9513
  ], LookupFieldComponent.prototype, "formControl", void 0);
9573
9514
  LookupFieldComponent = __decorate([
9574
9515
  core.Component({
9575
- template: "<s-field-label [field]=\"field\">\n\n<div [sTooltip]=\"field.tooltip\" tooltipPosition=\"top\" [showDelay]=\"500\">\n <s-lookup\n [id]=\"field.id || field.name\"\n [multiple]=\"field.multiple\"\n [formControl]=\"formControl\"\n [lookupSuggestions]=\"field.lookupSuggestions\"\n [dataKey]=\"field.dataKey\"\n [placeholder]=\"field.placeholder\"\n [showSearch]=\"field.showSearch\"\n [searchFields]=\"field.searchFields\"\n [searchGridFields]=\"field.searchGridFields\"\n [searchGridData]=\"field.gridData\"\n (onLookupRequest)=\"field.onLookupRequest($event)\"\n (onSearchRequest)=\"field.onSearchRequest($event)\"\n [lookupDisplayField]=\"field.lookupDisplayField\"\n [searchTotalRecords]=\"field.searchTotalRecords\"\n [searchTotalRecordsLabel]=\"field.searchTotalRecordsLabel\"\n [searchTitle]=\"field.searchTitle\"\n [selectLabel]=\"field.selectLabel\"\n [searchEmptyTitle]=\"field.searchEmptyTitle\"\n [filterLabel]=\"field.filterLabel\"\n [filterTitle]=\"field.filterTitle\"\n [clearLabel]=\"field.clearLabel\"\n [cancelLabel]=\"field.cancelLabel\"\n [emptyFieldLabel]=\"field.emptyFieldLabel\"\n (onSelect)=\"field.onSelect($event)\"\n (onUnselect)=\"field.onUnselect($event)\"\n (onClear)=\"field.onClear ? field.onClear($event) : null\"\n (onBlur)=\"field.onBlur ? field.onBlur($event) : null\"\n [lookupAppendTo]=\"field.appendTo\"\n [lookupEmptyMessage]=\"field.emptyMessage\"\n [recordLabel]=\"field.recordLabel\"\n [recordsLabel]=\"field.recordsLabel\"\n [defaultFilter]=\"field.defaultFilter\"\n [autocompleteForceSelection]=\"field.autocompleteForceSelection\"\n [showAddOption]=\"field.showAddOption\"\n [showEditOption]=\"field.showEditOption\"\n [showRemoveOption]=\"field.showRemoveOption\"\n (onAdd)=\"field.onAdd()\"\n (onEdit)=\"field.onEdit($event)\"\n (onRemove)=\"field.onRemove($event)\"\n >\n </s-lookup>\n</div>\n"
9516
+ template: "<s-field-label [field]=\"field\"></s-field-label>\n\n<div [sTooltip]=\"field.tooltip\" tooltipPosition=\"top\" [showDelay]=\"500\">\n <s-lookup\n [id]=\"field.id || field.name\"\n [multiple]=\"field.multiple\"\n [formControl]=\"formControl\"\n [lookupSuggestions]=\"field.lookupSuggestions\"\n [dataKey]=\"field.dataKey\"\n [placeholder]=\"field.placeholder\"\n [showSearch]=\"field.showSearch\"\n [searchFields]=\"field.searchFields\"\n [searchGridFields]=\"field.searchGridFields\"\n [searchGridData]=\"field.gridData\"\n (onLookupRequest)=\"field.onLookupRequest($event)\"\n (onSearchRequest)=\"field.onSearchRequest($event)\"\n [lookupDisplayField]=\"field.lookupDisplayField\"\n [searchTotalRecords]=\"field.searchTotalRecords\"\n [searchTotalRecordsLabel]=\"field.searchTotalRecordsLabel\"\n [searchTitle]=\"field.searchTitle\"\n [selectLabel]=\"field.selectLabel\"\n [searchEmptyTitle]=\"field.searchEmptyTitle\"\n [filterLabel]=\"field.filterLabel\"\n [filterTitle]=\"field.filterTitle\"\n [clearLabel]=\"field.clearLabel\"\n [cancelLabel]=\"field.cancelLabel\"\n [emptyFieldLabel]=\"field.emptyFieldLabel\"\n (onSelect)=\"field.onSelect($event)\"\n (onUnselect)=\"field.onUnselect($event)\"\n (onClear)=\"field.onClear ? field.onClear($event) : null\"\n (onBlur)=\"field.onBlur ? field.onBlur($event) : null\"\n [lookupAppendTo]=\"field.appendTo\"\n [lookupEmptyMessage]=\"field.emptyMessage\"\n [recordLabel]=\"field.recordLabel\"\n [recordsLabel]=\"field.recordsLabel\"\n [defaultFilter]=\"field.defaultFilter\"\n [autocompleteForceSelection]=\"field.autocompleteForceSelection\"\n [showAddOption]=\"field.showAddOption\"\n [showEditOption]=\"field.showEditOption\"\n [showRemoveOption]=\"field.showRemoveOption\"\n (onAdd)=\"field.onAdd()\"\n (onEdit)=\"field.onEdit($event)\"\n (onRemove)=\"field.onRemove($event)\"\n >\n </s-lookup>\n</div>\n"
9576
9517
  })
9577
9518
  ], LookupFieldComponent);
9578
9519
  return LookupFieldComponent;
@@ -11770,6 +11711,7 @@
11770
11711
  core.NgModule({
11771
11712
  imports: [
11772
11713
  autocomplete$2.AutoCompleteModule,
11714
+ BadgeModule,
11773
11715
  BignumberInputModule,
11774
11716
  ButtonModule,
11775
11717
  CalendarMaskModule,