@adaptabletools/adaptable 11.3.0 → 12.0.0-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 +22 -4
- package/bundle.cjs.js +108 -108
- package/index.css +26 -4
- package/package.json +1 -1
- package/publishTimestamp.d.ts +1 -1
- package/publishTimestamp.js +1 -1
- package/src/AdaptableInterfaces/IAdaptable.d.ts +4 -1
- package/src/AdaptableOptions/ActionOptions.d.ts +1 -0
- package/src/AdaptableOptions/{FormatColumnOptions.js → ActionOptions.js} +0 -0
- package/src/AdaptableOptions/AdaptableFrameworkComponent.d.ts +5 -0
- package/src/AdaptableOptions/AdaptableOptions.d.ts +3 -10
- package/src/AdaptableOptions/AdaptableQLOptions.d.ts +5 -0
- package/src/AdaptableOptions/AlertOptions.d.ts +14 -1
- package/src/AdaptableOptions/ColumnOptions.d.ts +49 -0
- package/src/AdaptableOptions/{MasterDetailAgGridPluginOptions.js → ColumnOptions.js} +0 -0
- package/src/AdaptableOptions/DashboardOptions.d.ts +2 -7
- package/src/AdaptableOptions/DataChangeHistoryOptions.d.ts +19 -0
- package/src/AdaptableOptions/EditOptions.d.ts +2 -2
- package/src/AdaptableOptions/EntitlementOptions.d.ts +7 -1
- package/src/AdaptableOptions/ExportOptions.d.ts +5 -1
- package/src/AdaptableOptions/FilterOptions.d.ts +6 -1
- package/src/AdaptableOptions/GeneralOptions.d.ts +22 -23
- package/src/AdaptableOptions/{MasterDetailAgGridPluginOptions.d.ts → MasterDetailPluginOptions.d.ts} +2 -4
- package/src/{Api/DataSourceApi.js → AdaptableOptions/MasterDetailPluginOptions.js} +0 -0
- package/src/AdaptableOptions/SettingsPanelOptions.d.ts +3 -6
- package/src/AdaptableOptions/ToolPanelOptions.d.ts +2 -49
- package/src/AdaptableOptions/UserInterfaceOptions.d.ts +75 -62
- package/src/Api/AdaptableApi.d.ts +6 -3
- package/src/Api/ColumnApi.d.ts +2 -2
- package/src/Api/ConditionalStyleApi.d.ts +10 -0
- package/src/Api/ConfigApi.d.ts +0 -12
- package/src/Api/DashboardApi.d.ts +6 -19
- package/src/Api/DataSetApi.d.ts +40 -0
- package/src/{PredefinedConfig/DataSourceState.js → Api/DataSetApi.js} +0 -0
- package/src/Api/EventApi.d.ts +15 -1
- package/src/Api/Events/DataSetChanged.d.ts +5 -0
- package/src/{PredefinedConfig/FilterState.js → Api/Events/DataSetChanged.js} +0 -0
- package/src/Api/Events/SearchChanged.d.ts +3 -4
- package/src/Api/FilterApi.d.ts +1 -77
- package/src/Api/GridApi.d.ts +1 -1
- package/src/Api/Implementation/AdaptableApiImpl.d.ts +2 -2
- package/src/Api/Implementation/AdaptableApiImpl.js +3 -3
- package/src/Api/Implementation/AlertApiImpl.js +5 -1
- package/src/Api/Implementation/ApiBase.d.ts +3 -0
- package/src/Api/Implementation/ApiBase.js +6 -0
- package/src/Api/Implementation/ColumnApiImpl.d.ts +2 -2
- package/src/Api/Implementation/ColumnApiImpl.js +2 -2
- package/src/Api/Implementation/ConditionalStyleApiImpl.d.ts +2 -0
- package/src/Api/Implementation/ConditionalStyleApiImpl.js +8 -0
- package/src/Api/Implementation/ConfigApiImpl.d.ts +0 -4
- package/src/Api/Implementation/ConfigApiImpl.js +2 -24
- package/src/Api/Implementation/DashboardApiImpl.d.ts +3 -6
- package/src/Api/Implementation/DashboardApiImpl.js +5 -29
- package/src/Api/Implementation/DataSetApiImpl.d.ts +12 -0
- package/src/Api/Implementation/DataSetApiImpl.js +42 -0
- package/src/Api/Implementation/EventApiImpl.js +1 -0
- package/src/Api/Implementation/FilterApiImpl.d.ts +1 -16
- package/src/Api/Implementation/FilterApiImpl.js +5 -159
- package/src/Api/Implementation/FormatColumnApiImpl.js +1 -1
- package/src/Api/Implementation/GridApiImpl.d.ts +1 -1
- package/src/Api/Implementation/GridApiImpl.js +1 -1
- package/src/Api/Implementation/InternalApiImpl.d.ts +3 -2
- package/src/Api/Implementation/InternalApiImpl.js +14 -3
- package/src/Api/Implementation/LayoutApiImpl.d.ts +18 -1
- package/src/Api/Implementation/LayoutApiImpl.js +172 -0
- package/src/Api/Implementation/PredicateApiImpl.js +1 -1
- package/src/Api/Implementation/SmartEditApiImpl.d.ts +3 -1
- package/src/Api/Implementation/SmartEditApiImpl.js +6 -0
- package/src/Api/Implementation/TeamSharingApiImpl.d.ts +5 -3
- package/src/Api/Implementation/TeamSharingApiImpl.js +28 -10
- package/src/Api/Implementation/UserInterfaceApiImpl.d.ts +1 -1
- package/src/Api/Implementation/UserInterfaceApiImpl.js +4 -4
- package/src/Api/InternalApi.d.ts +3 -2
- package/src/Api/LayoutApi.d.ts +88 -1
- package/src/Api/SmartEditApi.d.ts +8 -2
- package/src/Api/TeamSharingApi.d.ts +18 -5
- package/src/Api/UserInterfaceApi.d.ts +4 -4
- package/src/PredefinedConfig/AdaptableState.d.ts +0 -4
- package/src/PredefinedConfig/Common/AdaptableButton.d.ts +3 -3
- package/src/PredefinedConfig/Common/AdaptableColumn.d.ts +5 -1
- package/src/PredefinedConfig/Common/AdaptablePredicate.js +18 -1
- package/src/PredefinedConfig/{FilterState.d.ts → Common/ColumnFilter.d.ts} +2 -33
- package/src/PredefinedConfig/Common/ColumnFilter.js +2 -0
- package/src/PredefinedConfig/Common/Enums.d.ts +2 -2
- package/src/PredefinedConfig/Common/Enums.js +1 -1
- package/src/PredefinedConfig/Common/Types.d.ts +6 -5
- package/src/PredefinedConfig/Common/Types.js +2 -3
- package/src/PredefinedConfig/LayoutState.d.ts +5 -0
- package/src/PredefinedConfig/PredefinedConfig.d.ts +0 -10
- package/src/PredefinedConfig/StatusBarState.d.ts +1 -2
- package/src/PredefinedConfig/SystemState.d.ts +3 -0
- package/src/Redux/ActionsReducers/LayoutRedux.d.ts +47 -0
- package/src/Redux/ActionsReducers/LayoutRedux.js +135 -1
- package/src/Redux/ActionsReducers/SystemRedux.d.ts +22 -0
- package/src/Redux/ActionsReducers/SystemRedux.js +39 -1
- package/src/Redux/Store/AdaptableStore.js +37 -39
- package/src/Strategy/AlertModule.d.ts +11 -0
- package/src/Strategy/AlertModule.js +14 -0
- package/src/Strategy/CellSummaryModule.d.ts +3 -0
- package/src/Strategy/CellSummaryModule.js +28 -14
- package/src/Strategy/DataSetModule.d.ts +25 -0
- package/src/Strategy/DataSetModule.js +65 -0
- package/src/Strategy/ExportModule.js +6 -1
- package/src/Strategy/FilterModule.d.ts +7 -11
- package/src/Strategy/FilterModule.js +24 -15
- package/src/Strategy/FlashingCellModule.d.ts +1 -1
- package/src/Strategy/FlashingCellModule.js +2 -2
- package/src/Strategy/Interface/IModule.d.ts +3 -1
- package/src/Strategy/LayoutModule.js +24 -2
- package/src/Strategy/SmartEditModule.js +1 -1
- package/src/Strategy/StatusBarModule.js +1 -3
- package/src/Strategy/TeamSharingModule.js +1 -1
- package/src/Strategy/ToolPanelModule.js +1 -4
- package/src/Utilities/Constants/GeneralConstants.d.ts +6 -2
- package/src/Utilities/Constants/GeneralConstants.js +6 -2
- package/src/Utilities/Constants/ModuleConstants.d.ts +1 -1
- package/src/Utilities/Constants/ModuleConstants.js +2 -2
- package/src/Utilities/Defaults/DefaultAdaptableOptions.js +15 -15
- package/src/Utilities/Defaults/DefaultSettingsPanel.js +1 -1
- package/src/Utilities/Helpers/AdaptableHelper.js +3 -1
- package/src/Utilities/ObjectFactory.d.ts +3 -6
- package/src/Utilities/ObjectFactory.js +3 -7
- package/src/Utilities/Services/EntitlementService.js +7 -1
- package/src/Utilities/Services/ModuleService.js +1 -1
- package/src/Utilities/Services/ReportService.js +2 -3
- package/src/Utilities/Services/TeamSharingService.js +4 -4
- package/src/View/AdaptablePopover/index.d.ts +1 -0
- package/src/View/AdaptablePopover/index.js +5 -6
- package/src/View/AdaptableView.js +1 -1
- package/src/View/AdaptableViewFactory.js +2 -2
- package/src/View/Alert/ActiveAlertsPanel.d.ts +2 -0
- package/src/View/Alert/ActiveAlertsPanel.js +15 -0
- package/src/View/Alert/AlertStatusSubPanel.js +3 -8
- package/src/View/Alert/AlertViewPanel.js +2 -2
- package/src/View/Alert/Wizard/AlertDisplayWizardSection.js +1 -1
- package/src/View/BulkUpdate/BulkUpdateViewPanel.js +1 -1
- package/src/View/CellSummary/CellSummaryDetails.js +2 -2
- package/src/View/CellSummary/CellSummaryPopover.d.ts +2 -4
- package/src/View/CellSummary/CellSummaryPopover.js +3 -6
- package/src/View/CellSummary/CellSummaryPopup.js +8 -0
- package/src/View/CellSummary/CellSummaryStatusBarSubPanelPopover.js +1 -1
- package/src/View/CellSummary/CellSummaryStatusPanel.js +2 -2
- package/src/View/CellSummary/CellSummaryViewPanel.js +1 -1
- package/src/View/Components/AdaptableObjectList/AdaptableObjectCompactList.js +18 -8
- package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +1 -2
- package/src/View/Components/ExternalRenderer.d.ts +3 -6
- package/src/View/Components/ExternalRenderer.js +5 -5
- package/src/View/Components/FilterForm/FilterForm.d.ts +1 -1
- package/src/View/Components/FilterForm/FilterForm.js +9 -7
- package/src/View/Components/FilterForm/QuickFilterForm.d.ts +1 -1
- package/src/View/Components/FilterForm/QuickFilterForm.js +6 -5
- package/src/View/Components/FilterForm/getDefaultColumnFilterPredicate.d.ts +1 -1
- package/src/View/Components/Popups/AdaptablePopupAlert.d.ts +0 -2
- package/src/View/Components/Popups/AdaptablePopupAlert.js +13 -11
- package/src/View/Components/Popups/AdaptableToaster.js +29 -9
- package/src/View/Components/ToolPanel/AdaptableToolPanel.js +3 -2
- package/src/View/Components/ToolPanel/CustomToolPanelContent.js +11 -9
- package/src/View/Dashboard/CustomDashboardButton.d.ts +11 -0
- package/src/View/Dashboard/CustomDashboardButton.js +47 -0
- package/src/View/Dashboard/CustomToolbarWrapper.d.ts +1 -0
- package/src/View/Dashboard/CustomToolbarWrapper.js +30 -11
- package/src/View/Dashboard/Dashboard.d.ts +1 -0
- package/src/View/Dashboard/Dashboard.js +8 -34
- package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +19 -36
- package/src/View/DataChangeHistory/buildActionColumnButton.d.ts +3 -0
- package/src/View/DataChangeHistory/buildActionColumnButton.js +70 -0
- package/src/View/DataSet/DataSetSelector.d.ts +7 -0
- package/src/View/DataSet/DataSetSelector.js +18 -0
- package/src/View/DataSet/DataSetStatusPanelPopover.d.ts +2 -0
- package/src/View/DataSet/DataSetStatusPanelPopover.js +19 -0
- package/src/View/DataSet/DataSetViewPanel.d.ts +19 -0
- package/src/View/DataSet/DataSetViewPanel.js +58 -0
- package/src/View/Filter/ActiveFiltersPanel.js +1 -1
- package/src/View/Filter/FilterSummary.d.ts +5 -5
- package/src/View/Filter/FilterSummary.js +6 -5
- package/src/View/Filter/FilterViewPanel.d.ts +4 -4
- package/src/View/Filter/FilterViewPanel.js +11 -14
- package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +1 -1
- package/src/View/GridInfo/GridInfoPopup.js +1 -1
- package/src/View/Layout/LayoutStatusBarSubPanelPopover.js +6 -24
- package/src/View/Layout/Wizard/LayoutEditor/index.js +1 -1
- package/src/View/Layout/Wizard/LayoutEditorWizard.d.ts +1 -0
- package/src/View/SmartEdit/SmartEditPopup.js +2 -2
- package/src/View/SmartEdit/SmartEditViewPanel.js +2 -2
- package/src/View/SpecialColumnSettingsWizardStep.js +1 -1
- package/src/View/StatusBar/AdaptableStatusBar.js +1 -1
- package/src/View/StatusBar/StatusBarPanel.d.ts +1 -0
- package/src/View/StatusBar/StatusBarPanel.js +5 -4
- package/src/View/Theme/ThemeStatusPanelPopover.js +5 -25
- package/src/View/UIHelper.d.ts +4 -4
- package/src/View/UIHelper.js +4 -4
- package/src/agGrid/ActionColumnRenderer.js +3 -2
- package/src/agGrid/Adaptable.d.ts +4 -2
- package/src/agGrid/Adaptable.js +79 -52
- package/src/agGrid/FilterWrapper.js +1 -1
- package/src/agGrid/agGridHelper.d.ts +6 -6
- package/src/agGrid/agGridHelper.js +34 -56
- package/src/agGrid/agGridMenuHelper.js +4 -1
- package/src/components/AdaptableFormComponent/AdaptableFormComponent.js +3 -2
- package/src/components/Dashboard/DashboardToolbar.js +2 -2
- package/src/components/SelectList.d.ts +10 -0
- package/src/components/SelectList.js +9 -0
- package/src/components/icons/{data-source.d.ts → data-set.d.ts} +0 -0
- package/src/components/icons/{data-source.js → data-set.js} +0 -0
- package/src/components/icons/index.js +2 -2
- package/src/metamodel/adaptable.metamodel.d.ts +162 -77
- package/src/metamodel/adaptable.metamodel.js +422 -375
- package/src/types.d.ts +15 -12
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/src/AdaptableOptions/FormatColumnOptions.d.ts +0 -10
- package/src/Api/DataSourceApi.d.ts +0 -58
- package/src/Api/Implementation/DataSourceApiImpl.d.ts +0 -15
- package/src/Api/Implementation/DataSourceApiImpl.js +0 -51
- package/src/PredefinedConfig/DataSourceState.d.ts +0 -34
- package/src/Redux/ActionsReducers/DataSourceRedux.d.ts +0 -42
- package/src/Redux/ActionsReducers/DataSourceRedux.js +0 -76
- package/src/Redux/ActionsReducers/FilterRedux.d.ts +0 -70
- package/src/Redux/ActionsReducers/FilterRedux.js +0 -126
- package/src/Strategy/DataSourceModule.d.ts +0 -20
- package/src/Strategy/DataSourceModule.js +0 -56
- package/src/View/DataSource/DataSourceViewPanel.d.ts +0 -19
- package/src/View/DataSource/DataSourceViewPanel.js +0 -69
- package/src/View/DataSource/Wizard/DataSourceSettingsSummary.d.ts +0 -2
- package/src/View/DataSource/Wizard/DataSourceSettingsSummary.js +0 -17
- package/src/View/DataSource/Wizard/DataSourceSettingsWizard.d.ts +0 -8
- package/src/View/DataSource/Wizard/DataSourceSettingsWizard.js +0 -42
- package/src/View/DataSource/Wizard/DataSourceWizard.d.ts +0 -8
- package/src/View/DataSource/Wizard/DataSourceWizard.js +0 -53
|
@@ -22,8 +22,6 @@ const PlusMinusRedux = tslib_1.__importStar(require("../ActionsReducers/PlusMinu
|
|
|
22
22
|
const ExportRedux = tslib_1.__importStar(require("../ActionsReducers/ExportRedux"));
|
|
23
23
|
const ConditionalStyleRedux = tslib_1.__importStar(require("../ActionsReducers/ConditionalStyleRedux"));
|
|
24
24
|
const QuickSearchRedux = tslib_1.__importStar(require("../ActionsReducers/QuickSearchRedux"));
|
|
25
|
-
const DataSourceRedux = tslib_1.__importStar(require("../ActionsReducers/DataSourceRedux"));
|
|
26
|
-
const FilterRedux = tslib_1.__importStar(require("../ActionsReducers/FilterRedux"));
|
|
27
25
|
const ThemeRedux = tslib_1.__importStar(require("../ActionsReducers/ThemeRedux"));
|
|
28
26
|
const FormatColumnRedux = tslib_1.__importStar(require("../ActionsReducers/FormatColumnRedux"));
|
|
29
27
|
const ApplicationRedux = tslib_1.__importStar(require("../ActionsReducers/ApplicationRedux"));
|
|
@@ -46,6 +44,7 @@ const Emitter_1 = tslib_1.__importDefault(require("../../Utilities/Emitter"));
|
|
|
46
44
|
const AdaptableAlert_1 = require("../../PredefinedConfig/Common/AdaptableAlert");
|
|
47
45
|
const AdaptableToaster_1 = require("../../View/Components/Popups/AdaptableToaster");
|
|
48
46
|
const SystemRedux_1 = require("../ActionsReducers/SystemRedux");
|
|
47
|
+
const PopupRedux_1 = require("../ActionsReducers/PopupRedux");
|
|
49
48
|
exports.INIT_STATE = 'INIT_STATE';
|
|
50
49
|
exports.LOAD_STATE = 'LOAD_STATE';
|
|
51
50
|
const NON_PERSIST_ACTIONS = {
|
|
@@ -132,9 +131,7 @@ class AdaptableStore {
|
|
|
132
131
|
ConditionalStyle: ConditionalStyleRedux.ConditionalStyleReducer,
|
|
133
132
|
CustomSort: CustomSortRedux.CustomSortReducer,
|
|
134
133
|
Dashboard: DashboardRedux.DashboardReducer,
|
|
135
|
-
DataSource: DataSourceRedux.DataSourceReducer,
|
|
136
134
|
Export: ExportRedux.ExportReducer,
|
|
137
|
-
Filter: FilterRedux.FilterReducer,
|
|
138
135
|
FormatColumn: FormatColumnRedux.FormatColumnReducer,
|
|
139
136
|
FreeTextColumn: FreeTextColumnRedux.FreeTextColumnReducer,
|
|
140
137
|
Layout: LayoutRedux.LayoutReducer,
|
|
@@ -689,17 +686,17 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
|
|
|
689
686
|
return returnAction;
|
|
690
687
|
}
|
|
691
688
|
/*******************
|
|
692
|
-
* FILTER ACTIONS
|
|
689
|
+
* System FILTER ACTIONS
|
|
693
690
|
*******************/
|
|
694
|
-
case
|
|
691
|
+
case SystemRedux.SYSTEM_QUICK_FILTER_BAR_SHOW: {
|
|
695
692
|
adaptable.showQuickFilter();
|
|
696
693
|
return next(action);
|
|
697
694
|
}
|
|
698
|
-
case
|
|
695
|
+
case SystemRedux.SYSTEM_QUICK_FILTER_BAR_HIDE: {
|
|
699
696
|
adaptable.hideQuickFilter();
|
|
700
697
|
return next(action);
|
|
701
698
|
}
|
|
702
|
-
case
|
|
699
|
+
case SystemRedux.SYSTEM_FILTER_FORM_HIDE: {
|
|
703
700
|
adaptable.api.gridApi.hideFilterForm();
|
|
704
701
|
return next(action);
|
|
705
702
|
}
|
|
@@ -707,11 +704,11 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
|
|
|
707
704
|
* Use Case: Column Filters have changed
|
|
708
705
|
* Action: Apply grid filtering and fire search changed event
|
|
709
706
|
*/
|
|
710
|
-
case
|
|
711
|
-
case
|
|
712
|
-
case
|
|
713
|
-
case
|
|
714
|
-
case
|
|
707
|
+
case LayoutRedux.LAYOUT_COLUMN_FILTER_ADD:
|
|
708
|
+
case LayoutRedux.LAYOUT_COLUMN_FILTER_EDIT:
|
|
709
|
+
case LayoutRedux.LAYOUT_COLUMN_FILTER_SET:
|
|
710
|
+
case LayoutRedux.LAYOUT_COLUMN_FILTER_CLEAR_ALL:
|
|
711
|
+
case LayoutRedux.LAYOUT_COLUMN_FILTER_CLEAR: {
|
|
715
712
|
let returnAction = next(action);
|
|
716
713
|
setTimeout(() => adaptable.applyGridFiltering(), 5);
|
|
717
714
|
adaptable.api.gridApi.fireSearchChangedEvent('Filter');
|
|
@@ -722,14 +719,20 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
|
|
|
722
719
|
*******************/
|
|
723
720
|
/**
|
|
724
721
|
* Use Case: Data Sources have been amended
|
|
725
|
-
* Action: Fire
|
|
722
|
+
* Action: Fire Data Source Changed event
|
|
726
723
|
*/
|
|
727
|
-
case
|
|
728
|
-
case DataSourceRedux.DATA_SOURCE_ADD:
|
|
729
|
-
case DataSourceRedux.DATA_SOURCE_EDIT:
|
|
730
|
-
case DataSourceRedux.DATA_SOURCE_DELETE: {
|
|
724
|
+
case SystemRedux.SYSTEM_DATA_SET_SELECT: {
|
|
731
725
|
let returnAction = next(action);
|
|
732
|
-
adaptable.api.
|
|
726
|
+
const dataSet = adaptable.api.dataSetApi.getCurrentDataSet();
|
|
727
|
+
adaptable.api.dataSetApi.fireDataSetChangeEvent(dataSet);
|
|
728
|
+
requestAnimationFrame(() => {
|
|
729
|
+
if (dataSet.form) {
|
|
730
|
+
middlewareAPI.dispatch(PopupRedux_1.PopupShowForm({
|
|
731
|
+
Id: 'data-set-form',
|
|
732
|
+
Form: dataSet.form,
|
|
733
|
+
}));
|
|
734
|
+
}
|
|
735
|
+
});
|
|
733
736
|
return returnAction;
|
|
734
737
|
}
|
|
735
738
|
/*******************
|
|
@@ -1054,9 +1057,8 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
|
|
|
1054
1057
|
*******************/
|
|
1055
1058
|
case TeamSharingRedux.TEAMSHARING_GET: {
|
|
1056
1059
|
let returnAction = next(action);
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
.getSharedEntities(adaptableId)
|
|
1060
|
+
adaptable.api.teamSharingApi
|
|
1061
|
+
.getSharedEntities()
|
|
1060
1062
|
.then((sharedEntities) => {
|
|
1061
1063
|
middlewareAPI.dispatch(TeamSharingRedux.TeamSharingSet(sharedEntities));
|
|
1062
1064
|
})
|
|
@@ -1079,15 +1081,14 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
|
|
|
1079
1081
|
const actionTyped = action;
|
|
1080
1082
|
let returnAction = next(action);
|
|
1081
1083
|
const { Entity, Configuration, Module } = actionTyped;
|
|
1082
|
-
const { adaptableId, teamSharingOptions } = adaptable.adaptableOptions;
|
|
1083
1084
|
let shareSuccessful;
|
|
1084
1085
|
// load latest state from TeamSharing server
|
|
1085
|
-
|
|
1086
|
-
.getSharedEntities(
|
|
1086
|
+
adaptable.api.teamSharingApi
|
|
1087
|
+
.getSharedEntities()
|
|
1087
1088
|
.then((sharedEntities) => {
|
|
1088
1089
|
// check if there is not already one active SharedEntity for this object
|
|
1089
1090
|
const existingActiveSharedEntity = Configuration.type === 'Active' &&
|
|
1090
|
-
|
|
1091
|
+
middlewareAPI.getState().TeamSharing.ActiveSharedEntityMap[Entity.Uuid];
|
|
1091
1092
|
if (existingActiveSharedEntity) {
|
|
1092
1093
|
middlewareAPI.dispatch(PopupRedux.PopupShowAlert({
|
|
1093
1094
|
alertType: 'generic',
|
|
@@ -1108,7 +1109,7 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
|
|
|
1108
1109
|
middlewareAPI.dispatch(TeamSharingRedux.TeamSharingSet(sharedEntities));
|
|
1109
1110
|
// update the server state
|
|
1110
1111
|
shareSuccessful = true;
|
|
1111
|
-
return
|
|
1112
|
+
return adaptable.api.teamSharingApi.setSharedEntities(sharedEntities);
|
|
1112
1113
|
})
|
|
1113
1114
|
.then(() => {
|
|
1114
1115
|
if (shareSuccessful) {
|
|
@@ -1136,10 +1137,9 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
|
|
|
1136
1137
|
case TeamSharingRedux.TEAMSHARING_REMOVE_ITEM: {
|
|
1137
1138
|
let returnAction = next(action);
|
|
1138
1139
|
const actionTyped = action;
|
|
1139
|
-
const { adaptableId, teamSharingOptions } = adaptable.adaptableOptions;
|
|
1140
1140
|
// load latest state from TeamSharing server
|
|
1141
|
-
|
|
1142
|
-
.getSharedEntities(
|
|
1141
|
+
adaptable.api.teamSharingApi
|
|
1142
|
+
.getSharedEntities()
|
|
1143
1143
|
.then((sharedEntities) => {
|
|
1144
1144
|
// ensure that no other SharedDependencies reference the to-be-deleted entity
|
|
1145
1145
|
const sharedEntityDependants = adaptable.api.internalApi
|
|
@@ -1160,7 +1160,7 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
|
|
|
1160
1160
|
const newSharedEntities = sharedEntities.filter((s) => s.Uuid !== actionTyped.Uuid);
|
|
1161
1161
|
middlewareAPI.dispatch(TeamSharingRedux.TeamSharingSet(newSharedEntities));
|
|
1162
1162
|
// update TeamSharing server
|
|
1163
|
-
return
|
|
1163
|
+
return adaptable.api.teamSharingApi.setSharedEntities(newSharedEntities);
|
|
1164
1164
|
})
|
|
1165
1165
|
.catch((error) => {
|
|
1166
1166
|
LoggingHelper_1.LogAdaptableError('TeamSharing remove error : ' + error.message);
|
|
@@ -1176,7 +1176,7 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
|
|
|
1176
1176
|
// Import 1. step
|
|
1177
1177
|
// prepare import of the given shared entity (the actual import is done in 'TEAMSHARING_PROCESS_IMPORT'):
|
|
1178
1178
|
// - all dependencies will be also included in the import bundle
|
|
1179
|
-
// - if there is at least one local AdaptableObject which will be overwritten, display
|
|
1179
|
+
// - if there is at least one local AdaptableObject which will be overwritten, display a confirmation pop
|
|
1180
1180
|
case TeamSharingRedux.TEAMSHARING_IMPORT_ITEM: {
|
|
1181
1181
|
let returnAction = next(action);
|
|
1182
1182
|
const actionTyped = action;
|
|
@@ -1248,10 +1248,9 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
|
|
|
1248
1248
|
// we are in the middle of an import process, we don't have to react to these object changes
|
|
1249
1249
|
return returnAction;
|
|
1250
1250
|
}
|
|
1251
|
-
const { adaptableId, teamSharingOptions } = adaptable.adaptableOptions;
|
|
1252
1251
|
const { ChangedAdaptableObject, UserName } = actionTyped;
|
|
1253
|
-
|
|
1254
|
-
.getSharedEntities(
|
|
1252
|
+
adaptable.api.teamSharingApi
|
|
1253
|
+
.getSharedEntities()
|
|
1255
1254
|
.then((sharedEntities) => {
|
|
1256
1255
|
// check if remote server has a newer revision
|
|
1257
1256
|
const [localRevision, remoteRevision] = adaptable.api.internalApi
|
|
@@ -1266,7 +1265,7 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
|
|
|
1266
1265
|
.updateActiveSharedEntity(ChangedAdaptableObject, UserName, sharedEntities);
|
|
1267
1266
|
middlewareAPI.dispatch(TeamSharingRedux.TeamSharingLinkItem(...newActiveEntities));
|
|
1268
1267
|
middlewareAPI.dispatch(TeamSharingRedux.TeamSharingSet(updatedSharedEntities));
|
|
1269
|
-
return
|
|
1268
|
+
return adaptable.api.teamSharingApi.setSharedEntities(updatedSharedEntities);
|
|
1270
1269
|
})
|
|
1271
1270
|
.catch((error) => {
|
|
1272
1271
|
LoggingHelper_1.LogAdaptableError('TeamSharing update active item error : ' + error.message);
|
|
@@ -1281,9 +1280,8 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
|
|
|
1281
1280
|
}
|
|
1282
1281
|
case TeamSharingRedux.TEAMSHARING_CHECK_FOR_UPDATES: {
|
|
1283
1282
|
const returnAction = next(action);
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
.getSharedEntities(adaptableId)
|
|
1283
|
+
adaptable.api.teamSharingApi
|
|
1284
|
+
.getSharedEntities()
|
|
1287
1285
|
.then((sharedEntities) => {
|
|
1288
1286
|
// update local state
|
|
1289
1287
|
middlewareAPI.dispatch(TeamSharingRedux.TeamSharingSet(sharedEntities));
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { AdaptableApi } from '../Api/AdaptableApi';
|
|
3
3
|
import { AlertDefinition } from '../PredefinedConfig/AlertState';
|
|
4
|
+
import { AdaptableAlert } from '../PredefinedConfig/Common/AdaptableAlert';
|
|
4
5
|
import { AdaptableMenuItem, ContextMenuContext } from '../PredefinedConfig/Common/Menu';
|
|
5
6
|
import { TeamSharingImportInfo } from '../PredefinedConfig/TeamSharingState';
|
|
6
7
|
import * as AlertRedux from '../Redux/ActionsReducers/AlertRedux';
|
|
8
|
+
import * as SystemRedux from '../Redux/ActionsReducers/SystemRedux';
|
|
7
9
|
import { AdaptableModuleBase } from './AdaptableModuleBase';
|
|
8
10
|
import { AdaptableObjectView, IModule } from './Interface/IModule';
|
|
9
11
|
import { AdaptableObject } from '../PredefinedConfig/Common/AdaptableObject';
|
|
@@ -26,12 +28,21 @@ export declare class AlertModule extends AdaptableModuleBase implements IModule
|
|
|
26
28
|
private isAlertPredicateTriggered;
|
|
27
29
|
private isAlertDefinitionForRowChangeEvent;
|
|
28
30
|
getTeamSharingAction(): TeamSharingImportInfo<AlertDefinition>;
|
|
31
|
+
toViewCompact(alert: AdaptableAlert): {
|
|
32
|
+
item: {
|
|
33
|
+
name: string;
|
|
34
|
+
values: string[];
|
|
35
|
+
};
|
|
36
|
+
abObject: AdaptableAlert;
|
|
37
|
+
};
|
|
29
38
|
toView(alert: AlertDefinition): AdaptableObjectView;
|
|
30
39
|
toViewAll(): AdaptableObjectView[];
|
|
31
40
|
getViewProperties(): {
|
|
32
41
|
getDeleteAction: (alertDefinition: AlertDefinition) => AlertRedux.AlertDefinitionDeleteAction;
|
|
33
42
|
getSuspendAction: (alertDefinition: AlertDefinition) => AlertRedux.AlertDefinitionSuspendAction;
|
|
34
43
|
getUnSuspendAction: (alertDefinition: AlertDefinition) => AlertRedux.AlertDefinitionUnSuspendAction;
|
|
44
|
+
getCompactDeleteAction: (alert: AdaptableAlert) => SystemRedux.SystemAlertDeleteAction;
|
|
45
|
+
getDeleteAllAction: () => SystemRedux.SystemAlertDeleteAllAction;
|
|
35
46
|
emptyView: import("react").FunctionComponent<{
|
|
36
47
|
module: IModule;
|
|
37
48
|
}>;
|
|
@@ -244,6 +244,15 @@ class AlertModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
244
244
|
EditAction: AlertRedux.AlertDefinitionEdit,
|
|
245
245
|
};
|
|
246
246
|
}
|
|
247
|
+
toViewCompact(alert) {
|
|
248
|
+
return {
|
|
249
|
+
item: {
|
|
250
|
+
name: alert.header,
|
|
251
|
+
values: [alert.message],
|
|
252
|
+
},
|
|
253
|
+
abObject: alert,
|
|
254
|
+
};
|
|
255
|
+
}
|
|
247
256
|
toView(alert) {
|
|
248
257
|
return {
|
|
249
258
|
items: [
|
|
@@ -266,6 +275,11 @@ class AlertModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
266
275
|
getDeleteAction: AlertRedux.AlertDefinitionDelete,
|
|
267
276
|
getSuspendAction: AlertRedux.AlertDefinitionSuspend,
|
|
268
277
|
getUnSuspendAction: AlertRedux.AlertDefinitionUnSuspend,
|
|
278
|
+
getCompactDeleteAction: SystemRedux.SystemAlertDelete,
|
|
279
|
+
getDeleteAllAction: () => {
|
|
280
|
+
const alerts = this.api.internalApi.getState().System.AdaptableAlerts;
|
|
281
|
+
return SystemRedux.SystemAlertDeleteAll(alerts);
|
|
282
|
+
},
|
|
269
283
|
emptyView: AlertEmptyView_1.AlertEmptyView,
|
|
270
284
|
getEditWizard: () => AlertWizard_1.AlertWizard,
|
|
271
285
|
getStatusBarPanelProps: () => {
|
|
@@ -6,10 +6,13 @@ import { AdaptableMenuItem, ContextMenuContext } from '../PredefinedConfig/Commo
|
|
|
6
6
|
import { AdaptableApi } from '../Api/AdaptableApi';
|
|
7
7
|
import { AccessLevel } from '../PredefinedConfig/Common/Entitlement';
|
|
8
8
|
import { CellSummmary } from '../PredefinedConfig/Common/CellSummary';
|
|
9
|
+
import { AdaptableColumn } from '../PredefinedConfig/Common/AdaptableColumn';
|
|
9
10
|
export declare class CellSummaryModule extends AdaptableModuleBase implements ICellSummaryModule {
|
|
10
11
|
constructor(api: AdaptableApi);
|
|
11
12
|
getViewAccessLevel(): AccessLevel;
|
|
13
|
+
addColumnMenuItems(column: AdaptableColumn): AdaptableMenuItem[] | undefined;
|
|
12
14
|
addContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem[] | undefined;
|
|
15
|
+
private createCellSummaryMenuItem;
|
|
13
16
|
createCellSummary(selectedCellInfo: SelectedCellInfo): CellSummmary;
|
|
14
17
|
getViewProperties(): {
|
|
15
18
|
getStatusBarPanelProps(): {
|
|
@@ -15,22 +15,36 @@ class CellSummaryModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
15
15
|
getViewAccessLevel() {
|
|
16
16
|
return 'Full';
|
|
17
17
|
}
|
|
18
|
+
addColumnMenuItems(column) {
|
|
19
|
+
if (!this.isModuleAvailable()) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
return [
|
|
23
|
+
this.createCellSummaryMenuItem({
|
|
24
|
+
source: 'ColumnMenu',
|
|
25
|
+
column,
|
|
26
|
+
}),
|
|
27
|
+
];
|
|
28
|
+
}
|
|
18
29
|
addContextMenuItems(menuContext) {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
let popUpParams = {
|
|
22
|
-
source: 'ContextMenu',
|
|
23
|
-
};
|
|
24
|
-
if (menuContext.adaptableColumn && menuContext.isSelectedCell) {
|
|
25
|
-
menuItemShowPopup = this.createMainMenuItemShowPopup({
|
|
26
|
-
Label: 'See Cell Summary',
|
|
27
|
-
ComponentName: this.moduleInfo.Popup,
|
|
28
|
-
Icon: this.moduleInfo.Glyph,
|
|
29
|
-
PopupParams: popUpParams,
|
|
30
|
-
});
|
|
31
|
-
}
|
|
30
|
+
if (!this.isModuleAvailable()) {
|
|
31
|
+
return;
|
|
32
32
|
}
|
|
33
|
-
|
|
33
|
+
if (menuContext.adaptableColumn && menuContext.isSelectedCell) {
|
|
34
|
+
return [
|
|
35
|
+
this.createCellSummaryMenuItem({
|
|
36
|
+
source: 'ContextMenu',
|
|
37
|
+
}),
|
|
38
|
+
];
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
createCellSummaryMenuItem(popUpParams) {
|
|
42
|
+
return this.createMainMenuItemShowPopup({
|
|
43
|
+
Label: 'See Cell Summary',
|
|
44
|
+
ComponentName: this.moduleInfo.Popup,
|
|
45
|
+
Icon: this.moduleInfo.Glyph,
|
|
46
|
+
PopupParams: popUpParams,
|
|
47
|
+
});
|
|
34
48
|
}
|
|
35
49
|
createCellSummary(selectedCellInfo) {
|
|
36
50
|
let selectedCellSummary;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { AdaptableModuleBase } from './AdaptableModuleBase';
|
|
3
|
+
import { AdaptableObjectView, IModule } from './Interface/IModule';
|
|
4
|
+
import { AdaptableApi } from '../Api/AdaptableApi';
|
|
5
|
+
import { AdaptableObject } from '../PredefinedConfig/Common/AdaptableObject';
|
|
6
|
+
import { DataSet } from '../AdaptableOptions/GeneralOptions';
|
|
7
|
+
export declare class DataSetModule extends AdaptableModuleBase implements IModule {
|
|
8
|
+
constructor(api: AdaptableApi);
|
|
9
|
+
handleAdaptableReady(): void;
|
|
10
|
+
getModuleAdaptableObjects(): AdaptableObject[];
|
|
11
|
+
hasNamedQueryReferences(): boolean;
|
|
12
|
+
toView(dataSet: DataSet): AdaptableObjectView;
|
|
13
|
+
toViewAll(): AdaptableObjectView[];
|
|
14
|
+
getViewProperties(): {
|
|
15
|
+
actions: import("react").FunctionComponent<{
|
|
16
|
+
data: DataSet;
|
|
17
|
+
id?: string;
|
|
18
|
+
accessLevel: import("../types").AccessLevel;
|
|
19
|
+
}>[];
|
|
20
|
+
getStatusBarPanelProps: () => {
|
|
21
|
+
content: string;
|
|
22
|
+
popover: import("react").FunctionComponent<{}>;
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DataSetModule = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const AdaptableModuleBase_1 = require("./AdaptableModuleBase");
|
|
6
|
+
const ModuleConstants = tslib_1.__importStar(require("../Utilities/Constants/ModuleConstants"));
|
|
7
|
+
const getObjectTagsViewItems_1 = require("./Utilities/getObjectTagsViewItems");
|
|
8
|
+
const DataSetStatusPanelPopover_1 = require("../View/DataSet/DataSetStatusPanelPopover");
|
|
9
|
+
const Uuid_1 = require("../PredefinedConfig/Uuid");
|
|
10
|
+
const DataSetSelector_1 = require("../View/DataSet/DataSetSelector");
|
|
11
|
+
class DataSetModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
12
|
+
constructor(api) {
|
|
13
|
+
super(ModuleConstants.DataSetModuleId, 'Data Set', 'data-set', 'DataSetPopup', 'Update the entire data source in AdapTable using pre-populated data sets', api);
|
|
14
|
+
}
|
|
15
|
+
handleAdaptableReady() {
|
|
16
|
+
this.api.dataSetApi.getAllDataSets().forEach((ds) => {
|
|
17
|
+
if (!ds.Uuid) {
|
|
18
|
+
ds.Uuid = Uuid_1.createUuid();
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
getModuleAdaptableObjects() {
|
|
23
|
+
var _a, _b;
|
|
24
|
+
return (_b = (_a = this.api.internalApi.getAdaptableOptions().generalOptions) === null || _a === void 0 ? void 0 : _a.dataSets) !== null && _b !== void 0 ? _b : [];
|
|
25
|
+
}
|
|
26
|
+
hasNamedQueryReferences() {
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
toView(dataSet) {
|
|
30
|
+
var _a;
|
|
31
|
+
return {
|
|
32
|
+
items: [
|
|
33
|
+
{
|
|
34
|
+
name: 'Settings',
|
|
35
|
+
label: 'Name',
|
|
36
|
+
values: [dataSet.name],
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
name: 'Settings',
|
|
40
|
+
label: 'Description',
|
|
41
|
+
values: [(_a = dataSet.description) !== null && _a !== void 0 ? _a : 'Not Specified'],
|
|
42
|
+
},
|
|
43
|
+
getObjectTagsViewItems_1.getObjectTagsViewItems(dataSet, this.api),
|
|
44
|
+
],
|
|
45
|
+
abObject: dataSet,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
toViewAll() {
|
|
49
|
+
return this.getModuleAdaptableObjects().map((dataSet) => this.toView(dataSet));
|
|
50
|
+
}
|
|
51
|
+
getViewProperties() {
|
|
52
|
+
return {
|
|
53
|
+
actions: [DataSetSelector_1.DataSetSelector],
|
|
54
|
+
getStatusBarPanelProps: () => {
|
|
55
|
+
var _a, _b;
|
|
56
|
+
const content = (_b = (_a = this.api.dataSetApi.getCurrentDataSet()) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : this.moduleInfo.FriendlyName;
|
|
57
|
+
return {
|
|
58
|
+
content: content,
|
|
59
|
+
popover: DataSetStatusPanelPopover_1.DataSetStatusPanelPopover,
|
|
60
|
+
};
|
|
61
|
+
},
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
exports.DataSetModule = DataSetModule;
|
|
@@ -107,7 +107,12 @@ class ExportModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
107
107
|
}));
|
|
108
108
|
}
|
|
109
109
|
else if (customDestination) {
|
|
110
|
-
|
|
110
|
+
const reportContext = {
|
|
111
|
+
report: report,
|
|
112
|
+
reportData: this.api.internalApi.getReportService().getReportData(report),
|
|
113
|
+
adaptableApi: this.api,
|
|
114
|
+
};
|
|
115
|
+
customDestination.onExport(reportContext);
|
|
111
116
|
}
|
|
112
117
|
}
|
|
113
118
|
else {
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
import { AdaptableModuleBase } from './AdaptableModuleBase';
|
|
3
3
|
import { AdaptableColumn } from '../PredefinedConfig/Common/AdaptableColumn';
|
|
4
4
|
import { AdaptableMenuItem, ContextMenuContext } from '../PredefinedConfig/Common/Menu';
|
|
5
|
-
import * as
|
|
5
|
+
import * as LayoutRedux from '../Redux/ActionsReducers/LayoutRedux';
|
|
6
6
|
import { TeamSharingImportInfo } from '../PredefinedConfig/TeamSharingState';
|
|
7
|
-
import {
|
|
8
|
-
import { AdaptableObjectView, IModule } from './Interface/IModule';
|
|
7
|
+
import { AdaptableObjectCompactView, AdaptableObjectView, IModule } from './Interface/IModule';
|
|
9
8
|
import { AdaptableApi } from '../Api/AdaptableApi';
|
|
10
9
|
import { AdaptableObject } from '../PredefinedConfig/Common/AdaptableObject';
|
|
10
|
+
import { ColumnFilter } from '../types';
|
|
11
11
|
export declare class FilterModule extends AdaptableModuleBase implements IModule {
|
|
12
12
|
constructor(api: AdaptableApi);
|
|
13
13
|
getModuleAdaptableObjects(): AdaptableObject[];
|
|
@@ -17,17 +17,13 @@ export declare class FilterModule extends AdaptableModuleBase implements IModule
|
|
|
17
17
|
addContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem[] | undefined;
|
|
18
18
|
addColumnMenuItems(column: AdaptableColumn): AdaptableMenuItem[] | undefined;
|
|
19
19
|
getTeamSharingAction(): TeamSharingImportInfo<ColumnFilter>;
|
|
20
|
-
toViewCompact(filter: ColumnFilter):
|
|
21
|
-
item: {
|
|
22
|
-
name: string;
|
|
23
|
-
values: string[];
|
|
24
|
-
};
|
|
25
|
-
abObject: ColumnFilter;
|
|
26
|
-
};
|
|
20
|
+
toViewCompact(filter: ColumnFilter): AdaptableObjectCompactView;
|
|
27
21
|
toView(filter: ColumnFilter): AdaptableObjectView;
|
|
28
22
|
toViewAll(): AdaptableObjectView[];
|
|
29
23
|
getViewProperties(): {
|
|
30
|
-
getDeleteAction: (columnFilter: ColumnFilter) =>
|
|
24
|
+
getDeleteAction: (columnFilter: ColumnFilter) => LayoutRedux.LayoutFilterClearAction;
|
|
25
|
+
getCompactDeleteAction: (columnFilter: ColumnFilter) => LayoutRedux.LayoutFilterClearAction;
|
|
26
|
+
getDeleteAllAction: () => LayoutRedux.LayoutFilterClearAllAction;
|
|
31
27
|
emptyView: string;
|
|
32
28
|
getStatusBarPanelProps(): {
|
|
33
29
|
content: string;
|
|
@@ -5,7 +5,8 @@ const tslib_1 = require("tslib");
|
|
|
5
5
|
const AdaptableModuleBase_1 = require("./AdaptableModuleBase");
|
|
6
6
|
const ModuleConstants = tslib_1.__importStar(require("../Utilities/Constants/ModuleConstants"));
|
|
7
7
|
const ArrayExtensions_1 = tslib_1.__importDefault(require("../Utilities/Extensions/ArrayExtensions"));
|
|
8
|
-
const
|
|
8
|
+
const LayoutRedux = tslib_1.__importStar(require("../Redux/ActionsReducers/LayoutRedux"));
|
|
9
|
+
const SystemRedux = tslib_1.__importStar(require("../Redux/ActionsReducers/SystemRedux"));
|
|
9
10
|
const LoggingHelper_1 = require("../Utilities/Helpers/LoggingHelper");
|
|
10
11
|
const FilterStatusBarSubPanelPopover_1 = require("../View/Filter/FilterStatusBarSubPanelPopover");
|
|
11
12
|
class FilterModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
@@ -13,7 +14,7 @@ class FilterModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
13
14
|
super(ModuleConstants.FilterModuleId, 'Filter', 'column-filter', 'FilterPopup', 'Advanced filtering capability allows users to see precisely the data they want', api);
|
|
14
15
|
}
|
|
15
16
|
getModuleAdaptableObjects() {
|
|
16
|
-
return this.api.
|
|
17
|
+
return this.api.layoutApi.getAllColumnFilter();
|
|
17
18
|
}
|
|
18
19
|
getExplicitlyReferencedColumnIds(columnFilter) {
|
|
19
20
|
return [columnFilter.ColumnId];
|
|
@@ -22,7 +23,10 @@ class FilterModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
22
23
|
return false;
|
|
23
24
|
}
|
|
24
25
|
handleAdaptableReady() {
|
|
25
|
-
|
|
26
|
+
if (this.api.internalApi.getAdaptableOptions().filterOptions.showQuickFilter == false) {
|
|
27
|
+
this.api.filterApi.hideQuickFilterBar();
|
|
28
|
+
}
|
|
29
|
+
const columnFilters = this.api.layoutApi.getAllColumnFilter();
|
|
26
30
|
columnFilters.forEach((cf) => {
|
|
27
31
|
if (!this.api.columnApi.doesColumnExist(cf.ColumnId)) {
|
|
28
32
|
LoggingHelper_1.LogAdaptableError('Column Filter contains missing column: ' + cf.ColumnId);
|
|
@@ -43,7 +47,7 @@ class FilterModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
43
47
|
})
|
|
44
48
|
: [menuContext.gridCell.primaryKeyValue];
|
|
45
49
|
let clickFunction = () => {
|
|
46
|
-
this.api.
|
|
50
|
+
this.api.layoutApi.createColumnFilterForCell(menuContext.adaptableColumn.columnId, pkValues);
|
|
47
51
|
};
|
|
48
52
|
menuItemClickFunction = this.createColumnMenuItemClickFunction(isMultiple ? 'Filter on Cell Values' : 'Filter on Cell Value', this.moduleInfo.Glyph, clickFunction);
|
|
49
53
|
}
|
|
@@ -55,15 +59,17 @@ class FilterModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
55
59
|
if (column && this.api.gridApi.isQuickFilterAvailable()) {
|
|
56
60
|
const isFilterVisible = this.api.filterApi.isQuickFilterVisible();
|
|
57
61
|
if (this.isModuleEditable() && this.api.columnApi.usesAdaptableQuickFilter(column.columnId)) {
|
|
58
|
-
baseMenuItems.push(this.createColumnMenuItemReduxAction(isFilterVisible ? 'Hide Quick Filter Bar' : 'Show Quick Filter Bar', isFilterVisible ? 'unchecked' : 'check', isFilterVisible
|
|
62
|
+
baseMenuItems.push(this.createColumnMenuItemReduxAction(isFilterVisible ? 'Hide Quick Filter Bar' : 'Show Quick Filter Bar', isFilterVisible ? 'unchecked' : 'check', isFilterVisible
|
|
63
|
+
? SystemRedux.SystemQuickFilterBarHide()
|
|
64
|
+
: SystemRedux.SystemQuickFilterBarShow()));
|
|
59
65
|
}
|
|
60
66
|
}
|
|
61
67
|
if (column && this.canCreateColumnMenuItem(column, 'ReadOnly', 'filter')) {
|
|
62
|
-
let existingColumnFilter = this.api.
|
|
68
|
+
let existingColumnFilter = this.api.layoutApi
|
|
63
69
|
.getAllColumnFilter()
|
|
64
70
|
.find((x) => x.ColumnId == column.columnId);
|
|
65
71
|
if (existingColumnFilter) {
|
|
66
|
-
baseMenuItems.push(this.createColumnMenuItemReduxAction('Clear Filter', this.moduleInfo.Glyph,
|
|
72
|
+
baseMenuItems.push(this.createColumnMenuItemReduxAction('Clear Filter', this.moduleInfo.Glyph, LayoutRedux.LayoutColumnFilterClear(existingColumnFilter)));
|
|
67
73
|
}
|
|
68
74
|
}
|
|
69
75
|
if (ArrayExtensions_1.default.IsNotNullOrEmpty(baseMenuItems)) {
|
|
@@ -72,16 +78,17 @@ class FilterModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
72
78
|
}
|
|
73
79
|
getTeamSharingAction() {
|
|
74
80
|
return {
|
|
75
|
-
ModuleEntities: this.api.
|
|
76
|
-
AddAction:
|
|
77
|
-
EditAction:
|
|
81
|
+
ModuleEntities: this.api.layoutApi.getAllColumnFilter(),
|
|
82
|
+
AddAction: LayoutRedux.LayoutColumnFilterAdd,
|
|
83
|
+
EditAction: LayoutRedux.LayoutColumnFilterEdit,
|
|
78
84
|
};
|
|
79
85
|
}
|
|
80
86
|
toViewCompact(filter) {
|
|
81
87
|
return {
|
|
82
88
|
item: {
|
|
83
|
-
name
|
|
84
|
-
|
|
89
|
+
// we dont really need the name here - is there way to return a single vlaue that takes up the whole line?
|
|
90
|
+
// name: this.api.columnApi.getFriendlyNameFromColumnId(filter.ColumnId),
|
|
91
|
+
values: [this.api.layoutApi.columnFilterToString(filter)],
|
|
85
92
|
},
|
|
86
93
|
abObject: filter,
|
|
87
94
|
};
|
|
@@ -95,7 +102,7 @@ class FilterModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
95
102
|
},
|
|
96
103
|
{
|
|
97
104
|
name: 'Filter',
|
|
98
|
-
values: [this.api.
|
|
105
|
+
values: [this.api.layoutApi.columnFilterToString(filter)],
|
|
99
106
|
},
|
|
100
107
|
],
|
|
101
108
|
abObject: filter,
|
|
@@ -107,7 +114,9 @@ class FilterModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
107
114
|
getViewProperties() {
|
|
108
115
|
const api = this.api;
|
|
109
116
|
return {
|
|
110
|
-
getDeleteAction:
|
|
117
|
+
getDeleteAction: LayoutRedux.LayoutColumnFilterClear,
|
|
118
|
+
getCompactDeleteAction: LayoutRedux.LayoutColumnFilterClear,
|
|
119
|
+
getDeleteAllAction: LayoutRedux.LayoutColumnFilterClearAll,
|
|
111
120
|
emptyView: `
|
|
112
121
|
There are currently no column filters applied. \n
|
|
113
122
|
|
|
@@ -115,7 +124,7 @@ class FilterModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
115
124
|
`,
|
|
116
125
|
getStatusBarPanelProps() {
|
|
117
126
|
let text;
|
|
118
|
-
const filters = api.
|
|
127
|
+
const filters = api.layoutApi.getAllColumnFilter();
|
|
119
128
|
if (filters.length === 0) {
|
|
120
129
|
text = '0 Filters';
|
|
121
130
|
}
|
|
@@ -18,7 +18,7 @@ export declare class FlashingCellModule extends AdaptableModuleBase implements I
|
|
|
18
18
|
getReferencedNamedQueryNames(alertDefinition: FlashingCellDefinition): string[];
|
|
19
19
|
addColumnMenuItems(column: AdaptableColumn): AdaptableMenuItem[] | undefined;
|
|
20
20
|
addContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem[] | undefined;
|
|
21
|
-
protected
|
|
21
|
+
protected handleCellDataChanged(cellDataChangedInfo: CellDataChangedInfo): void;
|
|
22
22
|
private showFlashingCellsForDefinitions;
|
|
23
23
|
private isFlashingTargetOnlyAggChange;
|
|
24
24
|
private getFlashingCellDefinitionsForDataChange;
|
|
@@ -38,7 +38,7 @@ class FlashingCellModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
38
38
|
return;
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
|
-
this.
|
|
41
|
+
this.handleCellDataChanged(cellDataChangedInfo);
|
|
42
42
|
});
|
|
43
43
|
}
|
|
44
44
|
getModuleAdaptableObjects(config) {
|
|
@@ -104,7 +104,7 @@ class FlashingCellModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
104
104
|
}
|
|
105
105
|
return items;
|
|
106
106
|
}
|
|
107
|
-
|
|
107
|
+
handleCellDataChanged(cellDataChangedInfo) {
|
|
108
108
|
const flashingCellDefinitions = this.getFlashingCellDefinitionsForDataChange(cellDataChangedInfo);
|
|
109
109
|
if (ArrayExtensions_1.ArrayExtensions.IsNotNullOrEmpty(flashingCellDefinitions)) {
|
|
110
110
|
this.showFlashingCellsForDefinitions(cellDataChangedInfo, flashingCellDefinitions);
|
|
@@ -29,7 +29,7 @@ export interface AdaptableObjectItemView {
|
|
|
29
29
|
* Should match property in wizard.
|
|
30
30
|
* Used to Link to wizard edit step.
|
|
31
31
|
*/
|
|
32
|
-
name
|
|
32
|
+
name?: string;
|
|
33
33
|
/**
|
|
34
34
|
* Custom name for the property name
|
|
35
35
|
*/
|
|
@@ -78,8 +78,10 @@ export interface AdaptableModuleView {
|
|
|
78
78
|
actions?: AdaptableModuleViewAction[];
|
|
79
79
|
onOpenEditPopup?: (abObject?: AdaptableObject) => void;
|
|
80
80
|
getDeleteAction?: (abObject: AdaptableObject) => Redux.Action;
|
|
81
|
+
getCompactDeleteAction?: (abObject: AdaptableObject) => Redux.Action;
|
|
81
82
|
getSuspendAction?: (abObject: AdaptableObject) => Redux.Action;
|
|
82
83
|
getUnSuspendAction?: (abObject: AdaptableObject) => Redux.Action;
|
|
84
|
+
getDeleteAllAction?: () => Redux.Action;
|
|
83
85
|
emptyView?: React.FunctionComponent<{
|
|
84
86
|
module: IModule;
|
|
85
87
|
}> | string;
|