@adaptabletools/adaptable 18.0.0-canary.4 → 18.0.0-canary.5
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/agGrid.d.ts +4 -21
- package/agGrid.js +9 -26
- package/base.css +1 -1
- package/base.css.map +1 -1
- package/index.css +74 -68
- package/index.css.map +1 -1
- package/package.json +3 -4
- package/src/AdaptableInterfaces/IAdaptable.d.ts +55 -109
- package/src/AdaptableOptions/AdaptableOptions.d.ts +6 -0
- package/src/AdaptableOptions/UserInterfaceOptions.d.ts +17 -0
- package/src/Api/AdaptableApi.d.ts +5 -0
- package/src/Api/ColumnFilterApi.d.ts +0 -5
- package/src/Api/Events/AdaptableReady.d.ts +3 -3
- package/src/Api/Events/GridDataChanged.d.ts +4 -4
- package/src/Api/GridApi.d.ts +14 -13
- package/src/Api/Implementation/ActionColumnApiImpl.d.ts +2 -0
- package/src/Api/Implementation/ActionColumnApiImpl.js +33 -0
- package/src/Api/Implementation/AdaptableApiImpl.d.ts +1 -0
- package/src/Api/Implementation/AdaptableApiImpl.js +3 -0
- package/src/Api/Implementation/ApiBase.d.ts +2 -1
- package/src/Api/Implementation/ApiBase.js +3 -0
- package/src/Api/Implementation/ColumnFilterApiImpl.d.ts +0 -1
- package/src/Api/Implementation/ColumnFilterApiImpl.js +0 -10
- package/src/Api/Implementation/CommentsApiImpl.js +2 -1
- package/src/Api/Implementation/ConfigApiImpl.js +8 -3
- package/src/Api/Implementation/GridApiImpl.d.ts +3 -3
- package/src/Api/Implementation/GridApiImpl.js +20 -14
- package/src/Api/Implementation/StatusBarApiImpl.d.ts +0 -1
- package/src/Api/Implementation/StatusBarApiImpl.js +0 -3
- package/src/Api/Implementation/ToolPanelApiImpl.js +6 -6
- package/src/Api/Internal/ActionRowInternalApi.d.ts +5 -1
- package/src/Api/Internal/ActionRowInternalApi.js +106 -0
- package/src/Api/Internal/AdaptableInternalApi.d.ts +3 -4
- package/src/Api/Internal/AdaptableInternalApi.js +10 -8
- package/src/Api/Internal/CalculatedColumnInternalApi.d.ts +2 -0
- package/src/Api/Internal/CalculatedColumnInternalApi.js +70 -0
- package/src/Api/Internal/ColumnFilterInternalApi.d.ts +1 -0
- package/src/Api/Internal/ColumnFilterInternalApi.js +11 -1
- package/src/Api/Internal/ColumnInternalApi.d.ts +4 -1
- package/src/Api/Internal/ColumnInternalApi.js +12 -0
- package/src/Api/Internal/CustomSortInternalApi.d.ts +3 -2
- package/src/Api/Internal/CustomSortInternalApi.js +32 -1
- package/src/Api/Internal/DataSetInternalApi.js +1 -1
- package/src/Api/Internal/FreeTextColumnInternalApi.d.ts +2 -0
- package/src/Api/Internal/FreeTextColumnInternalApi.js +59 -0
- package/src/Api/Internal/GridFilterInternalApi.js +1 -1
- package/src/Api/Internal/GridInternalApi.d.ts +21 -3
- package/src/Api/Internal/GridInternalApi.js +126 -7
- package/src/Api/Internal/TeamSharingInternalApi.js +1 -1
- package/src/EnvVars.d.ts +3 -0
- package/src/EnvVars.js +4 -0
- package/src/PredefinedConfig/Common/AggregationColumns.d.ts +1 -0
- package/src/PredefinedConfig/Common/AggregationColumns.js +3 -0
- package/src/Redux/Store/AdaptableStore.d.ts +4 -6
- package/src/Redux/Store/AdaptableStore.js +22 -50
- package/src/Redux/Store/Interface/IAdaptableStore.d.ts +7 -1
- package/src/Strategy/AdaptableModuleBase.d.ts +2 -3
- package/src/Strategy/AdaptableModuleBase.js +4 -7
- package/src/Strategy/AlertModule.d.ts +1 -2
- package/src/Strategy/AlertModule.js +2 -55
- package/src/Strategy/CalculatedColumnModule.d.ts +2 -3
- package/src/Strategy/CalculatedColumnModule.js +5 -25
- package/src/Strategy/ChartingModule.d.ts +0 -1
- package/src/Strategy/ChartingModule.js +0 -21
- package/src/Strategy/ColumnFilterModule.d.ts +1 -2
- package/src/Strategy/ColumnFilterModule.js +1 -64
- package/src/Strategy/CommentsModule.d.ts +1 -0
- package/src/Strategy/CommentsModule.js +2 -1
- package/src/Strategy/CustomSortModule.js +1 -1
- package/src/Strategy/DashboardModule.d.ts +1 -2
- package/src/Strategy/DashboardModule.js +1 -8
- package/src/Strategy/DataChangeHistoryModule.d.ts +1 -0
- package/src/Strategy/DataChangeHistoryModule.js +3 -1
- package/src/Strategy/DataSetModule.d.ts +1 -1
- package/src/Strategy/DataSetModule.js +1 -1
- package/src/Strategy/FlashingCellModule.d.ts +1 -2
- package/src/Strategy/FlashingCellModule.js +2 -15
- package/src/Strategy/FormatColumnModule.d.ts +0 -2
- package/src/Strategy/FormatColumnModule.js +0 -47
- package/src/Strategy/FreeTextColumnModule.d.ts +0 -1
- package/src/Strategy/FreeTextColumnModule.js +0 -30
- package/src/Strategy/GridFilterModule.d.ts +0 -1
- package/src/Strategy/GridFilterModule.js +0 -37
- package/src/Strategy/Interface/IModule.d.ts +0 -1
- package/src/Strategy/LayoutModule.d.ts +1 -3
- package/src/Strategy/LayoutModule.js +6 -50
- package/src/Strategy/NamedQueryModule.d.ts +0 -1
- package/src/Strategy/NamedQueryModule.js +0 -19
- package/src/Strategy/PlusMinusModule.d.ts +1 -1
- package/src/Strategy/PlusMinusModule.js +1 -1
- package/src/Strategy/ScheduleModule.d.ts +1 -1
- package/src/Strategy/ScheduleModule.js +1 -1
- package/src/Strategy/ShortcutModule.d.ts +1 -1
- package/src/Strategy/ShortcutModule.js +1 -1
- package/src/Strategy/StyledColumnModule.d.ts +0 -1
- package/src/Strategy/StyledColumnModule.js +0 -21
- package/src/Strategy/TeamSharingModule.d.ts +1 -0
- package/src/Strategy/TeamSharingModule.js +5 -5
- package/src/Strategy/ToolPanelModule.d.ts +0 -1
- package/src/Strategy/ToolPanelModule.js +0 -23
- package/src/Utilities/Constants/GeneralConstants.d.ts +1 -0
- package/src/Utilities/Constants/GeneralConstants.js +1 -0
- package/src/Utilities/Helpers/AdaptableHelper.d.ts +0 -3
- package/src/Utilities/Helpers/AdaptableHelper.js +0 -58
- package/src/Utilities/Services/CellPopupService.js +0 -1
- package/src/Utilities/Services/LicenseService/index.d.ts +3 -0
- package/src/Utilities/Services/LicenseService/index.js +10 -3
- package/src/Utilities/Services/MetamodelService.d.ts +1 -1
- package/src/Utilities/Services/MetamodelService.js +6 -3
- package/src/Utilities/Services/RowEditService.d.ts +3 -2
- package/src/Utilities/Services/RowEditService.js +3 -1
- package/src/View/AdaptableView.js +0 -2
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationWizard.js +2 -2
- package/src/View/CalculatedColumn/utils.d.ts +1 -1
- package/src/View/CellSummary/CellSummaryPopup.js +1 -1
- package/src/View/Components/Popups/AdaptableLoadingScreen.d.ts +6 -5
- package/src/View/Components/Popups/AdaptableLoadingScreen.js +19 -9
- package/src/View/CustomSort/CustomSortSummary.js +1 -1
- package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +1 -1
- package/src/View/GridFilter/GridFilterViewPanel.js +6 -2
- package/src/View/GridInfo/GridInfoPopup/GridInfoPopup.js +2 -3
- package/src/View/Layout/Wizard/LayoutWizard.js +1 -1
- package/src/agGrid/ActionColumnRenderer.js +4 -4
- package/src/agGrid/Adaptable.d.ts +3 -455
- package/src/agGrid/Adaptable.js +8 -5292
- package/src/agGrid/AdaptableAgGrid.d.ts +336 -0
- package/src/agGrid/AdaptableAgGrid.js +3780 -0
- package/src/agGrid/AdaptableLogger.js +77 -11
- package/src/agGrid/AgGridAdapter.d.ts +54 -0
- package/src/agGrid/AgGridAdapter.js +549 -0
- package/src/agGrid/AgGridColumnAdapter.d.ts +56 -0
- package/src/agGrid/AgGridColumnAdapter.js +813 -0
- package/src/agGrid/AgGridMenuAdapter.d.ts +28 -0
- package/src/agGrid/AgGridMenuAdapter.js +271 -0
- package/src/agGrid/AgGridOptionsService.d.ts +11 -0
- package/src/agGrid/AgGridOptionsService.js +50 -0
- package/src/agGrid/BadgeRenderer.js +1 -1
- package/src/agGrid/CheckboxRenderer.js +1 -1
- package/src/agGrid/FilterWrapper.d.ts +2 -2
- package/src/agGrid/FilterWrapper.js +1 -1
- package/src/agGrid/attachAddaptableColumnTypes.d.ts +12 -12
- package/src/agGrid/defaultAdaptableOptions.d.ts +3 -0
- package/src/{Utilities/Defaults/DefaultAdaptableOptions.js → agGrid/defaultAdaptableOptions.js} +69 -8
- package/src/agGrid/editors/AdaptableDateEditor/index.js +2 -2
- package/src/agGrid/editors/AdaptableNumberEditor/index.js +2 -2
- package/src/components/Datepicker/index.d.ts +1 -1
- package/src/components/InfiniteTable/index.js +2 -2
- package/src/components/Modal/index.d.ts +1 -0
- package/src/components/Modal/index.js +4 -3
- package/src/env.js +2 -2
- package/src/metamodel/adaptable.metamodel.d.ts +9 -9
- package/src/metamodel/adaptable.metamodel.js +7 -0
- package/src/migration/AdaptableUpgradeHelper.d.ts +38 -0
- package/src/migration/AdaptableUpgradeHelper.js +48 -0
- package/src/migration/VersionUpgrade.d.ts +8 -0
- package/src/migration/VersionUpgrade.js +11 -0
- package/src/migration/VersionUpgrade17.d.ts +18 -0
- package/src/migration/VersionUpgrade17.js +342 -0
- package/src/migration/VersionUpgrade18.d.ts +5 -0
- package/src/migration/VersionUpgrade18.js +6 -0
- package/src/types.d.ts +5 -4
- package/tsconfig.esm.tsbuildinfo +1 -1
- package/src/Utilities/Defaults/DefaultAdaptableOptions.d.ts +0 -2
- package/src/Utilities/Services/Interface/IRowEditService.d.ts +0 -3
- package/src/Utilities/Services/Interface/IRowEditService.js +0 -1
- package/src/agGrid/agGridHelper.d.ts +0 -57
- package/src/agGrid/agGridHelper.js +0 -686
- package/src/agGrid/agGridMenuHelper.d.ts +0 -46
- package/src/agGrid/agGridMenuHelper.js +0 -668
|
@@ -13,12 +13,12 @@ import { AlertEmptyView } from '../View/Alert/AlertEmptyView';
|
|
|
13
13
|
import { AlertStatusPanel } from '../View/Alert/AlertStatusSubPanel';
|
|
14
14
|
import { ActiveAlertsPanelItemLabel } from '../View/Alert/ActiveAlertsPanelItemLabel';
|
|
15
15
|
import { getObjectTagsViewItems } from './Utilities/getObjectTagsViewItems';
|
|
16
|
-
import { updateSingleToMultiplePredicates } from './Utilities/updateSingleToMultiplePredicates';
|
|
17
|
-
import { cloneObject } from '../Utilities/Helpers/Helper';
|
|
18
16
|
import { getAlertType } from '../View/Alert/Utilities/getAlertType';
|
|
19
17
|
export class AlertModule extends AdaptableModuleBase {
|
|
20
18
|
constructor(api) {
|
|
21
19
|
super(ModuleConstants.AlertModuleId, ModuleConstants.AlertModuleFriendlyName, 'alert', 'AlertPopup', 'Get notified when things happen in Adaptable that you need to know about', api);
|
|
20
|
+
}
|
|
21
|
+
onAdaptableReady() {
|
|
22
22
|
this.api.internalApi
|
|
23
23
|
.getDataService()
|
|
24
24
|
.on('CellDataChanged', (cellDataChangedInfo) => {
|
|
@@ -71,59 +71,6 @@ export class AlertModule extends AdaptableModuleBase {
|
|
|
71
71
|
}
|
|
72
72
|
return this.api.namedQueryApi.internalApi.getReferencedNamedQueryNames(queryExpression);
|
|
73
73
|
}
|
|
74
|
-
updateOldConfig() {
|
|
75
|
-
var _a;
|
|
76
|
-
this.updateAlertSingleToMultiplePredicates();
|
|
77
|
-
// 1. Make all (new) Flashing Cells have a Predicate if none exists
|
|
78
|
-
const alertState = this.api.alertApi.getAlertState();
|
|
79
|
-
const flashingAlertDefinitions = alertState.FlashingAlertDefinitions;
|
|
80
|
-
const flashingCellDefinitions = this.api.flashingCellApi.getFlashingCellDefinitions();
|
|
81
|
-
if (ArrayExtensions.IsEmpty(flashingCellDefinitions) &&
|
|
82
|
-
ArrayExtensions.IsNotNullOrEmpty(flashingAlertDefinitions)) {
|
|
83
|
-
this.api.flashingCellApi.setFlashingCellDefinitions(flashingAlertDefinitions);
|
|
84
|
-
// TODO: state does not clear
|
|
85
|
-
this.api.flashingCellApi.internalApi.clearFlashingCellState();
|
|
86
|
-
}
|
|
87
|
-
(_a = alertState.AlertDefinitions) === null || _a === void 0 ? void 0 : _a.forEach((alertDefinition) => {
|
|
88
|
-
// if ShowPopup then change to DisplayNotificate
|
|
89
|
-
if (alertDefinition.AlertProperties &&
|
|
90
|
-
alertDefinition.AlertProperties.ShowPopup &&
|
|
91
|
-
alertDefinition.AlertProperties.ShowPopup == true &&
|
|
92
|
-
!alertDefinition.AlertProperties.DisplayNotification) {
|
|
93
|
-
alertDefinition.AlertProperties.DisplayNotification = true;
|
|
94
|
-
alertDefinition.AlertProperties.ShowPopup = undefined;
|
|
95
|
-
}
|
|
96
|
-
// if no rule but a predicate then use that
|
|
97
|
-
if (!alertDefinition.Rule) {
|
|
98
|
-
if (alertDefinition.Predicate && alertDefinition.Predicate != undefined) {
|
|
99
|
-
const predicate = alertDefinition.Predicate;
|
|
100
|
-
alertDefinition.Rule = {
|
|
101
|
-
Predicate: predicate,
|
|
102
|
-
};
|
|
103
|
-
alertDefinition.Predicate = undefined;
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
else {
|
|
107
|
-
//migrate alert definitions with `AggregationExpression` (now `AggregatedBooleanExpression`)
|
|
108
|
-
const obsoleteAggregationExpression = alertDefinition.Rule['AggregationExpression'];
|
|
109
|
-
if (obsoleteAggregationExpression) {
|
|
110
|
-
alertDefinition.Rule.AggregatedBooleanExpression = obsoleteAggregationExpression;
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
});
|
|
114
|
-
}
|
|
115
|
-
updateAlertSingleToMultiplePredicates() {
|
|
116
|
-
const alertDefinitions = this.api.alertApi.getAlertDefinitions({
|
|
117
|
-
includeLayoutNotAssociatedObjects: true,
|
|
118
|
-
});
|
|
119
|
-
alertDefinitions.forEach((alertDefinition) => {
|
|
120
|
-
if (alertDefinition.Rule && 'Predicate' in alertDefinition.Rule) {
|
|
121
|
-
const preparedAlertDefinition = cloneObject(alertDefinition);
|
|
122
|
-
updateSingleToMultiplePredicates(preparedAlertDefinition.Rule);
|
|
123
|
-
this.api.alertApi.editAlertDefinition(preparedAlertDefinition);
|
|
124
|
-
}
|
|
125
|
-
});
|
|
126
|
-
}
|
|
127
74
|
addContextMenuItems(menuContext) {
|
|
128
75
|
const items = [];
|
|
129
76
|
if (!menuContext.isRowGroupColumn && this.isModuleAvailable()) {
|
|
@@ -8,12 +8,11 @@ import { CalculatedColumn } from '../PredefinedConfig/CalculatedColumnState';
|
|
|
8
8
|
import { AdaptableObjectItemView, IModule } from './Interface/IModule';
|
|
9
9
|
import { AdaptableApi } from '../Api/AdaptableApi';
|
|
10
10
|
import { AdaptableObject } from '../PredefinedConfig/Common/AdaptableObject';
|
|
11
|
-
import { AdaptableStateReloadedInfo } from '../Api/Events/AdaptableStateReloaded';
|
|
12
11
|
export declare class CalculatedColumnModule extends AdaptableModuleBase implements IModule {
|
|
13
12
|
constructor(api: AdaptableApi);
|
|
14
|
-
|
|
13
|
+
onAdaptableReady(): void;
|
|
14
|
+
onAdaptableStateReloaded(): void;
|
|
15
15
|
getModuleAdaptableObjects(): AdaptableObject[];
|
|
16
|
-
updateOldConfig(): void;
|
|
17
16
|
getExplicitlyReferencedColumnIds(calculatedColumn: CalculatedColumn): string[];
|
|
18
17
|
getReferencedNamedQueryNames(calculatedColumn: CalculatedColumn): string[];
|
|
19
18
|
private isCalculatedColumn;
|
|
@@ -11,35 +11,15 @@ export class CalculatedColumnModule extends AdaptableModuleBase {
|
|
|
11
11
|
constructor(api) {
|
|
12
12
|
super(ModuleConstants.CalculatedColumnModuleId, ModuleConstants.CalculatedColumnFriendlyName, 'chart-and-grid', 'CalculatedColumnPopup', 'Create bespoke columns whose cell value is derived dynamically from an Expression', api);
|
|
13
13
|
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
onAdaptableReady() {
|
|
15
|
+
this.api.calculatedColumnApi.refreshAggregatedCalculatedColumns();
|
|
16
|
+
}
|
|
17
|
+
onAdaptableStateReloaded() {
|
|
18
|
+
this.api.calculatedColumnApi.refreshAggregatedCalculatedColumns();
|
|
17
19
|
}
|
|
18
20
|
getModuleAdaptableObjects() {
|
|
19
21
|
return this.api.calculatedColumnApi.getCalculatedColumns();
|
|
20
22
|
}
|
|
21
|
-
updateOldConfig() {
|
|
22
|
-
const calcColumns = this.api.calculatedColumnApi.getCalculatedColumns();
|
|
23
|
-
let oldCalculatedColumns = [];
|
|
24
|
-
calcColumns.forEach((cc) => {
|
|
25
|
-
if (cc.ColumnExpression && !cc.Query) {
|
|
26
|
-
cc.Query = {
|
|
27
|
-
ScalarExpression: cc.ColumnExpression,
|
|
28
|
-
};
|
|
29
|
-
cc.ColumnExpression = undefined;
|
|
30
|
-
oldCalculatedColumns.push(cc);
|
|
31
|
-
this.api.logWarn(`Updating incorrect Predefined Config for Calculated Column: ${cc.ColumnId}`);
|
|
32
|
-
}
|
|
33
|
-
if (!cc.CalculatedColumnSettings) {
|
|
34
|
-
cc.CalculatedColumnSettings = {
|
|
35
|
-
DataType: 'Number',
|
|
36
|
-
};
|
|
37
|
-
oldCalculatedColumns.push(cc);
|
|
38
|
-
this.api.logWarn(`Updating incorrect Predefined Config for Calculated Column: ${cc.ColumnId}`);
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
|
-
oldCalculatedColumns.forEach((oldCalcCol) => this.api.calculatedColumnApi.editCalculatedColumn(oldCalcCol));
|
|
42
|
-
}
|
|
43
23
|
getExplicitlyReferencedColumnIds(calculatedColumn) {
|
|
44
24
|
var _a;
|
|
45
25
|
return ((_a = this.api.expressionApi.getColumnsFromExpression(this.api.expressionApi.getAdaptableQueryExpression(calculatedColumn.Query))) !== null && _a !== void 0 ? _a : []);
|
|
@@ -5,7 +5,6 @@ import { ChartDefinition } from '../types';
|
|
|
5
5
|
import { ExternalChartDefinition } from '../PredefinedConfig/ChartingState';
|
|
6
6
|
export declare class ChartingModule extends AdaptableModuleBase implements IModule {
|
|
7
7
|
constructor(api: AdaptableApi);
|
|
8
|
-
updateOldConfig(): void;
|
|
9
8
|
isModuleAvailable(): boolean;
|
|
10
9
|
getModuleAdaptableObjects(): (ChartDefinition | ExternalChartDefinition)[];
|
|
11
10
|
toViewAll(): AdaptableObjectView[];
|
|
@@ -11,27 +11,6 @@ export class ChartingModule extends AdaptableModuleBase {
|
|
|
11
11
|
constructor(api) {
|
|
12
12
|
super(ModuleConstants.ChartingModuleId, ModuleConstants.ChartingFriendlyName, 'chart', 'ChartPopup', 'Create AG Grid Charts in order to see Adaptable Data visually', api);
|
|
13
13
|
}
|
|
14
|
-
updateOldConfig() {
|
|
15
|
-
const allChartDefinitions = this.api.chartingApi.getChartDefinitions();
|
|
16
|
-
const chartDefinitionsToUpdate = allChartDefinitions
|
|
17
|
-
.filter((chartDefinition) => 'model' in chartDefinition || !('Name' in chartDefinition))
|
|
18
|
-
.map((charDefinition) => {
|
|
19
|
-
const newChartDefinition = Object.assign({}, charDefinition);
|
|
20
|
-
if ('model' in newChartDefinition) {
|
|
21
|
-
newChartDefinition.Model = charDefinition.model;
|
|
22
|
-
delete newChartDefinition.model;
|
|
23
|
-
}
|
|
24
|
-
if (!('Name' in newChartDefinition)) {
|
|
25
|
-
// default to chartId
|
|
26
|
-
// @ts-ignore possible because First iteration had no 'Name' and model was under 'model' key (lowercase)
|
|
27
|
-
newChartDefinition.Name = newChartDefinition.Model.chartId;
|
|
28
|
-
}
|
|
29
|
-
return newChartDefinition;
|
|
30
|
-
});
|
|
31
|
-
if (chartDefinitionsToUpdate.length > 0) {
|
|
32
|
-
chartDefinitionsToUpdate.forEach((chartDefinition) => this.api.chartingApi.editChartDefinition(chartDefinition));
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
14
|
isModuleAvailable() {
|
|
36
15
|
const agChartsAvailable = this.api.chartingApi.isChartingEnabled() && super.isModuleAvailable();
|
|
37
16
|
const externalChartsAvailable = Helper.objectHasKeys(this.api.optionsApi.getChartingOptions().externalChartingOptions);
|
|
@@ -12,8 +12,7 @@ export declare class ColumnFilterModule extends AdaptableModuleBase implements I
|
|
|
12
12
|
getModuleAdaptableObjects(): AdaptableObject[];
|
|
13
13
|
getExplicitlyReferencedColumnIds(columnFilter: ColumnFilter): string[];
|
|
14
14
|
hasNamedQueryReferences(): boolean;
|
|
15
|
-
|
|
16
|
-
handleAdaptableReady(): void;
|
|
15
|
+
onAdaptableReady(): void;
|
|
17
16
|
addContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem[] | undefined;
|
|
18
17
|
addColumnMenuItems(column: AdaptableColumn): AdaptableMenuItem[] | undefined;
|
|
19
18
|
private getExistingColumnFilter;
|
|
@@ -28,70 +28,7 @@ export class ColumnFilterModule extends AdaptableModuleBase {
|
|
|
28
28
|
hasNamedQueryReferences() {
|
|
29
29
|
return false;
|
|
30
30
|
}
|
|
31
|
-
|
|
32
|
-
// Note: have updated Dashboard and Status bar but NOT Tool Panels
|
|
33
|
-
// Update Module Buttons
|
|
34
|
-
let updateModuleButtons = false;
|
|
35
|
-
let moduleButtons = this.api.dashboardApi.getModuleButtons();
|
|
36
|
-
if (!moduleButtons.includes('ColumnFilter')) {
|
|
37
|
-
moduleButtons = moduleButtons.map((moduleButton) => {
|
|
38
|
-
if (moduleButton == 'Filter') {
|
|
39
|
-
updateModuleButtons = true;
|
|
40
|
-
return 'ColumnFilter';
|
|
41
|
-
}
|
|
42
|
-
return moduleButton;
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
if (updateModuleButtons) {
|
|
46
|
-
this.api.dashboardApi.setModuleButtons(moduleButtons);
|
|
47
|
-
}
|
|
48
|
-
// Update Toolbars
|
|
49
|
-
let updateTabs = false;
|
|
50
|
-
const tabs = this.api.dashboardApi.getTabs().map((tab) => {
|
|
51
|
-
if (tab.Toolbars.includes('Filter') && !tab.Toolbars.includes('ColumnFilter')) {
|
|
52
|
-
updateTabs = true;
|
|
53
|
-
return Object.assign(Object.assign({}, tab), {
|
|
54
|
-
// replace with 'GridFilter'
|
|
55
|
-
Toolbars: tab.Toolbars.map((t) => (t == 'Filter' ? 'ColumnFilter' : t)) });
|
|
56
|
-
}
|
|
57
|
-
return tab;
|
|
58
|
-
});
|
|
59
|
-
if (updateTabs) {
|
|
60
|
-
this.api.dashboardApi.setTabs(tabs);
|
|
61
|
-
}
|
|
62
|
-
// - move pinned toolbars
|
|
63
|
-
let updatePinnedToolbars = false;
|
|
64
|
-
let pinnedToolbars = this.api.dashboardApi.getPinnedToolbars();
|
|
65
|
-
if (pinnedToolbars && !(pinnedToolbars === null || pinnedToolbars === void 0 ? void 0 : pinnedToolbars.includes('ColumnFilter'))) {
|
|
66
|
-
pinnedToolbars = pinnedToolbars.map((pinnedToolbar) => {
|
|
67
|
-
if (pinnedToolbar == 'Filter') {
|
|
68
|
-
updatePinnedToolbars = true;
|
|
69
|
-
return 'ColumnFilter';
|
|
70
|
-
}
|
|
71
|
-
return pinnedToolbar;
|
|
72
|
-
});
|
|
73
|
-
}
|
|
74
|
-
if (updatePinnedToolbars) {
|
|
75
|
-
this.api.dashboardApi.setPinnedToolbars(pinnedToolbars);
|
|
76
|
-
}
|
|
77
|
-
// Update Status Bar
|
|
78
|
-
let updateStatusBars = false;
|
|
79
|
-
const statusBars = this.api.statusBarApi
|
|
80
|
-
.getAdaptableStatusBars()
|
|
81
|
-
.map((panel) => {
|
|
82
|
-
return Object.assign(Object.assign({}, panel), { StatusBarPanels: panel.StatusBarPanels.map((panel) => {
|
|
83
|
-
if (panel === 'Filter') {
|
|
84
|
-
updateStatusBars = true;
|
|
85
|
-
return 'ColumnFilter';
|
|
86
|
-
}
|
|
87
|
-
return panel;
|
|
88
|
-
}) });
|
|
89
|
-
});
|
|
90
|
-
if (updateStatusBars) {
|
|
91
|
-
this.api.statusBarApi.setStatusBarPanels(statusBars);
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
handleAdaptableReady() {
|
|
31
|
+
onAdaptableReady() {
|
|
95
32
|
if (this.api.optionsApi.getColumnFilterOptions().quickFilterOptions.showQuickFilter == false) {
|
|
96
33
|
this.api.columnFilterApi.hideQuickFilterBar();
|
|
97
34
|
}
|
|
@@ -9,6 +9,7 @@ import { IModule } from './Interface/IModule';
|
|
|
9
9
|
export declare class CommentsModule extends AdaptableModuleBase implements IModule {
|
|
10
10
|
private adaptable;
|
|
11
11
|
constructor(api: AdaptableApi);
|
|
12
|
+
onAdaptableReady(): void;
|
|
12
13
|
isModuleAvailable(): boolean;
|
|
13
14
|
private loadComments;
|
|
14
15
|
addContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem[] | undefined;
|
|
@@ -9,7 +9,8 @@ export class CommentsModule extends AdaptableModuleBase {
|
|
|
9
9
|
constructor(api) {
|
|
10
10
|
super(ModuleConstants.CommentsModuleId, ModuleConstants.CommentsFriendlyName, 'comments', 'CommentsPopup', 'comments', api);
|
|
11
11
|
this.adaptable = api.internalApi.getAdaptableInstance();
|
|
12
|
-
|
|
12
|
+
}
|
|
13
|
+
onAdaptableReady() {
|
|
13
14
|
this.loadComments();
|
|
14
15
|
}
|
|
15
16
|
isModuleAvailable() {
|
|
@@ -25,7 +25,7 @@ export class CustomSortModule extends AdaptableModuleBase {
|
|
|
25
25
|
.find((x) => x.ColumnId == column.columnId);
|
|
26
26
|
let label = customSort ? 'Edit ' : 'Create ';
|
|
27
27
|
// dont show a menu item if there is a custom sort that uses a comparer function
|
|
28
|
-
const columnSortComparer = this.api.customSortApi.internalApi.getCustomSortComparer(column);
|
|
28
|
+
const columnSortComparer = this.api.customSortApi.internalApi.getCustomSortComparer(column.columnId);
|
|
29
29
|
if (columnSortComparer) {
|
|
30
30
|
return undefined;
|
|
31
31
|
}
|
|
@@ -4,8 +4,7 @@ import { IModule } from './Interface/IModule';
|
|
|
4
4
|
import { AdaptableApi } from '../Api/AdaptableApi';
|
|
5
5
|
export declare class DashboardModule extends AdaptableModuleBase implements IModule {
|
|
6
6
|
constructor(api: AdaptableApi);
|
|
7
|
-
|
|
8
|
-
handleAdaptableReady(): void;
|
|
7
|
+
onAdaptableReady(): void;
|
|
9
8
|
addColumnMenuItems(): AdaptableMenuItem[] | undefined;
|
|
10
9
|
addContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem[] | undefined;
|
|
11
10
|
private buildMenuItems;
|
|
@@ -5,14 +5,7 @@ export class DashboardModule extends AdaptableModuleBase {
|
|
|
5
5
|
constructor(api) {
|
|
6
6
|
super(ModuleConstants.DashboardModuleId, ModuleConstants.DashboardFriendlyName, 'dashboard', 'DashboardPopup', 'The Dashboard - usually placed above the Grid - is designed to provide quick access to commonly required AdapTable functionalty', api);
|
|
7
7
|
}
|
|
8
|
-
|
|
9
|
-
let dashboardState = this.api.dashboardApi.getDashboardState();
|
|
10
|
-
if (dashboardState.VisibleButtons) {
|
|
11
|
-
this.api.logWarn(`Updating Obsolete VisibleButtons Config for DashboardState: [${dashboardState.VisibleButtons}]`);
|
|
12
|
-
this.api.dashboardApi.setModuleButtons(dashboardState.VisibleButtons);
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
handleAdaptableReady() {
|
|
8
|
+
onAdaptableReady() {
|
|
16
9
|
// we used to create a default tab here but we no longer do // this.api.internalApi.setDefaultDashboardTab();
|
|
17
10
|
// this handler reacts to the 'AdaptableReady' event,
|
|
18
11
|
// but so do all the other possible handlers of the 'DashboardChanged' event
|
|
@@ -3,6 +3,7 @@ import { AdaptableModuleView, IModule } from './Interface/IModule';
|
|
|
3
3
|
import { AdaptableApi } from '../Api/AdaptableApi';
|
|
4
4
|
export declare class DataChangeHistoryModule extends AdaptableModuleBase implements IModule {
|
|
5
5
|
constructor(api: AdaptableApi);
|
|
6
|
+
onAdaptableReady(): void;
|
|
6
7
|
isModuleAvailable(): boolean;
|
|
7
8
|
getPopupMaxWidth(): number;
|
|
8
9
|
hasNamedQueryReferences(): boolean;
|
|
@@ -6,6 +6,8 @@ import { ModuleNames } from '@ag-grid-community/core';
|
|
|
6
6
|
export class DataChangeHistoryModule extends AdaptableModuleBase {
|
|
7
7
|
constructor(api) {
|
|
8
8
|
super(ModuleConstants.DataChangeHistoryModuleId, ModuleConstants.DataChangeHistoryFriendlyName, 'target', 'DataChangeHistoryPopup', 'Provides an overview of all previous changes, giving the possibility to undo specific changes', api);
|
|
9
|
+
}
|
|
10
|
+
onAdaptableReady() {
|
|
9
11
|
this.api.internalApi
|
|
10
12
|
.getDataService()
|
|
11
13
|
.on('CellDataChanged', (cellDataChangedInfo) => {
|
|
@@ -20,7 +22,7 @@ export class DataChangeHistoryModule extends AdaptableModuleBase {
|
|
|
20
22
|
const isAdaptableModuleAvailable = super.isModuleAvailable();
|
|
21
23
|
const isAgGridModuleAvailable = this.api.internalApi
|
|
22
24
|
.getAdaptableInstance()
|
|
23
|
-
.
|
|
25
|
+
.agGridAdapter.isModulePresent(ModuleNames.ClientSideRowModelModule);
|
|
24
26
|
if (isAdaptableModuleAvailable && !isAgGridModuleAvailable) {
|
|
25
27
|
this.api.logWarn(`Data Change History is NOT available due to missing required AG Grid module: ${ModuleNames.ClientSideRowModelModule}`);
|
|
26
28
|
}
|
|
@@ -5,7 +5,7 @@ import { AdaptableObject } from '../PredefinedConfig/Common/AdaptableObject';
|
|
|
5
5
|
import { DataSet } from '../AdaptableOptions/DataSetOptions';
|
|
6
6
|
export declare class DataSetModule extends AdaptableModuleBase implements IModule {
|
|
7
7
|
constructor(api: AdaptableApi);
|
|
8
|
-
|
|
8
|
+
onAdaptableReady(): void;
|
|
9
9
|
getModuleAdaptableObjects(): AdaptableObject[];
|
|
10
10
|
hasNamedQueryReferences(): boolean;
|
|
11
11
|
toView(dataSet: DataSet): AdaptableObjectView;
|
|
@@ -8,7 +8,7 @@ export class DataSetModule extends AdaptableModuleBase {
|
|
|
8
8
|
constructor(api) {
|
|
9
9
|
super(ModuleConstants.DataSetModuleId, ModuleConstants.DataSetFriendlyName, 'data-set', 'DataSetPopup', 'Update the entire data source in AdapTable using pre-populated data sets', api);
|
|
10
10
|
}
|
|
11
|
-
|
|
11
|
+
onAdaptableReady() {
|
|
12
12
|
this.api.dataSetApi.getDataSets().forEach((ds) => {
|
|
13
13
|
if (!ds.Uuid) {
|
|
14
14
|
ds.Uuid = createUuid();
|
|
@@ -9,8 +9,7 @@ import { AdaptableObject } from '../PredefinedConfig/Common/AdaptableObject';
|
|
|
9
9
|
import { FlashingCellDefinition } from '../PredefinedConfig/FlashingCellState';
|
|
10
10
|
export declare class FlashingCellModule extends AdaptableModuleBase implements IModule {
|
|
11
11
|
constructor(api: AdaptableApi);
|
|
12
|
-
|
|
13
|
-
private updateFlashingCellSingleToMultiplePredicates;
|
|
12
|
+
onAdaptableReady(): void;
|
|
14
13
|
getModuleAdaptableObjects(config?: {
|
|
15
14
|
includeLayoutNotAssociatedObjects?: boolean;
|
|
16
15
|
}): AdaptableObject[];
|
|
@@ -11,11 +11,11 @@ import { FlashingCellWizard } from '../View/FlashingCell/Wizard/FlashingCellWiza
|
|
|
11
11
|
import { getObjectTagsViewItems } from './Utilities/getObjectTagsViewItems';
|
|
12
12
|
import { getFlashingTargetViewItems } from './Utilities/FlashingCell/getFlashingTargetViewItems';
|
|
13
13
|
import { getFlashingCellStyleViewItems } from './Utilities/FlashingCell/getFlashingCellStyleViewItems';
|
|
14
|
-
import { cloneObject } from '../Utilities/Helpers/Helper';
|
|
15
|
-
import { updateSingleToMultiplePredicates } from './Utilities/updateSingleToMultiplePredicates';
|
|
16
14
|
export class FlashingCellModule extends AdaptableModuleBase {
|
|
17
15
|
constructor(api) {
|
|
18
16
|
super(ModuleConstants.FlashingCellModuleId, ModuleConstants.FlashingCellFriendlyName, 'lightning', 'FlashingAlert', 'Flash cells when they change', api);
|
|
17
|
+
}
|
|
18
|
+
onAdaptableReady() {
|
|
19
19
|
this.api.internalApi
|
|
20
20
|
.getDataService()
|
|
21
21
|
.on('CellDataChanged', (cellDataChangedInfo) => {
|
|
@@ -38,19 +38,6 @@ export class FlashingCellModule extends AdaptableModuleBase {
|
|
|
38
38
|
this.handleCellDataChanged(cellDataChangedInfo);
|
|
39
39
|
});
|
|
40
40
|
}
|
|
41
|
-
updateOldConfig() {
|
|
42
|
-
this.updateFlashingCellSingleToMultiplePredicates();
|
|
43
|
-
}
|
|
44
|
-
updateFlashingCellSingleToMultiplePredicates() {
|
|
45
|
-
const flashingCells = this.api.flashingCellApi.getFlashingCellDefinitions();
|
|
46
|
-
flashingCells.forEach((flashingCell) => {
|
|
47
|
-
if (flashingCell.Rule && 'Predicate' in flashingCell.Rule) {
|
|
48
|
-
const preparedFlashingCell = cloneObject(flashingCell);
|
|
49
|
-
updateSingleToMultiplePredicates(preparedFlashingCell.Rule);
|
|
50
|
-
this.api.flashingCellApi.editFlashingCellDefinition(preparedFlashingCell);
|
|
51
|
-
}
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
41
|
getModuleAdaptableObjects(config) {
|
|
55
42
|
return this.api.flashingCellApi.getFlashingCellDefinitions(config);
|
|
56
43
|
}
|
|
@@ -13,8 +13,6 @@ export declare class FormatColumnModule extends AdaptableModuleBase implements I
|
|
|
13
13
|
}): AdaptableObject[];
|
|
14
14
|
getExplicitlyReferencedColumnIds(formatColumn: FormatColumn): string[];
|
|
15
15
|
getReferencedNamedQueryNames(formatColumn: FormatColumn): string[];
|
|
16
|
-
updateOldConfig(): void;
|
|
17
|
-
private updateFormatColumnSingleToMultiplePredicates;
|
|
18
16
|
addColumnMenuItems(column: AdaptableColumn): AdaptableMenuItem[] | undefined;
|
|
19
17
|
getTeamSharingAction(): TeamSharingImportInfo<FormatColumn>;
|
|
20
18
|
toView(formatColumn: FormatColumn): AdaptableObjectView;
|
|
@@ -10,8 +10,6 @@ import { getFormatColumnStyleViewItems } from './Utilities/FormatColumn/getForma
|
|
|
10
10
|
import { getObjectTagsViewItems } from './Utilities/getObjectTagsViewItems';
|
|
11
11
|
import { getRuleViewItems } from './Utilities/getRuleViewItems';
|
|
12
12
|
import { MoveFormatColumn } from '../View/FormatColumn/MoveFormatColumn';
|
|
13
|
-
import { cloneObject } from '../Utilities/Helpers/Helper';
|
|
14
|
-
import { updateSingleToMultiplePredicates } from './Utilities/updateSingleToMultiplePredicates';
|
|
15
13
|
import ArrayExtensions from '../Utilities/Extensions/ArrayExtensions';
|
|
16
14
|
export class FormatColumnModule extends AdaptableModuleBase {
|
|
17
15
|
constructor(api) {
|
|
@@ -39,51 +37,6 @@ export class FormatColumnModule extends AdaptableModuleBase {
|
|
|
39
37
|
}
|
|
40
38
|
return this.api.namedQueryApi.internalApi.getReferencedNamedQueryNames(queryExpression);
|
|
41
39
|
}
|
|
42
|
-
updateOldConfig() {
|
|
43
|
-
this.updateFormatColumnSingleToMultiplePredicates();
|
|
44
|
-
// update ConditionalStyle StatusBarPanel
|
|
45
|
-
const oldStatusBars = this.api.internalApi.getState().StatusBar.StatusBars;
|
|
46
|
-
let replaceConditionalStyleStatusBar = false;
|
|
47
|
-
const newStatusBars = oldStatusBars.map((statusBar) => (Object.assign(Object.assign({}, statusBar), { StatusBarPanels: [
|
|
48
|
-
...new Set(statusBar.StatusBarPanels.map((statusBarPanel) => {
|
|
49
|
-
if (statusBarPanel === 'ConditionalStyle') {
|
|
50
|
-
replaceConditionalStyleStatusBar = true;
|
|
51
|
-
return 'FormatColumn';
|
|
52
|
-
}
|
|
53
|
-
return statusBarPanel;
|
|
54
|
-
})),
|
|
55
|
-
] })));
|
|
56
|
-
if (replaceConditionalStyleStatusBar) {
|
|
57
|
-
this.api.statusBarApi.setStatusBarPanels(newStatusBars);
|
|
58
|
-
}
|
|
59
|
-
// update ConditionalStyle dashboard buttons
|
|
60
|
-
const dashboardModuleButtons = this.api.internalApi.getState().Dashboard.ModuleButtons;
|
|
61
|
-
if (dashboardModuleButtons.includes('ConditionalStyle')) {
|
|
62
|
-
dashboardModuleButtons[dashboardModuleButtons.indexOf('ConditionalStyle')] = 'FormatColumn';
|
|
63
|
-
const test2 = dashboardModuleButtons;
|
|
64
|
-
this.api.dashboardApi.setModuleButtons([
|
|
65
|
-
...new Set(dashboardModuleButtons),
|
|
66
|
-
]);
|
|
67
|
-
}
|
|
68
|
-
// update ConditionalStyle toolPanel buttons
|
|
69
|
-
const toolPanelModuleButtons = this.api.internalApi.getState().ToolPanel.ModuleButtons;
|
|
70
|
-
if (toolPanelModuleButtons.includes('ConditionalStyle')) {
|
|
71
|
-
toolPanelModuleButtons[toolPanelModuleButtons.indexOf('ConditionalStyle')] = 'FormatColumn';
|
|
72
|
-
this.api.toolPanelApi.setModuleButtons([
|
|
73
|
-
...new Set(dashboardModuleButtons),
|
|
74
|
-
]);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
updateFormatColumnSingleToMultiplePredicates() {
|
|
78
|
-
const formatColumns = this.api.formatColumnApi.getFormatColumns();
|
|
79
|
-
formatColumns.forEach((formatColumn) => {
|
|
80
|
-
if (formatColumn.Rule && 'Predicate' in formatColumn.Rule) {
|
|
81
|
-
const preparedFormatColumn = cloneObject(formatColumn);
|
|
82
|
-
updateSingleToMultiplePredicates(preparedFormatColumn.Rule);
|
|
83
|
-
this.api.formatColumnApi.editFormatColumn(preparedFormatColumn);
|
|
84
|
-
}
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
40
|
addColumnMenuItems(column) {
|
|
88
41
|
let returnColumnMenuItems = [];
|
|
89
42
|
if (column && this.isModuleEditable() && !column.isSparkline) {
|
|
@@ -12,7 +12,6 @@ export declare class FreeTextColumnModule extends AdaptableModuleBase implements
|
|
|
12
12
|
isModuleAvailable(): boolean;
|
|
13
13
|
getModuleAdaptableObjects(): FreeTextColumn[];
|
|
14
14
|
hasNamedQueryReferences(): boolean;
|
|
15
|
-
updateOldConfig(): void;
|
|
16
15
|
addColumnMenuItems(column: AdaptableColumn): AdaptableMenuItem[] | undefined;
|
|
17
16
|
getTeamSharingAction(): TeamSharingImportInfo<FreeTextColumn>;
|
|
18
17
|
toView(freeTextColumn: FreeTextColumn): AdaptableObjectView;
|
|
@@ -17,36 +17,6 @@ export class FreeTextColumnModule extends AdaptableModuleBase {
|
|
|
17
17
|
hasNamedQueryReferences() {
|
|
18
18
|
return false;
|
|
19
19
|
}
|
|
20
|
-
updateOldConfig() {
|
|
21
|
-
// make sure all default to type string
|
|
22
|
-
const allFreeTextColumns = this.getModuleAdaptableObjects();
|
|
23
|
-
for (const freeTextColumn of allFreeTextColumns) {
|
|
24
|
-
const unTypedCol = freeTextColumn;
|
|
25
|
-
if (unTypedCol.DataType) {
|
|
26
|
-
const dataType = unTypedCol.DataType;
|
|
27
|
-
delete unTypedCol['DataType'];
|
|
28
|
-
if (!freeTextColumn.FreeTextColumnSettings) {
|
|
29
|
-
freeTextColumn.FreeTextColumnSettings = {
|
|
30
|
-
DataType: dataType,
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
freeTextColumn.FreeTextColumnSettings.DataType = dataType;
|
|
35
|
-
}
|
|
36
|
-
this.api.freeTextColumnApi.editFreeTextColumn(freeTextColumn);
|
|
37
|
-
}
|
|
38
|
-
if (!freeTextColumn.FreeTextColumnSettings) {
|
|
39
|
-
freeTextColumn.FreeTextColumnSettings = {
|
|
40
|
-
DataType: 'String',
|
|
41
|
-
};
|
|
42
|
-
this.api.freeTextColumnApi.editFreeTextColumn(freeTextColumn);
|
|
43
|
-
}
|
|
44
|
-
if (!freeTextColumn.FreeTextColumnSettings.DataType) {
|
|
45
|
-
freeTextColumn.FreeTextColumnSettings.DataType = 'String';
|
|
46
|
-
this.api.freeTextColumnApi.editFreeTextColumn(freeTextColumn);
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
20
|
addColumnMenuItems(column) {
|
|
51
21
|
if (column && this.isModuleEditable()) {
|
|
52
22
|
if (this.api.freeTextColumnApi
|
|
@@ -3,6 +3,5 @@ import { AdaptableModuleView, IModule } from './Interface/IModule';
|
|
|
3
3
|
import { AdaptableModuleBase } from './AdaptableModuleBase';
|
|
4
4
|
export declare class GridFilterModule extends AdaptableModuleBase implements IModule {
|
|
5
5
|
constructor(api: AdaptableApi);
|
|
6
|
-
updateOldConfig(): void;
|
|
7
6
|
getViewProperties(): AdaptableModuleView;
|
|
8
7
|
}
|
|
@@ -2,47 +2,10 @@ import { AdaptableModuleBase } from './AdaptableModuleBase';
|
|
|
2
2
|
import * as ModuleConstants from '../Utilities/Constants/ModuleConstants';
|
|
3
3
|
import { EditGridFilterButton } from '../View/NamedQuery/EditCurrentQueryButton';
|
|
4
4
|
import { GridFilterStatusbar } from '../View/GridFilter/GridFilterStatusbar';
|
|
5
|
-
import StringExtensions from '../Utilities/Extensions/StringExtensions';
|
|
6
5
|
export class GridFilterModule extends AdaptableModuleBase {
|
|
7
6
|
constructor(api) {
|
|
8
7
|
super(ModuleConstants.GridFilterModuleId, ModuleConstants.GridFilterFriendlyName, 'filter-list', 'GridFilterPopup', 'Controls the Grid Filter funtionality', api);
|
|
9
8
|
}
|
|
10
|
-
updateOldConfig() {
|
|
11
|
-
var _a, _b;
|
|
12
|
-
const oldQueryState = this.api.internalApi.getAdaptableState().Query;
|
|
13
|
-
// - move query to current layout
|
|
14
|
-
const expression = oldQueryState.CurrentQuery;
|
|
15
|
-
if (expression &&
|
|
16
|
-
StringExtensions.IsNullOrEmpty(this.api.gridFilterApi.getCurrentGridFilterExpression())) {
|
|
17
|
-
this.api.gridFilterApi.setGridFilterExpression(expression);
|
|
18
|
-
}
|
|
19
|
-
// - move dashboard/toolbar
|
|
20
|
-
let updateTabs = false;
|
|
21
|
-
const tabs = this.api.dashboardApi.getTabs().map((tab) => {
|
|
22
|
-
if (tab.Toolbars.includes('Query')) {
|
|
23
|
-
updateTabs = true;
|
|
24
|
-
return Object.assign(Object.assign({}, tab), {
|
|
25
|
-
// replace with 'GridFilter'
|
|
26
|
-
Toolbars: tab.Toolbars.map((t) => (t == 'Query' ? 'GridFilter' : t)) });
|
|
27
|
-
}
|
|
28
|
-
return tab;
|
|
29
|
-
});
|
|
30
|
-
if (updateTabs) {
|
|
31
|
-
this.api.dashboardApi.setTabs(tabs);
|
|
32
|
-
}
|
|
33
|
-
// - move pinned toolbars
|
|
34
|
-
let updatePinnedToolbars = false;
|
|
35
|
-
const pinnedToolbars = (_b = (_a = this.api.dashboardApi.getPinnedToolbars()) === null || _a === void 0 ? void 0 : _a.map) === null || _b === void 0 ? void 0 : _b.call(_a, (pinnedToolbar) => {
|
|
36
|
-
if (pinnedToolbar == 'Query') {
|
|
37
|
-
updatePinnedToolbars = true;
|
|
38
|
-
return 'GridFilter';
|
|
39
|
-
}
|
|
40
|
-
return pinnedToolbar;
|
|
41
|
-
});
|
|
42
|
-
if (updatePinnedToolbars) {
|
|
43
|
-
this.api.dashboardApi.setPinnedToolbars(pinnedToolbars);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
9
|
getViewProperties() {
|
|
47
10
|
return {
|
|
48
11
|
getStatusBarPanelProps: () => {
|
|
@@ -156,7 +156,6 @@ export interface IModule {
|
|
|
156
156
|
getModuleFreeTextColumnReferences(): FreeTextColumn[];
|
|
157
157
|
getPopupMaxWidth(): number | undefined;
|
|
158
158
|
canBeAssociatedWithLayouts(): boolean;
|
|
159
|
-
updateOldConfig(): void;
|
|
160
159
|
/**
|
|
161
160
|
* The following view options are used to render adaptable objects and
|
|
162
161
|
* module general views.
|
|
@@ -10,13 +10,11 @@ import { AdaptableObject } from '../PredefinedConfig/Common/AdaptableObject';
|
|
|
10
10
|
export declare class LayoutModule extends AdaptableModuleBase implements IModule {
|
|
11
11
|
protected LayoutState: LayoutState;
|
|
12
12
|
constructor(api: AdaptableApi);
|
|
13
|
-
|
|
14
|
-
private clearUnsuportedFeaturesFromLayout;
|
|
13
|
+
onAdaptableReady(): void;
|
|
15
14
|
getModuleAdaptableObjects(): AdaptableObject[];
|
|
16
15
|
getExplicitlyReferencedColumnIds(layout: Layout): string[];
|
|
17
16
|
getTeamSharingReferences(adaptableObject: AdaptableObject): TeamSharingReferences;
|
|
18
17
|
hasNamedQueryReferences(): boolean;
|
|
19
|
-
handleAdaptableReady(): void;
|
|
20
18
|
addColumnMenuItems(column: AdaptableColumn): AdaptableMenuItem[] | undefined;
|
|
21
19
|
addContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem[] | undefined;
|
|
22
20
|
private createViewPivotItemsMenuItem;
|