@skyux/ag-grid 11.44.0 → 11.45.1

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.
@@ -1,39 +1,47 @@
1
- import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, Input, signal, } from '@angular/core';
2
2
  import { SkyPopoverMessageType } from '@skyux/popovers';
3
3
  import { Subject } from 'rxjs';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "@skyux/popovers";
6
6
  import * as i2 from "@skyux/indicators";
7
+ import * as i3 from "@angular/common";
7
8
  /**
8
9
  * @internal
9
10
  */
10
11
  export class SkyAgGridCellValidatorTooltipComponent {
11
12
  constructor() {
12
13
  this.popoverMessageStream = new Subject();
14
+ this.showValidatorMessage = signal(false);
15
+ this.#listenersAdded = false;
13
16
  }
14
17
  set params(value) {
15
18
  this.cellRendererParams = value;
16
- value?.api?.addEventListener('cellFocused', (eventParams) => {
17
- // We want to close any popovers that are opened when other cells are focused, but open a popover if the current cell is focused.
18
- if (eventParams.column.getColId() ===
19
- value?.column?.getColId() &&
20
- eventParams.rowIndex === value?.node?.rowIndex) {
21
- this.showPopover();
22
- }
23
- else {
19
+ if (value?.api && !this.#listenersAdded) {
20
+ this.#listenersAdded = true;
21
+ value.api.addEventListener('cellFocused', (eventParams) => {
22
+ // We want to close any popovers that are opened when other cells are focused, but open a popover if the current cell is focused.
23
+ if (eventParams.column.getColId() ===
24
+ value.column?.getColId() &&
25
+ eventParams.rowIndex === value.node?.rowIndex) {
26
+ this.showPopover();
27
+ }
28
+ else {
29
+ this.hidePopover();
30
+ }
31
+ });
32
+ value.api.addEventListener('cellEditingStarted', () => {
24
33
  this.hidePopover();
25
- }
26
- });
27
- value?.api?.addEventListener('cellEditingStarted', () => {
28
- this.hidePopover();
29
- });
34
+ });
35
+ }
30
36
  if (typeof value?.skyComponentProperties?.validatorMessage === 'function') {
31
37
  this.validatorMessage = value.skyComponentProperties.validatorMessage(value.value, value.data, value?.node?.rowIndex);
32
38
  }
33
39
  else {
34
40
  this.validatorMessage = value?.skyComponentProperties?.validatorMessage;
35
41
  }
42
+ this.showValidatorMessage.set(this.#showValidatorMessage());
36
43
  }
44
+ #listenersAdded;
37
45
  hidePopover() {
38
46
  this.popoverMessageStream.next({ type: SkyPopoverMessageType.Close });
39
47
  }
@@ -42,14 +50,10 @@ export class SkyAgGridCellValidatorTooltipComponent {
42
50
  this.popoverMessageStream.next({ type: SkyPopoverMessageType.Open });
43
51
  }
44
52
  }
45
- #shouldShowPopover() {
53
+ #showValidatorMessage() {
46
54
  if (!this.validatorMessage) {
47
55
  return false;
48
56
  }
49
- const editingCells = this.cellRendererParams?.api.getEditingCells() ?? [];
50
- if (editingCells.length > 0) {
51
- return false;
52
- }
53
57
  if (typeof this.cellRendererParams?.skyComponentProperties?.validator ===
54
58
  'function') {
55
59
  return !this.cellRendererParams.skyComponentProperties.validator(this.cellRendererParams.value, this.cellRendererParams.data, this.cellRendererParams.node?.rowIndex);
@@ -58,13 +62,20 @@ export class SkyAgGridCellValidatorTooltipComponent {
58
62
  return true;
59
63
  }
60
64
  }
65
+ #shouldShowPopover() {
66
+ if (!this.showValidatorMessage()) {
67
+ return false;
68
+ }
69
+ const editingCells = this.cellRendererParams?.api.getEditingCells() ?? [];
70
+ return editingCells.length === 0;
71
+ }
61
72
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyAgGridCellValidatorTooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
62
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SkyAgGridCellValidatorTooltipComponent, selector: "sky-ag-grid-cell-validator-tooltip", inputs: { params: "params" }, ngImport: i0, template: "<div\n skyPopoverTrigger=\"mouseenter\"\n class=\"sky-validator-cell\"\n [skyPopover]=\"validatorPopover\"\n [skyPopoverMessageStream]=\"popoverMessageStream\"\n>\n <ng-content />\n <sky-status-indicator\n descriptionType=\"none\"\n indicatorType=\"danger\"\n class=\"sky-pull-right\"\n />\n</div>\n<sky-popover\n #validatorPopover\n data-sky-id=\"validatorPopover\"\n popoverType=\"danger\"\n>\n {{ validatorMessage }}\n</sky-popover>\n", styles: [":host{display:contents}:host div.sky-validator-cell{height:100%;min-height:var(--ag-row-height);width:100%}:host div.sky-validator-cell:focus{outline:none}\n"], dependencies: [{ kind: "component", type: i1.λ6, selector: "sky-popover", inputs: ["alignment", "placement", "popoverTitle", "popoverType"], outputs: ["popoverClosed", "popoverOpened"] }, { kind: "directive", type: i1.λ7, selector: "[skyPopover]", inputs: ["skyPopover", "skyPopoverAlignment", "skyPopoverMessageStream", "skyPopoverPlacement", "skyPopoverTrigger"] }, { kind: "component", type: i2.λ10, selector: "sky-status-indicator", inputs: ["indicatorType", "descriptionType", "customDescription", "helpPopoverContent", "helpPopoverTitle", "helpKey"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
73
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SkyAgGridCellValidatorTooltipComponent, selector: "sky-ag-grid-cell-validator-tooltip", inputs: { params: "params" }, ngImport: i0, template: "<ng-template #displayValue>\n <ng-content />\n</ng-template>\n\n@if (showValidatorMessage()) {\n <div\n skyPopoverTrigger=\"mouseenter\"\n class=\"sky-validator-cell\"\n [skyPopover]=\"validatorPopover\"\n [skyPopoverMessageStream]=\"popoverMessageStream\"\n >\n <ng-container *ngTemplateOutlet=\"displayValue\" />\n <sky-status-indicator\n descriptionType=\"none\"\n indicatorType=\"danger\"\n class=\"sky-pull-right\"\n />\n </div>\n <sky-popover\n #validatorPopover\n data-sky-id=\"validatorPopover\"\n popoverType=\"danger\"\n >\n {{ validatorMessage }}\n </sky-popover>\n} @else {\n <ng-container *ngTemplateOutlet=\"displayValue\" />\n}\n", styles: [":host{display:contents}:host div.sky-validator-cell{height:100%;min-height:var(--ag-row-height);width:100%}:host div.sky-validator-cell:focus{outline:none}\n"], dependencies: [{ kind: "component", type: i1.λ6, selector: "sky-popover", inputs: ["alignment", "placement", "popoverTitle", "popoverType"], outputs: ["popoverClosed", "popoverOpened"] }, { kind: "directive", type: i1.λ7, selector: "[skyPopover]", inputs: ["skyPopover", "skyPopoverAlignment", "skyPopoverMessageStream", "skyPopoverPlacement", "skyPopoverTrigger"] }, { kind: "component", type: i2.λ10, selector: "sky-status-indicator", inputs: ["indicatorType", "descriptionType", "customDescription", "helpPopoverContent", "helpPopoverTitle", "helpKey"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
63
74
  }
64
75
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyAgGridCellValidatorTooltipComponent, decorators: [{
65
76
  type: Component,
66
- args: [{ selector: 'sky-ag-grid-cell-validator-tooltip', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n skyPopoverTrigger=\"mouseenter\"\n class=\"sky-validator-cell\"\n [skyPopover]=\"validatorPopover\"\n [skyPopoverMessageStream]=\"popoverMessageStream\"\n>\n <ng-content />\n <sky-status-indicator\n descriptionType=\"none\"\n indicatorType=\"danger\"\n class=\"sky-pull-right\"\n />\n</div>\n<sky-popover\n #validatorPopover\n data-sky-id=\"validatorPopover\"\n popoverType=\"danger\"\n>\n {{ validatorMessage }}\n</sky-popover>\n", styles: [":host{display:contents}:host div.sky-validator-cell{height:100%;min-height:var(--ag-row-height);width:100%}:host div.sky-validator-cell:focus{outline:none}\n"] }]
77
+ args: [{ selector: 'sky-ag-grid-cell-validator-tooltip', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #displayValue>\n <ng-content />\n</ng-template>\n\n@if (showValidatorMessage()) {\n <div\n skyPopoverTrigger=\"mouseenter\"\n class=\"sky-validator-cell\"\n [skyPopover]=\"validatorPopover\"\n [skyPopoverMessageStream]=\"popoverMessageStream\"\n >\n <ng-container *ngTemplateOutlet=\"displayValue\" />\n <sky-status-indicator\n descriptionType=\"none\"\n indicatorType=\"danger\"\n class=\"sky-pull-right\"\n />\n </div>\n <sky-popover\n #validatorPopover\n data-sky-id=\"validatorPopover\"\n popoverType=\"danger\"\n >\n {{ validatorMessage }}\n </sky-popover>\n} @else {\n <ng-container *ngTemplateOutlet=\"displayValue\" />\n}\n", styles: [":host{display:contents}:host div.sky-validator-cell{height:100%;min-height:var(--ag-row-height);width:100%}:host div.sky-validator-cell:focus{outline:none}\n"] }]
67
78
  }], propDecorators: { params: [{
68
79
  type: Input
69
80
  }] } });
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWctZ3JpZC1jZWxsLXZhbGlkYXRvci10b29sdGlwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9hZy1ncmlkL3NyYy9saWIvbW9kdWxlcy9hZy1ncmlkL2NlbGwtdmFsaWRhdG9yL2FnLWdyaWQtY2VsbC12YWxpZGF0b3ItdG9vbHRpcC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvYWctZ3JpZC9zcmMvbGliL21vZHVsZXMvYWctZ3JpZC9jZWxsLXZhbGlkYXRvci9hZy1ncmlkLWNlbGwtdmFsaWRhdG9yLXRvb2x0aXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxFQUFxQixxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRzNFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7QUFJL0I7O0dBRUc7QUFPSCxNQUFNLE9BQU8sc0NBQXNDO0lBTm5EO1FBMENTLHlCQUFvQixHQUFHLElBQUksT0FBTyxFQUFxQixDQUFDO0tBbUNoRTtJQXRFQyxJQUNXLE1BQU0sQ0FBQyxLQUFpRDtRQUNqRSxJQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO1FBRWhDLEtBQUssRUFBRSxHQUFHLEVBQUUsZ0JBQWdCLENBQzFCLGFBQWEsRUFDYixDQUFDLFdBQTZCLEVBQUUsRUFBRTtZQUNoQyxpSUFBaUk7WUFDakksSUFDRyxXQUFXLENBQUMsTUFBbUIsQ0FBQyxRQUFRLEVBQUU7Z0JBQ3pDLEtBQUssRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFO2dCQUMzQixXQUFXLENBQUMsUUFBUSxLQUFLLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUM5QyxDQUFDO2dCQUNELElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3JCLENBQUM7UUFDSCxDQUFDLENBQ0YsQ0FBQztRQUVGLEtBQUssRUFBRSxHQUFHLEVBQUUsZ0JBQWdCLENBQUMsb0JBQW9CLEVBQUUsR0FBRyxFQUFFO1lBQ3RELElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FBQztRQUVILElBQUksT0FBTyxLQUFLLEVBQUUsc0JBQXNCLEVBQUUsZ0JBQWdCLEtBQUssVUFBVSxFQUFFLENBQUM7WUFDMUUsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxnQkFBZ0IsQ0FDbkUsS0FBSyxDQUFDLEtBQUssRUFDWCxLQUFLLENBQUMsSUFBSSxFQUNWLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUN0QixDQUFDO1FBQ0osQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxFQUFFLHNCQUFzQixFQUFFLGdCQUFnQixDQUFDO1FBQzFFLENBQUM7SUFDSCxDQUFDO0lBTU0sV0FBVztRQUNoQixJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLHFCQUFxQixDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxDQUFDO1lBQzlCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUscUJBQXFCLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUN2RSxDQUFDO0lBQ0gsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDM0IsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBQ0QsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLEdBQUcsQ0FBQyxlQUFlLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDMUUsSUFBSSxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzVCLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUNELElBQ0UsT0FBTyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsc0JBQXNCLEVBQUUsU0FBUztZQUNqRSxVQUFVLEVBQ1YsQ0FBQztZQUNELE9BQU8sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsc0JBQXNCLENBQUMsU0FBUyxDQUM5RCxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxFQUM3QixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUM1QixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FDdkMsQ0FBQztRQUNKLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO0lBQ0gsQ0FBQzsrR0F0RVUsc0NBQXNDO21HQUF0QyxzQ0FBc0Msd0dDakJuRCwyY0FvQkE7OzRGREhhLHNDQUFzQztrQkFObEQsU0FBUzsrQkFDRSxvQ0FBb0MsbUJBRzdCLHVCQUF1QixDQUFDLE1BQU07OEJBSXBDLE1BQU07c0JBRGhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5UG9wb3Zlck1lc3NhZ2UsIFNreVBvcG92ZXJNZXNzYWdlVHlwZSB9IGZyb20gJ0Bza3l1eC9wb3BvdmVycyc7XG5cbmltcG9ydCB7IEFnQ29sdW1uLCBDZWxsRm9jdXNlZEV2ZW50IH0gZnJvbSAnYWctZ3JpZC1jb21tdW5pdHknO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTa3lDZWxsUmVuZGVyZXJWYWxpZGF0b3JQYXJhbXMgfSBmcm9tICcuLi90eXBlcy9jZWxsLXJlbmRlcmVyLXZhbGlkYXRvci1wYXJhbXMnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktYWctZ3JpZC1jZWxsLXZhbGlkYXRvci10b29sdGlwJyxcbiAgc3R5bGVVcmxzOiBbJ2FnLWdyaWQtY2VsbC12YWxpZGF0b3ItdG9vbHRpcC5jb21wb25lbnQuc2NzcyddLFxuICB0ZW1wbGF0ZVVybDogJ2FnLWdyaWQtY2VsbC12YWxpZGF0b3ItdG9vbHRpcC5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lBZ0dyaWRDZWxsVmFsaWRhdG9yVG9vbHRpcENvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgcGFyYW1zKHZhbHVlOiBTa3lDZWxsUmVuZGVyZXJWYWxpZGF0b3JQYXJhbXMgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLmNlbGxSZW5kZXJlclBhcmFtcyA9IHZhbHVlO1xuXG4gICAgdmFsdWU/LmFwaT8uYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICdjZWxsRm9jdXNlZCcsXG4gICAgICAoZXZlbnRQYXJhbXM6IENlbGxGb2N1c2VkRXZlbnQpID0+IHtcbiAgICAgICAgLy8gV2Ugd2FudCB0byBjbG9zZSBhbnkgcG9wb3ZlcnMgdGhhdCBhcmUgb3BlbmVkIHdoZW4gb3RoZXIgY2VsbHMgYXJlIGZvY3VzZWQsIGJ1dCBvcGVuIGEgcG9wb3ZlciBpZiB0aGUgY3VycmVudCBjZWxsIGlzIGZvY3VzZWQuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAoZXZlbnRQYXJhbXMuY29sdW1uIGFzIEFnQ29sdW1uKS5nZXRDb2xJZCgpID09PVxuICAgICAgICAgICAgdmFsdWU/LmNvbHVtbj8uZ2V0Q29sSWQoKSAmJlxuICAgICAgICAgIGV2ZW50UGFyYW1zLnJvd0luZGV4ID09PSB2YWx1ZT8ubm9kZT8ucm93SW5kZXhcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGhpcy5zaG93UG9wb3ZlcigpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuaGlkZVBvcG92ZXIoKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICApO1xuXG4gICAgdmFsdWU/LmFwaT8uYWRkRXZlbnRMaXN0ZW5lcignY2VsbEVkaXRpbmdTdGFydGVkJywgKCkgPT4ge1xuICAgICAgdGhpcy5oaWRlUG9wb3ZlcigpO1xuICAgIH0pO1xuXG4gICAgaWYgKHR5cGVvZiB2YWx1ZT8uc2t5Q29tcG9uZW50UHJvcGVydGllcz8udmFsaWRhdG9yTWVzc2FnZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdGhpcy52YWxpZGF0b3JNZXNzYWdlID0gdmFsdWUuc2t5Q29tcG9uZW50UHJvcGVydGllcy52YWxpZGF0b3JNZXNzYWdlKFxuICAgICAgICB2YWx1ZS52YWx1ZSxcbiAgICAgICAgdmFsdWUuZGF0YSxcbiAgICAgICAgdmFsdWU/Lm5vZGU/LnJvd0luZGV4LFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy52YWxpZGF0b3JNZXNzYWdlID0gdmFsdWU/LnNreUNvbXBvbmVudFByb3BlcnRpZXM/LnZhbGlkYXRvck1lc3NhZ2U7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHBvcG92ZXJNZXNzYWdlU3RyZWFtID0gbmV3IFN1YmplY3Q8U2t5UG9wb3Zlck1lc3NhZ2U+KCk7XG4gIHB1YmxpYyB2YWxpZGF0b3JNZXNzYWdlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIHB1YmxpYyBjZWxsUmVuZGVyZXJQYXJhbXM6IFNreUNlbGxSZW5kZXJlclZhbGlkYXRvclBhcmFtcyB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgaGlkZVBvcG92ZXIoKTogdm9pZCB7XG4gICAgdGhpcy5wb3BvdmVyTWVzc2FnZVN0cmVhbS5uZXh0KHsgdHlwZTogU2t5UG9wb3Zlck1lc3NhZ2VUeXBlLkNsb3NlIH0pO1xuICB9XG5cbiAgcHVibGljIHNob3dQb3BvdmVyKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLiNzaG91bGRTaG93UG9wb3ZlcigpKSB7XG4gICAgICB0aGlzLnBvcG92ZXJNZXNzYWdlU3RyZWFtLm5leHQoeyB0eXBlOiBTa3lQb3BvdmVyTWVzc2FnZVR5cGUuT3BlbiB9KTtcbiAgICB9XG4gIH1cblxuICAjc2hvdWxkU2hvd1BvcG92ZXIoKTogYm9vbGVhbiB7XG4gICAgaWYgKCF0aGlzLnZhbGlkYXRvck1lc3NhZ2UpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgY29uc3QgZWRpdGluZ0NlbGxzID0gdGhpcy5jZWxsUmVuZGVyZXJQYXJhbXM/LmFwaS5nZXRFZGl0aW5nQ2VsbHMoKSA/PyBbXTtcbiAgICBpZiAoZWRpdGluZ0NlbGxzLmxlbmd0aCA+IDApIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKFxuICAgICAgdHlwZW9mIHRoaXMuY2VsbFJlbmRlcmVyUGFyYW1zPy5za3lDb21wb25lbnRQcm9wZXJ0aWVzPy52YWxpZGF0b3IgPT09XG4gICAgICAnZnVuY3Rpb24nXG4gICAgKSB7XG4gICAgICByZXR1cm4gIXRoaXMuY2VsbFJlbmRlcmVyUGFyYW1zLnNreUNvbXBvbmVudFByb3BlcnRpZXMudmFsaWRhdG9yKFxuICAgICAgICB0aGlzLmNlbGxSZW5kZXJlclBhcmFtcy52YWx1ZSxcbiAgICAgICAgdGhpcy5jZWxsUmVuZGVyZXJQYXJhbXMuZGF0YSxcbiAgICAgICAgdGhpcy5jZWxsUmVuZGVyZXJQYXJhbXMubm9kZT8ucm93SW5kZXgsXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXZcbiAgc2t5UG9wb3ZlclRyaWdnZXI9XCJtb3VzZWVudGVyXCJcbiAgY2xhc3M9XCJza3ktdmFsaWRhdG9yLWNlbGxcIlxuICBbc2t5UG9wb3Zlcl09XCJ2YWxpZGF0b3JQb3BvdmVyXCJcbiAgW3NreVBvcG92ZXJNZXNzYWdlU3RyZWFtXT1cInBvcG92ZXJNZXNzYWdlU3RyZWFtXCJcbj5cbiAgPG5nLWNvbnRlbnQgLz5cbiAgPHNreS1zdGF0dXMtaW5kaWNhdG9yXG4gICAgZGVzY3JpcHRpb25UeXBlPVwibm9uZVwiXG4gICAgaW5kaWNhdG9yVHlwZT1cImRhbmdlclwiXG4gICAgY2xhc3M9XCJza3ktcHVsbC1yaWdodFwiXG4gIC8+XG48L2Rpdj5cbjxza3ktcG9wb3ZlclxuICAjdmFsaWRhdG9yUG9wb3ZlclxuICBkYXRhLXNreS1pZD1cInZhbGlkYXRvclBvcG92ZXJcIlxuICBwb3BvdmVyVHlwZT1cImRhbmdlclwiXG4+XG4gIHt7IHZhbGlkYXRvck1lc3NhZ2UgfX1cbjwvc2t5LXBvcG92ZXI+XG4iXX0=
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWctZ3JpZC1jZWxsLXZhbGlkYXRvci10b29sdGlwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9hZy1ncmlkL3NyYy9saWIvbW9kdWxlcy9hZy1ncmlkL2NlbGwtdmFsaWRhdG9yL2FnLWdyaWQtY2VsbC12YWxpZGF0b3ItdG9vbHRpcC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvYWctZ3JpZC9zcmMvbGliL21vZHVsZXMvYWctZ3JpZC9jZWxsLXZhbGlkYXRvci9hZy1ncmlkLWNlbGwtdmFsaWRhdG9yLXRvb2x0aXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXFCLHFCQUFxQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHM0UsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7QUFJL0I7O0dBRUc7QUFPSCxNQUFNLE9BQU8sc0NBQXNDO0lBTm5EO1FBZ0RTLHlCQUFvQixHQUFHLElBQUksT0FBTyxFQUFxQixDQUFDO1FBSTVDLHlCQUFvQixHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV4RCxvQkFBZSxHQUFHLEtBQUssQ0FBQztLQXFDekI7SUFwRkMsSUFDVyxNQUFNLENBQUMsS0FBaUQ7UUFDakUsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztRQUVoQyxJQUFJLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDeEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7WUFFNUIsS0FBSyxDQUFDLEdBQUcsQ0FBQyxn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dUJBQXVCLENBQUMsTUFBTTs4QkFJcEMsTUFBTTtzQkFEaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBzaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5UG9wb3Zlck1lc3NhZ2UsIFNreVBvcG92ZXJNZXNzYWdlVHlwZSB9IGZyb20gJ0Bza3l1eC9wb3BvdmVycyc7XG5cbmltcG9ydCB7IEFnQ29sdW1uLCBDZWxsRm9jdXNlZEV2ZW50IH0gZnJvbSAnYWctZ3JpZC1jb21tdW5pdHknO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTa3lDZWxsUmVuZGVyZXJWYWxpZGF0b3JQYXJhbXMgfSBmcm9tICcuLi90eXBlcy9jZWxsLXJlbmRlcmVyLXZhbGlkYXRvci1wYXJhbXMnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktYWctZ3JpZC1jZWxsLXZhbGlkYXRvci10b29sdGlwJyxcbiAgc3R5bGVVcmxzOiBbJ2FnLWdyaWQtY2VsbC12YWxpZGF0b3ItdG9vbHRpcC5jb21wb25lbnQuc2NzcyddLFxuICB0ZW1wbGF0ZVVybDogJ2FnLWdyaWQtY2VsbC12YWxpZGF0b3ItdG9vbHRpcC5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lBZ0dyaWRDZWxsVmFsaWRhdG9yVG9vbHRpcENvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgcGFyYW1zKHZhbHVlOiBTa3lDZWxsUmVuZGVyZXJWYWxpZGF0b3JQYXJhbXMgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLmNlbGxSZW5kZXJlclBhcmFtcyA9IHZhbHVlO1xuXG4gICAgaWYgKHZhbHVlPy5hcGkgJiYgIXRoaXMuI2xpc3RlbmVyc0FkZGVkKSB7XG4gICAgICB0aGlzLiNsaXN0ZW5lcnNBZGRlZCA9IHRydWU7XG5cbiAgICAgIHZhbHVlLmFwaS5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgICAnY2VsbEZvY3VzZWQnLFxuICAgICAgICAoZXZlbnRQYXJhbXM6IENlbGxGb2N1c2VkRXZlbnQpID0+IHtcbiAgICAgICAgICAvLyBXZSB3YW50IHRvIGNsb3NlIGFueSBwb3BvdmVycyB0aGF0IGFyZSBvcGVuZWQgd2hlbiBvdGhlciBjZWxscyBhcmUgZm9jdXNlZCwgYnV0IG9wZW4gYSBwb3BvdmVyIGlmIHRoZSBjdXJyZW50IGNlbGwgaXMgZm9jdXNlZC5cbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAoZXZlbnRQYXJhbXMuY29sdW1uIGFzIEFnQ29sdW1uKS5nZXRDb2xJZCgpID09PVxuICAgICAgICAgICAgICB2YWx1ZS5jb2x1bW4/LmdldENvbElkKCkgJiZcbiAgICAgICAgICAgIGV2ZW50UGFyYW1zLnJvd0luZGV4ID09PSB2YWx1ZS5ub2RlPy5yb3dJbmRleFxuICAgICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5zaG93UG9wb3ZlcigpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmhpZGVQb3BvdmVyKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgKTtcblxuICAgICAgdmFsdWUuYXBpLmFkZEV2ZW50TGlzdGVuZXIoJ2NlbGxFZGl0aW5nU3RhcnRlZCcsICgpID0+IHtcbiAgICAgICAgdGhpcy5oaWRlUG9wb3ZlcigpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB2YWx1ZT8uc2t5Q29tcG9uZW50UHJvcGVydGllcz8udmFsaWRhdG9yTWVzc2FnZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdGhpcy52YWxpZGF0b3JNZXNzYWdlID0gdmFsdWUuc2t5Q29tcG9uZW50UHJvcGVydGllcy52YWxpZGF0b3JNZXNzYWdlKFxuICAgICAgICB2YWx1ZS52YWx1ZSxcbiAgICAgICAgdmFsdWUuZGF0YSxcbiAgICAgICAgdmFsdWU/Lm5vZGU/LnJvd0luZGV4LFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy52YWxpZGF0b3JNZXNzYWdlID0gdmFsdWU/LnNreUNvbXBvbmVudFByb3BlcnRpZXM/LnZhbGlkYXRvck1lc3NhZ2U7XG4gICAgfVxuXG4gICAgdGhpcy5zaG93VmFsaWRhdG9yTWVzc2FnZS5zZXQodGhpcy4jc2hvd1ZhbGlkYXRvck1lc3NhZ2UoKSk7XG4gIH1cblxuICBwdWJsaWMgcG9wb3Zlck1lc3NhZ2VTdHJlYW0gPSBuZXcgU3ViamVjdDxTa3lQb3BvdmVyTWVzc2FnZT4oKTtcbiAgcHVibGljIHZhbGlkYXRvck1lc3NhZ2U6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgcHVibGljIGNlbGxSZW5kZXJlclBhcmFtczogU2t5Q2VsbFJlbmRlcmVyVmFsaWRhdG9yUGFyYW1zIHwgdW5kZWZpbmVkO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBzaG93VmFsaWRhdG9yTWVzc2FnZSA9IHNpZ25hbChmYWxzZSk7XG5cbiAgI2xpc3RlbmVyc0FkZGVkID0gZmFsc2U7XG5cbiAgcHVibGljIGhpZGVQb3BvdmVyKCk6IHZvaWQge1xuICAgIHRoaXMucG9wb3Zlck1lc3NhZ2VTdHJlYW0ubmV4dCh7IHR5cGU6IFNreVBvcG92ZXJNZXNzYWdlVHlwZS5DbG9zZSB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzaG93UG9wb3ZlcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy4jc2hvdWxkU2hvd1BvcG92ZXIoKSkge1xuICAgICAgdGhpcy5wb3BvdmVyTWVzc2FnZVN0cmVhbS5uZXh0KHsgdHlwZTogU2t5UG9wb3Zlck1lc3NhZ2VUeXBlLk9wZW4gfSk7XG4gICAgfVxuICB9XG5cbiAgI3Nob3dWYWxpZGF0b3JNZXNzYWdlKCk6IGJvb2xlYW4ge1xuICAgIGlmICghdGhpcy52YWxpZGF0b3JNZXNzYWdlKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmIChcbiAgICAgIHR5cGVvZiB0aGlzLmNlbGxSZW5kZXJlclBhcmFtcz8uc2t5Q29tcG9uZW50UHJvcGVydGllcz8udmFsaWRhdG9yID09PVxuICAgICAgJ2Z1bmN0aW9uJ1xuICAgICkge1xuICAgICAgcmV0dXJuICF0aGlzLmNlbGxSZW5kZXJlclBhcmFtcy5za3lDb21wb25lbnRQcm9wZXJ0aWVzLnZhbGlkYXRvcihcbiAgICAgICAgdGhpcy5jZWxsUmVuZGVyZXJQYXJhbXMudmFsdWUsXG4gICAgICAgIHRoaXMuY2VsbFJlbmRlcmVyUGFyYW1zLmRhdGEsXG4gICAgICAgIHRoaXMuY2VsbFJlbmRlcmVyUGFyYW1zLm5vZGU/LnJvd0luZGV4LFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgI3Nob3VsZFNob3dQb3BvdmVyKCk6IGJvb2xlYW4ge1xuICAgIGlmICghdGhpcy5zaG93VmFsaWRhdG9yTWVzc2FnZSgpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGNvbnN0IGVkaXRpbmdDZWxscyA9IHRoaXMuY2VsbFJlbmRlcmVyUGFyYW1zPy5hcGkuZ2V0RWRpdGluZ0NlbGxzKCkgPz8gW107XG4gICAgcmV0dXJuIGVkaXRpbmdDZWxscy5sZW5ndGggPT09IDA7XG4gIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZSAjZGlzcGxheVZhbHVlPlxuICA8bmctY29udGVudCAvPlxuPC9uZy10ZW1wbGF0ZT5cblxuQGlmIChzaG93VmFsaWRhdG9yTWVzc2FnZSgpKSB7XG4gIDxkaXZcbiAgICBza3lQb3BvdmVyVHJpZ2dlcj1cIm1vdXNlZW50ZXJcIlxuICAgIGNsYXNzPVwic2t5LXZhbGlkYXRvci1jZWxsXCJcbiAgICBbc2t5UG9wb3Zlcl09XCJ2YWxpZGF0b3JQb3BvdmVyXCJcbiAgICBbc2t5UG9wb3Zlck1lc3NhZ2VTdHJlYW1dPVwicG9wb3Zlck1lc3NhZ2VTdHJlYW1cIlxuICA+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRpc3BsYXlWYWx1ZVwiIC8+XG4gICAgPHNreS1zdGF0dXMtaW5kaWNhdG9yXG4gICAgICBkZXNjcmlwdGlvblR5cGU9XCJub25lXCJcbiAgICAgIGluZGljYXRvclR5cGU9XCJkYW5nZXJcIlxuICAgICAgY2xhc3M9XCJza3ktcHVsbC1yaWdodFwiXG4gICAgLz5cbiAgPC9kaXY+XG4gIDxza3ktcG9wb3ZlclxuICAgICN2YWxpZGF0b3JQb3BvdmVyXG4gICAgZGF0YS1za3ktaWQ9XCJ2YWxpZGF0b3JQb3BvdmVyXCJcbiAgICBwb3BvdmVyVHlwZT1cImRhbmdlclwiXG4gID5cbiAgICB7eyB2YWxpZGF0b3JNZXNzYWdlIH19XG4gIDwvc2t5LXBvcG92ZXI+XG59IEBlbHNlIHtcbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRpc3BsYXlWYWx1ZVwiIC8+XG59XG4iXX0=
@@ -1,3 +1,4 @@
1
+ import { NgTemplateOutlet } from '@angular/common';
1
2
  import { NgModule } from '@angular/core';
2
3
  import { SkyStatusIndicatorModule } from '@skyux/indicators';
3
4
  import { SkyPopoverModule } from '@skyux/popovers';
@@ -5,7 +6,7 @@ import { SkyAgGridCellValidatorTooltipComponent } from './ag-grid-cell-validator
5
6
  import * as i0 from "@angular/core";
6
7
  export class SkyAgGridCellValidatorModule {
7
8
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyAgGridCellValidatorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: SkyAgGridCellValidatorModule, declarations: [SkyAgGridCellValidatorTooltipComponent], imports: [SkyPopoverModule, SkyStatusIndicatorModule], exports: [SkyAgGridCellValidatorTooltipComponent] }); }
9
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: SkyAgGridCellValidatorModule, declarations: [SkyAgGridCellValidatorTooltipComponent], imports: [SkyPopoverModule, SkyStatusIndicatorModule, NgTemplateOutlet], exports: [SkyAgGridCellValidatorTooltipComponent] }); }
9
10
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyAgGridCellValidatorModule, imports: [SkyPopoverModule, SkyStatusIndicatorModule] }); }
10
11
  }
