@adaptabletools/adaptable 18.0.0-canary.1 → 18.0.0-canary.11
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 +11 -3
- package/base.css.map +1 -1
- package/index.css +88 -70
- package/index.css.map +1 -1
- package/package.json +4 -5
- package/src/AdaptableInterfaces/IAdaptable.d.ts +61 -108
- package/src/AdaptableOptions/AdaptableOptions.d.ts +12 -6
- package/src/AdaptableOptions/ColumnFilterOptions.d.ts +4 -4
- package/src/AdaptableOptions/ColumnOptions.d.ts +4 -2
- package/src/AdaptableOptions/{CommentsOptions.d.ts → CommentOptions.d.ts} +5 -5
- package/src/AdaptableOptions/MenuOptions.d.ts +1 -1
- package/src/AdaptableOptions/MenuOptions.js +1 -5
- package/src/AdaptableOptions/{NotesOptions.d.ts → NoteOptions.d.ts} +1 -1
- package/src/AdaptableOptions/UserInterfaceOptions.d.ts +17 -0
- package/src/Api/AdaptableApi.d.ts +5 -0
- package/src/Api/BulkUpdateApi.d.ts +0 -5
- package/src/Api/ConfigApi.d.ts +1 -1
- package/src/Api/Events/AdaptableReady.d.ts +3 -3
- package/src/Api/Events/GridDataChanged.d.ts +4 -4
- package/src/Api/GridApi.d.ts +18 -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 +4 -1
- package/src/Api/Implementation/BulkUpdateApiImpl.d.ts +0 -1
- package/src/Api/Implementation/BulkUpdateApiImpl.js +0 -4
- package/src/Api/Implementation/CommentsApiImpl.d.ts +4 -0
- package/src/Api/Implementation/CommentsApiImpl.js +7 -1
- package/src/Api/Implementation/ConfigApiImpl.js +13 -5
- package/src/Api/Implementation/GridApiImpl.d.ts +4 -3
- package/src/Api/Implementation/GridApiImpl.js +33 -14
- package/src/Api/Implementation/LayoutApiImpl.d.ts +2 -0
- package/src/Api/Implementation/LayoutApiImpl.js +15 -0
- package/src/Api/Implementation/NotesApiImpl.d.ts +6 -4
- package/src/Api/Implementation/NotesApiImpl.js +9 -8
- package/src/Api/Implementation/OptionsApiImpl.d.ts +2 -1
- package/src/Api/Implementation/OptionsApiImpl.js +12 -2
- package/src/Api/Implementation/ScopeApiImpl.d.ts +2 -0
- package/src/Api/Implementation/ScopeApiImpl.js +20 -7
- 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/CommentsInternalApi.d.ts +4 -0
- package/src/Api/Internal/CommentsInternalApi.js +14 -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/FormatColumnInternalApi.js +3 -2
- 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/NotesInternalApi.d.ts +4 -0
- package/src/Api/Internal/NotesInternalApi.js +14 -0
- package/src/Api/Internal/TeamSharingInternalApi.js +1 -1
- package/src/Api/InteropioPluginApi.d.ts +2 -2
- package/src/Api/LayoutApi.d.ts +11 -0
- package/src/Api/OptionsApi.d.ts +5 -1
- package/src/Api/ScopeApi.d.ts +10 -0
- package/src/EnvVars.d.ts +3 -0
- package/src/EnvVars.js +4 -0
- package/src/PredefinedConfig/Common/AdaptableColumn.d.ts +4 -0
- package/src/PredefinedConfig/Common/AdaptableIcon.d.ts +1 -1
- package/src/PredefinedConfig/Common/AdaptableScope.d.ts +4 -1
- package/src/PredefinedConfig/Common/AggregationColumns.d.ts +1 -0
- package/src/PredefinedConfig/Common/AggregationColumns.js +3 -0
- package/src/PredefinedConfig/Common/DataUpdateConfig.d.ts +8 -0
- package/src/PredefinedConfig/Common/RowSummary.d.ts +7 -0
- package/src/PredefinedConfig/Common/RowSummary.js +1 -0
- package/src/PredefinedConfig/LayoutState.d.ts +5 -0
- package/src/PredefinedConfig/NotesState.d.ts +10 -20
- package/src/PredefinedConfig/PredefinedConfig.d.ts +1 -1
- package/src/PredefinedConfig/SystemState.d.ts +7 -0
- package/src/Redux/ActionsReducers/LayoutRedux.d.ts +9 -0
- package/src/Redux/ActionsReducers/LayoutRedux.js +20 -0
- package/src/Redux/ActionsReducers/NotesRedux.d.ts +3 -4
- package/src/Redux/ActionsReducers/NotesRedux.js +8 -7
- package/src/Redux/ActionsReducers/SystemRedux.d.ts +5 -0
- package/src/Redux/ActionsReducers/SystemRedux.js +13 -1
- package/src/Redux/Store/AdaptableStore.d.ts +4 -6
- package/src/Redux/Store/AdaptableStore.js +33 -50
- package/src/Redux/Store/Interface/IAdaptableStore.d.ts +8 -2
- 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/CellSummaryModule.d.ts +1 -0
- package/src/Strategy/CellSummaryModule.js +50 -21
- package/src/Strategy/ChartingModule.d.ts +0 -1
- package/src/Strategy/ChartingModule.js +2 -22
- 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 +5 -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 +8 -3
- package/src/Strategy/LayoutModule.js +108 -53
- package/src/Strategy/NamedQueryModule.d.ts +0 -1
- package/src/Strategy/NamedQueryModule.js +0 -19
- package/src/Strategy/NotesModule.js +3 -4
- 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/DocumentationLinkConstants.js +1 -1
- package/src/Utilities/Constants/GeneralConstants.d.ts +1 -0
- package/src/Utilities/Constants/GeneralConstants.js +1 -0
- package/src/Utilities/Defaults/DefaultSettingsPanel.js +5 -4
- package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.d.ts +2 -1
- package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.js +294 -0
- package/src/Utilities/ExpressionFunctions/scalarAggregationHelper.js +1 -1
- package/src/Utilities/Extensions/ArrayExtensions.d.ts +2 -0
- package/src/Utilities/Extensions/ArrayExtensions.js +4 -0
- package/src/Utilities/Helpers/AdaptableHelper.d.ts +3 -4
- package/src/Utilities/Helpers/AdaptableHelper.js +18 -58
- package/src/Utilities/Helpers/Helper.d.ts +2 -0
- package/src/Utilities/Helpers/Helper.js +4 -0
- package/src/Utilities/ObjectFactory.js +6 -6
- package/src/Utilities/Services/AggregatedScalarLiveValue.d.ts +3 -2
- package/src/Utilities/Services/AggregatedScalarLiveValue.js +14 -9
- package/src/Utilities/Services/CellPopupService.js +0 -1
- package/src/Utilities/Services/Interface/IQueryLanguageService.d.ts +1 -1
- package/src/Utilities/Services/LicenseService/index.d.ts +3 -0
- package/src/Utilities/Services/LicenseService/index.js +1 -181
- package/src/Utilities/Services/MetamodelService.d.ts +1 -1
- package/src/Utilities/Services/MetamodelService.js +6 -3
- package/src/Utilities/Services/QueryLanguageService.d.ts +1 -1
- package/src/Utilities/Services/QueryLanguageService.js +2 -1
- package/src/Utilities/Services/RowEditService.d.ts +3 -2
- package/src/Utilities/Services/RowEditService.js +3 -1
- package/src/Utilities/Services/SummaryService.d.ts +19 -0
- package/src/Utilities/Services/SummaryService.js +29 -0
- package/src/Utilities/license/decode.js +1 -65
- package/src/Utilities/license/hashing.js +1 -43
- package/src/View/AdaptableView.js +1 -3
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationWizard.js +2 -2
- package/src/View/BulkUpdate/BulkUpdatePopup.js +1 -1
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.d.ts +1 -1
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.js +2 -2
- package/src/View/CalculatedColumn/utils.d.ts +1 -1
- package/src/View/CellSummary/CellSummaryPopup.js +1 -1
- package/src/View/Comments/CommentsPopup.js +12 -8
- package/src/View/Components/AdaptableDateInput/index.d.ts +1 -1
- package/src/View/Components/NewScopeComponent.js +34 -1
- package/src/View/Components/Popups/AdaptableLoadingScreen.d.ts +6 -5
- package/src/View/Components/Popups/AdaptableLoadingScreen.js +19 -9
- package/src/View/Components/Popups/AdaptableToaster.js +1 -1
- package/src/View/Components/Popups/GridCellPopup/GridCellPopup.js +1 -1
- package/src/View/Components/Popups/WindowPopups/windowFactory.d.ts +1 -0
- package/src/View/Components/Popups/WindowPopups/windowFactory.js +3 -0
- package/src/View/Components/Selectors/PermittedValuesSelector.js +1 -1
- package/src/View/CustomSort/CustomSortSummary.js +1 -1
- package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +8 -8
- package/src/View/GridFilter/GridFilterViewPanel.js +7 -3
- package/src/View/GridInfo/GridInfoPopup/GridInfoPopup.js +2 -3
- package/src/View/Layout/TransposedPopup.d.ts +3 -0
- package/src/View/Layout/TransposedPopup.js +194 -0
- package/src/View/Layout/Wizard/LayoutWizard.js +1 -1
- package/src/View/License/LicenseWatermark.js +1 -61
- package/src/View/Notes/NotesPopup.js +9 -11
- package/src/View/SpecialColumnSettingsWizardStep.js +4 -4
- package/src/View/Theme/ThemeSelector.js +3 -3
- package/src/agGrid/ActionColumnRenderer.js +7 -6
- package/src/agGrid/Adaptable.d.ts +3 -455
- package/src/agGrid/Adaptable.js +8 -5292
- package/src/agGrid/AdaptableAgGrid.d.ts +351 -0
- package/src/agGrid/AdaptableAgGrid.js +3936 -0
- package/src/agGrid/AdaptableLogger.js +77 -11
- package/src/agGrid/AgGridAdapter.d.ts +62 -0
- package/src/agGrid/AgGridAdapter.js +577 -0
- package/src/agGrid/AgGridColumnAdapter.d.ts +56 -0
- package/src/agGrid/AgGridColumnAdapter.js +824 -0
- package/src/agGrid/AgGridMenuAdapter.d.ts +28 -0
- package/src/agGrid/AgGridMenuAdapter.js +271 -0
- package/src/agGrid/AgGridOptionsService.d.ts +12 -0
- package/src/agGrid/AgGridOptionsService.js +54 -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} +70 -9
- package/src/agGrid/editors/AdaptableDateEditor/index.js +2 -2
- package/src/agGrid/editors/AdaptableNumberEditor/index.js +2 -2
- package/src/components/ColorPicker/ColorPicker.d.ts +1 -1
- package/src/components/Datepicker/index.d.ts +1 -1
- package/src/components/InfiniteTable/index.js +2 -2
- package/src/components/Input/index.d.ts +1 -1
- package/src/components/List/ListGroupItem/index.d.ts +1 -1
- package/src/components/Modal/index.d.ts +1 -0
- package/src/components/Modal/index.js +4 -3
- package/src/components/Select/Select.d.ts +2 -0
- package/src/components/Select/Select.js +2 -2
- package/src/components/icons/index.js +2 -0
- package/src/components/icons/rows.d.ts +3 -0
- package/src/components/icons/rows.js +4 -0
- package/src/env.js +2 -2
- package/src/metamodel/adaptable.metamodel.d.ts +74 -11
- package/src/metamodel/adaptable.metamodel.js +1 -9313
- 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/parser/src/types.d.ts +5 -0
- package/src/types.d.ts +7 -3
- 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/View/Components/ScopeComponent.d.ts +0 -24
- package/src/View/Components/ScopeComponent.js +0 -133
- package/src/View/Export/Wizard/ReportScopeWizard.d.ts +0 -17
- package/src/View/Export/Wizard/ReportScopeWizard.js +0 -47
- 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
- /package/src/AdaptableOptions/{CommentsOptions.js → CommentOptions.js} +0 -0
- /package/src/AdaptableOptions/{NotesOptions.js → NoteOptions.js} +0 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { AdaptableAgGrid } from './AdaptableAgGrid';
|
|
2
|
+
import { Column, GetContextMenuItems, GetContextMenuItemsParams, GetMainMenuItems, GetMainMenuItemsParams, MenuItemDef } from '@ag-grid-community/core';
|
|
3
|
+
import { AdaptableColumn } from '../PredefinedConfig/Common/AdaptableColumn';
|
|
4
|
+
import { AdaptableMenuItem, ColumnMenuContext } from '../PredefinedConfig/Common/Menu';
|
|
5
|
+
export declare class AgGridMenuAdapter {
|
|
6
|
+
private adaptableInstance;
|
|
7
|
+
constructor(adaptableInstance: AdaptableAgGrid);
|
|
8
|
+
private get adaptableOptions();
|
|
9
|
+
private get adaptableApi();
|
|
10
|
+
destroy(): void;
|
|
11
|
+
buildColumnMenu(params: GetMainMenuItemsParams, originalGetMainMenuItems: GetMainMenuItems): (string | MenuItemDef)[];
|
|
12
|
+
buildStructuredAdaptableColumnItems(menuContext: ColumnMenuContext): {
|
|
13
|
+
adaptableMenuItems: AdaptableMenuItem[];
|
|
14
|
+
structuredAdaptableMenuItems: AdaptableMenuItem[];
|
|
15
|
+
};
|
|
16
|
+
buildContextMenu(params: GetContextMenuItemsParams, originalGetContextMenuItems: GetContextMenuItems): (string | MenuItemDef)[];
|
|
17
|
+
createColumnMenuContextObject(adaptableColumn: AdaptableColumn, agGridColumn: Column): ColumnMenuContext;
|
|
18
|
+
private createAdaptableContextMenuItems;
|
|
19
|
+
private createContextMenuContextObject;
|
|
20
|
+
private mapAdaptableMenuItemToAgGridMenuDefinition;
|
|
21
|
+
private mapCustomMenuItemToAgGridMenuDefinition;
|
|
22
|
+
private mapUserMenuItemToAgGridMenuDefinition;
|
|
23
|
+
private buildGroupedModuleItems;
|
|
24
|
+
private mapAdaptableMenuItemToSystemMenuItems;
|
|
25
|
+
private createAdaptableColumnMenuItems;
|
|
26
|
+
private mapAdaptableIconToAgGridIcon;
|
|
27
|
+
buildStandaloneColumnHeader(adaptableColumn: AdaptableColumn): AdaptableMenuItem[];
|
|
28
|
+
}
|
|
@@ -0,0 +1,271 @@
|
|
|
1
|
+
import { DEFAULT_ADAPTABLE_COLUMN_MENU_STRUCTURE, DEFAULT_ADAPTABLE_CONTEXT_MENU_STRUCTURE, } from '../AdaptableOptions/MenuOptions';
|
|
2
|
+
import { isAdaptableElementIcon } from '../components/Icon';
|
|
3
|
+
import { iconToString } from '../components/icons';
|
|
4
|
+
import ArrayExtensions from '../Utilities/Extensions/ArrayExtensions';
|
|
5
|
+
export class AgGridMenuAdapter {
|
|
6
|
+
constructor(adaptableInstance) {
|
|
7
|
+
this.adaptableInstance = adaptableInstance;
|
|
8
|
+
}
|
|
9
|
+
get adaptableOptions() {
|
|
10
|
+
return this.adaptableInstance.adaptableOptions;
|
|
11
|
+
}
|
|
12
|
+
get adaptableApi() {
|
|
13
|
+
return this.adaptableInstance.api;
|
|
14
|
+
}
|
|
15
|
+
destroy() {
|
|
16
|
+
this.adaptableInstance = null;
|
|
17
|
+
}
|
|
18
|
+
buildColumnMenu(params, originalGetMainMenuItems) {
|
|
19
|
+
var _a;
|
|
20
|
+
const menuOptions = this.adaptableOptions.menuOptions;
|
|
21
|
+
const agGridMenuItems = (params.defaultItems ? [...params.defaultItems] : []);
|
|
22
|
+
if (!params.column) {
|
|
23
|
+
// return only AG Grid context if the Adaptable column is not found (should not happen)
|
|
24
|
+
return agGridMenuItems;
|
|
25
|
+
}
|
|
26
|
+
const adaptableColumn = this.adaptableApi.columnApi.getColumnWithColumnId((_a = params.column) === null || _a === void 0 ? void 0 : _a.getColId());
|
|
27
|
+
const menuContext = this.createColumnMenuContextObject(adaptableColumn, params.column);
|
|
28
|
+
const { adaptableMenuItems, structuredAdaptableMenuItems } = this.buildStructuredAdaptableColumnItems(menuContext);
|
|
29
|
+
// 1. first check if there is a custom column menu defined
|
|
30
|
+
if (typeof menuOptions.customColumnMenu === 'function') {
|
|
31
|
+
const defaultAgGridMenuItems = agGridMenuItems.map((itemName) => ({
|
|
32
|
+
menuType: 'AgGrid',
|
|
33
|
+
name: itemName,
|
|
34
|
+
}));
|
|
35
|
+
const defaultAdaptableMenuItems = adaptableMenuItems.map((adaptableItem) => (Object.assign({ menuType: 'Adaptable' }, adaptableItem)));
|
|
36
|
+
const customMenuItems = menuOptions
|
|
37
|
+
.customColumnMenu(Object.assign(Object.assign({}, menuContext), { defaultAgGridMenuItems,
|
|
38
|
+
defaultAdaptableMenuItems, structuredAdaptableMenuItems: this.mapAdaptableMenuItemToSystemMenuItems(structuredAdaptableMenuItems) }))
|
|
39
|
+
.filter(Boolean);
|
|
40
|
+
return customMenuItems
|
|
41
|
+
.map((customMenuItem) => this.mapCustomMenuItemToAgGridMenuDefinition(customMenuItem, menuContext))
|
|
42
|
+
.filter(Boolean);
|
|
43
|
+
}
|
|
44
|
+
// 2. if not, return the default context menu
|
|
45
|
+
const defaultContextMenu = [
|
|
46
|
+
...agGridMenuItems,
|
|
47
|
+
'separator',
|
|
48
|
+
...structuredAdaptableMenuItems.map((adaptableItem) => this.mapAdaptableMenuItemToAgGridMenuDefinition(adaptableItem)),
|
|
49
|
+
];
|
|
50
|
+
return defaultContextMenu;
|
|
51
|
+
}
|
|
52
|
+
buildStructuredAdaptableColumnItems(menuContext) {
|
|
53
|
+
const adaptableMenuItems = this.createAdaptableColumnMenuItems(menuContext);
|
|
54
|
+
// sort Adaptable menu items by default order
|
|
55
|
+
const structuredAdaptableMenuItems = this.buildGroupedModuleItems(DEFAULT_ADAPTABLE_COLUMN_MENU_STRUCTURE, adaptableMenuItems);
|
|
56
|
+
return { adaptableMenuItems, structuredAdaptableMenuItems };
|
|
57
|
+
}
|
|
58
|
+
buildContextMenu(params, originalGetContextMenuItems) {
|
|
59
|
+
var _a;
|
|
60
|
+
// we do this in order to refresh the internal state of selected cells (technically query the AG Grid cellRanges)
|
|
61
|
+
// (right-click selected the current cell, but this was not reflected in the internal state of the selected cells)
|
|
62
|
+
this.adaptableInstance.refreshSelectedCellsState();
|
|
63
|
+
const menuOptions = this.adaptableOptions.menuOptions;
|
|
64
|
+
const agGridMenuItems = (params.defaultItems ? [...params.defaultItems] : []);
|
|
65
|
+
if (!params.column) {
|
|
66
|
+
// return only AG Grid context if the Adaptable column is not found (should not happen)
|
|
67
|
+
return agGridMenuItems;
|
|
68
|
+
}
|
|
69
|
+
const adaptableColumn = this.adaptableApi.columnApi.getColumnWithColumnId((_a = params.column) === null || _a === void 0 ? void 0 : _a.getColId());
|
|
70
|
+
const menuContext = this.createContextMenuContextObject(params, adaptableColumn);
|
|
71
|
+
const adaptableMenuItems = this.createAdaptableContextMenuItems(menuContext);
|
|
72
|
+
// sort Adaptable menu items by default order
|
|
73
|
+
const structuredAdaptableMenuItems = this.buildGroupedModuleItems(DEFAULT_ADAPTABLE_CONTEXT_MENU_STRUCTURE, adaptableMenuItems);
|
|
74
|
+
// 1. first check if there is a custom context menu defined
|
|
75
|
+
if (typeof menuOptions.customContextMenu === 'function') {
|
|
76
|
+
const defaultAgGridMenuItems = agGridMenuItems.map((itemName) => ({
|
|
77
|
+
menuType: 'AgGrid',
|
|
78
|
+
name: itemName,
|
|
79
|
+
}));
|
|
80
|
+
const defaultAdaptableMenuItems = adaptableMenuItems.map((adaptableItem) => (Object.assign({ menuType: 'Adaptable' }, adaptableItem)));
|
|
81
|
+
const customMenuItems = menuOptions
|
|
82
|
+
.customContextMenu(Object.assign(Object.assign({}, menuContext), { defaultAgGridMenuItems,
|
|
83
|
+
defaultAdaptableMenuItems, structuredAdaptableMenuItems: this.mapAdaptableMenuItemToSystemMenuItems(structuredAdaptableMenuItems) }))
|
|
84
|
+
.filter(Boolean);
|
|
85
|
+
return customMenuItems
|
|
86
|
+
.map((customMenuItem) => this.mapCustomMenuItemToAgGridMenuDefinition(customMenuItem, menuContext))
|
|
87
|
+
.filter(Boolean);
|
|
88
|
+
}
|
|
89
|
+
// 2. if not, return the default context menu
|
|
90
|
+
const defaultContextMenu = [
|
|
91
|
+
...agGridMenuItems,
|
|
92
|
+
'separator',
|
|
93
|
+
...structuredAdaptableMenuItems.map((adaptableItem) => this.mapAdaptableMenuItemToAgGridMenuDefinition(adaptableItem)),
|
|
94
|
+
];
|
|
95
|
+
return defaultContextMenu;
|
|
96
|
+
}
|
|
97
|
+
createColumnMenuContextObject(adaptableColumn, agGridColumn) {
|
|
98
|
+
return Object.assign(Object.assign({}, this.adaptableInstance.api.internalApi.buildBaseContext()), { adaptableColumn: adaptableColumn, agGridColumn: agGridColumn, isRowGroupColumn: this.adaptableInstance.api.columnApi.isAutoRowGroupColumn(agGridColumn.getColId()) });
|
|
99
|
+
}
|
|
100
|
+
createAdaptableContextMenuItems(menuContext) {
|
|
101
|
+
let contextMenuItems = [];
|
|
102
|
+
this.adaptableInstance.adaptableModules.forEach((module) => {
|
|
103
|
+
let menuItems = module.addContextMenuItems(menuContext);
|
|
104
|
+
if (menuItems) {
|
|
105
|
+
contextMenuItems.push(...menuItems.filter(Boolean).filter((item) => item.isVisible !== false));
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
this.adaptableInstance._emitSync('CreateAdaptableContextMenuItems', {
|
|
109
|
+
items: contextMenuItems,
|
|
110
|
+
menuContext: menuContext,
|
|
111
|
+
});
|
|
112
|
+
return contextMenuItems;
|
|
113
|
+
}
|
|
114
|
+
createContextMenuContextObject(params, adaptableColumn) {
|
|
115
|
+
// lets build a picture of what has been right clicked. Will take time to get right but lets start
|
|
116
|
+
let isSingleSelectedColumn = false;
|
|
117
|
+
let isSelectedCell = false;
|
|
118
|
+
let isSelectedRow = false;
|
|
119
|
+
// row group columns dont provide an AdapTable Column so return bare minimum
|
|
120
|
+
if (!adaptableColumn) {
|
|
121
|
+
return Object.assign(Object.assign({}, this.adaptableApi.internalApi.buildBaseContext()), { isSelectedCell: false, isSelectedRow: false, gridCell: undefined, adaptableColumn: undefined, agGridColumn: params.column, rowNode: params.node, isGroupedNode: params.node ? params.node.group : false, isSingleSelectedColumn: false, isSingleSelectedCell: false, primaryKeyValue: undefined, selectedCellInfo: undefined, selectedRowInfo: undefined, isRowGroupColumn: this.adaptableApi.columnApi.isAutoRowGroupColumn(params.column.getColId()) });
|
|
122
|
+
}
|
|
123
|
+
const clickedCell = this.adaptableInstance.getGridCellFromRowNode(params.node, adaptableColumn.columnId);
|
|
124
|
+
const selectedCellInfo = this.adaptableApi.gridApi.getSelectedCellInfo();
|
|
125
|
+
if (selectedCellInfo) {
|
|
126
|
+
let matchedCell = selectedCellInfo.gridCells.find((gc) => gc != null &&
|
|
127
|
+
gc.column == clickedCell.column &&
|
|
128
|
+
gc.primaryKeyValue == clickedCell.primaryKeyValue);
|
|
129
|
+
isSelectedCell = matchedCell != null;
|
|
130
|
+
if (isSelectedCell) {
|
|
131
|
+
isSingleSelectedColumn = ArrayExtensions.CorrectLength(selectedCellInfo.columns, 1);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
const selectedRowInfo = this.adaptableApi.gridApi.getSelectedRowInfo();
|
|
135
|
+
if (selectedRowInfo) {
|
|
136
|
+
const matchedPKValue = selectedRowInfo.gridRows.find((gr) => gr != null && gr.primaryKeyValue == clickedCell.primaryKeyValue);
|
|
137
|
+
isSelectedRow = matchedPKValue != null;
|
|
138
|
+
}
|
|
139
|
+
return Object.assign(Object.assign({}, this.adaptableApi.internalApi.buildBaseContext()), { isSelectedCell: isSelectedCell, isSelectedRow: isSelectedRow, gridCell: clickedCell, adaptableColumn: adaptableColumn, agGridColumn: params.column, rowNode: params.node, isGroupedNode: params.node ? params.node.group : false, isSingleSelectedColumn: isSingleSelectedColumn, isSingleSelectedCell: isSelectedCell && (selectedCellInfo === null || selectedCellInfo === void 0 ? void 0 : selectedCellInfo.gridCells.length) == 1, primaryKeyValue: clickedCell ? clickedCell.primaryKeyValue : undefined, selectedCellInfo: selectedCellInfo, selectedRowInfo: selectedRowInfo, isRowGroupColumn: this.adaptableApi.columnApi.isAutoRowGroupColumn(params.column.getColId()) });
|
|
140
|
+
}
|
|
141
|
+
mapAdaptableMenuItemToAgGridMenuDefinition(adaptableMenuItem) {
|
|
142
|
+
var _a;
|
|
143
|
+
return {
|
|
144
|
+
name: adaptableMenuItem.label,
|
|
145
|
+
action: adaptableMenuItem.onClick
|
|
146
|
+
? adaptableMenuItem.onClick
|
|
147
|
+
: adaptableMenuItem.reduxAction
|
|
148
|
+
? () => this.adaptableInstance.api.internalApi.dispatchReduxAction(adaptableMenuItem.reduxAction)
|
|
149
|
+
: undefined,
|
|
150
|
+
icon: this.mapAdaptableIconToAgGridIcon(adaptableMenuItem.icon, {
|
|
151
|
+
fill: 'var(--ab-color-text-on-primary)',
|
|
152
|
+
}),
|
|
153
|
+
subMenu: (_a = adaptableMenuItem.subItems) === null || _a === void 0 ? void 0 : _a.map((subMenuItem) => this.mapAdaptableMenuItemToAgGridMenuDefinition(subMenuItem)),
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
mapCustomMenuItemToAgGridMenuDefinition(customMenuItem, menuContext) {
|
|
157
|
+
var _a;
|
|
158
|
+
if (customMenuItem === '-') {
|
|
159
|
+
return 'separator';
|
|
160
|
+
}
|
|
161
|
+
if (customMenuItem.menuType === 'Group') {
|
|
162
|
+
return {
|
|
163
|
+
name: customMenuItem.label,
|
|
164
|
+
icon: this.mapAdaptableIconToAgGridIcon(customMenuItem.icon, {
|
|
165
|
+
fill: 'var(--ab-color-text-on-primary)',
|
|
166
|
+
}),
|
|
167
|
+
disabled: customMenuItem.disabled,
|
|
168
|
+
subMenu: !customMenuItem.disabled
|
|
169
|
+
? (_a = customMenuItem.subMenuItems) === null || _a === void 0 ? void 0 : _a.map((subMenuItem) => this.mapCustomMenuItemToAgGridMenuDefinition(subMenuItem, menuContext)).filter(Boolean)
|
|
170
|
+
: undefined,
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
if (customMenuItem.menuType === 'AgGrid') {
|
|
174
|
+
return customMenuItem.name;
|
|
175
|
+
}
|
|
176
|
+
if (customMenuItem.menuType === 'Adaptable') {
|
|
177
|
+
return this.mapAdaptableMenuItemToAgGridMenuDefinition(customMenuItem);
|
|
178
|
+
}
|
|
179
|
+
if (customMenuItem.menuType === 'User') {
|
|
180
|
+
return this.mapUserMenuItemToAgGridMenuDefinition(customMenuItem, menuContext);
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
mapUserMenuItemToAgGridMenuDefinition(userMenuItem, menuContext) {
|
|
184
|
+
var _a;
|
|
185
|
+
if (userMenuItem.hidden) {
|
|
186
|
+
return;
|
|
187
|
+
}
|
|
188
|
+
return {
|
|
189
|
+
name: userMenuItem.label,
|
|
190
|
+
action: () => (userMenuItem.onClick ? userMenuItem.onClick(menuContext) : null),
|
|
191
|
+
icon: this.mapAdaptableIconToAgGridIcon(userMenuItem.icon, {
|
|
192
|
+
fill: 'var(--ab-color-text-on-primary)',
|
|
193
|
+
}),
|
|
194
|
+
disabled: userMenuItem.disabled,
|
|
195
|
+
subMenu: (_a = userMenuItem.subMenuItems) === null || _a === void 0 ? void 0 : _a.map((subMenuItem) => {
|
|
196
|
+
return this.mapCustomMenuItemToAgGridMenuDefinition(subMenuItem, menuContext);
|
|
197
|
+
}).filter(Boolean),
|
|
198
|
+
};
|
|
199
|
+
}
|
|
200
|
+
buildGroupedModuleItems(sortedMenuItems, adaptableMenuItems) {
|
|
201
|
+
return sortedMenuItems
|
|
202
|
+
.map((moduleOrGroup) => {
|
|
203
|
+
if (typeof moduleOrGroup === 'object') {
|
|
204
|
+
const submenuItems = this.buildGroupedModuleItems(moduleOrGroup.modules, adaptableMenuItems);
|
|
205
|
+
// if there is only one item in the submenu, we don't need to show the submenu
|
|
206
|
+
if (submenuItems.length === 1) {
|
|
207
|
+
return submenuItems[0];
|
|
208
|
+
}
|
|
209
|
+
return {
|
|
210
|
+
label: moduleOrGroup.title,
|
|
211
|
+
icon: moduleOrGroup.icon,
|
|
212
|
+
subItems: submenuItems,
|
|
213
|
+
};
|
|
214
|
+
}
|
|
215
|
+
else {
|
|
216
|
+
return adaptableMenuItems.find((menuItem) => menuItem.module === moduleOrGroup);
|
|
217
|
+
}
|
|
218
|
+
})
|
|
219
|
+
.filter((menuItem) => {
|
|
220
|
+
if (!menuItem) {
|
|
221
|
+
return false;
|
|
222
|
+
}
|
|
223
|
+
if (menuItem.subItems && menuItem.subItems.length === 0) {
|
|
224
|
+
return false;
|
|
225
|
+
}
|
|
226
|
+
return true;
|
|
227
|
+
});
|
|
228
|
+
}
|
|
229
|
+
mapAdaptableMenuItemToSystemMenuItems(adaptableMenuItems) {
|
|
230
|
+
return (adaptableMenuItems !== null && adaptableMenuItems !== void 0 ? adaptableMenuItems : []).map((menuItem) => {
|
|
231
|
+
let subItems = menuItem.subItems;
|
|
232
|
+
if (subItems && subItems.length > 0) {
|
|
233
|
+
subItems = subItems.map((subItem) => this.mapAdaptableMenuItemToSystemMenuItems(subItem.subItems));
|
|
234
|
+
}
|
|
235
|
+
return Object.assign(Object.assign({}, menuItem), { menuType: 'Adaptable', subItems });
|
|
236
|
+
});
|
|
237
|
+
}
|
|
238
|
+
createAdaptableColumnMenuItems(menuContext) {
|
|
239
|
+
let contextMenuItems = [];
|
|
240
|
+
this.adaptableInstance.adaptableModules.forEach((s) => {
|
|
241
|
+
let menuItems = s.addColumnMenuItems(menuContext.adaptableColumn);
|
|
242
|
+
if (menuItems) {
|
|
243
|
+
contextMenuItems.push(...menuItems.filter(Boolean).filter((item) => item.isVisible !== false));
|
|
244
|
+
}
|
|
245
|
+
});
|
|
246
|
+
return contextMenuItems;
|
|
247
|
+
}
|
|
248
|
+
// TODO AFL MIG: pretty sure this logic is duplicated in several other places
|
|
249
|
+
mapAdaptableIconToAgGridIcon(adaptableIcon, style) {
|
|
250
|
+
const icon = this.adaptableInstance.api.userInterfaceApi.internalApi.prepareAdaptableIconDef(adaptableIcon);
|
|
251
|
+
if (isAdaptableElementIcon(icon)) {
|
|
252
|
+
let element = icon.element;
|
|
253
|
+
if (typeof element === 'string') {
|
|
254
|
+
return element;
|
|
255
|
+
}
|
|
256
|
+
// THe element neets to be cloned.
|
|
257
|
+
// when it is used in more than one plce the element is removed from the DOM
|
|
258
|
+
return element.cloneNode(true);
|
|
259
|
+
}
|
|
260
|
+
else {
|
|
261
|
+
return iconToString(icon, {
|
|
262
|
+
fill: 'var(--ab-color-text-on-primary)',
|
|
263
|
+
});
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
buildStandaloneColumnHeader(adaptableColumn) {
|
|
267
|
+
const agGridColumn = this.adaptableInstance.getAgGridColumnForColumnId(adaptableColumn.columnId);
|
|
268
|
+
const menuContext = this.createColumnMenuContextObject(adaptableColumn, agGridColumn);
|
|
269
|
+
return this.buildStructuredAdaptableColumnItems(menuContext).adaptableMenuItems;
|
|
270
|
+
}
|
|
271
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AdaptableAgGrid } from './AdaptableAgGrid';
|
|
2
|
+
import { GridOptions } from '@ag-grid-community/core';
|
|
3
|
+
export declare class AgGridOptionsService {
|
|
4
|
+
private adaptableInstance;
|
|
5
|
+
private gridOptionsPropertyCache;
|
|
6
|
+
private colDefPropertyCache;
|
|
7
|
+
constructor(adaptableInstance: AdaptableAgGrid);
|
|
8
|
+
destroy(): void;
|
|
9
|
+
setGridOptionsProperty<T extends keyof GridOptions>(gridOptions: GridOptions, propertyName: T, propertyGetter: (userPropertyValue: GridOptions[T]) => GridOptions[T] | undefined): GridOptions;
|
|
10
|
+
revertGridOptionsPropertiesToUserValue<T extends keyof GridOptions>(gridOptions: GridOptions, propertyNames: T[]): void;
|
|
11
|
+
private get agGridAdapter();
|
|
12
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
export class AgGridOptionsService {
|
|
2
|
+
constructor(adaptableInstance) {
|
|
3
|
+
this.adaptableInstance = adaptableInstance;
|
|
4
|
+
this.gridOptionsPropertyCache = new Map();
|
|
5
|
+
this.colDefPropertyCache = new Map();
|
|
6
|
+
}
|
|
7
|
+
destroy() {
|
|
8
|
+
this.gridOptionsPropertyCache.clear();
|
|
9
|
+
this.colDefPropertyCache.clear();
|
|
10
|
+
this.gridOptionsPropertyCache = null;
|
|
11
|
+
this.colDefPropertyCache = null;
|
|
12
|
+
}
|
|
13
|
+
setGridOptionsProperty(gridOptions, propertyName, propertyGetter) {
|
|
14
|
+
if (this.adaptableInstance.lifecycleState === 'preDestroyed') {
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
const userKey = `user.${propertyName}`;
|
|
18
|
+
const adaptableKey = `adaptable.${propertyName}`;
|
|
19
|
+
const value = gridOptions[propertyName];
|
|
20
|
+
const isUserDefined = value !== this.gridOptionsPropertyCache.get(adaptableKey);
|
|
21
|
+
if (isUserDefined) {
|
|
22
|
+
this.gridOptionsPropertyCache.set(userKey, value);
|
|
23
|
+
}
|
|
24
|
+
const userValue = this.gridOptionsPropertyCache.get(userKey);
|
|
25
|
+
let adaptableValue = propertyGetter(userValue);
|
|
26
|
+
if (typeof adaptableValue === 'function') {
|
|
27
|
+
const previousValue = adaptableValue;
|
|
28
|
+
// @ts-ignore we know that adaptableValue is a function
|
|
29
|
+
adaptableValue = (...args) => {
|
|
30
|
+
if (this.adaptableInstance.isDestroyed) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
this.agGridAdapter.grabAgGridApiOnTheFly(args);
|
|
34
|
+
return previousValue(...args);
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
if (adaptableValue != null) {
|
|
38
|
+
this.gridOptionsPropertyCache.set(adaptableKey, adaptableValue);
|
|
39
|
+
}
|
|
40
|
+
gridOptions[propertyName] = adaptableValue !== null && adaptableValue !== void 0 ? adaptableValue : userValue;
|
|
41
|
+
return gridOptions;
|
|
42
|
+
}
|
|
43
|
+
revertGridOptionsPropertiesToUserValue(gridOptions, propertyNames) {
|
|
44
|
+
for (const propertyName of propertyNames) {
|
|
45
|
+
// see this.setGridOptionsProperty(...)
|
|
46
|
+
const userKey = `user.${propertyName}`;
|
|
47
|
+
const userValue = this.gridOptionsPropertyCache.get(userKey);
|
|
48
|
+
gridOptions[propertyName] = userValue;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
get agGridAdapter() {
|
|
52
|
+
return this.adaptableInstance.agGridAdapter;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
@@ -7,7 +7,7 @@ export const getBadgeRendererForColumn = (styledColumn, abColumn, api) => {
|
|
|
7
7
|
}
|
|
8
8
|
return class BadgetRenderer {
|
|
9
9
|
getAdaptableInstance(params) {
|
|
10
|
-
const adaptable = params.
|
|
10
|
+
const adaptable = params.context.__adaptable;
|
|
11
11
|
return adaptable;
|
|
12
12
|
}
|
|
13
13
|
init(params) {
|
|
@@ -65,7 +65,7 @@ export class CheckboxEditor {
|
|
|
65
65
|
// however, using ReactUI makes some race conditions possible, in which cases the editor will be displayed for a few milliseconds
|
|
66
66
|
// we provide this logic for those few cases (to avoid a flicker effect)
|
|
67
67
|
init(params) {
|
|
68
|
-
const adaptable = params.
|
|
68
|
+
const adaptable = params.context.__adaptable;
|
|
69
69
|
const inputElement = document.createElement('input');
|
|
70
70
|
inputElement.type = 'checkbox';
|
|
71
71
|
inputElement.checked = params.value;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare
|
|
1
|
+
import { AdaptableAgGrid } from './AdaptableAgGrid';
|
|
2
|
+
export declare const FilterWrapperFactory: (adaptable: AdaptableAgGrid) => any;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { forwardRef, useImperativeHandle, useState } from 'react';
|
|
3
3
|
import { FilterFormReact } from '../View/Components/FilterForm/FilterForm';
|
|
4
|
-
export
|
|
4
|
+
export const FilterWrapperFactory = (adaptable) => {
|
|
5
5
|
function isFilterActive(colId) {
|
|
6
6
|
// we need this here
|
|
7
7
|
if (adaptable.isDestroyed) {
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { GridOptions } from '@ag-grid-community/core';
|
|
2
2
|
export declare const attachColumnTypes: (gridOptions: GridOptions) => {
|
|
3
|
-
[key: string]: import("@ag-grid-community/core").
|
|
3
|
+
[key: string]: import("@ag-grid-community/core").ColTypeDef<any, any>;
|
|
4
4
|
} & {
|
|
5
|
-
[x: string]: import("@ag-grid-community/core").
|
|
6
|
-
abColDefNumber: import("@ag-grid-community/core").
|
|
7
|
-
abColDefString: import("@ag-grid-community/core").
|
|
8
|
-
abColDefBoolean: import("@ag-grid-community/core").
|
|
9
|
-
abColDefDate: import("@ag-grid-community/core").
|
|
10
|
-
abColDefObject: import("@ag-grid-community/core").
|
|
11
|
-
abColDefCustom: import("@ag-grid-community/core").
|
|
12
|
-
abColDefStringArray: import("@ag-grid-community/core").
|
|
13
|
-
abColDefNumberArray: import("@ag-grid-community/core").
|
|
14
|
-
abColDefTupleNumberArray: import("@ag-grid-community/core").
|
|
15
|
-
abColDefObjectNumberArray: import("@ag-grid-community/core").
|
|
5
|
+
[x: string]: import("@ag-grid-community/core").ColTypeDef<any, any>;
|
|
6
|
+
abColDefNumber: import("@ag-grid-community/core").ColTypeDef<any, any>;
|
|
7
|
+
abColDefString: import("@ag-grid-community/core").ColTypeDef<any, any>;
|
|
8
|
+
abColDefBoolean: import("@ag-grid-community/core").ColTypeDef<any, any>;
|
|
9
|
+
abColDefDate: import("@ag-grid-community/core").ColTypeDef<any, any>;
|
|
10
|
+
abColDefObject: import("@ag-grid-community/core").ColTypeDef<any, any>;
|
|
11
|
+
abColDefCustom: import("@ag-grid-community/core").ColTypeDef<any, any>;
|
|
12
|
+
abColDefStringArray: import("@ag-grid-community/core").ColTypeDef<any, any>;
|
|
13
|
+
abColDefNumberArray: import("@ag-grid-community/core").ColTypeDef<any, any>;
|
|
14
|
+
abColDefTupleNumberArray: import("@ag-grid-community/core").ColTypeDef<any, any>;
|
|
15
|
+
abColDefObjectNumberArray: import("@ag-grid-community/core").ColTypeDef<any, any>;
|
|
16
16
|
};
|
package/src/{Utilities/Defaults/DefaultAdaptableOptions.js → agGrid/defaultAdaptableOptions.js}
RENAMED
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
import * as GeneralConstants from '../Constants/GeneralConstants';
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import * as ModuleConstants from '
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
import * as GeneralConstants from '../Utilities/Constants/GeneralConstants';
|
|
2
|
+
import UIHelper, { getHexForName, GRAY, GREEN, RED } from '../View/UIHelper';
|
|
3
|
+
import { EMPTY_ARRAY } from '../Utilities/Constants/GeneralConstants';
|
|
4
|
+
import { ExportDestination } from '../PredefinedConfig/Common/Enums';
|
|
5
|
+
import { SystemAlertPredicateIds, SystemBadgeStylePredicateIds, SystemFilterPredicateIds, SystemFlashingCellPredicateIds, SystemFormatColumnPredicateIds, } from '../PredefinedConfig/Common/AdaptablePredicate';
|
|
6
|
+
import * as ModuleConstants from '../Utilities/Constants/ModuleConstants';
|
|
7
|
+
import { initPredefinedConfigWithUuids } from '../Utilities/Helpers/AdaptableHelper';
|
|
8
|
+
const DefaultAdaptableOptions = {
|
|
9
9
|
adaptableId: GeneralConstants.ADAPTABLE_ID,
|
|
10
10
|
adaptableStateKey: undefined,
|
|
11
11
|
primaryKey: '',
|
|
12
12
|
autogeneratePrimaryKey: false,
|
|
13
|
+
autoMigrateState: true,
|
|
13
14
|
userName: GeneralConstants.USER_NAME,
|
|
14
15
|
predefinedConfig: undefined,
|
|
15
16
|
alertOptions: {
|
|
@@ -197,7 +198,7 @@ export const DefaultAdaptableOptions = {
|
|
|
197
198
|
sortValuesFilter: false,
|
|
198
199
|
filterValuesUsingTime: false,
|
|
199
200
|
showDistinctFilteredValuesOnly: false,
|
|
200
|
-
maxFilterValuesToDisplay:
|
|
201
|
+
maxFilterValuesToDisplay: undefined,
|
|
201
202
|
includeBlankFilterValues: false,
|
|
202
203
|
showValuesCount: undefined,
|
|
203
204
|
},
|
|
@@ -268,6 +269,9 @@ export const DefaultAdaptableOptions = {
|
|
|
268
269
|
useCustomMacLikeScrollbars: false,
|
|
269
270
|
englishVariant: 'GB',
|
|
270
271
|
showLoadingScreen: true,
|
|
272
|
+
loadingScreenDelay: 200,
|
|
273
|
+
loadingScreenTitle: 'Initialising Grid',
|
|
274
|
+
loadingScreenText: 'Retrieving your settings and setting up the grid...',
|
|
271
275
|
disableDeleteConfirmation: false,
|
|
272
276
|
dateInputOptions: {
|
|
273
277
|
useNativeInput: false,
|
|
@@ -325,3 +329,60 @@ export const DefaultAdaptableOptions = {
|
|
|
325
329
|
},
|
|
326
330
|
},
|
|
327
331
|
};
|
|
332
|
+
export function applyDefaultAdaptableOptions(adaptableOptions) {
|
|
333
|
+
var _a;
|
|
334
|
+
const adaptableOptsWithDefaults = Object.assign({}, DefaultAdaptableOptions, adaptableOptions);
|
|
335
|
+
adaptableOptsWithDefaults.adaptableStateKey =
|
|
336
|
+
(_a = adaptableOptsWithDefaults.adaptableStateKey) !== null && _a !== void 0 ? _a : adaptableOptsWithDefaults.adaptableId;
|
|
337
|
+
adaptableOptsWithDefaults.dataImportOptions = Object.assign({}, DefaultAdaptableOptions.dataImportOptions, adaptableOptions.dataImportOptions);
|
|
338
|
+
adaptableOptsWithDefaults.expressionOptions = Object.assign({}, DefaultAdaptableOptions.expressionOptions, adaptableOptions.expressionOptions);
|
|
339
|
+
adaptableOptsWithDefaults.calendarOptions = Object.assign({}, DefaultAdaptableOptions.calendarOptions, adaptableOptions.calendarOptions);
|
|
340
|
+
adaptableOptsWithDefaults.columnOptions = Object.assign({}, DefaultAdaptableOptions.columnOptions, adaptableOptions.columnOptions);
|
|
341
|
+
adaptableOptsWithDefaults.customSortOptions = Object.assign({}, DefaultAdaptableOptions.customSortOptions, adaptableOptions.customSortOptions);
|
|
342
|
+
adaptableOptsWithDefaults.dataSetOptions = Object.assign({}, DefaultAdaptableOptions.dataSetOptions, adaptableOptions.dataSetOptions);
|
|
343
|
+
adaptableOptsWithDefaults.cellSummaryOptions = Object.assign({}, DefaultAdaptableOptions.cellSummaryOptions, adaptableOptions.cellSummaryOptions);
|
|
344
|
+
adaptableOptsWithDefaults.predicateOptions = Object.assign({}, DefaultAdaptableOptions.predicateOptions, adaptableOptsWithDefaults.predicateOptions);
|
|
345
|
+
adaptableOptsWithDefaults.layoutOptions = Object.assign({}, DefaultAdaptableOptions.layoutOptions, adaptableOptions.layoutOptions);
|
|
346
|
+
adaptableOptsWithDefaults.notificationsOptions = Object.assign({}, DefaultAdaptableOptions.notificationsOptions, adaptableOptions.notificationsOptions);
|
|
347
|
+
adaptableOptsWithDefaults.alertOptions = Object.assign({}, DefaultAdaptableOptions.alertOptions, adaptableOptions.alertOptions);
|
|
348
|
+
adaptableOptsWithDefaults.flashingCellOptions = Object.assign({}, DefaultAdaptableOptions.flashingCellOptions, adaptableOptions.flashingCellOptions);
|
|
349
|
+
adaptableOptsWithDefaults.entitlementOptions = Object.assign({}, DefaultAdaptableOptions.entitlementOptions, adaptableOptions.entitlementOptions);
|
|
350
|
+
adaptableOptsWithDefaults.dashboardOptions = Object.assign({}, DefaultAdaptableOptions.dashboardOptions, adaptableOptions.dashboardOptions);
|
|
351
|
+
adaptableOptsWithDefaults.editOptions = Object.assign({}, DefaultAdaptableOptions.editOptions, adaptableOptions.editOptions);
|
|
352
|
+
adaptableOptsWithDefaults.actionColumnOptions = Object.assign({}, DefaultAdaptableOptions.actionColumnOptions, adaptableOptions.actionColumnOptions);
|
|
353
|
+
// to do
|
|
354
|
+
adaptableOptsWithDefaults.actionRowOptions = Object.assign({}, DefaultAdaptableOptions.actionRowOptions, adaptableOptions.actionRowOptions);
|
|
355
|
+
adaptableOptsWithDefaults.actionRowOptions.actionRowButtonOptions = Object.assign({}, DefaultAdaptableOptions.actionRowOptions.actionRowButtonOptions, adaptableOptsWithDefaults.actionRowOptions.actionRowButtonOptions);
|
|
356
|
+
adaptableOptsWithDefaults.actionRowOptions.actionRowFormOptions = Object.assign({}, DefaultAdaptableOptions.actionRowOptions.actionRowFormOptions, adaptableOptsWithDefaults.actionRowOptions.actionRowFormOptions);
|
|
357
|
+
adaptableOptsWithDefaults.containerOptions = Object.assign({}, DefaultAdaptableOptions.containerOptions, adaptableOptions.containerOptions);
|
|
358
|
+
adaptableOptsWithDefaults.groupingOptions = Object.assign({}, DefaultAdaptableOptions.groupingOptions, adaptableOptions.groupingOptions);
|
|
359
|
+
adaptableOptsWithDefaults.quickSearchOptions = Object.assign({}, DefaultAdaptableOptions.quickSearchOptions, adaptableOptions.quickSearchOptions);
|
|
360
|
+
adaptableOptsWithDefaults.columnFilterOptions = Object.assign({}, DefaultAdaptableOptions.columnFilterOptions, adaptableOptions.columnFilterOptions);
|
|
361
|
+
adaptableOptsWithDefaults.columnFilterOptions.quickFilterOptions = Object.assign({}, DefaultAdaptableOptions.columnFilterOptions.quickFilterOptions, adaptableOptsWithDefaults.columnFilterOptions.quickFilterOptions);
|
|
362
|
+
adaptableOptsWithDefaults.columnFilterOptions.filterFormOptions = Object.assign({}, DefaultAdaptableOptions.columnFilterOptions.filterFormOptions, adaptableOptsWithDefaults.columnFilterOptions.filterFormOptions);
|
|
363
|
+
adaptableOptsWithDefaults.columnFilterOptions.valuesFilterOptions = Object.assign({}, DefaultAdaptableOptions.columnFilterOptions.valuesFilterOptions, adaptableOptsWithDefaults.columnFilterOptions.valuesFilterOptions);
|
|
364
|
+
adaptableOptsWithDefaults.gridFilterOptions = Object.assign({}, DefaultAdaptableOptions.gridFilterOptions, adaptableOptions.gridFilterOptions);
|
|
365
|
+
adaptableOptsWithDefaults.userInterfaceOptions = Object.assign({}, DefaultAdaptableOptions.userInterfaceOptions, adaptableOptions.userInterfaceOptions);
|
|
366
|
+
adaptableOptsWithDefaults.userInterfaceOptions.dateInputOptions = Object.assign({}, DefaultAdaptableOptions.userInterfaceOptions.dateInputOptions, adaptableOptsWithDefaults.userInterfaceOptions.dateInputOptions);
|
|
367
|
+
adaptableOptsWithDefaults.menuOptions = Object.assign({}, DefaultAdaptableOptions.menuOptions, adaptableOptions.menuOptions);
|
|
368
|
+
adaptableOptsWithDefaults.stateOptions = Object.assign({}, DefaultAdaptableOptions.stateOptions, adaptableOptions.stateOptions);
|
|
369
|
+
adaptableOptsWithDefaults.exportOptions = Object.assign({}, DefaultAdaptableOptions.exportOptions, adaptableOptions.exportOptions);
|
|
370
|
+
adaptableOptsWithDefaults.teamSharingOptions = Object.assign({}, DefaultAdaptableOptions.teamSharingOptions, adaptableOptions.teamSharingOptions);
|
|
371
|
+
adaptableOptsWithDefaults.toolPanelOptions = Object.assign({}, DefaultAdaptableOptions.toolPanelOptions, adaptableOptions.toolPanelOptions);
|
|
372
|
+
adaptableOptsWithDefaults.dataChangeHistoryOptions = Object.assign({}, DefaultAdaptableOptions.dataChangeHistoryOptions, adaptableOptions.dataChangeHistoryOptions);
|
|
373
|
+
adaptableOptsWithDefaults.chartingOptions = Object.assign({}, DefaultAdaptableOptions.chartingOptions, adaptableOptions.chartingOptions);
|
|
374
|
+
adaptableOptsWithDefaults.chartingOptions.externalChartingOptions = Object.assign({}, DefaultAdaptableOptions.chartingOptions.externalChartingOptions, adaptableOptsWithDefaults.chartingOptions.externalChartingOptions);
|
|
375
|
+
adaptableOptsWithDefaults.settingsPanelOptions = Object.assign({}, DefaultAdaptableOptions.settingsPanelOptions, adaptableOptions.settingsPanelOptions);
|
|
376
|
+
adaptableOptsWithDefaults.fdc3Options = Object.assign({}, DefaultAdaptableOptions.fdc3Options, adaptableOptions.fdc3Options);
|
|
377
|
+
adaptableOptsWithDefaults.fdc3Options.actionColumnDefaultConfiguration = Object.assign({}, DefaultAdaptableOptions.fdc3Options.actionColumnDefaultConfiguration, adaptableOptsWithDefaults.fdc3Options.actionColumnDefaultConfiguration);
|
|
378
|
+
adaptableOptsWithDefaults.fdc3Options.uiControlsDefaultConfiguration = Object.assign({}, DefaultAdaptableOptions.fdc3Options.uiControlsDefaultConfiguration, adaptableOptsWithDefaults.fdc3Options.uiControlsDefaultConfiguration);
|
|
379
|
+
const { predefinedConfig } = adaptableOptsWithDefaults;
|
|
380
|
+
if (predefinedConfig) {
|
|
381
|
+
adaptableOptsWithDefaults.predefinedConfig =
|
|
382
|
+
typeof predefinedConfig === 'string'
|
|
383
|
+
? predefinedConfig
|
|
384
|
+
: initPredefinedConfigWithUuids(predefinedConfig);
|
|
385
|
+
}
|
|
386
|
+
return adaptableOptsWithDefaults;
|
|
387
|
+
}
|
|
388
|
+
export const getDefaultAdaptableOptions = () => DefaultAdaptableOptions;
|
|
@@ -29,7 +29,7 @@ export const ReactAdaptableDateEditor = forwardRef((props, ref) => {
|
|
|
29
29
|
const valueRef = useRef(initialValue);
|
|
30
30
|
const colValueParser = props.column.getColDef().valueParser;
|
|
31
31
|
const valueParser = typeof colValueParser === 'function' ? colValueParser : defaultDateValueParser;
|
|
32
|
-
const adaptable = props.
|
|
32
|
+
const adaptable = props.context.__adaptable;
|
|
33
33
|
const editorRef = useRef(null);
|
|
34
34
|
useImperativeHandle(ref, () => {
|
|
35
35
|
return {
|
|
@@ -135,7 +135,7 @@ export class AdaptableDateEditor {
|
|
|
135
135
|
}
|
|
136
136
|
focusOut() { }
|
|
137
137
|
getAdaptableInstance(params) {
|
|
138
|
-
const adaptable = params.
|
|
138
|
+
const adaptable = params.context.__adaptable;
|
|
139
139
|
return adaptable;
|
|
140
140
|
}
|
|
141
141
|
// after this component has been created and inserted into the grid
|
|
@@ -35,7 +35,7 @@ export const ReactAdaptableNumberEditor = forwardRef((props, ref) => {
|
|
|
35
35
|
const [initialValue] = useState(() => getStartValue(props));
|
|
36
36
|
const valueRef = useRef(initialValue);
|
|
37
37
|
const columnId = props.column.getColId();
|
|
38
|
-
const adaptable = props.
|
|
38
|
+
const adaptable = props.context.__adaptable;
|
|
39
39
|
const colValueParser = props.column.getColDef().valueParser;
|
|
40
40
|
const valueParser = typeof colValueParser === 'function' ? colValueParser : defaultValueParser;
|
|
41
41
|
function onValueChange(value) {
|
|
@@ -134,7 +134,7 @@ export class AdaptableNumberEditor {
|
|
|
134
134
|
// after this component has been created and inserted into the grid
|
|
135
135
|
afterGuiAttached() {
|
|
136
136
|
var _a, _b;
|
|
137
|
-
const adaptable = this.params.
|
|
137
|
+
const adaptable = this.params.context.__adaptable;
|
|
138
138
|
const defaultValue = this.value;
|
|
139
139
|
const editorElement = (React.createElement(InternalAdaptableNumberEditor, { defaultValue: defaultValue, showClearButton: (_a = this.params.showClearButton) !== null && _a !== void 0 ? _a : true, emptyValue: (_b = this.params.emptyValue) !== null && _b !== void 0 ? _b : '', onValueChange: this.onValueChange, ref: (editor) => {
|
|
140
140
|
this.editor = editor;
|