@adaptabletools/adaptable 22.0.0-canary.1 → 22.0.0-canary.3
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/index.css +55 -37
- package/index.css.map +1 -1
- package/package.json +1 -1
- package/src/AdaptableInterfaces/IAdaptable.d.ts +2 -2
- package/src/AdaptableOptions/AdaptablePlugin.js +6 -1
- package/src/AdaptableOptions/ExportOptions.d.ts +1 -2
- package/src/AdaptableOptions/FilterOptions.d.ts +3 -0
- package/src/AdaptableState/Common/AdaptableColumn.d.ts +6 -0
- package/src/AdaptableState/Common/AdaptableStyle.d.ts +8 -0
- package/src/AdaptableState/Common/RowDataChangedInfo.d.ts +3 -0
- package/src/AdaptableState/FormatColumnState.d.ts +0 -8
- package/src/AdaptableState/InitialState.d.ts +1 -1
- package/src/AdaptableState/Selection/GridCell.d.ts +9 -0
- package/src/Api/DataSetApi.d.ts +1 -1
- package/src/Api/GridApi.d.ts +3 -3
- package/src/Api/Implementation/ActionColumnApiImpl.js +1 -0
- package/src/Api/Implementation/AdaptableApiImpl.js +52 -0
- package/src/Api/Implementation/AlertApiImpl.js +1 -0
- package/src/Api/Implementation/ApiBase.js +1 -0
- package/src/Api/Implementation/CalculatedColumnApiImpl.js +1 -0
- package/src/Api/Implementation/ChartingApiImpl.js +4 -0
- package/src/Api/Implementation/ColumnApiImpl.js +1 -0
- package/src/Api/Implementation/ColumnFilterApiImpl.js +1 -0
- package/src/Api/Implementation/CommentsApiImpl.js +1 -0
- package/src/Api/Implementation/CustomSortApiImpl.js +1 -0
- package/src/Api/Implementation/DashboardApiImpl.js +1 -0
- package/src/Api/Implementation/DataChangeHistoryApiImpl.js +12 -15
- package/src/Api/Implementation/DataImportApiImpl.js +1 -0
- package/src/Api/Implementation/DataSetApiImpl.js +1 -0
- package/src/Api/Implementation/EntitlementApiImpl.js +1 -0
- package/src/Api/Implementation/EventApiImpl.js +16 -14
- package/src/Api/Implementation/ExportApiImpl.js +1 -0
- package/src/Api/Implementation/ExpressionApiImpl.js +1 -0
- package/src/Api/Implementation/Fdc3ApiImpl.js +1 -0
- package/src/Api/Implementation/FilterApiImpl.js +3 -0
- package/src/Api/Implementation/FlashingCellApiImpl.js +1 -0
- package/src/Api/Implementation/FormatColumnApiImpl.js +1 -0
- package/src/Api/Implementation/FreeTextColumnApiImpl.js +1 -0
- package/src/Api/Implementation/GridApiImpl.d.ts +9 -9
- package/src/Api/Implementation/GridApiImpl.js +17 -16
- package/src/Api/Implementation/GridFilterApiImpl.js +1 -0
- package/src/Api/Implementation/LayoutApiImpl.js +1 -0
- package/src/Api/Implementation/NamedQueryApiImpl.js +1 -0
- package/src/Api/Implementation/NoteApiImpl.js +1 -0
- package/src/Api/Implementation/PredicateApiImpl.js +1 -0
- package/src/Api/Implementation/RowFormApiImpl.js +1 -0
- package/src/Api/Implementation/StyledColumnApiImpl.js +1 -0
- package/src/Api/Implementation/SystemStatusApiImpl.js +2 -0
- package/src/Api/Implementation/TeamSharingApiImpl.js +1 -0
- package/src/Api/Implementation/ThemeApiImpl.js +1 -0
- package/src/Api/Implementation/UserInterfaceApiImpl.js +2 -1
- package/src/Api/Internal/ColumnInternalApi.js +1 -1
- package/src/Api/Internal/FormatColumnInternalApi.d.ts +0 -10
- package/src/Api/Internal/FormatColumnInternalApi.js +1 -19
- package/src/Redux/ActionsReducers/NoteRedux.js +1 -1
- package/src/Redux/Store/AdaptableReduxLocalStorageEngine.js +6 -0
- package/src/Redux/Store/AdaptableStore.js +49 -43
- package/src/Strategy/AdaptableModuleBase.js +4 -0
- package/src/Strategy/AlertModule.js +1 -0
- package/src/Strategy/CalculatedColumnModule.js +1 -0
- package/src/Strategy/CellSummaryModule.js +1 -1
- package/src/Strategy/DataChangeHistoryModule.js +1 -0
- package/src/Strategy/FlashingCellModule.js +1 -0
- package/src/Strategy/FreeTextColumnModule.js +1 -0
- package/src/Strategy/LayoutModule.js +2 -1
- package/src/Strategy/PlusMinusModule.js +2 -0
- package/src/Strategy/ScheduleModule.js +1 -0
- package/src/Strategy/ShortcutModule.js +2 -0
- package/src/Strategy/TeamSharingModule.js +10 -10
- package/src/Strategy/Utilities/FormatColumn/getFormatColumnSettingsViewItems.js +0 -3
- package/src/Utilities/Constants/DocumentationLinkConstants.d.ts +3 -3
- package/src/Utilities/Constants/DocumentationLinkConstants.js +3 -3
- package/src/Utilities/ExpressionFunctions/deepMap.js +31 -31
- package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.js +3 -3
- package/src/Utilities/Helpers/StyleHelper.js +14 -0
- package/src/Utilities/MenuItem.js +18 -0
- package/src/Utilities/ObjectFactory.js +1 -1
- package/src/Utilities/Services/AggregatedScalarLiveValue.js +8 -0
- package/src/Utilities/Services/AlertService.js +6 -4
- package/src/Utilities/Services/AnnotationsService.js +4 -1
- package/src/Utilities/Services/CalculatedColumnExpressionService.js +2 -1
- package/src/Utilities/Services/ChartingService.js +1 -0
- package/src/Utilities/Services/DataService.js +10 -2
- package/src/Utilities/Services/Fdc3Service.js +5 -3
- package/src/Utilities/Services/FlashingCellService.js +5 -0
- package/src/Utilities/Services/LicenseService/index.js +1 -1
- package/src/Utilities/Services/MetamodelService.js +2 -2
- package/src/Utilities/Services/ModuleService.js +4 -3
- package/src/Utilities/Services/QueryLanguageService.js +6 -5
- package/src/Utilities/Services/RowFormService.js +1 -0
- package/src/Utilities/Services/RowSummaryService.js +10 -7
- package/src/Utilities/Services/TeamSharingService.js +3 -1
- package/src/Utilities/Services/ThemeService.js +11 -9
- package/src/Utilities/Services/ValidationService.js +1 -0
- package/src/Utilities/createAgStatusPanelComponent.js +3 -0
- package/src/View/AdaptablePopover/index.d.ts +1 -0
- package/src/View/AdaptablePopover/index.js +1 -1
- package/src/View/Alert/ActiveAlertsPanel.js +8 -0
- package/src/View/Alert/AlertViewPanel.js +13 -9
- package/src/View/Alert/Utilities/getAlertButtonStyle.d.ts +1 -0
- package/src/View/Alert/Utilities/getAlertButtonStyle.js +8 -0
- package/src/View/BulkUpdate/BulkUpdateViewPanel.js +24 -11
- package/src/View/CalculatedColumn/CalculatedColumnSummary.js +8 -8
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnExpressionWizardSection.js +2 -2
- package/src/View/CellSummary/CellSummaryViewPanel.js +16 -17
- package/src/View/Components/AdaptableDateInput/index.js +1 -1
- package/src/View/Components/Buttons/ButtonApply.js +1 -1
- package/src/View/Components/Buttons/ButtonBase/index.js +9 -9
- package/src/View/Components/Buttons/ButtonClear.d.ts +1 -0
- package/src/View/Components/Buttons/EntityListActionButtons.js +18 -18
- package/src/View/Components/ColumnFilter/components/FloatingFilterValues.js +1 -1
- package/src/View/Components/ExpressionWizard.js +5 -5
- package/src/View/Components/Panels/PanelDashboard/index.js +8 -8
- package/src/View/Components/Panels/PanelToolPanel/index.js +7 -7
- package/src/View/Components/Selectors/BulkUpdateValueSelector.js +19 -18
- package/src/View/Components/StyleComponent.js +20 -1
- package/src/View/Components/ToolPanel/AdaptableToolPanel.js +2 -0
- package/src/View/CustomSort/CustomSortSummary.js +13 -13
- package/src/View/Dashboard/DashboardPopup.js +4 -5
- package/src/View/Export/ExportDestinationPicker.js +1 -1
- package/src/View/Export/ExportStatusBar.js +4 -2
- package/src/View/Export/ExportViewPanel.js +25 -18
- package/src/View/FormatColumn/FormatColumnSummary.js +13 -13
- package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +0 -23
- package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.js +2 -2
- package/src/View/FreeTextColumn/FreeTextColumnSummary.js +13 -13
- package/src/View/GridInfo/GridInfoPopup/GridInfoPopup.js +57 -65
- package/src/View/QuickSearch/QuickSearchPopup.js +4 -1
- package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReminder.js +2 -2
- package/src/View/SmartEdit/SmartEditViewPanel.js +1 -0
- package/src/View/Theme/ThemePopup.js +13 -16
- package/src/View/UIHelper.d.ts +2 -0
- package/src/View/UIHelper.js +15 -0
- package/src/agGrid/Adaptable.js +4 -0
- package/src/agGrid/AdaptableAgGrid.d.ts +2 -2
- package/src/agGrid/AdaptableAgGrid.js +104 -38
- package/src/agGrid/AdaptableFilterHandler.js +4 -0
- package/src/agGrid/AdaptableLogger.d.ts +3 -0
- package/src/agGrid/AdaptableLogger.js +10 -0
- package/src/agGrid/AgGridAdapter.js +11 -1
- package/src/agGrid/AgGridColumnAdapter.js +5 -18
- package/src/agGrid/AgGridExportAdapter.js +10 -9
- package/src/agGrid/AgGridFilterAdapter.js +4 -0
- package/src/agGrid/AgGridFloatingFilterAdapter.js +3 -0
- package/src/agGrid/AgGridMenuAdapter.js +1 -0
- package/src/agGrid/AgGridModulesAdapter.js +2 -1
- package/src/agGrid/AgGridOptionsService.js +3 -0
- package/src/agGrid/AgGridThemeAdapter.js +2 -0
- package/src/agGrid/cellRenderers/ActionColumnRenderer.js +5 -0
- package/src/agGrid/cellRenderers/BadgeRenderer.js +2 -0
- package/src/agGrid/cellRenderers/PercentBarRenderer.js +1 -0
- package/src/agGrid/editors/AdaptableDateEditor/index.js +6 -3
- package/src/agGrid/editors/AdaptableNumberEditor/index.js +16 -12
- package/src/agGrid/editors/AdaptablePercentageEditor/index.js +17 -13
- package/src/agGrid/index.d.ts +6 -0
- package/src/agGrid/index.js +6 -0
- package/src/components/Dashboard/DashboardToolbar.js +1 -1
- package/src/components/Datepicker/index.js +1 -1
- package/src/components/ExpressionEditor/EditorInput.js +19 -3
- package/src/components/Tree/TreeDropdown/index.js +1 -1
- package/src/components/overlayBaseZIndex.js +1 -1
- package/src/components/utils/useContainerScrollObserver/index.js +17 -14
- package/src/devTools/index.js +54 -53
- package/src/env.js +2 -2
- package/src/layout-manager/src/LMEmitter.js +11 -11
- package/src/layout-manager/src/LMLogger.js +7 -0
- package/src/layout-manager/src/index.js +56 -51
- package/src/metamodel/adaptable.metamodel.d.ts +66 -7
- package/src/metamodel/adaptable.metamodel.js +1 -1
- package/src/migration/AdaptableUpgradeHelper.js +5 -0
- package/src/migration/VersionUpgrade.js +1 -0
- package/src/migration/VersionUpgrade17.js +1 -2
- package/src/migration/VersionUpgrade22.d.ts +6 -0
- package/src/migration/VersionUpgrade22.js +27 -0
- package/src/parser/src/ExpressionEvaluationError.js +1 -0
- package/src/types.d.ts +1 -1
- package/tsconfig.esm.tsbuildinfo +1 -1
|
@@ -1,82 +1,73 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
+
import ArrayExtensions from '../../../Utilities/Extensions/ArrayExtensions';
|
|
3
|
+
import { ADAPTABLE_VERSION } from '../../../EnvVars';
|
|
4
|
+
import { AG_GRID_VERSION } from '../../../agGrid/AgGridModulesAdapter';
|
|
5
|
+
import { DataSource, InfiniteTableGrid } from '../../../components/InfiniteTable';
|
|
2
6
|
import Panel from '../../../components/Panel';
|
|
3
7
|
import { Tabs } from '../../../components/Tabs';
|
|
4
|
-
import ArrayExtensions from '../../../Utilities/Extensions/ArrayExtensions';
|
|
5
|
-
import Helper from '../../../Utilities/Helpers/Helper';
|
|
6
|
-
import { AdaptablePopover } from '../../AdaptablePopover';
|
|
7
|
-
import { AdaptableObjectCollection } from '../../Components/AdaptableObjectCollection';
|
|
8
|
-
import { AdaptableObjectRow } from '../../Components/AdaptableObjectRow';
|
|
9
8
|
import { PopupPanel } from '../../Components/Popups/AdaptablePopup/PopupPanel';
|
|
10
9
|
import { AdaptableObjectsSummary } from './AdaptableObjectsSummary';
|
|
11
|
-
import { ADAPTABLE_VERSION } from '../../../EnvVars';
|
|
12
|
-
import { AG_GRID_VERSION } from '../../../agGrid/AgGridModulesAdapter';
|
|
13
10
|
import clsx from 'clsx';
|
|
14
11
|
const adaptableVersion = ADAPTABLE_VERSION;
|
|
15
12
|
const agGridVersion = AG_GRID_VERSION;
|
|
16
13
|
export const GridInfoPopup = (props) => {
|
|
17
14
|
const api = props.api;
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
returnRows.push(createReadOnlyColItem(colItems, 'Calculated Columns', ArrayExtensions.IsNotNullOrEmpty(calcColumns)
|
|
15
|
+
const keyValuePairs = [];
|
|
16
|
+
const calcColumns = api.calculatedColumnApi
|
|
17
|
+
.getCalculatedColumns()
|
|
18
|
+
.map((c) => c.ColumnId);
|
|
19
|
+
const actionColumns = api.actionColumnApi
|
|
20
|
+
.getActionColumns()
|
|
21
|
+
.map((ac) => ac.columnId);
|
|
22
|
+
const freeTextColumns = api.freeTextColumnApi
|
|
23
|
+
.getFreeTextColumns()
|
|
24
|
+
.map((c) => c.ColumnId);
|
|
25
|
+
const columnFilterDescription = api.filterApi.columnFilterApi.columnFiltersToString(api.filterApi.columnFilterApi.getColumnFilters());
|
|
26
|
+
const gridFilterExpression = api.filterApi.gridFilterApi.getCurrentGridFilterExpression();
|
|
27
|
+
const sorts = ArrayExtensions.IsNotNullOrEmpty(props.api.gridApi.getColumnSorts())
|
|
28
|
+
? api.gridApi.getColumnSorts().map((gs) => {
|
|
29
|
+
return api.columnApi.getFriendlyNameForColumnId(gs.ColumnId) + ': ' + gs.SortOrder;
|
|
30
|
+
})
|
|
31
|
+
: null;
|
|
32
|
+
const selectedRowInfo = api.gridApi.getSelectedRowInfo();
|
|
33
|
+
if (api.optionsApi.getUserInterfaceOptions()?.showAdapTableVersion) {
|
|
34
|
+
keyValuePairs.push({ Key: 'AdapTable Version', Value: adaptableVersion });
|
|
35
|
+
}
|
|
36
|
+
if (api.optionsApi.getUserInterfaceOptions()?.showAgGridVersion) {
|
|
37
|
+
keyValuePairs.push({ Key: 'AG Grid Version', Value: agGridVersion });
|
|
38
|
+
}
|
|
39
|
+
keyValuePairs.push({ Key: 'Sorted Columns', Value: ArrayExtensions.IsNotNullOrEmpty(sorts) ? sorts.join('; ') : 'None' });
|
|
40
|
+
keyValuePairs.push({ Key: 'Column Filters', Value: columnFilterDescription });
|
|
41
|
+
keyValuePairs.push({ Key: 'Grid Filter', Value: gridFilterExpression });
|
|
42
|
+
keyValuePairs.push({ Key: 'All Rows', Value: props.api.gridApi.getRowCount() });
|
|
43
|
+
keyValuePairs.push({ Key: 'Visible Rows', Value: props.api.gridApi.getVisibleRowCount() });
|
|
44
|
+
keyValuePairs.push({ Key: 'Selected Rows', Value: selectedRowInfo?.gridRows.length });
|
|
45
|
+
keyValuePairs.push({ Key: 'Visible Selected Rows', Value: selectedRowInfo?.gridRows.filter((gr) => gr.rowNode?.displayed == true).length });
|
|
46
|
+
keyValuePairs.push({ Key: 'All Columns', Value: props.api.gridApi.getColumnCount() });
|
|
47
|
+
keyValuePairs.push({ Key: 'Visible Columns', Value: props.api.gridApi.getVisibleColumnCount() });
|
|
48
|
+
keyValuePairs.push({ Key: 'Calculated Columns', Value: ArrayExtensions.IsNotNullOrEmpty(calcColumns)
|
|
53
49
|
? ArrayExtensions.createCommaSeparatedString(calcColumns)
|
|
54
|
-
: 'None')
|
|
55
|
-
|
|
50
|
+
: 'None' });
|
|
51
|
+
keyValuePairs.push({ Key: 'Free Text Columns', Value: ArrayExtensions.IsNotNullOrEmpty(freeTextColumns)
|
|
56
52
|
? ArrayExtensions.createCommaSeparatedString(freeTextColumns)
|
|
57
|
-
: 'None')
|
|
58
|
-
|
|
53
|
+
: 'None' });
|
|
54
|
+
keyValuePairs.push({ Key: 'CalcuActionlated Columns', Value: ArrayExtensions.IsNotNullOrEmpty(actionColumns)
|
|
59
55
|
? ArrayExtensions.createCommaSeparatedString(actionColumns)
|
|
60
|
-
: 'None')
|
|
61
|
-
|
|
56
|
+
: 'None' });
|
|
57
|
+
const domProps = {
|
|
58
|
+
className: 'twa:flex-1 twa:min-h-0 twa:w-full',
|
|
62
59
|
};
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
60
|
+
keyValuePairs.map((keyValuePair) => {
|
|
61
|
+
return {
|
|
62
|
+
Key: keyValuePair.Key,
|
|
63
|
+
Value: keyValuePair.Value === 'Ignore' ? null : keyValuePair.Value,
|
|
64
|
+
};
|
|
65
|
+
})
|
|
66
|
+
.filter((x) => x.Value);
|
|
67
|
+
const columnsMap = {
|
|
68
|
+
Key: { field: 'Key', header: 'Property', defaultFlex: 1 },
|
|
69
|
+
Value: { field: 'Value', header: 'Value', defaultFlex: 3 },
|
|
72
70
|
};
|
|
73
|
-
let propValueColItems = [
|
|
74
|
-
{ Content: 'Property', Size: 5 },
|
|
75
|
-
{ Content: 'Value', Size: 7 },
|
|
76
|
-
];
|
|
77
|
-
let gridSummaries = CreateGridSummaries(propValueColItems).map((x, index) => {
|
|
78
|
-
return React.createElement(AdaptableObjectRow, { key: index, colItems: x });
|
|
79
|
-
});
|
|
80
71
|
const baseClassName = 'ab-GridInfo';
|
|
81
72
|
return (React.createElement(PopupPanel, { className: clsx(baseClassName), headerText: 'Grid Info', glyphicon: 'info', scrollable: false },
|
|
82
73
|
React.createElement(Panel, { className: "twa:flex-1 twa:border-none twa:shadow-md twa:overflow-hidden" },
|
|
@@ -85,7 +76,8 @@ export const GridInfoPopup = (props) => {
|
|
|
85
76
|
React.createElement(Tabs.Tab, null, "Grid Summary"),
|
|
86
77
|
React.createElement(Tabs.Tab, null, "Grid State"),
|
|
87
78
|
React.createElement(Tabs.Content, null,
|
|
88
|
-
React.createElement(
|
|
79
|
+
React.createElement(DataSource, { data: keyValuePairs, primaryKey: "Key" },
|
|
80
|
+
React.createElement(InfiniteTableGrid, { domProps: domProps, columns: columnsMap }))),
|
|
89
81
|
React.createElement(Tabs.Content, null,
|
|
90
82
|
React.createElement(AdaptableObjectsSummary, { className: "twa:min-h-0 twa:overflow-auto twa:p-2" })))))));
|
|
91
83
|
};
|
|
@@ -35,7 +35,10 @@ const QuickSearchPopupComponent = (props) => {
|
|
|
35
35
|
React.createElement(Card, null,
|
|
36
36
|
React.createElement(Card.Title, null, "Behaviour"),
|
|
37
37
|
React.createElement(Card.Body, { className: "twa:p-1", gap: 2 },
|
|
38
|
-
React.createElement(HelpBlock, { className: "twa:text-2 twa:w-fit" },
|
|
38
|
+
React.createElement(HelpBlock, { className: "twa:text-2 twa:w-fit" },
|
|
39
|
+
"Filter Grid when searching to only show rows with matching cells; ",
|
|
40
|
+
React.createElement("b", null, "use with care"),
|
|
41
|
+
" as can cause performance issues"),
|
|
39
42
|
React.createElement(CheckBox, { "data-name": "filter-quick-search-results", value: "existing", checked: state.RunQueryAfterQuickSearch, disabled: StringExtensions.IsNotNullOrEmpty(searchText), onChange: onQuickSearchBehaviourChange }, "Filter using Quick Search Results"))),
|
|
40
43
|
React.createElement(Card.Title, { border: false, className: "twa:pt-3" }, "Cell Matching Style"),
|
|
41
44
|
React.createElement(Card, null,
|
|
@@ -20,13 +20,13 @@ export const ScheduleSettingsReminder = (props) => {
|
|
|
20
20
|
const handleHeaderChange = (event) => {
|
|
21
21
|
props.onChange({
|
|
22
22
|
...props.reminderSchedule,
|
|
23
|
-
Header: event.target
|
|
23
|
+
Header: event.target.value,
|
|
24
24
|
});
|
|
25
25
|
};
|
|
26
26
|
const handleMessageChange = (event) => {
|
|
27
27
|
props.onChange({
|
|
28
28
|
...props.reminderSchedule,
|
|
29
|
-
Message: event.target
|
|
29
|
+
Message: event.target.value,
|
|
30
30
|
});
|
|
31
31
|
};
|
|
32
32
|
const handleDisplayNotificationChange = (checked) => {
|
|
@@ -13,6 +13,7 @@ import { connect } from 'react-redux';
|
|
|
13
13
|
import { Select } from '../../components/Select';
|
|
14
14
|
import { Flex } from '../../components/Flex';
|
|
15
15
|
class SmartEditViewPanelComponent extends React.Component {
|
|
16
|
+
cleanupEvent;
|
|
16
17
|
constructor(props) {
|
|
17
18
|
super(props);
|
|
18
19
|
this.state = {
|
|
@@ -11,22 +11,6 @@ import { Icon } from '../../components/icons';
|
|
|
11
11
|
import { ThemeSelector } from './ThemeSelector';
|
|
12
12
|
import { Box } from '../../components/Flex';
|
|
13
13
|
class ThemePopupComponent extends React.Component {
|
|
14
|
-
constructor() {
|
|
15
|
-
super(...arguments);
|
|
16
|
-
this.handleCreateNewTheme = (variant) => {
|
|
17
|
-
let nthItem = this.props.UserThemes.length + 1;
|
|
18
|
-
let name = 'Custom-Theme-' + nthItem;
|
|
19
|
-
// make sure it is unique
|
|
20
|
-
while (this.props.UserThemes.some((theme) => theme.Name === name)) {
|
|
21
|
-
nthItem++;
|
|
22
|
-
name = 'Custom-Theme-' + nthItem;
|
|
23
|
-
}
|
|
24
|
-
const newTheme = ObjectFactory.CreateEmptyTheme(name);
|
|
25
|
-
newTheme.Variant = variant;
|
|
26
|
-
this.props.api.themeApi.addUserTheme(newTheme);
|
|
27
|
-
this.props.api.themeApi.loadTheme(newTheme.Name);
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
14
|
render() {
|
|
31
15
|
const isCustomTheme = this.props.api.themeApi
|
|
32
16
|
.getUserThemes()
|
|
@@ -59,6 +43,19 @@ class ThemePopupComponent extends React.Component {
|
|
|
59
43
|
onChangeTheme(value) {
|
|
60
44
|
this.props.SelectTheme(value);
|
|
61
45
|
}
|
|
46
|
+
handleCreateNewTheme = (variant) => {
|
|
47
|
+
let nthItem = this.props.UserThemes.length + 1;
|
|
48
|
+
let name = 'Custom-Theme-' + nthItem;
|
|
49
|
+
// make sure it is unique
|
|
50
|
+
while (this.props.UserThemes.some((theme) => theme.Name === name)) {
|
|
51
|
+
nthItem++;
|
|
52
|
+
name = 'Custom-Theme-' + nthItem;
|
|
53
|
+
}
|
|
54
|
+
const newTheme = ObjectFactory.CreateEmptyTheme(name);
|
|
55
|
+
newTheme.Variant = variant;
|
|
56
|
+
this.props.api.themeApi.addUserTheme(newTheme);
|
|
57
|
+
this.props.api.themeApi.loadTheme(newTheme.Name);
|
|
58
|
+
};
|
|
62
59
|
}
|
|
63
60
|
function mapStateToProps(state, ownProps) {
|
|
64
61
|
return {
|
package/src/View/UIHelper.d.ts
CHANGED
|
@@ -38,6 +38,7 @@ export declare function getMessageTypeByStatusColour(statusColour: StatusColour)
|
|
|
38
38
|
export declare function getButtonToneByMessageType(messageType: AdaptableMessageType): 'success' | 'error' | 'neutral' | 'none' | 'warning' | 'info' | 'accent';
|
|
39
39
|
export declare function getGlyphByMessageType(messageType: AdaptableMessageType): AdaptableSystemIconName;
|
|
40
40
|
export declare function getColorByMessageType(messageType: AdaptableMessageType): string;
|
|
41
|
+
export declare function getCSSColorByMessageType(messageType: AdaptableMessageType): string;
|
|
41
42
|
export declare function getStyleForStatusColour(statusColour: StatusColour): CSSProperties;
|
|
42
43
|
export declare function getStyleForMessageType(messageType: AdaptableMessageType): CSSProperties;
|
|
43
44
|
export declare function getGlyphForStatusColour(statusColour: StatusColour): string;
|
|
@@ -75,6 +76,7 @@ export declare const UIHelper: {
|
|
|
75
76
|
getGlyphForMessageType: typeof getGlyphForMessageType;
|
|
76
77
|
getStyleForMessageType: typeof getStyleForMessageType;
|
|
77
78
|
getMessageTypeFromAdaptableAlerts: typeof getMessageTypeFromAdaptableAlerts;
|
|
79
|
+
getCSSColorByMessageType: typeof getCSSColorByMessageType;
|
|
78
80
|
getButtonColourForAdaptableAlerts: typeof getButtonColourForAdaptableAlerts;
|
|
79
81
|
getButtonTextColourForArrayandMessageType: typeof getButtonTextColourForArrayandMessageType;
|
|
80
82
|
getButtonTextColourForMessageType: typeof getButtonTextColourForMessageType;
|
package/src/View/UIHelper.js
CHANGED
|
@@ -202,6 +202,20 @@ export function getColorByMessageType(messageType) {
|
|
|
202
202
|
return 'var(--ab-color-info)';
|
|
203
203
|
}
|
|
204
204
|
}
|
|
205
|
+
export function getCSSColorByMessageType(messageType) {
|
|
206
|
+
switch (messageType) {
|
|
207
|
+
case 'Error':
|
|
208
|
+
return 'error';
|
|
209
|
+
case 'Warning':
|
|
210
|
+
return 'warn';
|
|
211
|
+
case 'Success':
|
|
212
|
+
return 'success';
|
|
213
|
+
case 'Info':
|
|
214
|
+
return 'info';
|
|
215
|
+
default:
|
|
216
|
+
return '';
|
|
217
|
+
}
|
|
218
|
+
}
|
|
205
219
|
export function getStyleForStatusColour(statusColour) {
|
|
206
220
|
let result;
|
|
207
221
|
switch (statusColour) {
|
|
@@ -449,6 +463,7 @@ export const UIHelper = {
|
|
|
449
463
|
getGlyphForMessageType,
|
|
450
464
|
getStyleForMessageType,
|
|
451
465
|
getMessageTypeFromAdaptableAlerts,
|
|
466
|
+
getCSSColorByMessageType,
|
|
452
467
|
getButtonColourForAdaptableAlerts,
|
|
453
468
|
getButtonTextColourForArrayandMessageType,
|
|
454
469
|
getButtonTextColourForMessageType,
|
package/src/agGrid/Adaptable.js
CHANGED
|
@@ -257,10 +257,10 @@ export declare class AdaptableAgGrid implements IAdaptable {
|
|
|
257
257
|
added: IRowNode[];
|
|
258
258
|
updated: IRowNode[];
|
|
259
259
|
}>;
|
|
260
|
-
|
|
260
|
+
manageGridRows(dataRows: {
|
|
261
261
|
add?: any[];
|
|
262
262
|
update?: any[];
|
|
263
|
-
|
|
263
|
+
delete?: any[];
|
|
264
264
|
}, config?: DataUpdateConfig): Promise<{
|
|
265
265
|
addedRows: IRowNode[];
|
|
266
266
|
updatedRows: IRowNode[];
|
|
@@ -155,38 +155,77 @@ LocalEventService_Prototype.dispatchEvent = function (event) {
|
|
|
155
155
|
const adaptableInstances = {};
|
|
156
156
|
const publishTimestamp = Number(ADAPTABLE_PUBLISH_TIMESTAMP);
|
|
157
157
|
export class AdaptableAgGrid {
|
|
158
|
+
logger;
|
|
159
|
+
_id;
|
|
160
|
+
lifecycleState;
|
|
161
|
+
variant;
|
|
162
|
+
emitter;
|
|
163
|
+
/**
|
|
164
|
+
* Runtime flags
|
|
165
|
+
*/
|
|
166
|
+
hasAutogeneratedPrimaryKey;
|
|
167
|
+
hasAdaptableToolPanel;
|
|
168
|
+
initWithLazyData;
|
|
169
|
+
_rawAdaptableOptions;
|
|
170
|
+
adaptableOptions;
|
|
171
|
+
_isDetailGrid;
|
|
172
|
+
_isDetailGridForIndex;
|
|
173
|
+
agGridOptionsService;
|
|
174
|
+
agGridAdapter;
|
|
175
|
+
agGridColumnAdapter;
|
|
176
|
+
agGridMenuAdapter;
|
|
177
|
+
agGridExportAdapter;
|
|
178
|
+
agGridThemeAdapter;
|
|
179
|
+
agGridModulesAdapter;
|
|
180
|
+
DANGER_USE_GETTER_adaptableContainerElement;
|
|
181
|
+
DANGER_USE_GETTER_agGridContainerElement;
|
|
182
|
+
api;
|
|
183
|
+
adaptableStore;
|
|
184
|
+
adaptableModules;
|
|
185
|
+
DataService;
|
|
186
|
+
CalculatedColumnExpressionService;
|
|
187
|
+
ModuleService;
|
|
188
|
+
ValidationService;
|
|
189
|
+
QueryLanguageService;
|
|
190
|
+
AlertService;
|
|
191
|
+
TeamSharingService;
|
|
192
|
+
MetamodelService;
|
|
193
|
+
RowFormService;
|
|
194
|
+
Fdc3Service;
|
|
195
|
+
AnnotationsService;
|
|
196
|
+
FlashingCellService;
|
|
197
|
+
LicenseService;
|
|
198
|
+
ChartingService;
|
|
199
|
+
ThemeService;
|
|
200
|
+
rowListeners;
|
|
201
|
+
throttleFilterOnDataChange;
|
|
202
|
+
debouncedSetSelectedRows;
|
|
203
|
+
debouncedSetSelectedCells;
|
|
204
|
+
agGridListenerKeydown;
|
|
205
|
+
agGridListenerMouseEnter;
|
|
206
|
+
agGridListenerMouseLeave;
|
|
207
|
+
listenerGlobalSetRowSelection;
|
|
208
|
+
listenerGlobalChartingChanges;
|
|
209
|
+
listenerCellEditingStarted;
|
|
210
|
+
listenerFirstDataRendered;
|
|
211
|
+
listenerPivotChanged;
|
|
212
|
+
listenerCellSelectionChanged;
|
|
213
|
+
listenerSortChanged;
|
|
214
|
+
listenerColumnGroupOpened;
|
|
215
|
+
layoutManager;
|
|
216
|
+
columnMinMaxValuesCache = {};
|
|
217
|
+
renderReactRoot = (node, container) => defaultRenderReactRoot(node, container);
|
|
218
|
+
unmountReactRoot;
|
|
219
|
+
unmountLoadingScreen;
|
|
220
|
+
/**
|
|
221
|
+
* Temporary, these are MIGRATION technical debts, and should be removed as soon as possible
|
|
222
|
+
*/
|
|
223
|
+
adaptableStatusPanelKeys = [];
|
|
224
|
+
// see #no_additional_react_root
|
|
225
|
+
_PRIVATE_adaptableJSXElement;
|
|
226
|
+
_prevLayout;
|
|
227
|
+
__prevLayoutForRefresh;
|
|
158
228
|
constructor(config) {
|
|
159
|
-
this.columnMinMaxValuesCache = {};
|
|
160
|
-
this.renderReactRoot = (node, container) => defaultRenderReactRoot(node, container);
|
|
161
|
-
/**
|
|
162
|
-
* Temporary, these are MIGRATION technical debts, and should be removed as soon as possible
|
|
163
|
-
*/
|
|
164
|
-
this.adaptableStatusPanelKeys = [];
|
|
165
|
-
// only for our private / internal events used within Adaptable
|
|
166
|
-
// public events are emitted through the EventApi
|
|
167
|
-
this._emit = (eventName, data) => {
|
|
168
|
-
if (this.emitter) {
|
|
169
|
-
return this.emitter.emit(eventName, data);
|
|
170
|
-
}
|
|
171
|
-
};
|
|
172
|
-
this._emitSync = (eventName, data) => {
|
|
173
|
-
if (this.emitter) {
|
|
174
|
-
return this.emitter.emitSync(eventName, data);
|
|
175
|
-
}
|
|
176
|
-
};
|
|
177
|
-
this._on = (eventName, callback) => {
|
|
178
|
-
if (!this.emitter) {
|
|
179
|
-
return () => { };
|
|
180
|
-
}
|
|
181
|
-
return this.emitter.on(eventName, callback);
|
|
182
|
-
};
|
|
183
|
-
this._onIncludeFired = (eventName, callback) => {
|
|
184
|
-
if (!this.emitter) {
|
|
185
|
-
return () => { };
|
|
186
|
-
}
|
|
187
|
-
return this.emitter.onIncludeFired(eventName, callback);
|
|
188
|
-
};
|
|
189
|
-
this.__updateColumnModelAndRefreshGrid_already_called = false;
|
|
190
229
|
this.lifecycleState = 'initial';
|
|
191
230
|
this.emitter = new Emitter();
|
|
192
231
|
this.agGridOptionsService = new AgGridOptionsService(this);
|
|
@@ -222,6 +261,30 @@ export class AdaptableAgGrid {
|
|
|
222
261
|
get isDestroyed() {
|
|
223
262
|
return this.lifecycleState === 'preDestroyed';
|
|
224
263
|
}
|
|
264
|
+
// only for our private / internal events used within Adaptable
|
|
265
|
+
// public events are emitted through the EventApi
|
|
266
|
+
_emit = (eventName, data) => {
|
|
267
|
+
if (this.emitter) {
|
|
268
|
+
return this.emitter.emit(eventName, data);
|
|
269
|
+
}
|
|
270
|
+
};
|
|
271
|
+
_emitSync = (eventName, data) => {
|
|
272
|
+
if (this.emitter) {
|
|
273
|
+
return this.emitter.emitSync(eventName, data);
|
|
274
|
+
}
|
|
275
|
+
};
|
|
276
|
+
_on = (eventName, callback) => {
|
|
277
|
+
if (!this.emitter) {
|
|
278
|
+
return () => { };
|
|
279
|
+
}
|
|
280
|
+
return this.emitter.on(eventName, callback);
|
|
281
|
+
};
|
|
282
|
+
_onIncludeFired = (eventName, callback) => {
|
|
283
|
+
if (!this.emitter) {
|
|
284
|
+
return () => { };
|
|
285
|
+
}
|
|
286
|
+
return this.emitter.onIncludeFired(eventName, callback);
|
|
287
|
+
};
|
|
225
288
|
/**
|
|
226
289
|
* Internal initializer for Adaptable, directly called by the React and Angular Adaptable wrappers
|
|
227
290
|
* @private
|
|
@@ -782,7 +845,8 @@ You need to define at least one Layout!`);
|
|
|
782
845
|
return original_autoGroupColumnDef;
|
|
783
846
|
}
|
|
784
847
|
if (typeof original_autoGroupColumnDef?.filter === 'object') {
|
|
785
|
-
this.logger.
|
|
848
|
+
this.logger.consoleWarn(`autoGroupColumnDef.filter is set and overrides the Adaptable custom filter mechanism, so Adaptable will not be able to manage filtering for the Group Column!
|
|
849
|
+
Please contact the Adaptable Support Team for further assistance and investigation.`);
|
|
786
850
|
return original_autoGroupColumnDef;
|
|
787
851
|
}
|
|
788
852
|
const autoGroupColumnDef = { ...original_autoGroupColumnDef };
|
|
@@ -790,7 +854,8 @@ You need to define at least one Layout!`);
|
|
|
790
854
|
// !! DO NOT REMOVE THIS !!
|
|
791
855
|
// see https://github.com/ag-grid/ag-grid/blob/6f43ff257c2e285068eb425b655e58d6eeb89816/packages/ag-grid-enterprise/src/rowHierarchy/autoColService.ts#L225
|
|
792
856
|
autoGroupColumnDef.filterValueGetter = (params) => {
|
|
793
|
-
this.logger.
|
|
857
|
+
this.logger.consoleWarn(`An unexpected invocation of autoGroupColumnDef.filterValueGetter was detected. This execution path is not expected under normal operation.
|
|
858
|
+
Please contact the Adaptable Support Team for further assistance and investigation.`, params);
|
|
794
859
|
return '';
|
|
795
860
|
};
|
|
796
861
|
// !! it is important that we always return the same component / handler instances
|
|
@@ -2066,6 +2131,7 @@ You need to define at least one Layout!`);
|
|
|
2066
2131
|
}
|
|
2067
2132
|
return rawValue;
|
|
2068
2133
|
}
|
|
2134
|
+
__updateColumnModelAndRefreshGrid_already_called = false;
|
|
2069
2135
|
updateColumnModelAndRefreshGrid() {
|
|
2070
2136
|
if (this.__updateColumnModelAndRefreshGrid_already_called) {
|
|
2071
2137
|
return;
|
|
@@ -2401,18 +2467,18 @@ You need to define at least one Layout!`);
|
|
|
2401
2467
|
});
|
|
2402
2468
|
}
|
|
2403
2469
|
}
|
|
2404
|
-
async
|
|
2470
|
+
async manageGridRows(dataRows, config = {}) {
|
|
2405
2471
|
const result = {
|
|
2406
2472
|
addedRows: [],
|
|
2407
2473
|
updatedRows: [],
|
|
2408
2474
|
removedRows: [],
|
|
2409
2475
|
};
|
|
2410
|
-
if (!
|
|
2476
|
+
if (!dataRows) {
|
|
2411
2477
|
return result;
|
|
2412
2478
|
}
|
|
2413
|
-
const addDataRows =
|
|
2414
|
-
const updateDataRows =
|
|
2415
|
-
const removeDataRows =
|
|
2479
|
+
const addDataRows = dataRows.add;
|
|
2480
|
+
const updateDataRows = dataRows.update;
|
|
2481
|
+
const removeDataRows = dataRows.delete;
|
|
2416
2482
|
if (this.hasAutogeneratedPrimaryKey) {
|
|
2417
2483
|
this.addSyntheticPrimaryKeyIfMissing(addDataRows);
|
|
2418
2484
|
}
|
|
@@ -11,7 +11,17 @@ export const errorOnce = (message) => {
|
|
|
11
11
|
console.error(message);
|
|
12
12
|
errorOnceFlags[message] = true;
|
|
13
13
|
};
|
|
14
|
+
/**
|
|
15
|
+
* AdapTable's Logger
|
|
16
|
+
*/
|
|
14
17
|
export class AdaptableLogger {
|
|
18
|
+
adaptableId;
|
|
19
|
+
debugger;
|
|
20
|
+
infoLogger;
|
|
21
|
+
successLogger;
|
|
22
|
+
warnLogger;
|
|
23
|
+
errorLogger;
|
|
24
|
+
perfLogger;
|
|
15
25
|
// use static loggers whenever access to AdaptableLogger instance is not feasible
|
|
16
26
|
static consoleErrorBase(message, ...optionalParams) {
|
|
17
27
|
if (optionalParams?.length) {
|
|
@@ -13,9 +13,19 @@ import { isWeightedAverageAggFuncName } from '../AdaptableState/Common/Aggregati
|
|
|
13
13
|
const DANGER_AG_GRID_BEANS_MAP = {};
|
|
14
14
|
const getColumnApiModule = () => ColumnApiModule;
|
|
15
15
|
export class AgGridAdapter {
|
|
16
|
+
_adaptableInstance;
|
|
17
|
+
DANGER_USE_GETTER_gridApi;
|
|
18
|
+
DANGER_gridApi_from_args;
|
|
19
|
+
// see #gridOpts_monkey_patch
|
|
20
|
+
DANGER_updateGridOptionsMonkeyPatcher;
|
|
21
|
+
// see #aggColumnFilters_monkey_patch
|
|
22
|
+
DANGER_doFiltersPassMonkeyPatcher;
|
|
23
|
+
DANGER_isAggFilterPresentMonkeyPatcher;
|
|
24
|
+
activePivotColumnFilters_MEMO = new WeakMap();
|
|
25
|
+
initialGridOptions;
|
|
26
|
+
_agGridId;
|
|
16
27
|
constructor(_adaptableInstance, config) {
|
|
17
28
|
this._adaptableInstance = _adaptableInstance;
|
|
18
|
-
this.activePivotColumnFilters_MEMO = new WeakMap();
|
|
19
29
|
const columnApiModuleReference = config?.getAgGridColumnApiModuleReference?.() ?? getColumnApiModule();
|
|
20
30
|
const ColumnDefFactory_Prototype = columnApiModuleReference?.beans?.[0]?.prototype;
|
|
21
31
|
if (!ColumnDefFactory_Prototype) {
|
|
@@ -27,6 +27,8 @@ export function getEditorForColumnDataType(columnDataType, variant) {
|
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
export class AgGridColumnAdapter {
|
|
30
|
+
adaptableInstance;
|
|
31
|
+
colDefPropertyCache;
|
|
30
32
|
constructor(adaptableInstance) {
|
|
31
33
|
this.adaptableInstance = adaptableInstance;
|
|
32
34
|
this.colDefPropertyCache = new Map();
|
|
@@ -300,12 +302,10 @@ export class AgGridColumnAdapter {
|
|
|
300
302
|
// see #header_text_align
|
|
301
303
|
const formatColumnWithTextAlignment = this.getRelevantFormatColumnHeaderStyles(abColumn)
|
|
302
304
|
// we take the first one only, even if multiple are defined
|
|
303
|
-
.find((fc) => fc.
|
|
305
|
+
.find((fc) => fc.Style?.Alignment != undefined);
|
|
304
306
|
if (formatColumnWithTextAlignment) {
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
`ab-header__align-${formatColumnWithTextAlignment.CellAlignment.toLowerCase()}`,
|
|
308
|
-
];
|
|
307
|
+
const alignment = formatColumnWithTextAlignment.Style.Alignment.toLowerCase();
|
|
308
|
+
baseHeaderClass = [...baseHeaderClass, `ab-header__align-${alignment}`];
|
|
309
309
|
}
|
|
310
310
|
const formatColumns = this.adaptableApi.formatColumnApi.internalApi.getFormatColumnWithStyleClassNameForColumn(abColumn, {
|
|
311
311
|
target,
|
|
@@ -1261,19 +1261,6 @@ export class AgGridColumnAdapter {
|
|
|
1261
1261
|
const formatColumnStyle = formatColumn.Style
|
|
1262
1262
|
? convertAdaptableStyleToCSS(formatColumn.Style)
|
|
1263
1263
|
: {};
|
|
1264
|
-
if (formatColumn.CellAlignment) {
|
|
1265
|
-
switch (formatColumn.CellAlignment) {
|
|
1266
|
-
case 'Left':
|
|
1267
|
-
style.textAlign = 'left';
|
|
1268
|
-
break;
|
|
1269
|
-
case 'Right':
|
|
1270
|
-
style.textAlign = 'right';
|
|
1271
|
-
break;
|
|
1272
|
-
case 'Center':
|
|
1273
|
-
style.textAlign = 'center';
|
|
1274
|
-
break;
|
|
1275
|
-
}
|
|
1276
|
-
}
|
|
1277
1264
|
return { ...style, ...formatColumnStyle };
|
|
1278
1265
|
}, {});
|
|
1279
1266
|
}
|
|
@@ -8,17 +8,18 @@ import { createUuid } from '../AdaptableState/Uuid';
|
|
|
8
8
|
import { inferSchema, initParser } from 'udsv';
|
|
9
9
|
import { AG_GRID_GROUPED_COLUMN, AG_GRID_SELECTION_COLUMN, } from '../Utilities/Constants/GeneralConstants';
|
|
10
10
|
export class AgGridExportAdapter {
|
|
11
|
+
_adaptableInstance;
|
|
12
|
+
/**
|
|
13
|
+
* !!!
|
|
14
|
+
* do NOT mutate this array reference, this is passed only initially to AG Grid and we can only change it's internal state
|
|
15
|
+
*/
|
|
16
|
+
DANGER_excelStyles = [];
|
|
17
|
+
originalExcelStyles = [];
|
|
18
|
+
excelStylesCache = {};
|
|
19
|
+
cellOrHeaderClassKey2ExcelStyleIdMap = {};
|
|
20
|
+
excelStylesWithFormattedDate = {};
|
|
11
21
|
constructor(_adaptableInstance) {
|
|
12
22
|
this._adaptableInstance = _adaptableInstance;
|
|
13
|
-
/**
|
|
14
|
-
* !!!
|
|
15
|
-
* do NOT mutate this array reference, this is passed only initially to AG Grid and we can only change it's internal state
|
|
16
|
-
*/
|
|
17
|
-
this.DANGER_excelStyles = [];
|
|
18
|
-
this.originalExcelStyles = [];
|
|
19
|
-
this.excelStylesCache = {};
|
|
20
|
-
this.cellOrHeaderClassKey2ExcelStyleIdMap = {};
|
|
21
|
-
this.excelStylesWithFormattedDate = {};
|
|
22
23
|
}
|
|
23
24
|
get agGridApi() {
|
|
24
25
|
return this._adaptableInstance.agGridAdapter.getAgGridApi();
|
|
@@ -14,6 +14,10 @@ export const AgGridFilterAdapterFactory = (adaptable) => {
|
|
|
14
14
|
return 'filter_' + colId + '_' + adaptable.adaptableOptions.adaptableId;
|
|
15
15
|
}
|
|
16
16
|
return class AgGridFilterAdapter {
|
|
17
|
+
params;
|
|
18
|
+
filterContainer;
|
|
19
|
+
column;
|
|
20
|
+
unmountReactRoot;
|
|
17
21
|
init(params) {
|
|
18
22
|
this.params = params;
|
|
19
23
|
this.column = params.column;
|