@adaptabletools/adaptable 12.1.5 → 12.1.8-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 +11 -49
- package/bundle.cjs.js +106 -106
- package/index.css +13 -60
- package/package.json +1 -1
- package/publishTimestamp.d.ts +1 -1
- package/publishTimestamp.js +1 -1
- package/src/AdaptableInterfaces/IAdaptable.d.ts +12 -4
- package/src/AdaptableOptions/ColumnOptions.d.ts +2 -4
- package/src/AdaptableOptions/FilterOptions.d.ts +19 -0
- package/src/AdaptableOptions/FinancePluginOptions.d.ts +22 -1
- package/src/AdaptableOptions/StateOptions.d.ts +25 -12
- package/src/AdaptableOptions/UserInterfaceOptions.d.ts +31 -24
- package/src/Api/ColumnApi.d.ts +6 -1
- package/src/Api/ExportApi.d.ts +5 -0
- package/src/Api/FilterApi.d.ts +29 -0
- package/src/Api/FlashingCellApi.d.ts +8 -0
- package/src/Api/GridApi.d.ts +1 -0
- package/src/Api/Implementation/ColumnApiImpl.d.ts +2 -1
- package/src/Api/Implementation/ColumnApiImpl.js +7 -2
- package/src/Api/Implementation/DataSetApiImpl.js +1 -1
- package/src/Api/Implementation/ExportApiImpl.d.ts +3 -1
- package/src/Api/Implementation/ExportApiImpl.js +19 -3
- package/src/Api/Implementation/FilterApiImpl.d.ts +6 -0
- package/src/Api/Implementation/FilterApiImpl.js +42 -4
- package/src/Api/Implementation/FlashingCellApiImpl.d.ts +1 -0
- package/src/Api/Implementation/FlashingCellApiImpl.js +4 -0
- package/src/Api/Implementation/GridApiImpl.d.ts +1 -0
- package/src/Api/Implementation/GridApiImpl.js +4 -4
- package/src/Api/Implementation/InternalApiImpl.d.ts +0 -1
- package/src/Api/Implementation/InternalApiImpl.js +0 -3
- package/src/Api/Implementation/LayoutApiImpl.d.ts +1 -1
- package/src/Api/Implementation/LayoutApiImpl.js +4 -3
- package/src/Api/Implementation/PredicateApiImpl.js +4 -0
- package/src/Api/Implementation/QueryApiImpl.js +1 -1
- package/src/Api/Implementation/QueryLanguageApiImpl.js +9 -1
- package/src/Api/Implementation/TeamSharingApiImpl.js +1 -1
- package/src/Api/InternalApi.d.ts +0 -1
- package/src/Api/LayoutApi.d.ts +1 -1
- package/src/Api/SystemStatusApi.d.ts +1 -1
- package/src/Api/ToolPanelApi.d.ts +1 -1
- package/src/PredefinedConfig/CalculatedColumnState.d.ts +2 -2
- package/src/PredefinedConfig/Common/AdaptableColumn.js +3 -2
- package/src/PredefinedConfig/Common/AdaptablePredicate.js +30 -10
- package/src/PredefinedConfig/Common/AdaptableQuery.js +1 -1
- package/src/PredefinedConfig/Common/AggregationColumns.d.ts +6 -0
- package/src/PredefinedConfig/Common/AggregationColumns.js +4 -0
- package/src/PredefinedConfig/Common/ColumnFilter.d.ts +2 -2
- package/src/PredefinedConfig/Common/Enums.d.ts +0 -15
- package/src/PredefinedConfig/Common/Enums.js +1 -18
- package/src/PredefinedConfig/Common/SpecialColumnSettings.d.ts +6 -6
- package/src/PredefinedConfig/ExportState.d.ts +12 -4
- package/src/PredefinedConfig/LayoutState.d.ts +2 -1
- package/src/PredefinedConfig/PopupState.d.ts +1 -2
- package/src/Redux/ActionsReducers/AlertRedux.d.ts +1 -1
- package/src/Redux/ActionsReducers/AlertRedux.js +1 -1
- package/src/Redux/ActionsReducers/ConditionalStyleRedux.d.ts +1 -1
- package/src/Redux/ActionsReducers/ConditionalStyleRedux.js +1 -1
- package/src/Redux/ActionsReducers/CustomSortRedux.d.ts +1 -1
- package/src/Redux/ActionsReducers/CustomSortRedux.js +1 -1
- package/src/Redux/ActionsReducers/FlashingCellRedux.d.ts +1 -1
- package/src/Redux/ActionsReducers/FlashingCellRedux.js +1 -1
- package/src/Redux/ActionsReducers/FormatColumnRedux.d.ts +1 -1
- package/src/Redux/ActionsReducers/FormatColumnRedux.js +1 -1
- package/src/Redux/ActionsReducers/LayoutRedux.d.ts +28 -0
- package/src/Redux/ActionsReducers/LayoutRedux.js +80 -2
- package/src/Redux/ActionsReducers/PlusMinusRedux.d.ts +1 -1
- package/src/Redux/ActionsReducers/PlusMinusRedux.js +1 -1
- package/src/Redux/ActionsReducers/PopupRedux.d.ts +0 -2
- package/src/Redux/ActionsReducers/PopupRedux.js +1 -28
- package/src/Redux/ActionsReducers/ScheduleRedux.d.ts +5 -5
- package/src/Redux/ActionsReducers/ScheduleRedux.js +5 -5
- package/src/Redux/ActionsReducers/ShortcutRedux.d.ts +1 -1
- package/src/Redux/ActionsReducers/ShortcutRedux.js +1 -1
- package/src/Redux/ActionsReducers/SystemRedux.d.ts +1 -2
- package/src/Redux/ActionsReducers/SystemRedux.js +1 -2
- package/src/Redux/Store/AdaptableStore.js +30 -16
- package/src/Strategy/AlertModule.d.ts +1 -0
- package/src/Strategy/AlertModule.js +20 -0
- package/src/Strategy/CalculatedColumnModule.js +2 -2
- package/src/Strategy/ExportModule.d.ts +0 -1
- package/src/Strategy/ExportModule.js +0 -16
- package/src/Strategy/FilterModule.js +6 -0
- package/src/Strategy/FlashingCellModule.js +2 -2
- package/src/Strategy/Interface/IModule.d.ts +4 -0
- package/src/Strategy/LayoutModule.js +20 -20
- package/src/Strategy/Utilities/FormatColumn/getFormatColumnStyleViewItems.js +16 -1
- package/src/Strategy/Utilities/Layout/getLayoutFilterViewItems.js +15 -11
- package/src/Utilities/Constants/DocumentationLinkConstants.d.ts +1 -0
- package/src/Utilities/Constants/DocumentationLinkConstants.js +2 -1
- package/src/Utilities/Defaults/DefaultAdaptableOptions.js +3 -0
- package/src/Utilities/ExpressionFunctions/aggregatedBooleanExpressionFunctions.d.ts +12 -2
- package/src/Utilities/ExpressionFunctions/aggregatedBooleanExpressionFunctions.js +30 -66
- package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.d.ts +22 -6
- package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.js +423 -220
- package/src/Utilities/ExpressionFunctions/expressionFunctionUtils.d.ts +7 -1
- package/src/Utilities/ExpressionFunctions/expressionFunctionUtils.js +23 -7
- package/src/Utilities/ExpressionFunctions/scalarAggregationHelper.d.ts +0 -1
- package/src/Utilities/ExpressionFunctions/scalarAggregationHelper.js +6 -54
- package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.js +17 -5
- package/src/Utilities/Extensions/ArrayExtensions.js +6 -0
- package/src/Utilities/Helpers/CalendarHelper.js +10 -7
- package/src/Utilities/Helpers/DateHelper.d.ts +0 -26
- package/src/Utilities/Helpers/DateHelper.js +2 -32
- package/src/Utilities/Interface/MessagePopups.d.ts +0 -4
- package/src/Utilities/ObjectFactory.d.ts +6 -4
- package/src/Utilities/ObjectFactory.js +30 -17
- package/src/Utilities/Services/AggregatedScalarLiveValue.d.ts +25 -0
- package/src/Utilities/Services/AggregatedScalarLiveValue.js +103 -0
- package/src/Utilities/Services/AlertService.d.ts +0 -1
- package/src/Utilities/Services/AlertService.js +5 -17
- package/src/Utilities/Services/CalculatedColumnExpressionService.d.ts +4 -4
- package/src/Utilities/Services/CalculatedColumnExpressionService.js +29 -154
- package/src/Utilities/Services/Interface/ICalculatedColumnExpressionService.d.ts +2 -2
- package/src/Utilities/Services/Interface/IQueryLanguageService.d.ts +6 -3
- package/src/Utilities/Services/QueryLanguageService.d.ts +6 -3
- package/src/Utilities/Services/QueryLanguageService.js +23 -6
- package/src/Utilities/Services/ReportService.js +47 -46
- package/src/View/AdaptableView.js +1 -2
- package/src/View/CalculatedColumn/Utilities/getCalculatedColumnSettingsTags.d.ts +2 -0
- package/src/View/CalculatedColumn/Utilities/{getCalculatedColumnSettingTags.js → getCalculatedColumnSettingsTags.js} +5 -3
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnDefinitionWizardSection.d.ts +10 -0
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnDefinitionWizardSection.js +80 -0
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnExpressionWizardSection.js +21 -15
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnSettingsWizardSection.d.ts +1 -2
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnSettingsWizardSection.js +10 -53
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.js +14 -3
- package/src/View/Components/AdaptableDateInput/index.js +1 -1
- package/src/View/Components/AdaptableObjectList/AdaptableObjectCompactList.js +42 -6
- package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +1 -1
- package/src/View/Components/EntityRulesEditor/index.js +26 -5
- package/src/View/Components/FilterForm/FilterForm.js +10 -5
- package/src/View/Components/FilterForm/ListBoxFilterForm.js +1 -0
- package/src/View/Components/FilterForm/QuickFilterForm.js +12 -7
- package/src/View/Components/PermittedValuesSelector/PermitedValuesSelector.d.ts +9 -0
- package/src/View/Components/PermittedValuesSelector/PermitedValuesSelector.js +28 -0
- package/src/View/Components/PermittedValuesSelector/index.d.ts +1 -0
- package/src/View/Components/PermittedValuesSelector/index.js +5 -0
- package/src/View/Components/Popups/AdaptablePopup/Navigation.js +2 -2
- package/src/View/Components/Popups/AdaptableToaster.js +2 -7
- package/src/View/Components/Popups/WindowPopups/windowFactory.d.ts +0 -1
- package/src/View/Components/Popups/WindowPopups/windowFactory.js +1 -4
- package/src/View/Export/ExportViewPanel.d.ts +1 -2
- package/src/View/Export/ExportViewPanel.js +2 -6
- package/src/View/Export/Wizard/ReportColumnTypeWizard.d.ts +1 -2
- package/src/View/Export/Wizard/ReportColumnTypeWizard.js +11 -12
- package/src/View/Export/Wizard/ReportRowTypeWizard.d.ts +1 -2
- package/src/View/Export/Wizard/ReportRowTypeWizard.js +12 -13
- package/src/View/Export/Wizard/ReportSettingsWizard.js +1 -2
- package/src/View/Filter/FilterViewPanel.js +20 -4
- package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +1 -1
- package/src/View/FreeTextColumn/FreeTextColumnSummary.js +1 -2
- package/src/View/FreeTextColumn/Wizard/FreeTextColumnSettingsWizardSection.d.ts +1 -1
- package/src/View/FreeTextColumn/Wizard/FreeTextColumnWizard.js +1 -1
- package/src/View/Layout/Wizard/{LayoutEditor → Components}/ColumnLabels.d.ts +0 -0
- package/src/View/Layout/Wizard/{LayoutEditor → Components}/ColumnLabels.js +0 -0
- package/src/View/Layout/Wizard/LayoutWizard.js +1 -0
- package/src/View/Layout/Wizard/sections/AggregationsSection.d.ts +1 -0
- package/src/View/Layout/Wizard/sections/AggregationsSection.js +69 -8
- package/src/View/Layout/Wizard/sections/ColumnsSection.js +1 -1
- package/src/View/Query/QueryViewPanel.js +1 -1
- package/src/agGrid/Adaptable.d.ts +12 -3
- package/src/agGrid/Adaptable.js +225 -152
- package/src/agGrid/agGridHelper.d.ts +1 -0
- package/src/agGrid/agGridHelper.js +5 -3
- package/src/agGrid/agGridMenuHelper.d.ts +1 -0
- package/src/agGrid/agGridMenuHelper.js +4 -2
- package/src/agGrid/weightedAverage.d.ts +6 -0
- package/src/agGrid/weightedAverage.js +66 -0
- package/src/components/ExpressionEditor/BaseEditorInput.d.ts +1 -0
- package/src/components/ExpressionEditor/BaseEditorInput.js +2 -3
- package/src/components/ExpressionEditor/EditorInput.d.ts +1 -1
- package/src/components/ExpressionEditor/EditorInput.js +24 -4
- package/src/components/ExpressionEditor/{EditorInputReactive.d.ts → EditorInputWithWhereClause.d.ts} +3 -3
- package/src/components/ExpressionEditor/{EditorInputReactive.js → EditorInputWithWhereClause.js} +6 -5
- package/src/components/ExpressionEditor/editorButtonsAggregatedBoolean.d.ts +2 -0
- package/src/components/ExpressionEditor/{editorButtonsReactive.js → editorButtonsAggregatedBoolean.js} +22 -37
- package/src/components/ExpressionEditor/editorButtonsAggregatedScalar.js +5 -10
- package/src/components/ExpressionEditor/editorButtonsCumulativeAggregatedScalar.d.ts +2 -0
- package/src/components/ExpressionEditor/editorButtonsCumulativeAggregatedScalar.js +50 -0
- package/src/components/ExpressionEditor/editorButtonsObservable.d.ts +2 -0
- package/src/components/ExpressionEditor/editorButtonsObservable.js +40 -0
- package/src/components/ExpressionEditor/index.d.ts +1 -1
- package/src/components/ExpressionEditor/index.js +26 -5
- package/src/components/ProgressIndicator/ProgressIndicator.js +10 -12
- package/src/metamodel/adaptable.metamodel.d.ts +129 -7
- package/src/metamodel/adaptable.metamodel.js +1 -1
- package/src/parser/src/types.d.ts +1 -1
- package/src/types.d.ts +4 -4
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/src/View/CalculatedColumn/Utilities/getCalculatedColumnSettingTags.d.ts +0 -2
- package/src/View/Layout/LayoutEditorStandalonePopup.d.ts +0 -3
- package/src/View/Layout/LayoutEditorStandalonePopup.js +0 -78
- package/src/View/Layout/Wizard/LayoutEditor/ColumnList.d.ts +0 -27
- package/src/View/Layout/Wizard/LayoutEditor/ColumnList.js +0 -86
- package/src/View/Layout/Wizard/LayoutEditor/ColumnSortList.d.ts +0 -16
- package/src/View/Layout/Wizard/LayoutEditor/ColumnSortList.js +0 -89
- package/src/View/Layout/Wizard/LayoutEditor/PivotList.d.ts +0 -15
- package/src/View/Layout/Wizard/LayoutEditor/PivotList.js +0 -70
- package/src/View/Layout/Wizard/LayoutEditor/RowGroupsList.d.ts +0 -15
- package/src/View/Layout/Wizard/LayoutEditor/RowGroupsList.js +0 -70
- package/src/View/Layout/Wizard/LayoutEditor/droppableIds.d.ts +0 -7
- package/src/View/Layout/Wizard/LayoutEditor/droppableIds.js +0 -11
- package/src/View/Layout/Wizard/LayoutEditor/getItemStyle.d.ts +0 -6
- package/src/View/Layout/Wizard/LayoutEditor/getItemStyle.js +0 -26
- package/src/View/Layout/Wizard/LayoutEditor/index.d.ts +0 -9
- package/src/View/Layout/Wizard/LayoutEditor/index.js +0 -367
- package/src/View/Layout/Wizard/LayoutEditor/reducer.d.ts +0 -28
- package/src/View/Layout/Wizard/LayoutEditor/reducer.js +0 -46
- package/src/View/Layout/Wizard/LayoutEditor/utils.d.ts +0 -10
- package/src/View/Layout/Wizard/LayoutEditor/utils.js +0 -14
- package/src/View/Layout/Wizard/LayoutEditorWizard.d.ts +0 -30
- package/src/View/Layout/Wizard/LayoutEditorWizard.js +0 -132
- package/src/components/ExpressionEditor/editorButtonsReactive.d.ts +0 -2
|
@@ -281,7 +281,7 @@ exports.AdaptableStore = AdaptableStore;
|
|
|
281
281
|
const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
|
|
282
282
|
return function (next) {
|
|
283
283
|
return function (action) {
|
|
284
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
284
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
285
285
|
switch (action.type) {
|
|
286
286
|
/*******************
|
|
287
287
|
* NAMED QUERY ACTIONS
|
|
@@ -354,6 +354,11 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
|
|
|
354
354
|
}
|
|
355
355
|
return ret;
|
|
356
356
|
}
|
|
357
|
+
case SystemRedux.SYSTEM_FLASHING_CELL_DELETE_ALL: {
|
|
358
|
+
let ret = next(action);
|
|
359
|
+
adaptable.redrawRenderedRows();
|
|
360
|
+
return ret;
|
|
361
|
+
}
|
|
357
362
|
/*******************
|
|
358
363
|
* ALERT ACTIONS
|
|
359
364
|
*******************/
|
|
@@ -570,7 +575,7 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
|
|
|
570
575
|
aggregatedCalculatedColumns.forEach((calculatedColumn) => {
|
|
571
576
|
adaptable.api.internalApi
|
|
572
577
|
.getCalculatedColumnExpressionService()
|
|
573
|
-
.
|
|
578
|
+
.createAggregatedScalarLiveValue(calculatedColumn);
|
|
574
579
|
});
|
|
575
580
|
// refresh calculated columns
|
|
576
581
|
const aggCalculatedColumnIds = aggregatedCalculatedColumns.map((calculatedColumn) => calculatedColumn.ColumnId);
|
|
@@ -591,7 +596,7 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
|
|
|
591
596
|
returnAction.type === CalculatedColumnRedux.CALCULATED_COLUMN_EDIT) {
|
|
592
597
|
adaptable.api.internalApi
|
|
593
598
|
.getCalculatedColumnExpressionService()
|
|
594
|
-
.
|
|
599
|
+
.createAggregatedScalarLiveValue(returnAction.calculatedColumn);
|
|
595
600
|
}
|
|
596
601
|
adaptable.updateColDefsForSpecialColumns();
|
|
597
602
|
return returnAction;
|
|
@@ -616,7 +621,7 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
|
|
|
616
621
|
const returnAction = next(actionTyped);
|
|
617
622
|
adaptable.api.internalApi
|
|
618
623
|
.getCalculatedColumnExpressionService()
|
|
619
|
-
.
|
|
624
|
+
.destroyAggregatedScalarLiveValue(returnAction.calculatedColumn);
|
|
620
625
|
adaptable.updateColDefsForSpecialColumns();
|
|
621
626
|
return returnAction;
|
|
622
627
|
}
|
|
@@ -684,14 +689,7 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
|
|
|
684
689
|
if (adaptable.adaptableOptions.searchOptions.filterResultsAfterQuickSearch) {
|
|
685
690
|
const actionTyped = action;
|
|
686
691
|
const searchText = actionTyped.quickSearchText;
|
|
687
|
-
// const gridOptions = adaptable.api.gridApi.getAgGridInstance();
|
|
688
692
|
if (StringExtensions_1.StringExtensions.IsNotNullOrEmpty(searchText)) {
|
|
689
|
-
// Currently using this but any searchable would allow us to limit the cols checked
|
|
690
|
-
// const queryText = 'ANY_CONTAINS("' + searchText + '") ';
|
|
691
|
-
// const queryText = 'ANY_SEARCHABLE_CONTAINS("' + searchText + '") ';
|
|
692
|
-
// adaptable.api.queryApi.setCurrentQuery(queryText);
|
|
693
|
-
// Better still would be to use ag grid if that is possible?
|
|
694
|
-
// gridOptions.api.setQuickFilter(searchText);
|
|
695
693
|
adaptable.setAgQuickSearch(searchText);
|
|
696
694
|
}
|
|
697
695
|
else {
|
|
@@ -723,7 +721,11 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
|
|
|
723
721
|
case LayoutRedux.LAYOUT_COLUMN_FILTER_EDIT:
|
|
724
722
|
case LayoutRedux.LAYOUT_COLUMN_FILTER_SET:
|
|
725
723
|
case LayoutRedux.LAYOUT_COLUMN_FILTER_CLEAR:
|
|
726
|
-
case LayoutRedux.LAYOUT_COLUMN_FILTER_CLEAR_ALL:
|
|
724
|
+
case LayoutRedux.LAYOUT_COLUMN_FILTER_CLEAR_ALL:
|
|
725
|
+
case LayoutRedux.LAYOUT_COLUMN_FILTER_SUSPEND:
|
|
726
|
+
case LayoutRedux.LAYOUT_COLUMN_FILTER_SUSPEND_ALL:
|
|
727
|
+
case LayoutRedux.LAYOUT_COLUMN_FILTER_UNSUSPEND:
|
|
728
|
+
case LayoutRedux.LAYOUT_COLUMN_FILTER_UNSUSPEND_ALL: {
|
|
727
729
|
let returnAction;
|
|
728
730
|
// needs to be called before 'next' so previous and next column filters are known
|
|
729
731
|
const shouldTriggerGridFiltering = adaptable.api.filterApi.shouldNewColumnFilterTriggerGridFiltering(action);
|
|
@@ -763,6 +765,7 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
|
|
|
763
765
|
}, 5);
|
|
764
766
|
adaptable.api.gridApi.fireSearchChangedEvent('Filter');
|
|
765
767
|
adaptable.api.filterApi.fireFilterAppliedEvent();
|
|
768
|
+
adaptable.api.layoutApi.fireLayoutChangedEvent(action.type, null, middlewareAPI.getState().Layout);
|
|
766
769
|
return returnAction;
|
|
767
770
|
}
|
|
768
771
|
/*******************
|
|
@@ -869,9 +872,17 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
|
|
|
869
872
|
case LayoutRedux.LAYOUT_SET_COLUMN_CAPTION:
|
|
870
873
|
case LayoutRedux.LAYOUT_SELECT: {
|
|
871
874
|
const oldLayoutState = middlewareAPI.getState().Layout;
|
|
875
|
+
// this must be called before 'next(action)'
|
|
876
|
+
const previousLayout = adaptable.api.layoutApi.getCurrentLayout();
|
|
872
877
|
let returnAction = next(action);
|
|
873
878
|
const newLayoutState = middlewareAPI.getState().Layout;
|
|
874
879
|
adaptable.api.layoutApi.fireLayoutChangedEvent(action.type, oldLayoutState, newLayoutState);
|
|
880
|
+
const oldFilters = (_h = oldLayoutState.Layouts.find((l) => l.Name == oldLayoutState.CurrentLayout)) === null || _h === void 0 ? void 0 : _h.ColumnFilters;
|
|
881
|
+
const newFilters = (_j = newLayoutState.Layouts.find((l) => l.Name == newLayoutState.CurrentLayout)) === null || _j === void 0 ? void 0 : _j.ColumnFilters;
|
|
882
|
+
// Tell Grid to apply filtering if filters have been changed in a loaded Layout
|
|
883
|
+
if (adaptable.api.filterApi.areColumnFiltersDifferent(oldFilters, newFilters)) {
|
|
884
|
+
adaptable.applyGridFiltering();
|
|
885
|
+
}
|
|
875
886
|
if (returnAction.type == LayoutRedux.LAYOUT_SELECT ||
|
|
876
887
|
returnAction.type == LayoutRedux.LAYOUT_DELETE ||
|
|
877
888
|
returnAction.type == LayoutRedux.LAYOUT_SET_COLUMN_CAPTION) {
|
|
@@ -884,7 +895,7 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
|
|
|
884
895
|
// tell grid the layout has been selected
|
|
885
896
|
adaptable.setLayout(currentLayout);
|
|
886
897
|
}
|
|
887
|
-
if (!((
|
|
898
|
+
if (!((_k = adaptable.adaptableOptions.layoutOptions) === null || _k === void 0 ? void 0 : _k.autoSaveLayouts)) {
|
|
888
899
|
middlewareAPI.dispatch(GridRedux.LayoutUpdateCurrentDraft(currentLayout));
|
|
889
900
|
}
|
|
890
901
|
}
|
|
@@ -892,7 +903,7 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
|
|
|
892
903
|
returnAction.type == LayoutRedux.LAYOUT_SAVE) {
|
|
893
904
|
const actionTyped = action;
|
|
894
905
|
// if autosave is false
|
|
895
|
-
if (!((
|
|
906
|
+
if (!((_l = adaptable.adaptableOptions.layoutOptions) === null || _l === void 0 ? void 0 : _l.autoSaveLayouts)) {
|
|
896
907
|
// and the current layout is saved, make sure we also update the draft
|
|
897
908
|
if (actionTyped.layout.Name === newLayoutState.CurrentLayout) {
|
|
898
909
|
middlewareAPI.dispatch(GridRedux.LayoutUpdateCurrentDraft(actionTyped.layout));
|
|
@@ -901,9 +912,12 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
|
|
|
901
912
|
}
|
|
902
913
|
// when changing current layout via the api, the layout should update
|
|
903
914
|
if (returnAction.type == LayoutRedux.LAYOUT_SAVE) {
|
|
904
|
-
const currentLayout = adaptable.api.layoutApi.getCurrentLayout();
|
|
905
915
|
const savingLayout = returnAction.layout;
|
|
906
|
-
if (
|
|
916
|
+
if (previousLayout.Name === savingLayout.Name &&
|
|
917
|
+
previousLayout !== savingLayout &&
|
|
918
|
+
// objects may have changed, but have the same contents
|
|
919
|
+
// this prevents pivot layout from infinite set-layout
|
|
920
|
+
!adaptable.api.layoutApi.areLayoutsEqual(previousLayout, savingLayout)) {
|
|
907
921
|
adaptable.setLayout(savingLayout);
|
|
908
922
|
}
|
|
909
923
|
}
|
|
@@ -22,6 +22,7 @@ export declare class AlertModule extends AdaptableModuleBase implements IModule
|
|
|
22
22
|
private getAlertDefinitionsForCellDataChange;
|
|
23
23
|
private getAlertDefinitionsForGridDataChange;
|
|
24
24
|
private getBaseAlertDefinitionsForDataChange;
|
|
25
|
+
private isAggregationAlertTriggered;
|
|
25
26
|
private isAlertPredicateTriggered;
|
|
26
27
|
private isAlertDefinitionForRowChangeEvent;
|
|
27
28
|
getTeamSharingAction(): TeamSharingImportInfo<AlertDefinition>;
|
|
@@ -18,6 +18,7 @@ const AlertEmptyView_1 = require("../View/Alert/AlertEmptyView");
|
|
|
18
18
|
const AlertStatusSubPanel_1 = require("../View/Alert/AlertStatusSubPanel");
|
|
19
19
|
const getObjectTagsViewItems_1 = require("./Utilities/getObjectTagsViewItems");
|
|
20
20
|
const ActiveAlertsPanelItemLabel_1 = require("../View/Alert/ActiveAlertsPanelItemLabel");
|
|
21
|
+
const ModuleConstants_1 = require("../Utilities/Constants/ModuleConstants");
|
|
21
22
|
class AlertModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
22
23
|
constructor(api) {
|
|
23
24
|
super(ModuleConstants.AlertModuleId, ModuleConstants.AlertModuleFriendlyName, 'alert', 'AlertPopup', 'Get notified when things happen in Adaptable that you need to know about', api);
|
|
@@ -215,6 +216,14 @@ class AlertModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
215
216
|
triggeredAlerts.push(alertDefinition);
|
|
216
217
|
}
|
|
217
218
|
}
|
|
219
|
+
else if (alertDefinition.Rule.AggregatedBooleanExpression) {
|
|
220
|
+
const isValidExpression = this.api.queryLanguageApi.isValidAggregatedBooleanExpression(alertDefinition.Rule.AggregatedBooleanExpression, this.moduleInfo.ModuleName, `Invalid Alert boolean expression '${alertDefinition.Rule.AggregatedBooleanExpression}'`);
|
|
221
|
+
const isSatisfiedExpression = isValidExpression &&
|
|
222
|
+
this.isAggregationAlertTriggered(alertDefinition, dataChangedEvent);
|
|
223
|
+
if (isSatisfiedExpression) {
|
|
224
|
+
triggeredAlerts.push(alertDefinition);
|
|
225
|
+
}
|
|
226
|
+
}
|
|
218
227
|
else {
|
|
219
228
|
if (!this.isAlertDefinitionForRowChangeEvent(alertDefinition) &&
|
|
220
229
|
this.isAlertPredicateTriggered(alertDefinition, dataChangedEvent, defaultNoPredicateReturn)) {
|
|
@@ -225,6 +234,17 @@ class AlertModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
225
234
|
}
|
|
226
235
|
return triggeredAlerts;
|
|
227
236
|
}
|
|
237
|
+
isAggregationAlertTriggered(alertDefinition, dataChangedEvent) {
|
|
238
|
+
const changedColumn = dataChangedEvent.column.columnId;
|
|
239
|
+
const aggregationColumns = this.api.queryLanguageApi.getColumnsFromExpression(alertDefinition.Rule.AggregatedBooleanExpression);
|
|
240
|
+
if (!aggregationColumns.includes(changedColumn)) {
|
|
241
|
+
return false;
|
|
242
|
+
}
|
|
243
|
+
const aggregatedBooleanValue = this.api.internalApi
|
|
244
|
+
.getQueryLanguageService()
|
|
245
|
+
.computeAggregatedBooleanValue(alertDefinition.Rule.AggregatedBooleanExpression, ModuleConstants_1.AlertModuleId);
|
|
246
|
+
return aggregatedBooleanValue;
|
|
247
|
+
}
|
|
228
248
|
isAlertPredicateTriggered(alert, dataChangedEvent, defaultNoPredicateReturn = false) {
|
|
229
249
|
return this.api.predicateApi.handlePredicate(alert.Rule.Predicate, {
|
|
230
250
|
value: dataChangedEvent.newValue,
|
|
@@ -8,9 +8,9 @@ const CalculatedColumnRedux = tslib_1.__importStar(require("../Redux/ActionsRedu
|
|
|
8
8
|
const LoggingHelper_1 = require("../Utilities/Helpers/LoggingHelper");
|
|
9
9
|
const getExpressionViewItems_1 = require("./Utilities/getExpressionViewItems");
|
|
10
10
|
const CalculatedColumnWizard_1 = require("../View/CalculatedColumn/Wizard/CalculatedColumnWizard");
|
|
11
|
-
const getCalculatedColumnSettingTags_1 = require("../View/CalculatedColumn/Utilities/getCalculatedColumnSettingTags");
|
|
12
11
|
const ArrayExtensions_1 = tslib_1.__importDefault(require("../Utilities/Extensions/ArrayExtensions"));
|
|
13
12
|
const getObjectTagsViewItems_1 = require("./Utilities/getObjectTagsViewItems");
|
|
13
|
+
const getCalculatedColumnSettingsTags_1 = require("../View/CalculatedColumn/Utilities/getCalculatedColumnSettingsTags");
|
|
14
14
|
class CalculatedColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
15
15
|
constructor(api) {
|
|
16
16
|
super(ModuleConstants.CalculatedColumnModuleId, ModuleConstants.CalculatedColumnFriendlyName, 'calculated-column', 'CalculatedColumnPopup', 'Create bespoke columns whose cell value is derived dynamically from an Expression', api);
|
|
@@ -69,7 +69,7 @@ class CalculatedColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
69
69
|
};
|
|
70
70
|
}
|
|
71
71
|
toView(calculateColumn) {
|
|
72
|
-
const settingsTags =
|
|
72
|
+
const settingsTags = getCalculatedColumnSettingsTags_1.getCalculatedColumnSettingsTags(calculateColumn.CalculatedColumnSettings);
|
|
73
73
|
let items = [
|
|
74
74
|
{
|
|
75
75
|
name: 'Settings',
|
|
@@ -12,7 +12,6 @@ export declare class ExportModule extends AdaptableModuleBase implements IExport
|
|
|
12
12
|
getModuleAdaptableObjects(): AdaptableObject[];
|
|
13
13
|
getExplicitlyReferencedColumnIds(report: Report): string[];
|
|
14
14
|
getReferencedNamedQueryNames(report: Report): string[];
|
|
15
|
-
updateOldConfig(): void;
|
|
16
15
|
addContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem[] | undefined;
|
|
17
16
|
export(report: Report, exportDestination: ExportDestination | string): void;
|
|
18
17
|
private isCustomDestination;
|
|
@@ -9,7 +9,6 @@ const Helper_1 = require("../Utilities/Helpers/Helper");
|
|
|
9
9
|
const ExportRedux = tslib_1.__importStar(require("../Redux/ActionsReducers/ExportRedux"));
|
|
10
10
|
const GeneralConstants_1 = require("../Utilities/Constants/GeneralConstants");
|
|
11
11
|
const ArrayExtensions_1 = tslib_1.__importDefault(require("../Utilities/Extensions/ArrayExtensions"));
|
|
12
|
-
const LoggingHelper_1 = require("../Utilities/Helpers/LoggingHelper");
|
|
13
12
|
const StringExtensions_1 = tslib_1.__importDefault(require("../Utilities/Extensions/StringExtensions"));
|
|
14
13
|
const PopupRedux = tslib_1.__importStar(require("../Redux/ActionsReducers/PopupRedux"));
|
|
15
14
|
const ObjectFactory_1 = require("../Utilities/ObjectFactory");
|
|
@@ -41,21 +40,6 @@ class ExportModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
41
40
|
}
|
|
42
41
|
return this.api.queryApi.getReferencedNamedQueryNames(report.Query.BooleanExpression);
|
|
43
42
|
}
|
|
44
|
-
updateOldConfig() {
|
|
45
|
-
let reportsToEdit = [];
|
|
46
|
-
this.api.exportApi.getAllReports().forEach((report) => {
|
|
47
|
-
if (!report.Query && report.Expression) {
|
|
48
|
-
report.Query = {
|
|
49
|
-
BooleanExpression: report.Expression,
|
|
50
|
-
};
|
|
51
|
-
LoggingHelper_1.LogAdaptableWarning(`Updating incorrect Predefined Config for Report: ${report.Name}`);
|
|
52
|
-
report.Expression = undefined;
|
|
53
|
-
LoggingHelper_1.LogAdaptableInfo('Updating Report: ' + report.Name + ' to use existing Expression');
|
|
54
|
-
reportsToEdit.push(report);
|
|
55
|
-
}
|
|
56
|
-
});
|
|
57
|
-
this.api.exportApi.editReports(reportsToEdit);
|
|
58
|
-
}
|
|
59
43
|
addContextMenuItems(menuContext) {
|
|
60
44
|
const canExport = !menuContext.isRowGroupColumn &&
|
|
61
45
|
this.isModuleAvailable() &&
|
|
@@ -111,6 +111,12 @@ class FilterModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
111
111
|
getViewProperties() {
|
|
112
112
|
const api = this.api;
|
|
113
113
|
return {
|
|
114
|
+
getSuspendAction: (columnFilter) => LayoutRedux.LayoutColumnFilterSuspend(columnFilter),
|
|
115
|
+
getUnSuspendAction: (columnFilter) => LayoutRedux.LayoutColumnFilterUnSuspend(columnFilter),
|
|
116
|
+
getCompactSuspendAction: (columnFilter) => LayoutRedux.LayoutColumnFilterSuspend(columnFilter),
|
|
117
|
+
getCompactUnSuspendAction: (columnFilter) => LayoutRedux.LayoutColumnFilterUnSuspend(columnFilter),
|
|
118
|
+
getSuspendAllAction: () => LayoutRedux.LayoutColumnFilterSuspendAll(),
|
|
119
|
+
getUnSuspendAllAction: () => LayoutRedux.LayoutColumnFilterUnSuspendAll(),
|
|
114
120
|
getDeleteAction: LayoutRedux.LayoutColumnFilterClear,
|
|
115
121
|
getCompactDeleteAction: LayoutRedux.LayoutColumnFilterClear,
|
|
116
122
|
getDeleteAllAction: LayoutRedux.LayoutColumnFilterClearAll,
|
|
@@ -95,10 +95,10 @@ class FlashingCellModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
95
95
|
const flashingCellForRow = this.api.internalApi.getAdaptableFlashingCellFor(menuContext.primaryKeyValue);
|
|
96
96
|
const flashingCellForCell = this.api.internalApi.getAdaptableFlashingCellFor(menuContext.primaryKeyValue, menuContext.adaptableColumn.columnId);
|
|
97
97
|
if (flashingCellForRow && flashingCellForRow.flashTarget === 'row') {
|
|
98
|
-
items.push(this.createColumnMenuItemReduxAction('Clear Flashing
|
|
98
|
+
items.push(this.createColumnMenuItemReduxAction('Clear Flashing Row', this.moduleInfo.Glyph, SystemRedux.SystemFlashingCellDelete(flashingCellForRow)));
|
|
99
99
|
}
|
|
100
100
|
else if (flashingCellForCell && flashingCellForCell.flashTarget === 'cell') {
|
|
101
|
-
items.push(this.createColumnMenuItemReduxAction('Clear Flashing Cell
|
|
101
|
+
items.push(this.createColumnMenuItemReduxAction('Clear Flashing Cell', this.moduleInfo.Glyph, SystemRedux.SystemFlashingCellDelete(flashingCellForCell)));
|
|
102
102
|
}
|
|
103
103
|
}
|
|
104
104
|
}
|
|
@@ -93,6 +93,10 @@ export interface AdaptableModuleView {
|
|
|
93
93
|
getCompactDeleteAction?: (abObject: AdaptableObject) => Redux.Action;
|
|
94
94
|
getSuspendAction?: (abObject: AdaptableObject) => Redux.Action;
|
|
95
95
|
getUnSuspendAction?: (abObject: AdaptableObject) => Redux.Action;
|
|
96
|
+
getCompactSuspendAction?: (abObject: AdaptableObject) => Redux.Action;
|
|
97
|
+
getCompactUnSuspendAction?: (abObject: AdaptableObject) => Redux.Action;
|
|
98
|
+
getSuspendAllAction?: () => Redux.Action;
|
|
99
|
+
getUnSuspendAllAction?: () => Redux.Action;
|
|
96
100
|
getDeleteAllAction?: () => Redux.Action;
|
|
97
101
|
emptyView?: React.FunctionComponent<{
|
|
98
102
|
module: IModule;
|
|
@@ -14,6 +14,7 @@ const SaveLayoutButton_1 = require("../View/Layout/SaveLayoutButton");
|
|
|
14
14
|
const LayoutWizard_1 = require("../View/Layout/Wizard/LayoutWizard");
|
|
15
15
|
const getLayoutFilterViewItems_1 = require("./Utilities/Layout/getLayoutFilterViewItems");
|
|
16
16
|
const getLayoutSortViewItems_1 = require("./Utilities/Layout/getLayoutSortViewItems");
|
|
17
|
+
const AggregationColumns_1 = require("../PredefinedConfig/Common/AggregationColumns");
|
|
17
18
|
class LayoutModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
18
19
|
constructor(api) {
|
|
19
20
|
super(ModuleConstants.LayoutModuleId, ModuleConstants.LayoutFriendlyName, 'layout', 'LayoutPopup', 'Named sets of column visibility, order, groupings, aggregation, pivots etc.', api);
|
|
@@ -26,26 +27,6 @@ class LayoutModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
26
27
|
}
|
|
27
28
|
});
|
|
28
29
|
}
|
|
29
|
-
/*
|
|
30
|
-
// commenting this out as it doesnt make sense we dont know which filters should be applied to which layout
|
|
31
|
-
// for this we will jsut say they need to reapply them
|
|
32
|
-
updateOldConfig() {
|
|
33
|
-
// @ts-ignore ignore reading deprecated state
|
|
34
|
-
const oldColumnFilters = this.api.filterApi.getFilterState().ColumnFilters;
|
|
35
|
-
if (ArrayExtensions.IsNotNullOrEmpty(oldColumnFilters)) {
|
|
36
|
-
ConsoleLogWarning(
|
|
37
|
-
`DEPRECATED: The 'Filter.ColumnFilters' property is deprecated; use 'Layout.ColumnFilters' instead'!`
|
|
38
|
-
);
|
|
39
|
-
|
|
40
|
-
this.api.internalApi.clearColumnFilterState();
|
|
41
|
-
const currentLayout = this.api.layoutApi.getCurrentLayout();
|
|
42
|
-
|
|
43
|
-
if (ArrayExtensions.IsNullOrEmpty(currentLayout.ColumnFilters)) {
|
|
44
|
-
this.api.layoutApi.setColumnFilter(oldColumnFilters);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
*/
|
|
49
30
|
getModuleAdaptableObjects() {
|
|
50
31
|
return this.api.layoutApi.getAllLayout();
|
|
51
32
|
}
|
|
@@ -264,6 +245,25 @@ class LayoutModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
264
245
|
name: 'Pivot Columns',
|
|
265
246
|
values: layout.PivotColumns.map((colId) => columnIdToFriendlyName(colId)),
|
|
266
247
|
},
|
|
248
|
+
(layout === null || layout === void 0 ? void 0 : layout.AggregationColumns) &&
|
|
249
|
+
Object.keys(layout === null || layout === void 0 ? void 0 : layout.AggregationColumns).length && {
|
|
250
|
+
name: 'Aggregation Columns',
|
|
251
|
+
values: Object.entries(layout === null || layout === void 0 ? void 0 : layout.AggregationColumns)
|
|
252
|
+
.map(([colId, aggFn]) => {
|
|
253
|
+
if (colId === 'Source' || colId === 'Uuid') {
|
|
254
|
+
return '';
|
|
255
|
+
}
|
|
256
|
+
let aggFnName = '';
|
|
257
|
+
if (typeof aggFn === 'string') {
|
|
258
|
+
aggFnName = aggFn;
|
|
259
|
+
}
|
|
260
|
+
else if (typeof aggFn === 'object' && aggFn.type === 'weightedAverage') {
|
|
261
|
+
aggFnName = AggregationColumns_1.WEIGHTED_AVERAGE_AGG_FN_NAME;
|
|
262
|
+
}
|
|
263
|
+
return `${aggFnName}(${columnIdToFriendlyName(colId)})`;
|
|
264
|
+
})
|
|
265
|
+
.filter(Boolean),
|
|
266
|
+
},
|
|
267
267
|
].filter(Boolean),
|
|
268
268
|
abObject: layout,
|
|
269
269
|
};
|
|
@@ -6,6 +6,21 @@ const React = tslib_1.__importStar(require("react"));
|
|
|
6
6
|
const rebass_1 = require("rebass");
|
|
7
7
|
const FormatColumnStyleWizardSection_1 = require("../../../View/FormatColumn/Wizard/FormatColumnStyleWizardSection");
|
|
8
8
|
const getFormatColumnStyleViewItems = (formatColumn, api) => {
|
|
9
|
-
|
|
9
|
+
var _a, _b;
|
|
10
|
+
let styleType = '';
|
|
11
|
+
if ((_a = formatColumn === null || formatColumn === void 0 ? void 0 : formatColumn.ColumnStyle) === null || _a === void 0 ? void 0 : _a.GradientStyle) {
|
|
12
|
+
styleType = 'Gradient';
|
|
13
|
+
}
|
|
14
|
+
else if ((_b = formatColumn === null || formatColumn === void 0 ? void 0 : formatColumn.ColumnStyle) === null || _b === void 0 ? void 0 : _b.PercentBarStyle) {
|
|
15
|
+
styleType = 'Percent Bar';
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
styleType = 'Standard';
|
|
19
|
+
}
|
|
20
|
+
return (React.createElement(rebass_1.Box, { mt: 2 },
|
|
21
|
+
React.createElement(rebass_1.Box, { mb: 1 },
|
|
22
|
+
"Type: ",
|
|
23
|
+
styleType),
|
|
24
|
+
FormatColumnStyleWizardSection_1.renderFormatColumnStyleSummary(formatColumn, api)));
|
|
10
25
|
};
|
|
11
26
|
exports.getFormatColumnStyleViewItems = getFormatColumnStyleViewItems;
|
|
@@ -8,17 +8,21 @@ const getLayoutFilterViewItems = (layout, api) => {
|
|
|
8
8
|
};
|
|
9
9
|
return {
|
|
10
10
|
name: 'Filter',
|
|
11
|
-
values: ((_a = layout.ColumnFilters) !== null && _a !== void 0 ? _a : []).map((customFilter) =>
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
11
|
+
values: ((_a = layout.ColumnFilters) !== null && _a !== void 0 ? _a : []).map((customFilter) => {
|
|
12
|
+
var _a, _b;
|
|
13
|
+
return `[${columnIdToFriendlyName(customFilter.ColumnId)}: ${customFilter.Predicate.PredicateId} ${((_b = (_a = customFilter.Predicate) === null || _a === void 0 ? void 0 : _a.Inputs) !== null && _b !== void 0 ? _b : [])
|
|
14
|
+
.map((input) => {
|
|
15
|
+
if (typeof input === 'string') {
|
|
16
|
+
return input;
|
|
17
|
+
}
|
|
18
|
+
if (typeof (input === null || input === void 0 ? void 0 : input.toString) === 'function') {
|
|
19
|
+
return input.toString();
|
|
20
|
+
}
|
|
21
|
+
return '';
|
|
22
|
+
})
|
|
23
|
+
.filter(Boolean)
|
|
24
|
+
.join(', ')}]`;
|
|
25
|
+
}),
|
|
22
26
|
};
|
|
23
27
|
};
|
|
24
28
|
exports.getLayoutFilterViewItems = getLayoutFilterViewItems;
|
|
@@ -5,6 +5,7 @@ export declare const ScalarQueryDocsLink: string;
|
|
|
5
5
|
export declare const ObservableQueryDocsLink: string;
|
|
6
6
|
export declare const AggregatedBooleanQueryDocsLink: string;
|
|
7
7
|
export declare const AggregatedScalarQueryDocsLink: string;
|
|
8
|
+
export declare const CumulativeAggregatedScalarQueryDocsLink: string;
|
|
8
9
|
export declare const PredicateDocsLink: string;
|
|
9
10
|
export declare const PrimaryKeyDocsLink: string;
|
|
10
11
|
export declare const LicenseDocsLink: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AdaptableOptionsDocsLink = exports.LicenseDocsLink = exports.PrimaryKeyDocsLink = exports.PredicateDocsLink = exports.AggregatedScalarQueryDocsLink = exports.AggregatedBooleanQueryDocsLink = exports.ObservableQueryDocsLink = exports.ScalarQueryDocsLink = exports.BooleanQueryDocsLink = exports.ExpressionEditorDocsLink = exports.HOST_URL_DOCS = void 0;
|
|
3
|
+
exports.AdaptableOptionsDocsLink = exports.LicenseDocsLink = exports.PrimaryKeyDocsLink = exports.PredicateDocsLink = exports.CumulativeAggregatedScalarQueryDocsLink = exports.AggregatedScalarQueryDocsLink = exports.AggregatedBooleanQueryDocsLink = exports.ObservableQueryDocsLink = exports.ScalarQueryDocsLink = exports.BooleanQueryDocsLink = exports.ExpressionEditorDocsLink = exports.HOST_URL_DOCS = void 0;
|
|
4
4
|
exports.HOST_URL_DOCS = 'https://docs.adaptabletools.com';
|
|
5
5
|
//export const HOST_URL_DOCS = 'http://localhost:3000';
|
|
6
6
|
exports.ExpressionEditorDocsLink = `${exports.HOST_URL_DOCS}/guide/ui-expression-editor`;
|
|
@@ -9,6 +9,7 @@ exports.ScalarQueryDocsLink = `${exports.HOST_URL_DOCS}/guide/adaptable-ql-expre
|
|
|
9
9
|
exports.ObservableQueryDocsLink = `${exports.HOST_URL_DOCS}/guide/adaptable-ql-expression-observable`;
|
|
10
10
|
exports.AggregatedBooleanQueryDocsLink = `${exports.HOST_URL_DOCS}/guide/adaptable-ql-expression-aggregation-boolean`;
|
|
11
11
|
exports.AggregatedScalarQueryDocsLink = `${exports.HOST_URL_DOCS}/guide/adaptable-ql-expression-aggregation-scalar`;
|
|
12
|
+
exports.CumulativeAggregatedScalarQueryDocsLink = `${exports.HOST_URL_DOCS}/guide/adaptable-ql-expression-aggregation-scalar#cumulative-aggregation`;
|
|
12
13
|
exports.PredicateDocsLink = `${exports.HOST_URL_DOCS}/guide/adaptable-ql-predicate`;
|
|
13
14
|
exports.PrimaryKeyDocsLink = `${exports.HOST_URL_DOCS}/guide/dev-guide-tutorial-primary-key`;
|
|
14
15
|
exports.LicenseDocsLink = `${exports.HOST_URL_DOCS}/guide/licensing`;
|
|
@@ -205,6 +205,9 @@ exports.DefaultAdaptableOptions = {
|
|
|
205
205
|
maxFilterValuesToDisplay: 2000,
|
|
206
206
|
systemFilters: AdaptablePredicate_1.SystemFilterPredicateIds,
|
|
207
207
|
showQuickFilter: true,
|
|
208
|
+
showDistinctFilteredValuesOnly: false,
|
|
209
|
+
showClearFilterButton: false,
|
|
210
|
+
showSuspendFilterButton: false,
|
|
208
211
|
},
|
|
209
212
|
searchOptions: {
|
|
210
213
|
excludeColumnFromQuickSearch: undefined,
|
|
@@ -1,9 +1,19 @@
|
|
|
1
1
|
import { ExpressionFunction } from '../../parser/src/types';
|
|
2
|
+
import { BaseParameter } from './expressionFunctionUtils';
|
|
3
|
+
import { AggregatedScalarExpressionEvaluation } from './aggregatedScalarExpressionFunctions';
|
|
2
4
|
/**
|
|
3
5
|
* List of all the Aggregation Functions available in AdaptableQL
|
|
4
6
|
*/
|
|
5
|
-
export declare type AggregationFunctionName = 'WHERE' | 'COL' | AggregationFunction | ComparisonFunction;
|
|
6
|
-
declare type AggregationFunction = 'SUM';
|
|
7
|
+
export declare type AggregationFunctionName = 'WHERE' | 'COL' | 'GROUP_BY' | AggregationFunction | ComparisonFunction;
|
|
8
|
+
declare type AggregationFunction = 'SUM' | 'MIN' | 'MAX' | 'AVG';
|
|
7
9
|
declare type ComparisonFunction = 'EQ' | 'NEQ' | 'LT' | 'GT' | 'LTE' | 'GTE';
|
|
10
|
+
export interface BooleanAggregationParameter extends BaseParameter<'aggregationBoolean', AggregationFunction> {
|
|
11
|
+
scalarAggregation: ScalarAggregationOperand;
|
|
12
|
+
conditionValue: number;
|
|
13
|
+
conditionFn: (aggregatedValue: number, conditionValue: number) => boolean;
|
|
14
|
+
}
|
|
15
|
+
export interface ScalarAggregationOperand extends BaseParameter<'aggregationScalar', AggregationFunction> {
|
|
16
|
+
value: AggregatedScalarExpressionEvaluation;
|
|
17
|
+
}
|
|
8
18
|
export declare const aggregatedBooleanExpressionFunctions: Record<AggregationFunctionName, ExpressionFunction>;
|
|
9
19
|
export {};
|