@adaptabletools/adaptable 21.0.10 → 21.0.12
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/package.json +1 -1
- package/src/AdaptableState/Common/AdaptablePredicate.js +14 -10
- package/src/Utilities/Extensions/StringExtensions.js +2 -2
- package/src/View/Components/FilterForm/ListBoxFilterForm.js +1 -2
- package/src/agGrid/AdaptableAgGrid.js +4 -1
- package/src/agGrid/AgGridAdapter.js +3 -1
- package/src/agGrid/AgGridColumnAdapter.js +5 -1
- package/src/env.js +2 -2
- package/tsconfig.esm.tsbuildinfo +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adaptabletools/adaptable",
|
|
3
|
-
"version": "21.0.
|
|
3
|
+
"version": "21.0.12",
|
|
4
4
|
"description": "Powerful data-agnostic HTML5 AG Grid extension which provides advanced, cutting-edge functionality to meet all DataGrid requirements",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"web-components",
|
|
@@ -32,11 +32,13 @@ export const SystemPredicateDefs = [
|
|
|
32
32
|
if (!predicateInput) {
|
|
33
33
|
return;
|
|
34
34
|
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
35
|
+
// make sure that the input Predicate is included in the 'In' Predicate
|
|
36
|
+
if (adaptableApi.columnScopeApi.scopeIsAll(predicateInput.columnScope) ||
|
|
37
|
+
adaptableApi.columnScopeApi.isScopeInScope(predicateInput.columnScope,
|
|
38
|
+
// 'In' ColumnScope
|
|
39
|
+
{
|
|
40
|
+
DataTypes: ['text', 'number', 'date', 'textArray', 'numberArray'],
|
|
41
|
+
})) {
|
|
40
42
|
return predicateInput;
|
|
41
43
|
}
|
|
42
44
|
})
|
|
@@ -113,11 +115,13 @@ export const SystemPredicateDefs = [
|
|
|
113
115
|
if (!predicateInput) {
|
|
114
116
|
return;
|
|
115
117
|
}
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
118
|
+
// make sure that the input Predicate is included in the 'NotIn' Predicate
|
|
119
|
+
if (adaptableApi.columnScopeApi.scopeIsAll(predicateInput.columnScope) ||
|
|
120
|
+
adaptableApi.columnScopeApi.isScopeInScope(predicateInput.columnScope,
|
|
121
|
+
// 'NotIn' ColumnScope
|
|
122
|
+
{
|
|
123
|
+
DataTypes: ['text', 'number', 'date', 'textArray', 'numberArray'],
|
|
124
|
+
})) {
|
|
121
125
|
return predicateInput;
|
|
122
126
|
}
|
|
123
127
|
})
|
|
@@ -6,7 +6,7 @@ export function IsNotNull(stringToCheck) {
|
|
|
6
6
|
return !IsNull(stringToCheck);
|
|
7
7
|
}
|
|
8
8
|
export function IsEmpty(stringToCheck) {
|
|
9
|
-
return stringToCheck
|
|
9
|
+
return stringToCheck === '';
|
|
10
10
|
}
|
|
11
11
|
export function IsNotEmpty(stringToCheck) {
|
|
12
12
|
return !IsEmpty(stringToCheck);
|
|
@@ -18,7 +18,7 @@ export function IsNotNullOrEmpty(stringToCheck) {
|
|
|
18
18
|
return !IsNullOrEmpty(stringToCheck);
|
|
19
19
|
}
|
|
20
20
|
export function IsNullOrEmptyOrWhiteSpace(stringToCheck) {
|
|
21
|
-
return IsNullOrEmpty(stringToCheck) || IsEmpty(stringToCheck
|
|
21
|
+
return IsNullOrEmpty(stringToCheck) || IsEmpty(stringToCheck?.trim());
|
|
22
22
|
}
|
|
23
23
|
export function IsNotNullOrEmptyOrWhiteSpace(stringToCheck) {
|
|
24
24
|
return !IsNullOrEmptyOrWhiteSpace(stringToCheck);
|
|
@@ -15,8 +15,7 @@ export const ColumnValuesSelect = (props) => {
|
|
|
15
15
|
if (!isActive && distinctValue.value && distinctValue.value instanceof Date) {
|
|
16
16
|
isActive = selectedColumnValues.some((dateStr) => isEqual(parseDateValue(dateStr), parseDateValue(distinctValue.value)));
|
|
17
17
|
}
|
|
18
|
-
|
|
19
|
-
if (StringExtensions.IsNullOrEmpty(columnLabel)) {
|
|
18
|
+
if (StringExtensions.IsNullOrEmpty(distinctValue.value)) {
|
|
20
19
|
return false;
|
|
21
20
|
}
|
|
22
21
|
if (isActive) {
|
|
@@ -2463,7 +2463,10 @@ You need to define at least one Layout!`);
|
|
|
2463
2463
|
const value = gridCell.rawValue;
|
|
2464
2464
|
// we want to filter out empty values
|
|
2465
2465
|
if (value === '' || value === null || value === undefined) {
|
|
2466
|
-
|
|
2466
|
+
// 2025-10-31: we want to allow empty values to be included
|
|
2467
|
+
// after all - they are not displayed by default
|
|
2468
|
+
// but will be accessible in the customInFilterValues callback
|
|
2469
|
+
// return;
|
|
2467
2470
|
}
|
|
2468
2471
|
gridCells.push(gridCell);
|
|
2469
2472
|
}
|
|
@@ -8,6 +8,7 @@ import { agGridDataTypeDefinitions, ALL_ADAPTABLE_DATA_TYPES } from './agGridDat
|
|
|
8
8
|
import { isPivotGrandTotal } from '../Api/Implementation/ColumnApiImpl';
|
|
9
9
|
import { isPivotColumnTotal } from '../layout-manager/src/isPivotColumnTotal';
|
|
10
10
|
import { isPivotAggTotalColumn } from '../layout-manager/src/isPivotAggTotalColumn';
|
|
11
|
+
import { isWeightedAverageAggFuncName } from '../AdaptableState/Common/AggregationColumns';
|
|
11
12
|
// AG GRID obfuscates its internals, this is (currently) the best way to get hold of its internal services
|
|
12
13
|
const DANGER_AG_GRID_BEANS_MAP = {};
|
|
13
14
|
const getColumnApiModule = () => ColumnApiModule;
|
|
@@ -608,9 +609,10 @@ export class AgGridAdapter {
|
|
|
608
609
|
return false;
|
|
609
610
|
}
|
|
610
611
|
getColumnAggregationFunctions(colDef) {
|
|
611
|
-
|
|
612
|
+
let result = [].concat(colDef.allowedAggFuncs || ['sum', 'min', 'max', 'count', 'avg', 'first', 'last']); // those are the default fns aggrid supports out-of-the-box
|
|
612
613
|
const gridOptionsAggFuncs = this.adaptableApi.agGridApi.getGridOption('aggFuncs') || {};
|
|
613
614
|
result.push(...Object.keys(gridOptionsAggFuncs));
|
|
615
|
+
result = result.filter((func) => !isWeightedAverageAggFuncName(func));
|
|
614
616
|
return [...new Set(result)];
|
|
615
617
|
}
|
|
616
618
|
isTreeColumn(isGeneratedRowGroupColumn) {
|
|
@@ -17,6 +17,7 @@ import { AdaptableFilterHandler } from './AdaptableFilterHandler';
|
|
|
17
17
|
import { AgGridFilterAdapterFactory } from './AgGridFilterAdapter';
|
|
18
18
|
import { AgGridFloatingFilterAdapterFactory } from './AgGridFloatingFilterAdapter';
|
|
19
19
|
import { errorOnce } from './AdaptableLogger';
|
|
20
|
+
import { isWeightedAverageAggFuncName } from '../AdaptableState/Common/AggregationColumns';
|
|
20
21
|
export function getEditorForColumnDataType(columnDataType, variant) {
|
|
21
22
|
if (columnDataType === 'number') {
|
|
22
23
|
return variant === 'react' ? AdaptableReactNumberEditor : AdaptableNumberEditor;
|
|
@@ -516,7 +517,10 @@ export class AgGridColumnAdapter {
|
|
|
516
517
|
}
|
|
517
518
|
setupColumnAllowedAggFuncs({ col, abColumn }) {
|
|
518
519
|
this.setColDefProperty(col, 'allowedAggFuncs', () => {
|
|
519
|
-
|
|
520
|
+
if (!abColumn.availableAggregationFunctions) {
|
|
521
|
+
return undefined;
|
|
522
|
+
}
|
|
523
|
+
return abColumn.availableAggregationFunctions.filter((func) => !isWeightedAverageAggFuncName(func));
|
|
520
524
|
});
|
|
521
525
|
}
|
|
522
526
|
setupColumnType(columnSetupInfo) {
|
package/src/env.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export default {
|
|
2
2
|
NEXT_PUBLIC_INFINITE_TABLE_LICENSE_KEY: "StartDate=2021-06-29|EndDate=2030-01-01|Owner=Adaptable|Type=distribution|TS=1624971462479|C=137829811,1004007071,2756196225,1839832928,3994409405,636616862" || '',
|
|
3
|
-
PUBLISH_TIMESTAMP:
|
|
4
|
-
VERSION: "21.0.
|
|
3
|
+
PUBLISH_TIMESTAMP: 1762861055223 || Date.now(),
|
|
4
|
+
VERSION: "21.0.12" || '--current-version--',
|
|
5
5
|
};
|