11
12
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyAgGridCellValidatorModule, decorators: [{
@@ -13,7 +14,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
13
14
  args: [{
14
15
  declarations: [SkyAgGridCellValidatorTooltipComponent],
15
16
  exports: [SkyAgGridCellValidatorTooltipComponent],
16
- imports: [SkyPopoverModule, SkyStatusIndicatorModule],
17
+ imports: [SkyPopoverModule, SkyStatusIndicatorModule, NgTemplateOutlet],
17
18
  }]
18
19
  }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWctZ3JpZC1jZWxsLXZhbGlkYXRvci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvYWctZ3JpZC9zcmMvbGliL21vZHVsZXMvYWctZ3JpZC9jZWxsLXZhbGlkYXRvci9hZy1ncmlkLWNlbGwtdmFsaWRhdG9yLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxzQ0FBc0MsRUFBRSxNQUFNLDRDQUE0QyxDQUFDOztBQU9wRyxNQUFNLE9BQU8sNEJBQTRCOytHQUE1Qiw0QkFBNEI7Z0hBQTVCLDRCQUE0QixpQkFKeEIsc0NBQXNDLGFBRTNDLGdCQUFnQixFQUFFLHdCQUF3QixhQUQxQyxzQ0FBc0M7Z0hBR3JDLDRCQUE0QixZQUY3QixnQkFBZ0IsRUFBRSx3QkFBd0I7OzRGQUV6Qyw0QkFBNEI7a0JBTHhDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsc0NBQXNDLENBQUM7b0JBQ3RELE9BQU8sRUFBRSxDQUFDLHNDQUFzQyxDQUFDO29CQUNqRCxPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSx3QkFBd0IsQ0FBQztpQkFDdEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5U3RhdHVzSW5kaWNhdG9yTW9kdWxlIH0gZnJvbSAnQHNreXV4L2luZGljYXRvcnMnO1xuaW1wb3J0IHsgU2t5UG9wb3Zlck1vZHVsZSB9IGZyb20gJ0Bza3l1eC9wb3BvdmVycyc7XG5cbmltcG9ydCB7IFNreUFnR3JpZENlbGxWYWxpZGF0b3JUb29sdGlwQ29tcG9uZW50IH0gZnJvbSAnLi9hZy1ncmlkLWNlbGwtdmFsaWRhdG9yLXRvb2x0aXAuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbU2t5QWdHcmlkQ2VsbFZhbGlkYXRvclRvb2x0aXBDb21wb25lbnRdLFxuICBleHBvcnRzOiBbU2t5QWdHcmlkQ2VsbFZhbGlkYXRvclRvb2x0aXBDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbU2t5UG9wb3Zlck1vZHVsZSwgU2t5U3RhdHVzSW5kaWNhdG9yTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5QWdHcmlkQ2VsbFZhbGlkYXRvck1vZHVsZSB7fVxuIl19
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWctZ3JpZC1jZWxsLXZhbGlkYXRvci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvYWctZ3JpZC9zcmMvbGliL21vZHVsZXMvYWctZ3JpZC9jZWxsLXZhbGlkYXRvci9hZy1ncmlkLWNlbGwtdmFsaWRhdG9yLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxzQ0FBc0MsRUFBRSxNQUFNLDRDQUE0QyxDQUFDOztBQU9wRyxNQUFNLE9BQU8sNEJBQTRCOytHQUE1Qiw0QkFBNEI7Z0hBQTVCLDRCQUE0QixpQkFKeEIsc0NBQXNDLGFBRTNDLGdCQUFnQixFQUFFLHdCQUF3QixFQUFFLGdCQUFnQixhQUQ1RCxzQ0FBc0M7Z0hBR3JDLDRCQUE0QixZQUY3QixnQkFBZ0IsRUFBRSx3QkFBd0I7OzRGQUV6Qyw0QkFBNEI7a0JBTHhDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsc0NBQXNDLENBQUM7b0JBQ3RELE9BQU8sRUFBRSxDQUFDLHNDQUFzQyxDQUFDO29CQUNqRCxPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSx3QkFBd0IsRUFBRSxnQkFBZ0IsQ0FBQztpQkFDeEUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lTdGF0dXNJbmRpY2F0b3JNb2R1bGUgfSBmcm9tICdAc2t5dXgvaW5kaWNhdG9ycyc7XG5pbXBvcnQgeyBTa3lQb3BvdmVyTW9kdWxlIH0gZnJvbSAnQHNreXV4L3BvcG92ZXJzJztcblxuaW1wb3J0IHsgU2t5QWdHcmlkQ2VsbFZhbGlkYXRvclRvb2x0aXBDb21wb25lbnQgfSBmcm9tICcuL2FnLWdyaWQtY2VsbC12YWxpZGF0b3ItdG9vbHRpcC5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtTa3lBZ0dyaWRDZWxsVmFsaWRhdG9yVG9vbHRpcENvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtTa3lBZ0dyaWRDZWxsVmFsaWRhdG9yVG9vbHRpcENvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtTa3lQb3BvdmVyTW9kdWxlLCBTa3lTdGF0dXNJbmRpY2F0b3JNb2R1bGUsIE5nVGVtcGxhdGVPdXRsZXRdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lBZ0dyaWRDZWxsVmFsaWRhdG9yTW9kdWxlIHt9XG4iXX0=
@@ -1,5 +1,5 @@
1
1
  import * as i1$1 from '@angular/common';
2
- import { DOCUMENT, CommonModule, AsyncPipe, NgTemplateOutlet } from '@angular/common';
2
+ import { DOCUMENT, CommonModule, NgTemplateOutlet, AsyncPipe } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
4
  import { NgModule, Injectable, input, numberAttribute, computed, inject, ChangeDetectorRef, ElementRef, booleanAttribute, Component, ChangeDetectionStrategy, ContentChild, HostBinding, Input, contentChildren, effect, Directive, TemplateRef, ViewChildren, ViewChild, EventEmitter, contentChild, EnvironmentInjector, ViewContainerRef, Output, HostListener, ViewEncapsulation, signal, Optional } from '@angular/core';
5
5
  import * as i1 from '@skyux/core';
@@ -2107,30 +2107,37 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
2107
2107
  class SkyAgGridCellValidatorTooltipComponent {
2108
2108
  constructor() {
2109
2109
  this.popoverMessageStream = new Subject();
2110
+ this.showValidatorMessage = signal(false);
2111
+ this.#listenersAdded = false;
2110
2112
  }
2111
2113
  set params(value) {
2112
2114
  this.cellRendererParams = value;
2113
- value?.api?.addEventListener('cellFocused', (eventParams) => {
2114
- // We want to close any popovers that are opened when other cells are focused, but open a popover if the current cell is focused.
2115
- if (eventParams.column.getColId() ===
2116
- value?.column?.getColId() &&
2117
- eventParams.rowIndex === value?.node?.rowIndex) {
2118
- this.showPopover();
2119
- }
2120
- else {
2115
+ if (value?.api && !this.#listenersAdded) {
2116
+ this.#listenersAdded = true;
2117
+ value.api.addEventListener('cellFocused', (eventParams) => {
2118
+ // We want to close any popovers that are opened when other cells are focused, but open a popover if the current cell is focused.
2119
+ if (eventParams.column.getColId() ===
2120
+ value.column?.getColId() &&
2121
+ eventParams.rowIndex === value.node?.rowIndex) {
2122
+ this.showPopover();
2123
+ }
2124
+ else {
2125
+ this.hidePopover();
2126
+ }
2127
+ });
2128
+ value.api.addEventListener('cellEditingStarted', () => {
2121
2129
  this.hidePopover();
2122
- }
2123
- });
2124
- value?.api?.addEventListener('cellEditingStarted', () => {
2125
- this.hidePopover();
2126
- });
2130
+ });
2131
+ }
2127
2132
  if (typeof value?.skyComponentProperties?.validatorMessage === 'function') {
2128
2133
  this.validatorMessage = value.skyComponentProperties.validatorMessage(value.value, value.data, value?.node?.rowIndex);
2129
2134
  }
2130
2135
  else {
2131
2136
  this.validatorMessage = value?.skyComponentProperties?.validatorMessage;
2132
2137
  }
2138
+ this.showValidatorMessage.set(this.#showValidatorMessage());
2133
2139
  }
2140
+ #listenersAdded;
2134
2141
  hidePopover() {
2135
2142
  this.popoverMessageStream.next({ type: SkyPopoverMessageType.Close });
2136
2143
  }
@@ -2139,14 +2146,10 @@ class SkyAgGridCellValidatorTooltipComponent {
2139
2146
  this.popoverMessageStream.next({ type: SkyPopoverMessageType.Open });
2140
2147
  }
2141
2148
  }
2142
- #shouldShowPopover() {
2149
+ #showValidatorMessage() {
2143
2150
  if (!this.validatorMessage) {
2144
2151
  return false;
2145
2152
  }
2146
- const editingCells = this.cellRendererParams?.api.getEditingCells() ?? [];
2147
- if (editingCells.length > 0) {
2148
- return false;
2149
- }
2150
2153
  if (typeof this.cellRendererParams?.skyComponentProperties?.validator ===
2151
2154
  'function') {
2152
2155
  return !this.cellRendererParams.skyComponentProperties.validator(this.cellRendererParams.value, this.cellRendererParams.data, this.cellRendererParams.node?.rowIndex);
@@ -2155,19 +2158,26 @@ class SkyAgGridCellValidatorTooltipComponent {
2155
2158
  return true;
2156
2159
  }
2157
2160
  }
2161
+ #shouldShowPopover() {
2162
+ if (!this.showValidatorMessage()) {
2163
+ return false;
2164
+ }
2165
+ const editingCells = this.cellRendererParams?.api.getEditingCells() ?? [];
2166
+ return editingCells.length === 0;
2167
+ }
2158
2168
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyAgGridCellValidatorTooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2159
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SkyAgGridCellValidatorTooltipComponent, selector: "sky-ag-grid-cell-validator-tooltip", inputs: { params: "params" }, ngImport: i0, template: "<div\n skyPopoverTrigger=\"mouseenter\"\n class=\"sky-validator-cell\"\n [skyPopover]=\"validatorPopover\"\n [skyPopoverMessageStream]=\"popoverMessageStream\"\n>\n <ng-content />\n <sky-status-indicator\n descriptionType=\"none\"\n indicatorType=\"danger\"\n class=\"sky-pull-right\"\n />\n</div>\n<sky-popover\n #validatorPopover\n data-sky-id=\"validatorPopover\"\n popoverType=\"danger\"\n>\n {{ validatorMessage }}\n</sky-popover>\n", styles: [":host{display:contents}:host div.sky-validator-cell{height:100%;min-height:var(--ag-row-height);width:100%}:host div.sky-validator-cell:focus{outline:none}\n"], dependencies: [{ kind: "component", type: i1$5.λ6, selector: "sky-popover", inputs: ["alignment", "placement", "popoverTitle", "popoverType"], outputs: ["popoverClosed", "popoverOpened"] }, { kind: "directive", type: i1$5.λ7, selector: "[skyPopover]", inputs: ["skyPopover", "skyPopoverAlignment", "skyPopoverMessageStream", "skyPopoverPlacement", "skyPopoverTrigger"] }, { kind: "component", type: i2$3.λ10, selector: "sky-status-indicator", inputs: ["indicatorType", "descriptionType", "customDescription", "helpPopoverContent", "helpPopoverTitle", "helpKey"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2169
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SkyAgGridCellValidatorTooltipComponent, selector: "sky-ag-grid-cell-validator-tooltip", inputs: { params: "params" }, ngImport: i0, template: "<ng-template #displayValue>\n <ng-content />\n</ng-template>\n\n@if (showValidatorMessage()) {\n <div\n skyPopoverTrigger=\"mouseenter\"\n class=\"sky-validator-cell\"\n [skyPopover]=\"validatorPopover\"\n [skyPopoverMessageStream]=\"popoverMessageStream\"\n >\n <ng-container *ngTemplateOutlet=\"displayValue\" />\n <sky-status-indicator\n descriptionType=\"none\"\n indicatorType=\"danger\"\n class=\"sky-pull-right\"\n />\n </div>\n <sky-popover\n #validatorPopover\n data-sky-id=\"validatorPopover\"\n popoverType=\"danger\"\n >\n {{ validatorMessage }}\n </sky-popover>\n} @else {\n <ng-container *ngTemplateOutlet=\"displayValue\" />\n}\n", styles: [":host{display:contents}:host div.sky-validator-cell{height:100%;min-height:var(--ag-row-height);width:100%}:host div.sky-validator-cell:focus{outline:none}\n"], dependencies: [{ kind: "component", type: i1$5.λ6, selector: "sky-popover", inputs: ["alignment", "placement", "popoverTitle", "popoverType"], outputs: ["popoverClosed", "popoverOpened"] }, { kind: "directive", type: i1$5.λ7, selector: "[skyPopover]", inputs: ["skyPopover", "skyPopoverAlignment", "skyPopoverMessageStream", "skyPopoverPlacement", "skyPopoverTrigger"] }, { kind: "component", type: i2$3.λ10, selector: "sky-status-indicator", inputs: ["indicatorType", "descriptionType", "customDescription", "helpPopoverContent", "helpPopoverTitle", "helpKey"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2160
2170
  }
2161
2171
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyAgGridCellValidatorTooltipComponent, decorators: [{
2162
2172
  type: Component,
2163
- args: [{ selector: 'sky-ag-grid-cell-validator-tooltip', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n skyPopoverTrigger=\"mouseenter\"\n class=\"sky-validator-cell\"\n [skyPopover]=\"validatorPopover\"\n [skyPopoverMessageStream]=\"popoverMessageStream\"\n>\n <ng-content />\n <sky-status-indicator\n descriptionType=\"none\"\n indicatorType=\"danger\"\n class=\"sky-pull-right\"\n />\n</div>\n<sky-popover\n #validatorPopover\n data-sky-id=\"validatorPopover\"\n popoverType=\"danger\"\n>\n {{ validatorMessage }}\n</sky-popover>\n", styles: [":host{display:contents}:host div.sky-validator-cell{height:100%;min-height:var(--ag-row-height);width:100%}:host div.sky-validator-cell:focus{outline:none}\n"] }]
2173
+ args: [{ selector: 'sky-ag-grid-cell-validator-tooltip', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #displayValue>\n <ng-content />\n</ng-template>\n\n@if (showValidatorMessage()) {\n <div\n skyPopoverTrigger=\"mouseenter\"\n class=\"sky-validator-cell\"\n [skyPopover]=\"validatorPopover\"\n [skyPopoverMessageStream]=\"popoverMessageStream\"\n >\n <ng-container *ngTemplateOutlet=\"displayValue\" />\n <sky-status-indicator\n descriptionType=\"none\"\n indicatorType=\"danger\"\n class=\"sky-pull-right\"\n />\n </div>\n <sky-popover\n #validatorPopover\n data-sky-id=\"validatorPopover\"\n popoverType=\"danger\"\n >\n {{ validatorMessage }}\n </sky-popover>\n} @else {\n <ng-container *ngTemplateOutlet=\"displayValue\" />\n}\n", styles: [":host{display:contents}:host div.sky-validator-cell{height:100%;min-height:var(--ag-row-height);width:100%}:host div.sky-validator-cell:focus{outline:none}\n"] }]
2164
2174
  }], propDecorators: { params: [{
2165
2175
  type: Input
2166
2176
  }] } });
2167
2177
 
2168
2178
  class SkyAgGridCellValidatorModule {
2169
2179
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyAgGridCellValidatorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
2170
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: SkyAgGridCellValidatorModule, declarations: [SkyAgGridCellValidatorTooltipComponent], imports: [SkyPopoverModule, SkyStatusIndicatorModule], exports: [SkyAgGridCellValidatorTooltipComponent] }); }
2180
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: SkyAgGridCellValidatorModule, declarations: [SkyAgGridCellValidatorTooltipComponent], imports: [SkyPopoverModule, SkyStatusIndicatorModule, NgTemplateOutlet], exports: [SkyAgGridCellValidatorTooltipComponent] }); }
2171
2181
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyAgGridCellValidatorModule, imports: [SkyPopoverModule, SkyStatusIndicatorModule] }); }
2172
2182
  }
2173
2183
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyAgGridCellValidatorModule, decorators: [{
@@ -2175,7 +2185,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
2175
2185
  args: [{
2176
2186
  declarations: [SkyAgGridCellValidatorTooltipComponent],
2177
2187
  exports: [SkyAgGridCellValidatorTooltipComponent],
2178
- imports: [SkyPopoverModule, SkyStatusIndicatorModule],
2188
+ imports: [SkyPopoverModule, SkyStatusIndicatorModule, NgTemplateOutlet],
2179
2189
  }]
2180
2190
  }] });
2181
2191