@adaptabletools/adaptable 16.0.9 → 16.0.10-canary.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/base.css +14 -14
- package/base.css.map +1 -1
- package/bundle.cjs.js +169 -169
- package/index.css +14 -14
- package/index.css.map +1 -1
- package/package.json +1 -1
- package/publishTimestamp.d.ts +1 -1
- package/publishTimestamp.js +1 -1
- package/src/AdaptableOptions/AdaptableOptions.d.ts +2 -2
- package/src/AdaptableOptions/ChartingOptions.d.ts +40 -0
- package/src/AdaptableOptions/ColumnOptions.d.ts +17 -0
- package/src/AdaptableOptions/NotesOptions.d.ts +23 -0
- package/src/AdaptableOptions/QuickSearchOptions.d.ts +8 -0
- package/src/AdaptableOptions/UserInterfaceOptions.d.ts +2 -0
- package/src/Api/AdaptableApi.d.ts +3 -3
- package/src/Api/ChartingApi.d.ts +30 -0
- package/src/Api/ColumnApi.d.ts +5 -0
- package/src/Api/ConfigApi.d.ts +4 -3
- package/src/Api/Implementation/AdaptableApiImpl.d.ts +2 -2
- package/src/Api/Implementation/AdaptableApiImpl.js +2 -2
- package/src/Api/Implementation/ApiBase.d.ts +2 -2
- package/src/Api/Implementation/ApiBase.js +2 -2
- package/src/Api/Implementation/ChartingApiImpl.d.ts +8 -2
- package/src/Api/Implementation/ChartingApiImpl.js +64 -0
- package/src/Api/Implementation/ColumnApiImpl.d.ts +1 -0
- package/src/Api/Implementation/ColumnApiImpl.js +4 -0
- package/src/Api/Implementation/ConfigApiImpl.d.ts +3 -2
- package/src/Api/Implementation/ConfigApiImpl.js +9 -9
- package/src/Api/Implementation/NotesApiImpl.d.ts +20 -0
- package/src/Api/Implementation/NotesApiImpl.js +58 -0
- package/src/Api/Implementation/OptionsApiImpl.d.ts +2 -2
- package/src/Api/Implementation/OptionsApiImpl.js +2 -2
- package/src/Api/Implementation/UserInterfaceApiImpl.d.ts +2 -0
- package/src/Api/Implementation/UserInterfaceApiImpl.js +8 -0
- package/src/Api/Internal/AdaptableInternalApi.d.ts +0 -2
- package/src/Api/Internal/AdaptableInternalApi.js +0 -6
- package/src/Api/Internal/CalculatedColumnInternalApi.d.ts +2 -0
- package/src/Api/Internal/CalculatedColumnInternalApi.js +12 -0
- package/src/Api/Internal/ChartingInternalApi.d.ts +7 -0
- package/src/Api/Internal/ChartingInternalApi.js +45 -0
- package/src/Api/Internal/ColumnInternalApi.d.ts +3 -0
- package/src/Api/Internal/ColumnInternalApi.js +3 -0
- package/src/Api/NotesAPi.d.ts +50 -0
- package/src/Api/OptionsApi.d.ts +3 -3
- package/src/Api/UserInterfaceApi.d.ts +8 -0
- package/src/PredefinedConfig/AdaptableState.d.ts +2 -2
- package/src/PredefinedConfig/ChartingState.d.ts +22 -0
- package/src/PredefinedConfig/ChartingState.js +9 -0
- package/src/PredefinedConfig/Common/AdaptableColumn.d.ts +12 -0
- package/src/PredefinedConfig/Common/AdaptableIcon.d.ts +1 -1
- package/src/PredefinedConfig/Common/Menu.d.ts +1 -1
- package/src/PredefinedConfig/Common/Types.d.ts +2 -2
- package/src/PredefinedConfig/Common/Types.js +1 -1
- package/src/PredefinedConfig/NotesState.d.ts +59 -0
- package/src/PredefinedConfig/PredefinedConfig.d.ts +2 -2
- package/src/PredefinedConfig/SystemState.d.ts +5 -3
- package/src/Redux/ActionsReducers/ChartingRedux.d.ts +28 -3
- package/src/Redux/ActionsReducers/ChartingRedux.js +52 -5
- package/src/Redux/ActionsReducers/NotesRedux.d.ts +39 -0
- package/src/Redux/ActionsReducers/NotesRedux.js +88 -0
- package/src/Redux/ActionsReducers/SystemRedux.d.ts +10 -10
- package/src/Redux/ActionsReducers/SystemRedux.js +23 -22
- package/src/Redux/Store/AdaptableStore.js +19 -11
- package/src/Strategy/ChartingModule.d.ts +5 -2
- package/src/Strategy/ChartingModule.js +28 -7
- package/src/Strategy/ColumnInfoModule.d.ts +11 -0
- package/src/Strategy/ColumnInfoModule.js +47 -0
- package/src/Strategy/DataSetModule.js +1 -0
- package/src/Strategy/FilterModule.js +5 -0
- package/src/Strategy/GridInfoModule.js +13 -82
- package/src/Strategy/Interface/IModule.d.ts +2 -0
- package/src/Strategy/{CommentsModule.d.ts → NotesModule.d.ts} +6 -6
- package/src/Strategy/{CommentsModule.js → NotesModule.js} +41 -41
- package/src/Strategy/Utilities/Layout/getLayoutFilterViewItems.d.ts +2 -0
- package/src/Strategy/Utilities/Layout/getLayoutFilterViewItems.js +20 -18
- package/src/Utilities/Constants/DocumentationLinkConstants.d.ts +1 -0
- package/src/Utilities/Constants/DocumentationLinkConstants.js +2 -1
- package/src/Utilities/Constants/ModuleConstants.d.ts +6 -3
- package/src/Utilities/Constants/ModuleConstants.js +8 -5
- package/src/Utilities/Defaults/DefaultAdaptableOptions.js +3 -1
- package/src/Utilities/Defaults/DefaultSettingsPanel.js +2 -1
- package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.d.ts +3 -2
- package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.js +36 -10
- package/src/Utilities/Extensions/ObjectExtensions.d.ts +1 -0
- package/src/Utilities/Extensions/ObjectExtensions.js +5 -1
- package/src/Utilities/ObjectFactory.d.ts +2 -1
- package/src/Utilities/ObjectFactory.js +10 -2
- package/src/Utilities/Services/Interface/IEntitlementService.d.ts +4 -0
- package/src/Utilities/Services/Interface/IQueryLanguageService.d.ts +1 -1
- package/src/Utilities/Services/QueryLanguageService.d.ts +1 -2
- package/src/Utilities/Services/QueryLanguageService.js +1 -6
- package/src/Utilities/Services/ValidationService.js +15 -5
- package/src/View/AdaptableView.js +2 -2
- package/src/View/AdaptableViewFactory.js +5 -3
- package/src/View/Alert/Wizard/AlertButtonsEditor.js +20 -4
- package/src/View/Alert/Wizard/AlertWizard.js +14 -7
- package/src/View/CalculatedColumn/CalculatedColumnSummary.d.ts +1 -1
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnExpressionWizardSection.d.ts +2 -0
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnExpressionWizardSection.js +25 -46
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnTypeSection.d.ts +8 -0
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnTypeSection.js +19 -0
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.d.ts +2 -0
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.js +44 -3
- package/src/View/CalculatedColumn/utils.d.ts +2 -0
- package/src/View/CalculatedColumn/utils.js +14 -0
- package/src/View/Charting/ChartingWizard/AgChargingWizard/AgChargingWizard.d.ts +6 -0
- package/src/View/Charting/ChartingWizard/AgChargingWizard/AgChargingWizard.js +47 -0
- package/src/View/Charting/ChartingWizard/{PreviewChartSection.d.ts → AgChargingWizard/PreviewChartSection.d.ts} +1 -1
- package/src/View/Charting/ChartingWizard/{PreviewChartSection.js → AgChargingWizard/PreviewChartSection.js} +2 -2
- package/src/View/Charting/ChartingWizard/{SettingsSection.d.ts → AgChargingWizard/SettingsSection.d.ts} +1 -1
- package/src/View/Charting/ChartingWizard/{SettingsSection.js → AgChargingWizard/SettingsSection.js} +4 -4
- package/src/View/Charting/ChartingWizard/AgChargingWizard/index.d.ts +1 -0
- package/src/View/Charting/ChartingWizard/AgChargingWizard/index.js +4 -0
- package/src/View/Charting/ChartingWizard/ChartingWizard.d.ts +4 -3
- package/src/View/Charting/ChartingWizard/ChartingWizard.js +12 -39
- package/src/View/Charting/ChartingWizard/ExternalChartingWizard/ExternalChartingWizard.d.ts +6 -0
- package/src/View/Charting/ChartingWizard/ExternalChartingWizard/ExternalChartingWizard.js +59 -0
- package/src/View/Charting/ChartingWizard/ExternalChartingWizard/SettingsSection.d.ts +9 -0
- package/src/View/Charting/ChartingWizard/ExternalChartingWizard/SettingsSection.js +25 -0
- package/src/View/Charting/ChartingWizard/ExternalChartingWizard/index.d.ts +1 -0
- package/src/View/Charting/ChartingWizard/ExternalChartingWizard/index.js +4 -0
- package/src/View/Charting/ChartingWizard/index.d.ts +1 -0
- package/src/View/Charting/ChartingWizard/index.js +4 -0
- package/src/View/Charting/DeleteChartButton.d.ts +2 -1
- package/src/View/Charting/DeleteChartButton.js +4 -2
- package/src/View/Charting/EditChartButton.d.ts +2 -1
- package/src/View/Charting/ShowChartButton.js +47 -16
- package/src/View/Charting/{useChartState.d.ts → useAgChartState.d.ts} +1 -1
- package/src/View/Charting/{useChartState.js → useAgChartState.js} +7 -7
- package/src/View/Charting/useChartingElements.d.ts +2 -1
- package/src/View/Charting/useChartingElements.js +36 -26
- package/src/View/Charting/useExternalChartState.d.ts +7 -0
- package/src/View/Charting/useExternalChartState.js +56 -0
- package/src/View/ColumnInfo/ColumnInfo.d.ts +5 -0
- package/src/View/ColumnInfo/ColumnInfo.js +185 -0
- package/src/View/ColumnInfo/ColumnInfoPopup.d.ts +3 -0
- package/src/View/ColumnInfo/ColumnInfoPopup.js +15 -0
- package/src/View/Components/AdaptableIconSelector/index.d.ts +1 -1
- package/src/View/Components/Selectors/ColumnSelector.js +1 -1
- package/src/View/FlashingCell/Wizard/FlashingCellWizard.js +6 -1
- package/src/View/FormatColumn/Wizard/FormatColumnWizard.js +9 -0
- package/src/View/GridInfo/{AdaptableObjectsSummary.js → GridInfoPopup/AdaptableObjectsSummary.js} +2 -2
- package/src/View/GridInfo/{AdaptableOptionsComponent.d.ts → GridInfoPopup/AdaptableOptionsComponent.d.ts} +1 -1
- package/src/View/GridInfo/{AdaptableOptionsComponent.js → GridInfoPopup/AdaptableOptionsComponent.js} +6 -6
- package/src/View/GridInfo/GridInfoPopup/GridInfoPopup.d.ts +6 -0
- package/src/View/GridInfo/GridInfoPopup/GridInfoPopup.js +82 -0
- package/src/View/GridInfo/GridInfoPopup/index.d.ts +1 -0
- package/src/View/GridInfo/GridInfoPopup/index.js +4 -0
- package/src/View/Layout/Wizard/sections/AggregationsSection.js +1 -1
- package/src/View/Layout/Wizard/sections/ColumnsSection.js +1 -1
- package/src/View/Notes/NotesListing.d.ts +2 -0
- package/src/View/{Comments/CommentListing.js → Notes/NotesListing.js} +13 -14
- package/src/View/Notes/NotesPopup.d.ts +2 -0
- package/src/View/{Comments/CommentPopup.js → Notes/NotesPopup.js} +21 -21
- package/src/View/Shortcut/Wizard/ShortcutWizard.js +6 -1
- package/src/View/StyledColumn/Wizard/StyledColumnWizard.js +14 -0
- package/src/agGrid/Adaptable.d.ts +1 -1
- package/src/agGrid/Adaptable.js +28 -16
- package/src/agGrid/agGridHelper.d.ts +3 -3
- package/src/agGrid/agGridHelper.js +56 -30
- package/src/agGrid/agGridMenuHelper.js +4 -2
- package/src/components/ExpressionEditor/EditorInput.d.ts +1 -1
- package/src/components/ExpressionEditor/EditorInput.js +15 -6
- package/src/components/ExpressionEditor/editorButtonsAggregatedScalar.js +5 -10
- package/src/components/ExpressionEditor/editorButtonsCumulativeAggregatedScalar.js +5 -5
- package/src/components/ExpressionEditor/editorButtonsQuantileAggregatedScalar.d.ts +2 -0
- package/src/components/ExpressionEditor/editorButtonsQuantileAggregatedScalar.js +25 -0
- package/src/components/ExpressionEditor/index.d.ts +1 -1
- package/src/components/ExpressionEditor/index.js +2 -1
- package/src/components/icons/index.js +2 -0
- package/src/components/icons/note.d.ts +3 -0
- package/src/components/icons/note.js +7 -0
- package/src/metamodel/adaptable.metamodel.d.ts +72 -59
- package/src/metamodel/adaptable.metamodel.js +1 -1
- package/src/types.d.ts +4 -4
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/src/AdaptableOptions/CommentsOptions.d.ts +0 -23
- package/src/Api/CommentsApi.d.ts +0 -50
- package/src/Api/Implementation/CommentsApiImpl.d.ts +0 -20
- package/src/Api/Implementation/CommentsApiImpl.js +0 -58
- package/src/PredefinedConfig/CommentsState.d.ts +0 -59
- package/src/Redux/ActionsReducers/CommentsRedux.d.ts +0 -39
- package/src/Redux/ActionsReducers/CommentsRedux.js +0 -92
- package/src/View/Comments/CommentListing.d.ts +0 -2
- package/src/View/Comments/CommentPopup.d.ts +0 -2
- package/src/View/GridInfo/ColumnInfoComponent.d.ts +0 -20
- package/src/View/GridInfo/ColumnInfoComponent.js +0 -176
- package/src/View/GridInfo/GridInfoPopup.d.ts +0 -16
- package/src/View/GridInfo/GridInfoPopup.js +0 -117
- package/src/View/GridInfo/GridOptionsComponent.d.ts +0 -16
- package/src/View/GridInfo/GridOptionsComponent.js +0 -36
- /package/src/AdaptableOptions/{CommentsOptions.js → NotesOptions.js} +0 -0
- /package/src/Api/{CommentsApi.js → NotesAPi.js} +0 -0
- /package/src/PredefinedConfig/{CommentsState.js → NotesState.js} +0 -0
- /package/src/View/GridInfo/{AdaptableObjectsSummary.d.ts → GridInfoPopup/AdaptableObjectsSummary.d.ts} +0 -0
|
@@ -23,11 +23,25 @@ const StyledColumnWizard = (props) => {
|
|
|
23
23
|
const popupDefaultCurrentSectionName = (_e = (_d = (_c = props === null || props === void 0 ? void 0 : props.popupParams) === null || _c === void 0 ? void 0 : _c.config) === null || _d === void 0 ? void 0 : _d.defaultCurrentSectionName) !== null && _e !== void 0 ? _e : undefined;
|
|
24
24
|
const defaultCurrentSectionName = (_f = props.defaultCurrentSectionName) !== null && _f !== void 0 ? _f : popupDefaultCurrentSectionName;
|
|
25
25
|
const [styledColumn, setStyledColumn] = (0, react_1.useState)(() => {
|
|
26
|
+
var _a, _b;
|
|
26
27
|
if (data) {
|
|
27
28
|
return (0, Helper_1.cloneObject)(data);
|
|
28
29
|
}
|
|
29
30
|
const newData = ObjectFactory_1.default.CreateEmptyStyledColumn();
|
|
30
31
|
newData.GradientStyle = {};
|
|
32
|
+
if (((_a = props.popupParams) === null || _a === void 0 ? void 0 : _a.column) && ((_b = props.popupParams) === null || _b === void 0 ? void 0 : _b.action) === 'New') {
|
|
33
|
+
newData.ColumnId = props.popupParams.column.columnId;
|
|
34
|
+
if (props.popupParams.column.dataType === 'String') {
|
|
35
|
+
newData.BadgeStyle = {
|
|
36
|
+
Badges: [ObjectFactory_1.default.CreateDefaultStyledColumnBadge()],
|
|
37
|
+
};
|
|
38
|
+
delete newData.GradientStyle;
|
|
39
|
+
}
|
|
40
|
+
else if (props.popupParams.column.dataType.includes('Array')) {
|
|
41
|
+
newData.SparkLineStyle = {};
|
|
42
|
+
delete newData.GradientStyle;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
31
45
|
return newData;
|
|
32
46
|
});
|
|
33
47
|
const dispatch = (0, react_redux_1.useDispatch)();
|
|
@@ -183,7 +183,7 @@ export declare class Adaptable implements IAdaptable {
|
|
|
183
183
|
private getAlertRowClass;
|
|
184
184
|
private getAlertRowStyle;
|
|
185
185
|
private getFlashingCellStyle;
|
|
186
|
-
private
|
|
186
|
+
private getNoteCellClassName;
|
|
187
187
|
private getFlashingCellClass;
|
|
188
188
|
private getCellHighlightStyle;
|
|
189
189
|
private getRowHighlightStyle;
|
package/src/agGrid/Adaptable.js
CHANGED
|
@@ -509,9 +509,9 @@ class Adaptable {
|
|
|
509
509
|
this.logger.error('Failed to Init Modules : ', e);
|
|
510
510
|
// for now we initialize the grid even if initialising Modules has failed (perhaps revisit this?)
|
|
511
511
|
this.initInternalGridLogic();
|
|
512
|
-
this.api.
|
|
512
|
+
this.api.userInterfaceApi.hideLoadingScreen(); // doesnt really help but at least clears the screen
|
|
513
513
|
}).then(async () => {
|
|
514
|
-
this.api.
|
|
514
|
+
this.api.userInterfaceApi.hideLoadingScreen();
|
|
515
515
|
this.isInitialised = true;
|
|
516
516
|
this._adaptableReady = true;
|
|
517
517
|
});
|
|
@@ -1154,19 +1154,19 @@ class Adaptable {
|
|
|
1154
1154
|
? flashingCell.flashingCellDefinition.DownChangeStyle
|
|
1155
1155
|
: flashingCell.flashingCellDefinition.NeutralChangeStyle)) !== null && _a !== void 0 ? _a : {});
|
|
1156
1156
|
}
|
|
1157
|
-
|
|
1158
|
-
if (!this.api.internalApi.getModuleService().isModuleAvailable('
|
|
1157
|
+
getNoteCellClassName(col, params) {
|
|
1158
|
+
if (!this.api.internalApi.getModuleService().isModuleAvailable('Notes')) {
|
|
1159
1159
|
return;
|
|
1160
1160
|
}
|
|
1161
1161
|
const cellPosition = {
|
|
1162
1162
|
PrimaryKeyValue: this.getPrimaryKeyValueFromRowNode(params.node),
|
|
1163
1163
|
ColumnId: col.columnId,
|
|
1164
1164
|
};
|
|
1165
|
-
const
|
|
1166
|
-
if (!(
|
|
1165
|
+
const cellNotes = this.api.notesApi.getCellNotes(cellPosition);
|
|
1166
|
+
if (!(cellNotes === null || cellNotes === void 0 ? void 0 : cellNotes.length)) {
|
|
1167
1167
|
return undefined;
|
|
1168
1168
|
}
|
|
1169
|
-
return 'ab-Cell-
|
|
1169
|
+
return 'ab-Cell-Note';
|
|
1170
1170
|
}
|
|
1171
1171
|
getFlashingCellClass(col, params) {
|
|
1172
1172
|
var _a, _b, _c;
|
|
@@ -1271,22 +1271,32 @@ class Adaptable {
|
|
|
1271
1271
|
return isCellReadonly ? readonlyCellStyle.ClassName : null;
|
|
1272
1272
|
}
|
|
1273
1273
|
isQuickSearchActive(abColumn, params) {
|
|
1274
|
-
|
|
1274
|
+
const isPivotColumn = this.api.columnApi.isAutoPivotColumn(
|
|
1275
|
+
// abColumn is the column that is based on, not the actual column
|
|
1276
|
+
params.column.getColId());
|
|
1275
1277
|
if (abColumn.isExcludedFromQuickSearch) {
|
|
1276
1278
|
return false;
|
|
1277
1279
|
}
|
|
1278
1280
|
if (!params.node) {
|
|
1279
1281
|
return false;
|
|
1280
1282
|
}
|
|
1281
|
-
if (!
|
|
1283
|
+
if (!isPivotColumn &&
|
|
1284
|
+
!this.api.optionsApi.getQuickSearchOptions().runQuickSearchOnRowGroups &&
|
|
1282
1285
|
params.node.group) {
|
|
1283
1286
|
return false;
|
|
1284
1287
|
}
|
|
1288
|
+
if (!this.api.optionsApi.getQuickSearchOptions().runQuickSearchOnPivotColumns &&
|
|
1289
|
+
isPivotColumn) {
|
|
1290
|
+
return false;
|
|
1291
|
+
}
|
|
1285
1292
|
let quickSearchValue = this.api.quickSearchApi.getQuickSearchValue();
|
|
1286
1293
|
if (StringExtensions_1.StringExtensions.IsNullOrEmpty(quickSearchValue)) {
|
|
1287
1294
|
return false;
|
|
1288
1295
|
}
|
|
1289
|
-
|
|
1296
|
+
let displayValue = this.api.gridApi.getDisplayValueFromRowNode(params.node, abColumn.columnId);
|
|
1297
|
+
if (this.api.optionsApi.getQuickSearchOptions().runQuickSearchOnPivotColumns && isPivotColumn) {
|
|
1298
|
+
displayValue = params.value;
|
|
1299
|
+
}
|
|
1290
1300
|
const ignoreCase = !this.adaptableOptions.quickSearchOptions.runQuickSearchWithCaseSensitivity;
|
|
1291
1301
|
const v = ignoreCase ? String(displayValue).toLocaleLowerCase() : String(displayValue);
|
|
1292
1302
|
const i = ignoreCase ? String(quickSearchValue).toLocaleLowerCase() : String(quickSearchValue);
|
|
@@ -2707,9 +2717,10 @@ class Adaptable {
|
|
|
2707
2717
|
getFirstRowNode() {
|
|
2708
2718
|
let startIndex = 0;
|
|
2709
2719
|
let firstRowNode = this.gridOptions.api.getDisplayedRowAtIndex(startIndex);
|
|
2710
|
-
|
|
2711
|
-
|
|
2712
|
-
|
|
2720
|
+
if (firstRowNode === null || firstRowNode === void 0 ? void 0 : firstRowNode.group) {
|
|
2721
|
+
// all groups may be closed so it is safer to get first leaf node
|
|
2722
|
+
// all groups must have at least one leafe node
|
|
2723
|
+
firstRowNode = firstRowNode.allLeafChildren[0];
|
|
2713
2724
|
}
|
|
2714
2725
|
if (!firstRowNode) {
|
|
2715
2726
|
firstRowNode = this.gridOptions.api.getDisplayedRowAtIndex(0);
|
|
@@ -3439,7 +3450,7 @@ class Adaptable {
|
|
|
3439
3450
|
const flashingClassName = this.getFlashingCellClass(abColumn, params);
|
|
3440
3451
|
const styledColumn = this.api.styledColumnApi.getStyledColumnForColumnId(colId);
|
|
3441
3452
|
const hasStyledColumn = !!styledColumn && !styledColumn.IsSuspended;
|
|
3442
|
-
const
|
|
3453
|
+
const noteClassName = this.getNoteCellClassName(abColumn, params);
|
|
3443
3454
|
const returnValue = [
|
|
3444
3455
|
typeof userCellClass === 'function' ? userCellClass(params) : userCellClass,
|
|
3445
3456
|
!hasStyledColumn && formatColumns.length
|
|
@@ -3450,7 +3461,7 @@ class Adaptable {
|
|
|
3450
3461
|
readonlyClassName,
|
|
3451
3462
|
highlightAlertClassName,
|
|
3452
3463
|
flashingClassName,
|
|
3453
|
-
|
|
3464
|
+
noteClassName,
|
|
3454
3465
|
]
|
|
3455
3466
|
// we flatten the array because some rules ('userCellClass' etc) might return a string[]
|
|
3456
3467
|
.flat()
|
|
@@ -3641,7 +3652,8 @@ class Adaptable {
|
|
|
3641
3652
|
resultHeaderName = layoutCustomHeader;
|
|
3642
3653
|
}
|
|
3643
3654
|
// required here for the initial layout rendering
|
|
3644
|
-
|
|
3655
|
+
// Removed by JW, 3 october 2023; i don't think we need it and it overrides stuff unnecessarily
|
|
3656
|
+
// abColumn.friendlyName = resultHeaderName;
|
|
3645
3657
|
return resultHeaderName;
|
|
3646
3658
|
});
|
|
3647
3659
|
const newColumnHeader = (_b = col === null || col === void 0 ? void 0 : col.getColDef()) === null || _b === void 0 ? void 0 : _b.headerName;
|
|
@@ -3,9 +3,9 @@ import { IAdaptable } from '../AdaptableInterfaces/IAdaptable';
|
|
|
3
3
|
import { AdaptableColumn, AdaptableColumnDataType, AdaptableColumnGroup } from '../PredefinedConfig/Common/AdaptableColumn';
|
|
4
4
|
import { AdaptableNodeComparerFunction } from '../PredefinedConfig/Common/AdaptableComparerFunction';
|
|
5
5
|
import { AdaptableColumnType, AdaptableModule } from '../PredefinedConfig/Common/Types';
|
|
6
|
+
import { StyledColumn } from '../PredefinedConfig/StyledColumnState';
|
|
6
7
|
import { IModule } from '../Strategy/Interface/IModule';
|
|
7
8
|
import { IPPStyle } from '../Utilities/Interface/IPPStyle';
|
|
8
|
-
import { StyledColumn } from '../PredefinedConfig/StyledColumnState';
|
|
9
9
|
/**
|
|
10
10
|
* Adaptable AG Grid implementation is getting really big and unwieldy
|
|
11
11
|
* So lets put some of the more obvious 'Helper' functions here
|
|
@@ -34,7 +34,7 @@ export declare class agGridHelper {
|
|
|
34
34
|
fireSelectionChangedEvent(): void;
|
|
35
35
|
private isColumnReadonly;
|
|
36
36
|
private isColumnSortable;
|
|
37
|
-
private
|
|
37
|
+
private isColumnRowGroupable;
|
|
38
38
|
private isColumnPivotable;
|
|
39
39
|
private isColumnAggregetable;
|
|
40
40
|
private getColumnAggregationFunctions;
|
|
@@ -45,7 +45,7 @@ export declare class agGridHelper {
|
|
|
45
45
|
private isColumnFilterable;
|
|
46
46
|
private getColumnPinnedPosition;
|
|
47
47
|
private isColumnFixed;
|
|
48
|
-
private
|
|
48
|
+
private isColumnRowGrouped;
|
|
49
49
|
private isColumnSparkline;
|
|
50
50
|
private getColumnDataType;
|
|
51
51
|
private getAbColDefValue;
|
|
@@ -7,11 +7,17 @@ const AlertModule_1 = require("../Strategy/AlertModule");
|
|
|
7
7
|
const BulkUpdateModule_1 = require("../Strategy/BulkUpdateModule");
|
|
8
8
|
const CalculatedColumnModule_1 = require("../Strategy/CalculatedColumnModule");
|
|
9
9
|
const CellSummaryModule_1 = require("../Strategy/CellSummaryModule");
|
|
10
|
+
const ChartingModule_1 = require("../Strategy/ChartingModule");
|
|
11
|
+
const ColumnInfoModule_1 = require("../Strategy/ColumnInfoModule");
|
|
12
|
+
const NotesModule_1 = require("../Strategy/NotesModule");
|
|
10
13
|
const CustomSortModule_1 = require("../Strategy/CustomSortModule");
|
|
11
14
|
const DashboardModule_1 = require("../Strategy/DashboardModule");
|
|
15
|
+
const DataChangeHistoryModule_1 = require("../Strategy/DataChangeHistoryModule");
|
|
12
16
|
const DataSetModule_1 = require("../Strategy/DataSetModule");
|
|
13
17
|
const ExportModule_1 = require("../Strategy/ExportModule");
|
|
18
|
+
const Fdc3Module_1 = require("../Strategy/Fdc3Module");
|
|
14
19
|
const FilterModule_1 = require("../Strategy/FilterModule");
|
|
20
|
+
const FlashingCellModule_1 = require("../Strategy/FlashingCellModule");
|
|
15
21
|
const FormatColumnModule_1 = require("../Strategy/FormatColumnModule");
|
|
16
22
|
const FreeTextColumnModule_1 = require("../Strategy/FreeTextColumnModule");
|
|
17
23
|
const GridInfoModule_1 = require("../Strategy/GridInfoModule");
|
|
@@ -20,31 +26,26 @@ const PlusMinusModule_1 = require("../Strategy/PlusMinusModule");
|
|
|
20
26
|
const QueryModule_1 = require("../Strategy/QueryModule");
|
|
21
27
|
const QuickSearchModule_1 = require("../Strategy/QuickSearchModule");
|
|
22
28
|
const ScheduleModule_1 = require("../Strategy/ScheduleModule");
|
|
29
|
+
const SettingsPanelModule_1 = require("../Strategy/SettingsPanelModule");
|
|
23
30
|
const ShortcutModule_1 = require("../Strategy/ShortcutModule");
|
|
24
31
|
const SmartEditModule_1 = require("../Strategy/SmartEditModule");
|
|
25
32
|
const StateManagementModule_1 = require("../Strategy/StateManagementModule");
|
|
33
|
+
const StatusBarModule_1 = require("../Strategy/StatusBarModule");
|
|
34
|
+
const StyledColumnModule_1 = require("../Strategy/StyledColumnModule");
|
|
26
35
|
const SystemStatusModule_1 = require("../Strategy/SystemStatusModule");
|
|
27
36
|
const TeamSharingModule_1 = require("../Strategy/TeamSharingModule");
|
|
28
37
|
const ThemeModule_1 = require("../Strategy/ThemeModule");
|
|
29
38
|
const ToolPanelModule_1 = require("../Strategy/ToolPanelModule");
|
|
39
|
+
const GeneralConstants = tslib_1.__importStar(require("../Utilities/Constants/GeneralConstants"));
|
|
40
|
+
const GeneralConstants_1 = require("../Utilities/Constants/GeneralConstants");
|
|
30
41
|
const ModuleConstants = tslib_1.__importStar(require("../Utilities/Constants/ModuleConstants"));
|
|
31
42
|
const ArrayExtensions_1 = require("../Utilities/Extensions/ArrayExtensions");
|
|
32
43
|
const StringExtensions_1 = require("../Utilities/Extensions/StringExtensions");
|
|
33
|
-
const CheckboxRenderer_1 = require("./CheckboxRenderer");
|
|
34
|
-
const DataChangeHistoryModule_1 = require("../Strategy/DataChangeHistoryModule");
|
|
35
|
-
const FlashingCellModule_1 = require("../Strategy/FlashingCellModule");
|
|
36
|
-
const SettingsPanelModule_1 = require("../Strategy/SettingsPanelModule");
|
|
37
|
-
const ChartingModule_1 = require("../Strategy/ChartingModule");
|
|
38
|
-
const CommentsModule_1 = require("../Strategy/CommentsModule");
|
|
39
|
-
const PercentBarRenderer_1 = require("./PercentBarRenderer");
|
|
40
|
-
const BadgeRenderer_1 = require("./BadgeRenderer");
|
|
41
44
|
const Helper_1 = require("../Utilities/Helpers/Helper");
|
|
42
|
-
const StatusBarModule_1 = require("../Strategy/StatusBarModule");
|
|
43
|
-
const GeneralConstants = tslib_1.__importStar(require("../Utilities/Constants/GeneralConstants"));
|
|
44
|
-
const GeneralConstants_1 = require("../Utilities/Constants/GeneralConstants");
|
|
45
45
|
const UIHelper_1 = tslib_1.__importDefault(require("../View/UIHelper"));
|
|
46
|
-
const
|
|
47
|
-
const
|
|
46
|
+
const BadgeRenderer_1 = require("./BadgeRenderer");
|
|
47
|
+
const CheckboxRenderer_1 = require("./CheckboxRenderer");
|
|
48
|
+
const PercentBarRenderer_1 = require("./PercentBarRenderer");
|
|
48
49
|
const tinycolor = require('tinycolor2');
|
|
49
50
|
/**
|
|
50
51
|
* Adaptable AG Grid implementation is getting really big and unwieldy
|
|
@@ -102,10 +103,11 @@ class agGridHelper {
|
|
|
102
103
|
modules.set(ModuleConstants.SystemStatusModuleId, new SystemStatusModule_1.SystemStatusModule(api));
|
|
103
104
|
modules.set(ModuleConstants.ThemeModuleId, new ThemeModule_1.ThemeModule(api));
|
|
104
105
|
modules.set(ModuleConstants.GridInfoModuleId, new GridInfoModule_1.GridInfoModule(api));
|
|
106
|
+
modules.set(ModuleConstants.ColumnInfoModuleId, new ColumnInfoModule_1.ColumnInfoModule(api));
|
|
105
107
|
modules.set(ModuleConstants.SettingsPanelModuleId, new SettingsPanelModule_1.SettingsPanelModule(api));
|
|
106
108
|
modules.set(ModuleConstants.StatusBarModuleId, new StatusBarModule_1.StatusBarModule(api));
|
|
107
109
|
modules.set(ModuleConstants.ChartingModuleId, new ChartingModule_1.ChartingModule(api));
|
|
108
|
-
modules.set(ModuleConstants.
|
|
110
|
+
modules.set(ModuleConstants.NotesModuleId, new NotesModule_1.NotesModule(api));
|
|
109
111
|
modules.set(ModuleConstants.StyledColumnModuleId, new StyledColumnModule_1.StyledColumnModule(api));
|
|
110
112
|
modules.set(ModuleConstants.Fdc3ModuleId, new Fdc3Module_1.Fdc3Module(api));
|
|
111
113
|
return modules;
|
|
@@ -176,23 +178,47 @@ class agGridHelper {
|
|
|
176
178
|
createAdaptableColumnFromAgGridColumn(agGridColumn, colsToGroups) {
|
|
177
179
|
const colId = agGridColumn.getColId();
|
|
178
180
|
const colDef = agGridColumn.getColDef();
|
|
181
|
+
const ColumnId = colId;
|
|
182
|
+
const pkColumn = this.adaptable.adaptableOptions.primaryKey;
|
|
183
|
+
const ColumnGroup = colsToGroups === null || colsToGroups === void 0 ? void 0 : colsToGroups[ColumnId];
|
|
184
|
+
const isRealColumnGroup = ColumnGroup
|
|
185
|
+
? ColumnGroup.columnGroupId !== ColumnGroup.friendlyName
|
|
186
|
+
: false;
|
|
179
187
|
const isActionRowButtonColumn = this.adaptable.api.columnApi.internalApi.isActionRowButtonColumn(colId);
|
|
180
188
|
const isFdc3MainActionColumn = this.adaptable.api.fdc3Api.internalApi.isFdc3MainActionColumn(colId);
|
|
181
|
-
|
|
182
|
-
const
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
189
|
+
let friendlyName;
|
|
190
|
+
const colExists = this.adaptable.api.columnApi.doesColumnExist(ColumnId);
|
|
191
|
+
if (colExists) {
|
|
192
|
+
friendlyName = this.adaptable.api.columnApi.getFriendlyNameForColumnId(ColumnId);
|
|
193
|
+
}
|
|
194
|
+
else {
|
|
195
|
+
const displayName = this.gridOptions.columnApi.getDisplayNameForColumn(agGridColumn, 'header');
|
|
196
|
+
const columnFriendlyName = this.adaptable.adaptableOptions.columnOptions.columnFriendlyName;
|
|
197
|
+
const customFriendlyName = typeof columnFriendlyName === 'function'
|
|
198
|
+
? columnFriendlyName({
|
|
199
|
+
colId: colId,
|
|
200
|
+
agColumn: agGridColumn,
|
|
201
|
+
columnGroup: isRealColumnGroup ? ColumnGroup : undefined,
|
|
202
|
+
displayName: displayName,
|
|
203
|
+
})
|
|
204
|
+
: null;
|
|
205
|
+
friendlyName =
|
|
206
|
+
customFriendlyName !== null && customFriendlyName !== void 0 ? customFriendlyName : (isActionRowButtonColumn
|
|
207
|
+
? GeneralConstants_1.ADAPTABLE_ROW_ACTION_BUTTONS_FRIENDLY_NAME
|
|
208
|
+
: isFdc3MainActionColumn
|
|
209
|
+
? GeneralConstants_1.ADAPTABLE_FDC3_ACTION_COLUMN_FRIENDLY_NAME
|
|
210
|
+
: displayName);
|
|
211
|
+
// Add Column Group;s friendlyname to the Column Friendly Name if its in a legitimate Column Group
|
|
212
|
+
if (this.adaptable.adaptableOptions.columnOptions.addColumnGroupToColumnFriendlyName &&
|
|
213
|
+
colDef.columnGroupShow &&
|
|
214
|
+
ColumnGroup &&
|
|
215
|
+
ColumnGroup.columnGroupId !== ColumnGroup.friendlyName) {
|
|
216
|
+
friendlyName += ' [' + ColumnGroup.friendlyName + ']';
|
|
217
|
+
}
|
|
218
|
+
}
|
|
190
219
|
if (!this.initialAgGridColDefs[colId]) {
|
|
191
220
|
this.initialAgGridColDefs[colId] = Object.assign({}, agGridColumn.getUserProvidedColDef());
|
|
192
221
|
}
|
|
193
|
-
const ColumnId = colId;
|
|
194
|
-
const pkColumn = this.adaptable.adaptableOptions.primaryKey;
|
|
195
|
-
let ColumnGroup = colsToGroups === null || colsToGroups === void 0 ? void 0 : colsToGroups[ColumnId];
|
|
196
222
|
const dataType = this.getColumnDataType(agGridColumn, false);
|
|
197
223
|
const abColumn = {
|
|
198
224
|
Uuid: (0, Uuid_1.createUuid)(),
|
|
@@ -206,7 +232,7 @@ class agGridHelper {
|
|
|
206
232
|
columnGroup: ColumnGroup,
|
|
207
233
|
sortable: this.isColumnSortable(colDef),
|
|
208
234
|
filterable: this.isColumnFilterable(colDef),
|
|
209
|
-
groupable: this.
|
|
235
|
+
groupable: this.isColumnRowGroupable(colDef),
|
|
210
236
|
pivotable: this.isColumnPivotable(colDef),
|
|
211
237
|
aggregatable: this.isColumnAggregetable(colDef),
|
|
212
238
|
availableAggregationFunctions: null,
|
|
@@ -215,7 +241,7 @@ class agGridHelper {
|
|
|
215
241
|
hideable: this.isColumnHideable(colDef),
|
|
216
242
|
queryable: this.isColumnQueryable(colDef, ColumnId, friendlyName, dataType),
|
|
217
243
|
exportable: this.isColumnExportable(colDef, ColumnId, friendlyName, dataType),
|
|
218
|
-
isGrouped: this.
|
|
244
|
+
isGrouped: this.isColumnRowGrouped(colDef),
|
|
219
245
|
isFixed: this.isColumnFixed(colDef),
|
|
220
246
|
pinned: this.getColumnPinnedPosition(colDef),
|
|
221
247
|
isExcludedFromQuickSearch: false,
|
|
@@ -297,7 +323,7 @@ class agGridHelper {
|
|
|
297
323
|
}
|
|
298
324
|
return false;
|
|
299
325
|
}
|
|
300
|
-
|
|
326
|
+
isColumnRowGroupable(colDef) {
|
|
301
327
|
if (colDef && colDef.enableRowGroup != null) {
|
|
302
328
|
return colDef.enableRowGroup;
|
|
303
329
|
}
|
|
@@ -391,7 +417,7 @@ class agGridHelper {
|
|
|
391
417
|
}
|
|
392
418
|
return false;
|
|
393
419
|
}
|
|
394
|
-
|
|
420
|
+
isColumnRowGrouped(colDef) {
|
|
395
421
|
if (!colDef) {
|
|
396
422
|
return false;
|
|
397
423
|
}
|
|
@@ -171,10 +171,11 @@ class agGridMenuHelper {
|
|
|
171
171
|
createAgGridColumnMenuDefFromUserMenu(menuItem, menuContext) {
|
|
172
172
|
const fn = menuItem.onClick;
|
|
173
173
|
const disabled = menuItem.disabled && menuItem.disabled(menuContext);
|
|
174
|
+
const icon = typeof menuItem.icon === 'function' ? menuItem.icon(menuContext) : menuItem.icon;
|
|
174
175
|
return {
|
|
175
176
|
name: this.getLabelFromUserColumnMenuItem(menuItem, menuContext),
|
|
176
177
|
action: () => (fn ? fn(menuContext) : null),
|
|
177
|
-
icon: this.mapAdaptableIconToAgGridIcon(
|
|
178
|
+
icon: this.mapAdaptableIconToAgGridIcon(icon, {
|
|
178
179
|
fill: 'var(--ab-color-text-on-primary)',
|
|
179
180
|
}),
|
|
180
181
|
disabled: disabled,
|
|
@@ -188,10 +189,11 @@ class agGridMenuHelper {
|
|
|
188
189
|
createAgGridContextMenuDefFromUserMenu(menuItem, menuContext) {
|
|
189
190
|
const fn = menuItem.onClick;
|
|
190
191
|
const disabled = menuItem.disabled && menuItem.disabled(menuContext);
|
|
192
|
+
const icon = typeof menuItem.icon === 'function' ? menuItem.icon(menuContext) : menuItem.icon;
|
|
191
193
|
return {
|
|
192
194
|
name: this.getLabelFromUserContextMenuItem(menuItem, menuContext),
|
|
193
195
|
action: () => (fn ? fn(menuContext) : null),
|
|
194
|
-
icon: this.mapAdaptableIconToAgGridIcon(
|
|
196
|
+
icon: this.mapAdaptableIconToAgGridIcon(icon, {
|
|
195
197
|
fill: 'var(--ab-color-text-on-primary)',
|
|
196
198
|
}),
|
|
197
199
|
disabled: disabled,
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { AdaptableApi } from '../../Api/AdaptableApi';
|
|
3
3
|
import { AdaptableModule } from '../../PredefinedConfig/Common/Types';
|
|
4
4
|
interface EditorInputProps {
|
|
5
|
-
type: 'boolean' | 'scalar' | 'aggregatedScalar' | 'cumulativeAggregatedScalar';
|
|
5
|
+
type: 'boolean' | 'scalar' | 'aggregatedScalar' | 'cumulativeAggregatedScalar' | 'quantileAggregatedScalar';
|
|
6
6
|
module: AdaptableModule;
|
|
7
7
|
value: string;
|
|
8
8
|
onChange: (value: string) => void;
|
|
@@ -2,22 +2,25 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
const React = tslib_1.__importStar(require("react"));
|
|
5
|
+
const react_1 = require("react");
|
|
5
6
|
const BaseEditorInput_1 = require("./BaseEditorInput");
|
|
6
7
|
const editorButtonsSearch_1 = require("./editorButtonsSearch");
|
|
7
8
|
const EditorContext_1 = require("./EditorContext");
|
|
8
9
|
const StringExtensions_1 = tslib_1.__importDefault(require("../../Utilities/Extensions/StringExtensions"));
|
|
9
10
|
const editorButtonsAggregatedScalar_1 = require("./editorButtonsAggregatedScalar");
|
|
10
|
-
const react_1 = require("react");
|
|
11
11
|
const aggregatedScalarExpressionFunctions_1 = require("../../Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions");
|
|
12
12
|
const editorButtonsCumulativeAggregatedScalar_1 = require("./editorButtonsCumulativeAggregatedScalar");
|
|
13
|
+
const editorButtonsQuantileAggregatedScalar_1 = require("./editorButtonsQuantileAggregatedScalar");
|
|
13
14
|
function EditorInput(props) {
|
|
14
15
|
const moduleExpressionFunctions = props.api.internalApi
|
|
15
16
|
.getQueryLanguageService()
|
|
16
17
|
.getModuleExpressionFunctionsMap(props.module);
|
|
17
18
|
const getFilteredAggregatedExpressionFunctions = (availableAggregatedExpressionFunctions, type) => {
|
|
18
|
-
const sourceExpressionFunctions = type === '
|
|
19
|
-
? aggregatedScalarExpressionFunctions_1.
|
|
20
|
-
:
|
|
19
|
+
const sourceExpressionFunctions = type === 'cumulativeAggregatedScalar'
|
|
20
|
+
? aggregatedScalarExpressionFunctions_1.cumulativeAggregatedExpressionFunctions
|
|
21
|
+
: type === 'quantileAggregatedScalar'
|
|
22
|
+
? aggregatedScalarExpressionFunctions_1.quantileAggregatedExpressionFunctions
|
|
23
|
+
: aggregatedScalarExpressionFunctions_1.aggregatedExpressionFunctions;
|
|
21
24
|
return Object.keys(availableAggregatedExpressionFunctions)
|
|
22
25
|
.filter((key) => sourceExpressionFunctions.includes(key))
|
|
23
26
|
.reduce((obj, key) => {
|
|
@@ -26,7 +29,9 @@ function EditorInput(props) {
|
|
|
26
29
|
}, {});
|
|
27
30
|
};
|
|
28
31
|
const expressionFunctions = (0, react_1.useMemo)(() => {
|
|
29
|
-
return props.type === 'aggregatedScalar' ||
|
|
32
|
+
return props.type === 'aggregatedScalar' ||
|
|
33
|
+
props.type === 'cumulativeAggregatedScalar' ||
|
|
34
|
+
props.type === 'quantileAggregatedScalar'
|
|
30
35
|
? getFilteredAggregatedExpressionFunctions(moduleExpressionFunctions.aggregatedScalarFunctions, props.type)
|
|
31
36
|
: Object.assign(Object.assign({}, moduleExpressionFunctions.booleanFunctions), moduleExpressionFunctions.scalarFunctions);
|
|
32
37
|
}, [props.type]);
|
|
@@ -36,6 +41,10 @@ function EditorInput(props) {
|
|
|
36
41
|
? editorButtonsAggregatedScalar_1.editorButtonsAggregatedScalar
|
|
37
42
|
: props.type === 'cumulativeAggregatedScalar'
|
|
38
43
|
? editorButtonsCumulativeAggregatedScalar_1.editorButtonsCumulativeAggregatedScalar
|
|
39
|
-
:
|
|
44
|
+
: props.type === 'quantileAggregatedScalar'
|
|
45
|
+
? editorButtonsQuantileAggregatedScalar_1.editorButtonsQuantileAggregatedScalar
|
|
46
|
+
: editorButtonsSearch_1.editorButtonsSearch, testData: props.testData, isFullExpression: props.isFullExpression, hideResultPreview: props.type === 'aggregatedScalar' ||
|
|
47
|
+
props.type === 'cumulativeAggregatedScalar' ||
|
|
48
|
+
props.type === 'quantileAggregatedScalar', api: props.api }));
|
|
40
49
|
}
|
|
41
50
|
exports.default = EditorInput;
|
|
@@ -12,11 +12,6 @@ exports.editorButtonsAggregatedScalar = [
|
|
|
12
12
|
data: 'PERCENTAGE()',
|
|
13
13
|
text: 'Percentage',
|
|
14
14
|
},
|
|
15
|
-
{
|
|
16
|
-
functionName: 'AVG',
|
|
17
|
-
data: 'AVG()',
|
|
18
|
-
text: 'Average',
|
|
19
|
-
},
|
|
20
15
|
{
|
|
21
16
|
functionName: 'MIN',
|
|
22
17
|
data: 'MIN()',
|
|
@@ -27,16 +22,16 @@ exports.editorButtonsAggregatedScalar = [
|
|
|
27
22
|
data: 'MAX()',
|
|
28
23
|
text: 'Max',
|
|
29
24
|
},
|
|
30
|
-
{
|
|
31
|
-
functionName: 'QUANT',
|
|
32
|
-
data: 'QUANT()',
|
|
33
|
-
text: 'Quantile',
|
|
34
|
-
},
|
|
35
25
|
{
|
|
36
26
|
functionName: 'COUNT',
|
|
37
27
|
data: 'COUNT()',
|
|
38
28
|
text: 'Count',
|
|
39
29
|
},
|
|
30
|
+
{
|
|
31
|
+
functionName: 'AVG',
|
|
32
|
+
data: 'AVG()',
|
|
33
|
+
text: 'Average',
|
|
34
|
+
},
|
|
40
35
|
{
|
|
41
36
|
functionName: 'WEIGHT',
|
|
42
37
|
data: 'WEIGHT()',
|
|
@@ -22,11 +22,6 @@ exports.editorButtonsCumulativeAggregatedScalar = [
|
|
|
22
22
|
data: 'PERCENTAGE()',
|
|
23
23
|
text: 'Percentage',
|
|
24
24
|
},
|
|
25
|
-
{
|
|
26
|
-
functionName: 'AVG',
|
|
27
|
-
data: 'AVG()',
|
|
28
|
-
text: 'Average',
|
|
29
|
-
},
|
|
30
25
|
{
|
|
31
26
|
functionName: 'MIN',
|
|
32
27
|
data: 'MIN()',
|
|
@@ -37,6 +32,11 @@ exports.editorButtonsCumulativeAggregatedScalar = [
|
|
|
37
32
|
data: 'MAX()',
|
|
38
33
|
text: 'Max',
|
|
39
34
|
},
|
|
35
|
+
{
|
|
36
|
+
functionName: 'AVG',
|
|
37
|
+
data: 'AVG()',
|
|
38
|
+
text: 'Average',
|
|
39
|
+
},
|
|
40
40
|
{
|
|
41
41
|
functionName: 'WEIGHT',
|
|
42
42
|
data: 'WEIGHT()',
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.editorButtonsQuantileAggregatedScalar = void 0;
|
|
4
|
+
exports.editorButtonsQuantileAggregatedScalar = [
|
|
5
|
+
{
|
|
6
|
+
functionName: 'QUANT',
|
|
7
|
+
data: 'QUANT()',
|
|
8
|
+
text: 'Quantile',
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
functionName: 'QUARTILE',
|
|
12
|
+
data: 'QUARTILE()',
|
|
13
|
+
text: 'Quartile',
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
functionName: 'PERCENTILE',
|
|
17
|
+
data: 'PERCENTILE()',
|
|
18
|
+
text: 'Percentile',
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
functionName: 'GROUP_BY',
|
|
22
|
+
data: 'GROUP_BY()',
|
|
23
|
+
text: 'GroupBy',
|
|
24
|
+
},
|
|
25
|
+
];
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { AdaptableApi, AdaptableColumn, AdaptableModule } from '../../types';
|
|
3
3
|
import { NamedQuery } from '../../PredefinedConfig/QueryState';
|
|
4
|
-
declare type ExpressionEditorType = 'boolean' | 'scalar' | 'observable' | 'aggregatedBoolean' | 'aggregatedScalar' | 'cumulativeAggregatedScalar';
|
|
4
|
+
export declare type ExpressionEditorType = 'boolean' | 'scalar' | 'observable' | 'aggregatedBoolean' | 'aggregatedScalar' | 'cumulativeAggregatedScalar' | 'quantileAggregatedScalar';
|
|
5
5
|
interface ExpressionEditorProps {
|
|
6
6
|
value: string;
|
|
7
7
|
onChange: (value: string) => void;
|
|
@@ -41,7 +41,7 @@ function ExpressionEditor(props) {
|
|
|
41
41
|
setExpressionText(value);
|
|
42
42
|
props.onChange(value);
|
|
43
43
|
}, testData: data, api: props.api })) : (
|
|
44
|
-
// 'boolean','scalar'
|
|
44
|
+
// 'boolean','scalar','aggregatedScalar'/'cumulativeAggregatedScalar'/'quantileAggregatedScalar'
|
|
45
45
|
React.createElement(EditorInput_1.default, { type: type, module: module, value: props.value, onChange: (value) => {
|
|
46
46
|
setExpressionText(value);
|
|
47
47
|
props.onChange(value);
|
|
@@ -234,4 +234,5 @@ const queryDocumentationLinks = {
|
|
|
234
234
|
aggregatedBoolean: DocumentationLinkConstants_1.AggregatedBooleanQueryDocsLink,
|
|
235
235
|
aggregatedScalar: DocumentationLinkConstants_1.AggregatedScalarQueryDocsLink,
|
|
236
236
|
cumulativeAggregatedScalar: DocumentationLinkConstants_1.CumulativeAggregatedScalarQueryDocsLink,
|
|
237
|
+
quantileAggregatedScalar: DocumentationLinkConstants_1.QuantileAggregatedScalarQueryDocsLink,
|
|
237
238
|
};
|
|
@@ -153,6 +153,7 @@ const interactions_1 = tslib_1.__importDefault(require("./interactions"));
|
|
|
153
153
|
const money_1 = tslib_1.__importDefault(require("./money"));
|
|
154
154
|
const order_1 = tslib_1.__importDefault(require("./order"));
|
|
155
155
|
const contact_1 = tslib_1.__importDefault(require("./contact"));
|
|
156
|
+
const note_1 = tslib_1.__importDefault(require("./note"));
|
|
156
157
|
const Icon_1 = require("../Icon");
|
|
157
158
|
const AdaptableLogger_1 = require("../../agGrid/AdaptableLogger");
|
|
158
159
|
exports.allIcons = {
|
|
@@ -306,6 +307,7 @@ exports.allIcons = {
|
|
|
306
307
|
money: money_1.default,
|
|
307
308
|
order: order_1.default,
|
|
308
309
|
contact: contact_1.default,
|
|
310
|
+
note: note_1.default,
|
|
309
311
|
};
|
|
310
312
|
Object.keys(exports.allIcons).forEach((name) => {
|
|
311
313
|
const ReactCmp = exports.allIcons[name];
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const React = tslib_1.__importStar(require("react"));
|
|
5
|
+
const DefaultIcon_1 = tslib_1.__importDefault(require("./DefaultIcon"));
|
|
6
|
+
exports.default = (props) => (React.createElement(DefaultIcon_1.default, Object.assign({}, props, { viewBox: "0 -960 960 960" }),
|
|
7
|
+
React.createElement("path", { d: "M440-240h80v-120h120v-80H520v-120h-80v120H320v80h120v120ZM240-80q-33 0-56.5-23.5T160-160v-640q0-33 23.5-56.5T240-880h320l240 240v480q0 33-23.5 56.5T720-80H240Zm280-520v-200H240v640h480v-440H520ZM240-800v200-200 640-640Z" })));
|