@skyux/ag-grid 11.43.1 → 11.44.0
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.
- package/css/sky-ag-grid.css +26 -22
- package/documentation.json +957 -957
- package/esm2022/lib/modules/ag-grid/ag-grid.service.mjs +4 -2
- package/esm2022/lib/modules/ag-grid/cell-renderers/cell-renderer-currency/cell-renderer-currency-validator.component.mjs +3 -3
- package/esm2022/lib/modules/ag-grid/cell-renderers/cell-renderer-currency/cell-renderer-currency.component.mjs +8 -11
- package/esm2022/lib/modules/ag-grid/cell-validator/ag-grid-cell-validator-tooltip.component.mjs +36 -52
- package/esm2022/lib/modules/ag-grid/types/cell-class.mjs +2 -1
- package/esm2022/lib/modules/ag-grid/types/validator-properties.mjs +1 -1
- package/fesm2022/skyux-ag-grid.mjs +47 -63
- package/fesm2022/skyux-ag-grid.mjs.map +1 -1
- package/lib/modules/ag-grid/cell-renderers/cell-renderer-currency/cell-renderer-currency.component.d.ts +4 -2
- package/lib/modules/ag-grid/cell-validator/ag-grid-cell-validator-tooltip.component.d.ts +0 -2
- package/lib/modules/ag-grid/types/cell-class.d.ts +2 -1
- package/lib/modules/ag-grid/types/validator-properties.d.ts +2 -2
- package/package.json +13 -13
|
@@ -2105,79 +2105,63 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
2105
2105
|
* @internal
|
|
2106
2106
|
*/
|
|
2107
2107
|
class SkyAgGridCellValidatorTooltipComponent {
|
|
2108
|
+
constructor() {
|
|
2109
|
+
this.popoverMessageStream = new Subject();
|
|
2110
|
+
}
|
|
2108
2111
|
set params(value) {
|
|
2109
2112
|
this.cellRendererParams = value;
|
|
2110
|
-
|
|
2111
|
-
this.cellRendererParams?.api?.addEventListener('cellFocused', (eventParams) => {
|
|
2113
|
+
value?.api?.addEventListener('cellFocused', (eventParams) => {
|
|
2112
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.
|
|
2113
|
-
if (eventParams.column.getColId()
|
|
2114
|
-
|
|
2115
|
-
eventParams.rowIndex
|
|
2116
|
-
this.hidePopover();
|
|
2117
|
-
}
|
|
2118
|
-
});
|
|
2119
|
-
/*istanbul ignore next*/
|
|
2120
|
-
this.cellRendererParams?.eGridCell?.addEventListener('keyup', (event) => {
|
|
2121
|
-
if (['ArrowDown', 'ArrowLeft', 'ArrowRight', 'ArrowUp'].includes(event.key)) {
|
|
2115
|
+
if (eventParams.column.getColId() ===
|
|
2116
|
+
value?.column?.getColId() &&
|
|
2117
|
+
eventParams.rowIndex === value?.node?.rowIndex) {
|
|
2122
2118
|
this.showPopover();
|
|
2123
2119
|
}
|
|
2120
|
+
else {
|
|
2121
|
+
this.hidePopover();
|
|
2122
|
+
}
|
|
2124
2123
|
});
|
|
2125
|
-
|
|
2126
|
-
this.#scheduleDelayedPopover();
|
|
2127
|
-
});
|
|
2128
|
-
this.cellRendererParams?.eGridCell?.addEventListener('mouseleave', () => {
|
|
2129
|
-
this.hidePopover();
|
|
2130
|
-
});
|
|
2131
|
-
/*istanbul ignore next*/
|
|
2132
|
-
this.cellRendererParams?.api?.addEventListener('cellEditingStarted', () => {
|
|
2124
|
+
value?.api?.addEventListener('cellEditingStarted', () => {
|
|
2133
2125
|
this.hidePopover();
|
|
2134
2126
|
});
|
|
2135
|
-
if (typeof
|
|
2136
|
-
|
|
2137
|
-
this.validatorMessage =
|
|
2138
|
-
this.cellRendererParams.skyComponentProperties.validatorMessage(this.cellRendererParams.value, this.cellRendererParams.data, this.cellRendererParams?.node?.rowIndex ?? undefined);
|
|
2127
|
+
if (typeof value?.skyComponentProperties?.validatorMessage === 'function') {
|
|
2128
|
+
this.validatorMessage = value.skyComponentProperties.validatorMessage(value.value, value.data, value?.node?.rowIndex);
|
|
2139
2129
|
}
|
|
2140
2130
|
else {
|
|
2141
|
-
this.validatorMessage =
|
|
2142
|
-
this.cellRendererParams?.skyComponentProperties?.validatorMessage;
|
|
2131
|
+
this.validatorMessage = value?.skyComponentProperties?.validatorMessage;
|
|
2143
2132
|
}
|
|
2144
|
-
this.#changeDetector.markForCheck();
|
|
2145
|
-
}
|
|
2146
|
-
#hoverTimeout;
|
|
2147
|
-
#changeDetector;
|
|
2148
|
-
constructor(changeDetector) {
|
|
2149
|
-
this.popoverMessageStream = new Subject();
|
|
2150
|
-
this.#changeDetector = changeDetector;
|
|
2151
2133
|
}
|
|
2152
2134
|
hidePopover() {
|
|
2153
|
-
this.#cancelDelayedPopover();
|
|
2154
2135
|
this.popoverMessageStream.next({ type: SkyPopoverMessageType.Close });
|
|
2155
2136
|
}
|
|
2156
2137
|
showPopover() {
|
|
2157
|
-
this.#
|
|
2158
|
-
|
|
2159
|
-
}
|
|
2160
|
-
#scheduleDelayedPopover() {
|
|
2161
|
-
/* istanbul ignore else */
|
|
2162
|
-
if (!this.#hoverTimeout) {
|
|
2163
|
-
this.#hoverTimeout = window.setTimeout(() => {
|
|
2164
|
-
this.showPopover();
|
|
2165
|
-
}, 300);
|
|
2138
|
+
if (this.#shouldShowPopover()) {
|
|
2139
|
+
this.popoverMessageStream.next({ type: SkyPopoverMessageType.Open });
|
|
2166
2140
|
}
|
|
2167
2141
|
}
|
|
2168
|
-
#
|
|
2169
|
-
if (this
|
|
2170
|
-
|
|
2171
|
-
|
|
2142
|
+
#shouldShowPopover() {
|
|
2143
|
+
if (!this.validatorMessage) {
|
|
2144
|
+
return false;
|
|
2145
|
+
}
|
|
2146
|
+
const editingCells = this.cellRendererParams?.api.getEditingCells() ?? [];
|
|
2147
|
+
if (editingCells.length > 0) {
|
|
2148
|
+
return false;
|
|
2149
|
+
}
|
|
2150
|
+
if (typeof this.cellRendererParams?.skyComponentProperties?.validator ===
|
|
2151
|
+
'function') {
|
|
2152
|
+
return !this.cellRendererParams.skyComponentProperties.validator(this.cellRendererParams.value, this.cellRendererParams.data, this.cellRendererParams.node?.rowIndex);
|
|
2153
|
+
}
|
|
2154
|
+
else {
|
|
2155
|
+
return true;
|
|
2172
2156
|
}
|
|
2173
2157
|
}
|
|
2174
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyAgGridCellValidatorTooltipComponent, deps: [
|
|
2175
|
-
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
|
|
2158
|
+
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 }); }
|
|
2176
2160
|
}
|
|
2177
2161
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyAgGridCellValidatorTooltipComponent, decorators: [{
|
|
2178
2162
|
type: Component,
|
|
2179
|
-
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
|
|
2180
|
-
}],
|
|
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"] }]
|
|
2164
|
+
}], propDecorators: { params: [{
|
|
2181
2165
|
type: Input
|
|
2182
2166
|
}] } });
|
|
2183
2167
|
|
|
@@ -2207,34 +2191,31 @@ class SkyAgGridCellRendererCurrencyComponent {
|
|
|
2207
2191
|
this.agInit(value);
|
|
2208
2192
|
}
|
|
2209
2193
|
/**
|
|
2210
|
-
* agInit is called by
|
|
2211
|
-
* @param params The cell renderer params that include data about the cell, column, row, and grid.
|
|
2194
|
+
* agInit is called by AG Grid once after the renderer is created and provides the renderer with the information it needs.
|
|
2212
2195
|
*/
|
|
2213
2196
|
agInit(params) {
|
|
2214
2197
|
this.#updateProperties(params);
|
|
2215
2198
|
}
|
|
2216
|
-
|
|
2199
|
+
/**
|
|
2200
|
+
* refresh is called by AG Grid to update the cell without destroying and recreating the component.
|
|
2201
|
+
*/
|
|
2217
2202
|
refresh(params) {
|
|
2203
|
+
this.agInit(params);
|
|
2218
2204
|
return false;
|
|
2219
2205
|
}
|
|
2220
2206
|
#updateProperties(params) {
|
|
2221
2207
|
this.value = params.value;
|
|
2222
|
-
this.columnWidth = params.column?.getActualWidth();
|
|
2223
|
-
this.rowHeightWithoutBorders =
|
|
2224
|
-
typeof params.node?.rowHeight === 'number'
|
|
2225
|
-
? params.node?.rowHeight - 4
|
|
2226
|
-
: undefined;
|
|
2227
2208
|
this.skyComponentProperties = params.skyComponentProperties || {};
|
|
2228
2209
|
this.skyComponentProperties.format = 'currency';
|
|
2229
2210
|
this.skyComponentProperties.minDigits = 2;
|
|
2230
2211
|
this.skyComponentProperties.truncate = false;
|
|
2231
2212
|
}
|
|
2232
2213
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyAgGridCellRendererCurrencyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2233
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SkyAgGridCellRendererCurrencyComponent, selector: "sky-ag-grid-cell-renderer-currency", inputs: { params: "params" }, ngImport: i0, template: "
|
|
2214
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SkyAgGridCellRendererCurrencyComponent, selector: "sky-ag-grid-cell-renderer-currency", inputs: { params: "params" }, ngImport: i0, template: "{{\n value === undefined ? undefined : (value | skyNumeric: skyComponentProperties)\n}}\n", styles: [":host{display:contents}input{border:none;padding-left:11px}\n"], dependencies: [{ kind: "pipe", type: i1.SkyNumericPipe, name: "skyNumeric" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2234
2215
|
}
|
|
2235
2216
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyAgGridCellRendererCurrencyComponent, decorators: [{
|
|
2236
2217
|
type: Component,
|
|
2237
|
-
args: [{ selector: 'sky-ag-grid-cell-renderer-currency', changeDetection: ChangeDetectionStrategy.OnPush, template: "
|
|
2218
|
+
args: [{ selector: 'sky-ag-grid-cell-renderer-currency', changeDetection: ChangeDetectionStrategy.OnPush, template: "{{\n value === undefined ? undefined : (value | skyNumeric: skyComponentProperties)\n}}\n", styles: [":host{display:contents}input{border:none;padding-left:11px}\n"] }]
|
|
2238
2219
|
}], propDecorators: { params: [{
|
|
2239
2220
|
type: Input
|
|
2240
2221
|
}] } });
|
|
@@ -2267,11 +2248,11 @@ class SkyAgGridCellRendererCurrencyValidatorComponent {
|
|
|
2267
2248
|
return false;
|
|
2268
2249
|
}
|
|
2269
2250
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyAgGridCellRendererCurrencyValidatorComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2270
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SkyAgGridCellRendererCurrencyValidatorComponent, selector: "sky-ag-grid-cell-renderer-currency-validator", inputs: { parameters: "parameters" }, ngImport: i0, template: "@if (cellRendererParams) {\n <sky-ag-grid-cell-validator-tooltip [params]=\"cellRendererParams\">\n @if (isNumeric(cellRendererParams.value)) {\n <sky-ag-grid-cell-renderer-currency [params]=\"cellRendererParams\" />\n } @else {\n {{ cellRendererParams.value }}\n }\n </sky-ag-grid-cell-validator-tooltip>\n}\n", dependencies: [{ kind: "component", type: SkyAgGridCellValidatorTooltipComponent, selector: "sky-ag-grid-cell-validator-tooltip", inputs: ["params"] }, { kind: "component", type: SkyAgGridCellRendererCurrencyComponent, selector: "sky-ag-grid-cell-renderer-currency", inputs: ["params"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2251
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SkyAgGridCellRendererCurrencyValidatorComponent, selector: "sky-ag-grid-cell-renderer-currency-validator", inputs: { parameters: "parameters" }, ngImport: i0, template: "@if (cellRendererParams) {\n <sky-ag-grid-cell-validator-tooltip [params]=\"cellRendererParams\">\n @if (isNumeric(cellRendererParams.value)) {\n <sky-ag-grid-cell-renderer-currency [params]=\"cellRendererParams\" />\n } @else {\n {{ cellRendererParams.value }}\n }\n </sky-ag-grid-cell-validator-tooltip>\n}\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "component", type: SkyAgGridCellValidatorTooltipComponent, selector: "sky-ag-grid-cell-validator-tooltip", inputs: ["params"] }, { kind: "component", type: SkyAgGridCellRendererCurrencyComponent, selector: "sky-ag-grid-cell-renderer-currency", inputs: ["params"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2271
2252
|
}
|
|
2272
2253
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyAgGridCellRendererCurrencyValidatorComponent, decorators: [{
|
|
2273
2254
|
type: Component,
|
|
2274
|
-
args: [{ selector: 'sky-ag-grid-cell-renderer-currency-validator', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (cellRendererParams) {\n <sky-ag-grid-cell-validator-tooltip [params]=\"cellRendererParams\">\n @if (isNumeric(cellRendererParams.value)) {\n <sky-ag-grid-cell-renderer-currency [params]=\"cellRendererParams\" />\n } @else {\n {{ cellRendererParams.value }}\n }\n </sky-ag-grid-cell-validator-tooltip>\n}\n" }]
|
|
2255
|
+
args: [{ selector: 'sky-ag-grid-cell-renderer-currency-validator', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (cellRendererParams) {\n <sky-ag-grid-cell-validator-tooltip [params]=\"cellRendererParams\">\n @if (isNumeric(cellRendererParams.value)) {\n <sky-ag-grid-cell-renderer-currency [params]=\"cellRendererParams\" />\n } @else {\n {{ cellRendererParams.value }}\n }\n </sky-ag-grid-cell-validator-tooltip>\n}\n", styles: [":host{display:contents}\n"] }]
|
|
2275
2256
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { parameters: [{
|
|
2276
2257
|
type: Input
|
|
2277
2258
|
}] } });
|
|
@@ -3060,6 +3041,7 @@ var SkyCellClass;
|
|
|
3060
3041
|
SkyCellClass["Template"] = "sky-ag-grid-cell-template";
|
|
3061
3042
|
SkyCellClass["Text"] = "sky-ag-grid-cell-text";
|
|
3062
3043
|
SkyCellClass["Uneditable"] = "sky-ag-grid-cell-uneditable";
|
|
3044
|
+
SkyCellClass["Validator"] = "sky-ag-grid-cell-validator";
|
|
3063
3045
|
})(SkyCellClass || (SkyCellClass = {}));
|
|
3064
3046
|
|
|
3065
3047
|
/**
|
|
@@ -3113,7 +3095,8 @@ function getValidatorCellRendererSelector(component, fallback) {
|
|
|
3113
3095
|
if (params.colDef &&
|
|
3114
3096
|
typeof params.colDef.cellRendererParams?.skyComponentProperties
|
|
3115
3097
|
?.validator === 'function') {
|
|
3116
|
-
if (
|
|
3098
|
+
if (params.column?.isCellEditable(params.node) ||
|
|
3099
|
+
!params.colDef.cellRendererParams.skyComponentProperties.validator(params.value, params.data, params?.node?.rowIndex)) {
|
|
3117
3100
|
return {
|
|
3118
3101
|
component,
|
|
3119
3102
|
params: {
|
|
@@ -3293,6 +3276,7 @@ class SkyAgGridService {
|
|
|
3293
3276
|
}
|
|
3294
3277
|
const validatorCellClassRules = {
|
|
3295
3278
|
[SkyCellClass.Invalid]: getValidatorFn(),
|
|
3279
|
+
[SkyCellClass.Validator]: cellClassRuleTrueExpression,
|
|
3296
3280
|
};
|
|
3297
3281
|
function getHeaderClass(...classNames) {
|
|
3298
3282
|
return (params) => {
|