@adaptabletools/adaptable 18.0.5 → 18.0.7
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/Api/Implementation/DataImportApiImpl.js +3 -1
- package/src/PredefinedConfig/Common/CellSummary.d.ts +0 -2
- package/src/PredefinedConfig/Common/Enums.d.ts +0 -2
- package/src/PredefinedConfig/Common/Enums.js +0 -2
- package/src/PredefinedConfig/Common/RowSummary.d.ts +1 -1
- package/src/PredefinedConfig/Common/RowSummary.js +0 -2
- package/src/Strategy/CellSummaryModule.js +2 -6
- package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.d.ts +3 -1
- package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.js +68 -138
- package/src/Utilities/ExpressionFunctions/expressionFunctionUtils.d.ts +1 -1
- package/src/Utilities/ExpressionFunctions/expressionFunctionUtils.js +1 -0
- package/src/Utilities/ObjectFactory.js +0 -2
- package/src/View/CellSummary/CellSummaryDetails.js +2 -1
- package/src/View/Components/AdaptableDateInput/index.d.ts +1 -1
- package/src/View/Components/AdaptableInput/AdaptableDateInlineInput.d.ts +1 -1
- package/src/View/Components/ColumnSelector/index.d.ts +1 -6
- package/src/View/Components/ColumnSelector/index.js +3 -4
- package/src/View/Components/EntityRulesEditor/index.js +2 -4
- package/src/View/Components/ValueSelector/index.d.ts +0 -5
- package/src/View/Components/ValueSelector/index.js +1 -4
- package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +4 -2
- package/src/View/DataImport/DataImportPopup.js +4 -2
- package/src/View/Layout/TransposedPopup.js +30 -20
- package/src/agGrid/ActionColumnRenderer.js +8 -0
- package/src/agGrid/AdaptableAgGrid.js +11 -4
- package/src/agGrid/BadgeRenderer.js +4 -4
- package/src/components/ColorPicker/ColorPicker.d.ts +1 -1
- package/src/components/Datepicker/index.d.ts +1 -1
- package/src/components/FieldWrap/index.d.ts +1 -7
- package/src/components/FieldWrap/index.js +5 -4
- package/src/components/FileDroppable/index.d.ts +1 -4
- package/src/components/FileDroppable/index.js +1 -2
- package/src/components/Input/index.d.ts +1 -1
- package/src/components/List/ListGroupItem/index.d.ts +1 -1
- package/src/components/OverlayTrigger/index.js +10 -9
- package/src/components/ResizeObserver/index.d.ts +1 -7
- package/src/components/ResizeObserver/index.js +3 -6
- package/src/components/SimpleButton/index.js +10 -9
- package/src/components/Tabs/index.d.ts +6 -24
- package/src/components/Tabs/index.js +6 -10
- 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": "18.0.
|
|
3
|
+
"version": "18.0.7",
|
|
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",
|
|
@@ -5,6 +5,8 @@ export class DataImportApiImpl extends ApiBase {
|
|
|
5
5
|
super(adaptable);
|
|
6
6
|
this.internalApi = new DataImportInternalApi(adaptable);
|
|
7
7
|
}
|
|
8
|
-
openImportWizard() {
|
|
8
|
+
openImportWizard() {
|
|
9
|
+
this.getSettingsPanelApi().openSettingsPanel('DataImport');
|
|
10
|
+
}
|
|
9
11
|
importData(partialRows) { }
|
|
10
12
|
}
|
|
@@ -73,8 +73,6 @@ export var SummaryOperation;
|
|
|
73
73
|
SummaryOperation["Max"] = "Max";
|
|
74
74
|
SummaryOperation["Min"] = "Min";
|
|
75
75
|
SummaryOperation["Count"] = "Count";
|
|
76
|
-
SummaryOperation["Newest"] = "Newest";
|
|
77
|
-
SummaryOperation["Oldest"] = "Oldest";
|
|
78
76
|
SummaryOperation["Std_Deviation"] = "Std Deviation";
|
|
79
77
|
SummaryOperation["Only"] = "Only";
|
|
80
78
|
SummaryOperation["Weighted_Average"] = "Weighted Avg";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export declare const ROW_SUMMARY_ROW_ID = "__ROW_SUMMARY_ROW_ID";
|
|
2
2
|
export declare const WEIGHTED_AVERAGE_AGGREATED_FUNCTION = "WEIGHTED_AVERAGE";
|
|
3
|
-
export declare const summarySupportedExpressions: readonly ["MIN", "MAX", "SUM", "AVG", "COUNT", "MEDIAN", "MODE", "DISTINCT", "ONLY", "
|
|
3
|
+
export declare const summarySupportedExpressions: readonly ["MIN", "MAX", "SUM", "AVG", "COUNT", "MEDIAN", "MODE", "DISTINCT", "ONLY", "STD_DEVIATION", "WEIGHTED_AVERAGE"];
|
|
4
4
|
export type SummarySupportedExpression = (typeof summarySupportedExpressions)[number];
|
|
5
5
|
/**
|
|
6
6
|
* Position of Row Summary - 'Top' or 'Bottom'
|
|
@@ -74,10 +74,8 @@ export class CellSummaryModule extends AdaptableModuleBase {
|
|
|
74
74
|
const modeValue = isNumericColumn ? handleExpression('MODE') : null;
|
|
75
75
|
const medianValue = isNumericColumn ? handleExpression('MEDIAN') : null;
|
|
76
76
|
const distinctValue = handleExpression('DISTINCT');
|
|
77
|
-
const maxValue = isNumericColumn ? handleExpression('MAX') : null;
|
|
78
|
-
const minValue = isNumericColumn ? handleExpression('MIN') : null;
|
|
79
|
-
const oldestValue = isDateColumn ? handleExpression('OLDEST') : null;
|
|
80
|
-
const newestValue = isDateColumn ? handleExpression('NEWEST') : null;
|
|
77
|
+
const maxValue = isNumericColumn || isDateColumn ? handleExpression('MAX') : null;
|
|
78
|
+
const minValue = isNumericColumn || isDateColumn ? handleExpression('MIN') : null;
|
|
81
79
|
const stdDeviation = isNumericColumn
|
|
82
80
|
? Helper.roundNumberTo4dp(handleExpression('STD_DEVIATION'))
|
|
83
81
|
: null;
|
|
@@ -90,8 +88,6 @@ export class CellSummaryModule extends AdaptableModuleBase {
|
|
|
90
88
|
Max: maxValue,
|
|
91
89
|
Min: minValue,
|
|
92
90
|
Count: selectedCellInfo.gridCells.length,
|
|
93
|
-
Oldest: oldestValue,
|
|
94
|
-
Newest: newestValue,
|
|
95
91
|
Std_Deviation: stdDeviation,
|
|
96
92
|
Only: distinctValue == 1 ? JSON.stringify(selectedCellInfo.gridCells[0].rawValue) : '',
|
|
97
93
|
};
|
|
@@ -2,11 +2,12 @@ import { IRowNode } from '@ag-grid-community/core';
|
|
|
2
2
|
import { ExpressionFunction } from '../../parser/src/types';
|
|
3
3
|
import { BaseParameter } from './expressionFunctionUtils';
|
|
4
4
|
import { AggregateParams } from './scalarAggregationHelper';
|
|
5
|
+
import { AdaptableColumnDataType } from '../../types';
|
|
5
6
|
/**
|
|
6
7
|
* List of all the AggregatedScalar Functions available in AdaptableQL
|
|
7
8
|
*/
|
|
8
9
|
export type AggregatedScalarFunctionName = ScalarAggregationFunction | OperandFunction;
|
|
9
|
-
export type ScalarAggregationFunction = 'SUM' | 'PERCENTAGE' | 'QUANT' | 'QUARTILE' | 'PERCENTILE' | 'AVG' | 'MIN' | 'MAX' | 'COUNT' | 'CUMUL' | 'MEDIAN' | 'MODE' | 'DISTINCT' | 'ONLY' | 'STD_DEVIATION'
|
|
10
|
+
export type ScalarAggregationFunction = 'SUM' | 'PERCENTAGE' | 'QUANT' | 'QUARTILE' | 'PERCENTILE' | 'AVG' | 'MIN' | 'MAX' | 'COUNT' | 'CUMUL' | 'MEDIAN' | 'MODE' | 'DISTINCT' | 'ONLY' | 'STD_DEVIATION';
|
|
10
11
|
type OperandFunction = 'COL' | 'OVER' | 'GROUP_BY' | 'WEIGHT';
|
|
11
12
|
export interface ScalarAggregationParameter extends BaseParameter<'aggregationScalar', ScalarAggregationFunction> {
|
|
12
13
|
value: AggregatedScalarExpressionEvaluation;
|
|
@@ -29,6 +30,7 @@ export interface AggregatedScalarExpressionEvaluation {
|
|
|
29
30
|
sortByColumn?: string;
|
|
30
31
|
rowFilterFn?: (rowNode: IRowNode) => boolean;
|
|
31
32
|
getRowNodes?: () => IRowNode[];
|
|
33
|
+
columnType?: AdaptableColumnDataType;
|
|
32
34
|
}
|
|
33
35
|
export interface CumulatedAggregationValue {
|
|
34
36
|
currentValue: number;
|
|
@@ -44,7 +44,7 @@ export const aggregatedScalarExpressionFunctions = {
|
|
|
44
44
|
handler(args, context) {
|
|
45
45
|
const aggregationParameter = extractParameter('CUMUL', 'aggregationScalar', ['SUM', 'PERCENTAGE', 'AVG', 'MIN', 'MAX', 'COUNT'], args);
|
|
46
46
|
const overColumnParameter = extractParameter('CUMUL', 'operand', ['OVER'], args);
|
|
47
|
-
const groupByParameter = extractParameter(
|
|
47
|
+
const groupByParameter = extractParameter(aggregationParameter.name, 'operand', ['GROUP_BY'], args, {
|
|
48
48
|
isOptional: true,
|
|
49
49
|
});
|
|
50
50
|
if (!!groupByParameter) {
|
|
@@ -73,7 +73,7 @@ export const aggregatedScalarExpressionFunctions = {
|
|
|
73
73
|
handler(args, context) {
|
|
74
74
|
const sumColumnParameter = extractColumnParameter('SUM', args);
|
|
75
75
|
const sumColumnName = sumColumnParameter.value;
|
|
76
|
-
validateColumnType(sumColumnName, ['Number'], 'SUM', context.adaptableApi);
|
|
76
|
+
const columnType = validateColumnType(sumColumnName, ['Number'], 'SUM', context.adaptableApi);
|
|
77
77
|
const groupByParameter = extractParameter('SUM', 'operand', ['GROUP_BY'], args, {
|
|
78
78
|
isOptional: true,
|
|
79
79
|
});
|
|
@@ -97,6 +97,7 @@ export const aggregatedScalarExpressionFunctions = {
|
|
|
97
97
|
},
|
|
98
98
|
rowFilterFn: context.filterFn,
|
|
99
99
|
getRowNodes: context.getRowNodes,
|
|
100
|
+
columnType,
|
|
100
101
|
};
|
|
101
102
|
addGroupByParams(groupByParameter === null || groupByParameter === void 0 ? void 0 : groupByParameter.value, aggregationExpressionEvaluation);
|
|
102
103
|
const result = {
|
|
@@ -122,7 +123,7 @@ export const aggregatedScalarExpressionFunctions = {
|
|
|
122
123
|
var _a;
|
|
123
124
|
const percentageColumnParameter = extractColumnParameter('PERCENTAGE', args);
|
|
124
125
|
const percentageColumnName = percentageColumnParameter.value;
|
|
125
|
-
validateColumnType(percentageColumnName, ['Number'], 'PERCENTAGE', context.adaptableApi);
|
|
126
|
+
const columnType = validateColumnType(percentageColumnName, ['Number'], 'PERCENTAGE', context.adaptableApi);
|
|
126
127
|
const sumOperand = extractParameter('PERCENTAGE', 'aggregationScalar', ['SUM'], args, {
|
|
127
128
|
isOptional: true,
|
|
128
129
|
});
|
|
@@ -161,6 +162,7 @@ export const aggregatedScalarExpressionFunctions = {
|
|
|
161
162
|
},
|
|
162
163
|
rowFilterFn: context.filterFn,
|
|
163
164
|
getRowNodes: context.getRowNodes,
|
|
165
|
+
columnType,
|
|
164
166
|
};
|
|
165
167
|
addGroupByParams(groupByColumnNames, aggregationExpressionEvaluation);
|
|
166
168
|
const result = {
|
|
@@ -189,7 +191,7 @@ export const aggregatedScalarExpressionFunctions = {
|
|
|
189
191
|
handler(args, context) {
|
|
190
192
|
const avgColumnParameter = extractColumnParameter('AVG', args);
|
|
191
193
|
const avgColumnName = avgColumnParameter.value;
|
|
192
|
-
validateColumnType(avgColumnName, ['Number'], 'AVG', context.adaptableApi);
|
|
194
|
+
const columnType = validateColumnType(avgColumnName, ['Number'], 'AVG', context.adaptableApi);
|
|
193
195
|
const groupByParameter = extractParameter('AVG', 'operand', ['GROUP_BY'], args, {
|
|
194
196
|
isOptional: true,
|
|
195
197
|
});
|
|
@@ -236,6 +238,7 @@ export const aggregatedScalarExpressionFunctions = {
|
|
|
236
238
|
},
|
|
237
239
|
rowFilterFn: context.filterFn,
|
|
238
240
|
getRowNodes: context.getRowNodes,
|
|
241
|
+
columnType,
|
|
239
242
|
};
|
|
240
243
|
addGroupByParams(groupByParameter === null || groupByParameter === void 0 ? void 0 : groupByParameter.value, aggregationExpressionEvaluation);
|
|
241
244
|
if (weightParameter) {
|
|
@@ -265,7 +268,7 @@ export const aggregatedScalarExpressionFunctions = {
|
|
|
265
268
|
handler(args, context) {
|
|
266
269
|
const medianColumnParameter = extractColumnParameter('MEDIAN', args);
|
|
267
270
|
const medianColumnName = medianColumnParameter.value;
|
|
268
|
-
validateColumnType(medianColumnName, ['Number'], 'MEDIAN', context.adaptableApi);
|
|
271
|
+
const columnType = validateColumnType(medianColumnName, ['Number'], 'MEDIAN', context.adaptableApi);
|
|
269
272
|
const groupByParameter = extractParameter('MEDIAN', 'operand', ['GROUP_BY'], args, {
|
|
270
273
|
isOptional: true,
|
|
271
274
|
});
|
|
@@ -306,6 +309,7 @@ export const aggregatedScalarExpressionFunctions = {
|
|
|
306
309
|
},
|
|
307
310
|
rowFilterFn: context.filterFn,
|
|
308
311
|
getRowNodes: context.getRowNodes,
|
|
312
|
+
columnType,
|
|
309
313
|
};
|
|
310
314
|
addGroupByParams(groupByParameter === null || groupByParameter === void 0 ? void 0 : groupByParameter.value, aggregationExpressionEvaluation);
|
|
311
315
|
const result = {
|
|
@@ -330,7 +334,7 @@ export const aggregatedScalarExpressionFunctions = {
|
|
|
330
334
|
handler(args, context) {
|
|
331
335
|
const modeColumnParameter = extractColumnParameter('mode', args);
|
|
332
336
|
const modeColumnName = modeColumnParameter.value;
|
|
333
|
-
validateColumnType(modeColumnName, ['Number', 'String', 'Date'], 'mode', context.adaptableApi);
|
|
337
|
+
const columnType = validateColumnType(modeColumnName, ['Number', 'String', 'Date'], 'mode', context.adaptableApi);
|
|
334
338
|
const groupByParameter = extractParameter('MODE', 'operand', ['GROUP_BY'], args, {
|
|
335
339
|
isOptional: true,
|
|
336
340
|
});
|
|
@@ -372,6 +376,7 @@ export const aggregatedScalarExpressionFunctions = {
|
|
|
372
376
|
},
|
|
373
377
|
rowFilterFn: context.filterFn,
|
|
374
378
|
getRowNodes: context.getRowNodes,
|
|
379
|
+
columnType,
|
|
375
380
|
};
|
|
376
381
|
addGroupByParams(groupByParameter === null || groupByParameter === void 0 ? void 0 : groupByParameter.value, aggregationExpressionEvaluation);
|
|
377
382
|
const result = {
|
|
@@ -444,7 +449,7 @@ export const aggregatedScalarExpressionFunctions = {
|
|
|
444
449
|
handler(args, context) {
|
|
445
450
|
const distinctColumnParameter = extractColumnParameter('ONLY', args);
|
|
446
451
|
const onlyColumnName = distinctColumnParameter.value;
|
|
447
|
-
validateColumnType(onlyColumnName, ['Number'], 'ONLY', context.adaptableApi);
|
|
452
|
+
const columnType = validateColumnType(onlyColumnName, ['Number'], 'ONLY', context.adaptableApi);
|
|
448
453
|
const groupByParameter = extractParameter('ONLY', 'operand', ['GROUP_BY'], args, {
|
|
449
454
|
isOptional: true,
|
|
450
455
|
});
|
|
@@ -470,6 +475,7 @@ export const aggregatedScalarExpressionFunctions = {
|
|
|
470
475
|
},
|
|
471
476
|
rowFilterFn: context.filterFn,
|
|
472
477
|
getRowNodes: context.getRowNodes,
|
|
478
|
+
columnType,
|
|
473
479
|
};
|
|
474
480
|
addGroupByParams(groupByParameter === null || groupByParameter === void 0 ? void 0 : groupByParameter.value, aggregationExpressionEvaluation);
|
|
475
481
|
const result = {
|
|
@@ -494,7 +500,7 @@ export const aggregatedScalarExpressionFunctions = {
|
|
|
494
500
|
handler(args, context) {
|
|
495
501
|
const columnParameter = extractColumnParameter('STD_DEVIATION', args);
|
|
496
502
|
const columnName = columnParameter.value;
|
|
497
|
-
validateColumnType(columnName, ['Number'], 'STD_DEVIATION', context.adaptableApi);
|
|
503
|
+
const columnType = validateColumnType(columnName, ['Number'], 'STD_DEVIATION', context.adaptableApi);
|
|
498
504
|
const groupByParameter = extractParameter('STD_DEVIATION', 'operand', ['GROUP_BY'], args, {
|
|
499
505
|
isOptional: true,
|
|
500
506
|
});
|
|
@@ -528,6 +534,7 @@ export const aggregatedScalarExpressionFunctions = {
|
|
|
528
534
|
},
|
|
529
535
|
rowFilterFn: context.filterFn,
|
|
530
536
|
getRowNodes: context.getRowNodes,
|
|
537
|
+
columnType,
|
|
531
538
|
};
|
|
532
539
|
addGroupByParams(groupByParameter === null || groupByParameter === void 0 ? void 0 : groupByParameter.value, aggregationExpressionEvaluation);
|
|
533
540
|
const result = {
|
|
@@ -552,7 +559,7 @@ export const aggregatedScalarExpressionFunctions = {
|
|
|
552
559
|
handler(args, context) {
|
|
553
560
|
const minColumnParameter = extractColumnParameter('MIN', args);
|
|
554
561
|
const minColumnName = minColumnParameter.value;
|
|
555
|
-
validateColumnType(minColumnName, ['Number'], 'MIN', context.adaptableApi);
|
|
562
|
+
const columnType = validateColumnType(minColumnName, ['Number', 'Date'], 'MIN', context.adaptableApi);
|
|
556
563
|
const groupByParameter = extractParameter('MIN', 'operand', ['GROUP_BY'], args, {
|
|
557
564
|
isOptional: true,
|
|
558
565
|
});
|
|
@@ -567,8 +574,19 @@ export const aggregatedScalarExpressionFunctions = {
|
|
|
567
574
|
if (isUndefinedValue(rowValue)) {
|
|
568
575
|
return minValue;
|
|
569
576
|
}
|
|
570
|
-
|
|
571
|
-
|
|
577
|
+
if (minValue === Number.MAX_VALUE) {
|
|
578
|
+
return rowValue;
|
|
579
|
+
}
|
|
580
|
+
if (columnType === 'Number') {
|
|
581
|
+
const numericRowValue = getNumericValue(rowValue);
|
|
582
|
+
return numericRowValue < minValue ? numericRowValue : minValue;
|
|
583
|
+
}
|
|
584
|
+
else {
|
|
585
|
+
// Date
|
|
586
|
+
return isAfter(parseDateValue(rowValue), parseDateValue(minValue))
|
|
587
|
+
? minValue
|
|
588
|
+
: rowValue;
|
|
589
|
+
}
|
|
572
590
|
},
|
|
573
591
|
done: (minValue) => {
|
|
574
592
|
if (minValue !== Number.MAX_VALUE) {
|
|
@@ -580,6 +598,7 @@ export const aggregatedScalarExpressionFunctions = {
|
|
|
580
598
|
},
|
|
581
599
|
rowFilterFn: context.filterFn,
|
|
582
600
|
getRowNodes: context.getRowNodes,
|
|
601
|
+
columnType,
|
|
583
602
|
};
|
|
584
603
|
addGroupByParams(groupByParameter === null || groupByParameter === void 0 ? void 0 : groupByParameter.value, aggregationExpressionEvaluation);
|
|
585
604
|
const result = {
|
|
@@ -604,7 +623,7 @@ export const aggregatedScalarExpressionFunctions = {
|
|
|
604
623
|
handler(args, context) {
|
|
605
624
|
const maxColumnParameter = extractColumnParameter('MAX', args);
|
|
606
625
|
const maxColumnName = maxColumnParameter.value;
|
|
607
|
-
validateColumnType(maxColumnName, ['Number'], 'MAX', context.adaptableApi);
|
|
626
|
+
const columnType = validateColumnType(maxColumnName, ['Number', 'Date'], 'MAX', context.adaptableApi);
|
|
608
627
|
const groupByParameter = extractParameter('MAX', 'operand', ['GROUP_BY'], args, {
|
|
609
628
|
isOptional: true,
|
|
610
629
|
});
|
|
@@ -619,8 +638,19 @@ export const aggregatedScalarExpressionFunctions = {
|
|
|
619
638
|
if (isUndefinedValue(rowValue)) {
|
|
620
639
|
return maxValue;
|
|
621
640
|
}
|
|
622
|
-
|
|
623
|
-
|
|
641
|
+
if (maxValue === Number.MIN_VALUE) {
|
|
642
|
+
return rowValue;
|
|
643
|
+
}
|
|
644
|
+
if (columnType === 'Number') {
|
|
645
|
+
const numericRowValue = getNumericValue(rowValue);
|
|
646
|
+
return numericRowValue > maxValue ? numericRowValue : maxValue;
|
|
647
|
+
}
|
|
648
|
+
else {
|
|
649
|
+
// Date
|
|
650
|
+
return isAfter(parseDateValue(rowValue), parseDateValue(maxValue))
|
|
651
|
+
? rowValue
|
|
652
|
+
: maxValue;
|
|
653
|
+
}
|
|
624
654
|
},
|
|
625
655
|
done: (maxValue) => {
|
|
626
656
|
if (maxValue !== Number.MIN_VALUE) {
|
|
@@ -632,6 +662,7 @@ export const aggregatedScalarExpressionFunctions = {
|
|
|
632
662
|
},
|
|
633
663
|
rowFilterFn: context.filterFn,
|
|
634
664
|
getRowNodes: context.getRowNodes,
|
|
665
|
+
columnType,
|
|
635
666
|
};
|
|
636
667
|
addGroupByParams(groupByParameter === null || groupByParameter === void 0 ? void 0 : groupByParameter.value, aggregationExpressionEvaluation);
|
|
637
668
|
const result = {
|
|
@@ -648,7 +679,7 @@ export const aggregatedScalarExpressionFunctions = {
|
|
|
648
679
|
'MAX( [colNameA], GROUP_BY( [colNameB] ))',
|
|
649
680
|
'MAX( COL(nameA: string), GROUP_BY( COL(nameB: string)))',
|
|
650
681
|
],
|
|
651
|
-
examples: ['
|
|
682
|
+
examples: ['MAX([colA])', 'MAX([colA], GROUP_BY([colB]))'],
|
|
652
683
|
category: 'aggregation',
|
|
653
684
|
inputs: ['number'],
|
|
654
685
|
},
|
|
@@ -657,7 +688,7 @@ export const aggregatedScalarExpressionFunctions = {
|
|
|
657
688
|
var _a, _b, _c;
|
|
658
689
|
const quantileColumnParameter = extractColumnParameter('QUANT', args);
|
|
659
690
|
const quantileColumnName = quantileColumnParameter.value;
|
|
660
|
-
validateColumnType(quantileColumnName, ['Number'], 'QUANT', context.adaptableApi);
|
|
691
|
+
const columnType = validateColumnType(quantileColumnName, ['Number'], 'QUANT', context.adaptableApi);
|
|
661
692
|
const qNumberCandidates = args.filter((arg) => typeof arg === 'number');
|
|
662
693
|
if (qNumberCandidates.length !== 1) {
|
|
663
694
|
throw new ExpressionEvaluationError('QUANT', 'expects a single positive numeric argument as q-quantile');
|
|
@@ -764,6 +795,7 @@ export const aggregatedScalarExpressionFunctions = {
|
|
|
764
795
|
}
|
|
765
796
|
return rowBucketMap[rowValue];
|
|
766
797
|
},
|
|
798
|
+
columnType,
|
|
767
799
|
};
|
|
768
800
|
addGroupByParams(groupByOperand === null || groupByOperand === void 0 ? void 0 : groupByOperand.value, aggregationExpressionEvaluation);
|
|
769
801
|
const result = {
|
|
@@ -911,124 +943,6 @@ export const aggregatedScalarExpressionFunctions = {
|
|
|
911
943
|
examples: ['[col1]', 'COL("col1")'],
|
|
912
944
|
category: 'special',
|
|
913
945
|
},
|
|
914
|
-
OLDEST: {
|
|
915
|
-
handler(args, context) {
|
|
916
|
-
const minColumnParameter = extractColumnParameter('OLDEST', args);
|
|
917
|
-
const minColumnName = minColumnParameter.value;
|
|
918
|
-
validateColumnType(minColumnName, ['Date'], 'OLDEST', context.adaptableApi);
|
|
919
|
-
const groupByParameter = extractParameter('OLDEST', 'operand', ['GROUP_BY'], args, {
|
|
920
|
-
isOptional: true,
|
|
921
|
-
});
|
|
922
|
-
const aggregationExpressionEvaluation = {
|
|
923
|
-
aggregationParams: {
|
|
924
|
-
reducers: {
|
|
925
|
-
OLDEST: {
|
|
926
|
-
name: 'OLDEST',
|
|
927
|
-
field: minColumnName,
|
|
928
|
-
initialValue: null,
|
|
929
|
-
reducer: (minValue, rowValue) => {
|
|
930
|
-
if (!minValue) {
|
|
931
|
-
return rowValue;
|
|
932
|
-
}
|
|
933
|
-
if (!rowValue) {
|
|
934
|
-
return minValue;
|
|
935
|
-
}
|
|
936
|
-
if (isAfter(parseDateValue(minValue), parseDateValue(rowValue))) {
|
|
937
|
-
return rowValue;
|
|
938
|
-
}
|
|
939
|
-
else {
|
|
940
|
-
return minValue;
|
|
941
|
-
}
|
|
942
|
-
},
|
|
943
|
-
done: (minValue, arr) => {
|
|
944
|
-
if (minValue !== null) {
|
|
945
|
-
return minValue;
|
|
946
|
-
}
|
|
947
|
-
},
|
|
948
|
-
},
|
|
949
|
-
},
|
|
950
|
-
},
|
|
951
|
-
rowFilterFn: context.filterFn,
|
|
952
|
-
getRowNodes: context.getRowNodes,
|
|
953
|
-
};
|
|
954
|
-
addGroupByParams(groupByParameter === null || groupByParameter === void 0 ? void 0 : groupByParameter.value, aggregationExpressionEvaluation);
|
|
955
|
-
const result = {
|
|
956
|
-
name: 'OLDEST',
|
|
957
|
-
type: 'aggregationScalar',
|
|
958
|
-
value: aggregationExpressionEvaluation,
|
|
959
|
-
};
|
|
960
|
-
return result;
|
|
961
|
-
},
|
|
962
|
-
description: 'Aggregates a Date column over multiple rows by computing the oldest of the column values\nOptionally the aggregation may be computed within provided individual groups',
|
|
963
|
-
signatures: [
|
|
964
|
-
'OLDEST( [colName] )',
|
|
965
|
-
'OLDEST( COL(name: string))',
|
|
966
|
-
'OLDEST( [colNameA], GROUP_BY( [colNameB] ))',
|
|
967
|
-
'OLDEST( COL(nameA: string), GROUP_BY( COL(nameB: string)))',
|
|
968
|
-
],
|
|
969
|
-
examples: ['OLDEST([colA])', 'OLDEST([colA], GROUP_BY([colB]))'],
|
|
970
|
-
category: 'aggregation',
|
|
971
|
-
inputs: ['date'],
|
|
972
|
-
},
|
|
973
|
-
NEWEST: {
|
|
974
|
-
handler(args, context) {
|
|
975
|
-
const minColumnParameter = extractColumnParameter('NEWEST', args);
|
|
976
|
-
const minColumnName = minColumnParameter.value;
|
|
977
|
-
validateColumnType(minColumnName, ['Date'], 'NEWEST', context.adaptableApi);
|
|
978
|
-
const groupByParameter = extractParameter('NEWEST', 'operand', ['GROUP_BY'], args, {
|
|
979
|
-
isOptional: true,
|
|
980
|
-
});
|
|
981
|
-
const aggregationExpressionEvaluation = {
|
|
982
|
-
aggregationParams: {
|
|
983
|
-
reducers: {
|
|
984
|
-
NEWEST: {
|
|
985
|
-
name: 'NEWEST',
|
|
986
|
-
field: minColumnName,
|
|
987
|
-
initialValue: null,
|
|
988
|
-
reducer: (minValue, rowValue) => {
|
|
989
|
-
if (!minValue) {
|
|
990
|
-
return rowValue;
|
|
991
|
-
}
|
|
992
|
-
if (!rowValue) {
|
|
993
|
-
return minValue;
|
|
994
|
-
}
|
|
995
|
-
if (isAfter(parseDateValue(minValue), parseDateValue(rowValue))) {
|
|
996
|
-
return minValue;
|
|
997
|
-
}
|
|
998
|
-
else {
|
|
999
|
-
return rowValue;
|
|
1000
|
-
}
|
|
1001
|
-
},
|
|
1002
|
-
done: (minValue, arr) => {
|
|
1003
|
-
if (minValue !== null) {
|
|
1004
|
-
return minValue;
|
|
1005
|
-
}
|
|
1006
|
-
},
|
|
1007
|
-
},
|
|
1008
|
-
},
|
|
1009
|
-
},
|
|
1010
|
-
rowFilterFn: context.filterFn,
|
|
1011
|
-
getRowNodes: context.getRowNodes,
|
|
1012
|
-
};
|
|
1013
|
-
addGroupByParams(groupByParameter === null || groupByParameter === void 0 ? void 0 : groupByParameter.value, aggregationExpressionEvaluation);
|
|
1014
|
-
const result = {
|
|
1015
|
-
name: 'NEWEST',
|
|
1016
|
-
type: 'aggregationScalar',
|
|
1017
|
-
value: aggregationExpressionEvaluation,
|
|
1018
|
-
};
|
|
1019
|
-
return result;
|
|
1020
|
-
},
|
|
1021
|
-
description: 'Aggregates a Date column over multiple rows by computing the most recent of the column values\nOptionally the aggregation may be computed within provided individual groups',
|
|
1022
|
-
signatures: [
|
|
1023
|
-
'NEWEST( [colName] )',
|
|
1024
|
-
'NEWEST( COL(name: string))',
|
|
1025
|
-
'NEWEST( [colNameA], GROUP_BY( [colNameB] ))',
|
|
1026
|
-
'NEWEST( COL(nameA: string), GROUP_BY( COL(nameB: string)))',
|
|
1027
|
-
],
|
|
1028
|
-
examples: ['NEWEST([colA])', 'NEWEST([colA], GROUP_BY([colB]))'],
|
|
1029
|
-
category: 'aggregation',
|
|
1030
|
-
inputs: ['date'],
|
|
1031
|
-
},
|
|
1032
946
|
};
|
|
1033
947
|
const mapAggregationToCumulation = (aggregationParameter, overColumnParameter, context) => {
|
|
1034
948
|
const aggregationEvaluation = aggregationParameter.value;
|
|
@@ -1058,8 +972,16 @@ const mapAggregationToCumulation = (aggregationParameter, overColumnParameter, c
|
|
|
1058
972
|
cumulatedValues: {},
|
|
1059
973
|
},
|
|
1060
974
|
reducer: (cumulationBag, rowValue, rowNode) => {
|
|
1061
|
-
if (isDefinedValue(rowValue)
|
|
1062
|
-
|
|
975
|
+
if (isDefinedValue(rowValue)) {
|
|
976
|
+
if (aggregationEvaluation.columnType === 'Date') {
|
|
977
|
+
if (cumulationBag.currentValue === aggregationReducer.initialValue ||
|
|
978
|
+
isAfter(parseDateValue(cumulationBag.currentValue), parseDateValue(rowValue))) {
|
|
979
|
+
cumulationBag.currentValue = rowValue;
|
|
980
|
+
}
|
|
981
|
+
}
|
|
982
|
+
else if (rowValue < cumulationBag.currentValue) {
|
|
983
|
+
cumulationBag.currentValue = rowValue;
|
|
984
|
+
}
|
|
1063
985
|
}
|
|
1064
986
|
if (cumulationBag.currentValue !== aggregationReducer.initialValue) {
|
|
1065
987
|
cumulationBag.cumulatedValues[rowNode.id] = cumulationBag.currentValue;
|
|
@@ -1076,8 +998,16 @@ const mapAggregationToCumulation = (aggregationParameter, overColumnParameter, c
|
|
|
1076
998
|
cumulatedValues: {},
|
|
1077
999
|
},
|
|
1078
1000
|
reducer: (cumulationBag, rowValue, rowNode) => {
|
|
1079
|
-
if (isDefinedValue(rowValue)
|
|
1080
|
-
|
|
1001
|
+
if (isDefinedValue(rowValue)) {
|
|
1002
|
+
if (aggregationEvaluation.columnType === 'Date') {
|
|
1003
|
+
if (cumulationBag.currentValue === aggregationReducer.initialValue ||
|
|
1004
|
+
isAfter(parseDateValue(rowValue), parseDateValue(cumulationBag.currentValue))) {
|
|
1005
|
+
cumulationBag.currentValue = rowValue;
|
|
1006
|
+
}
|
|
1007
|
+
}
|
|
1008
|
+
else if (rowValue > cumulationBag.currentValue) {
|
|
1009
|
+
cumulationBag.currentValue = rowValue;
|
|
1010
|
+
}
|
|
1081
1011
|
}
|
|
1082
1012
|
if (cumulationBag.currentValue !== aggregationReducer.initialValue) {
|
|
1083
1013
|
cumulationBag.cumulatedValues[rowNode.id] = cumulationBag.currentValue;
|
|
@@ -28,4 +28,4 @@ export declare const extractParameters: <T extends BaseParameter<string, string>
|
|
|
28
28
|
}) => T[];
|
|
29
29
|
export declare const handleColumnFunction: (args: any[], context: ExpressionContext) => ColumnParameter;
|
|
30
30
|
export declare const getNumericValue: (input: unknown) => number;
|
|
31
|
-
export declare const validateColumnType: (columnId: string, validColumnTypes: ('Number' | 'String' | 'Date')[], consumingFunction: string, api: AdaptableApi) =>
|
|
31
|
+
export declare const validateColumnType: (columnId: string, validColumnTypes: ('Number' | 'String' | 'Date')[], consumingFunction: string, api: AdaptableApi) => import("../../types").AdaptableColumnDataType;
|
|
@@ -116,6 +116,7 @@ export const validateColumnType = (columnId, validColumnTypes, consumingFunction
|
|
|
116
116
|
if (!validColumnTypes.some((validType) => validType === columnType)) {
|
|
117
117
|
throw new ExpressionEvaluationError(consumingFunction, `expects a column of type ${validColumnTypes.join(' or ')}`);
|
|
118
118
|
}
|
|
119
|
+
return columnType;
|
|
119
120
|
};
|
|
120
121
|
const validateColumnId = (columnId, api) => {
|
|
121
122
|
const column = api.columnApi.getColumnWithColumnId(columnId);
|
|
@@ -17,8 +17,9 @@ export class CellSummaryDetails extends React.Component {
|
|
|
17
17
|
let data = [];
|
|
18
18
|
if (this.props.CellSummary != null) {
|
|
19
19
|
data = Object.keys(this.props.CellSummary).map((operationName) => {
|
|
20
|
+
const operationLabel = operationName === 'Std_Deviation' ? 'Standard Deviation' : operationName;
|
|
20
21
|
return {
|
|
21
|
-
Operation:
|
|
22
|
+
Operation: operationLabel,
|
|
22
23
|
Value: this.props.CellSummary[operationName],
|
|
23
24
|
};
|
|
24
25
|
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { AdaptableInputProps } from '../AdaptableInput';
|
|
3
3
|
export type AdaptableDateInputProps = AdaptableInputProps;
|
|
4
|
-
declare const AdaptableDateInput: React.ForwardRefExoticComponent<Pick<import("../../../components/Input").InputProps, "children" | "size" | "name" | "tabIndex" | "color" | "style" | "cite" | "data" | "form" | "label" | "p" | "slot" | "span" | "summary" | "title" | "pattern" | "start" | "hidden" | "content" | "default" | "flex" | "wrap" | "open" | "padding" | "multiple" | "disabled" | "checked" | "download" | "list" | "order" | "target" | "rows" | "src" | "className" | "onTransitionEnd" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "id" | "lang" | "placeholder" | "spellCheck" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEndCapture" | "opacity" | "value" | "
|
|
4
|
+
declare const AdaptableDateInput: React.ForwardRefExoticComponent<Pick<import("../../../components/Input").InputProps, "children" | "size" | "name" | "tabIndex" | "color" | "style" | "cite" | "data" | "form" | "label" | "p" | "slot" | "span" | "summary" | "title" | "pattern" | "start" | "hidden" | "content" | "default" | "flex" | "wrap" | "open" | "padding" | "multiple" | "disabled" | "checked" | "download" | "list" | "order" | "target" | "rows" | "src" | "className" | "onTransitionEnd" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "id" | "lang" | "placeholder" | "spellCheck" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEndCapture" | "opacity" | "value" | "step" | "sizes" | "variant" | "tx" | "as" | "css" | "key" | "m" | "margin" | "mt" | "marginTop" | "mr" | "marginRight" | "mb" | "marginBottom" | "ml" | "marginLeft" | "mx" | "marginX" | "my" | "marginY" | "pt" | "paddingTop" | "pr" | "paddingRight" | "pb" | "paddingBottom" | "pl" | "paddingLeft" | "px" | "paddingX" | "py" | "paddingY" | "width" | "height" | "minWidth" | "minHeight" | "maxWidth" | "maxHeight" | "display" | "verticalAlign" | "overflow" | "overflowX" | "overflowY" | "fontFamily" | "fontSize" | "fontWeight" | "lineHeight" | "letterSpacing" | "fontStyle" | "textAlign" | "bg" | "backgroundColor" | "alignItems" | "alignContent" | "justifyItems" | "justifyContent" | "flexWrap" | "flexDirection" | "flexGrow" | "flexShrink" | "flexBasis" | "justifySelf" | "alignSelf" | "sx" | "accept" | "acceptCharset" | "action" | "allowFullScreen" | "allowTransparency" | "alt" | "async" | "autoComplete" | "autoFocus" | "autoPlay" | "capture" | "cellPadding" | "cellSpacing" | "charSet" | "challenge" | "classID" | "cols" | "colSpan" | "controls" | "coords" | "crossOrigin" | "dateTime" | "defer" | "encType" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "frameBorder" | "headers" | "high" | "href" | "hrefLang" | "htmlFor" | "httpEquiv" | "integrity" | "keyParams" | "keyType" | "kind" | "loop" | "low" | "manifest" | "marginHeight" | "marginWidth" | "max" | "maxLength" | "media" | "mediaGroup" | "method" | "min" | "minLength" | "muted" | "nonce" | "noValidate" | "optimum" | "playsInline" | "poster" | "preload" | "readOnly" | "rel" | "required" | "reversed" | "rowSpan" | "sandbox" | "scope" | "scoped" | "scrolling" | "seamless" | "selected" | "shape" | "srcDoc" | "srcLang" | "srcSet" | "type" | "useMap" | "wmode"> & React.RefAttributes<HTMLInputElement>>;
|
|
5
5
|
export default AdaptableDateInput;
|