@adaptabletools/adaptable 20.0.0-canary.23 → 20.0.0-canary.25

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.
Files changed (60) hide show
  1. package/base.css +5 -0
  2. package/base.css.map +1 -1
  3. package/index.css +4 -0
  4. package/index.css.map +1 -1
  5. package/package.json +2 -2
  6. package/src/AdaptableOptions/StateOptions.d.ts +1 -1
  7. package/src/AdaptableState/AdaptableState.d.ts +2 -2
  8. package/src/AdaptableState/AlertState.d.ts +2 -2
  9. package/src/AdaptableState/ApplicationState.d.ts +2 -2
  10. package/src/AdaptableState/{ConfigState.d.ts → BaseState.d.ts} +1 -1
  11. package/src/AdaptableState/CalculatedColumnState.d.ts +2 -2
  12. package/src/AdaptableState/ChartingState.d.ts +2 -2
  13. package/src/AdaptableState/CommentState.d.ts +2 -2
  14. package/src/AdaptableState/CustomSortState.d.ts +2 -2
  15. package/src/AdaptableState/DashboardState.d.ts +2 -2
  16. package/src/AdaptableState/ExportState.d.ts +2 -2
  17. package/src/AdaptableState/FlashingCellState.d.ts +2 -2
  18. package/src/AdaptableState/FormatColumnState.d.ts +2 -2
  19. package/src/AdaptableState/FreeTextColumnState.d.ts +2 -2
  20. package/src/AdaptableState/IPushPullState.d.ts +2 -2
  21. package/src/AdaptableState/LayoutState.d.ts +2 -2
  22. package/src/AdaptableState/NamedQueryState.d.ts +2 -2
  23. package/src/AdaptableState/NoteState.d.ts +2 -2
  24. package/src/AdaptableState/OpenFinState.d.ts +2 -2
  25. package/src/AdaptableState/PlusMinusState.d.ts +2 -2
  26. package/src/AdaptableState/PopupState.d.ts +2 -2
  27. package/src/AdaptableState/QuickSearchState.d.ts +2 -2
  28. package/src/AdaptableState/ScheduleState.d.ts +2 -2
  29. package/src/AdaptableState/ShortcutState.d.ts +2 -2
  30. package/src/AdaptableState/StatusBarState.d.ts +2 -2
  31. package/src/AdaptableState/StyledColumnState.d.ts +2 -2
  32. package/src/AdaptableState/TeamSharingState.d.ts +2 -2
  33. package/src/AdaptableState/ThemeState.d.ts +2 -2
  34. package/src/AdaptableState/ToolPanelState.d.ts +2 -2
  35. package/src/Api/AdaptableApi.d.ts +2 -2
  36. package/src/Api/Implementation/AdaptableApiImpl.d.ts +2 -2
  37. package/src/Api/Implementation/AdaptableApiImpl.js +3 -3
  38. package/src/Api/Implementation/ApiBase.d.ts +2 -2
  39. package/src/Api/Implementation/ApiBase.js +2 -2
  40. package/src/Api/Implementation/{ConfigApiImpl.d.ts → StateApiImpl.d.ts} +6 -6
  41. package/src/Api/Implementation/{ConfigApiImpl.js → StateApiImpl.js} +3 -3
  42. package/src/Api/Internal/EventInternalApi.js +1 -1
  43. package/src/Api/{ConfigApi.d.ts → StateApi.d.ts} +4 -4
  44. package/src/Redux/Store/AdaptableReduxLocalStorageEngine.js +2 -2
  45. package/src/Redux/Store/AdaptableReduxMerger.d.ts +2 -2
  46. package/src/Redux/Store/AdaptableReduxMerger.js +1 -1
  47. package/src/Redux/Store/AdaptableStore.d.ts +3 -3
  48. package/src/Strategy/AdaptableModuleBase.js +2 -3
  49. package/src/View/StateManagement/StateManagementPopup.js +5 -5
  50. package/src/View/StateManagement/StateManagementViewPanel.js +2 -2
  51. package/src/View/StateManagement/components/ExportDropdown.js +2 -2
  52. package/src/agGrid/AgGridExportAdapter.js +4 -0
  53. package/src/components/Select/Select.js +12 -3
  54. package/src/env.js +2 -2
  55. package/src/metamodel/adaptable.metamodel.d.ts +11 -11
  56. package/src/metamodel/adaptable.metamodel.js +1 -1
  57. package/src/types.d.ts +4 -4
  58. package/tsconfig.esm.tsbuildinfo +1 -1
  59. /package/src/AdaptableState/{ConfigState.js → BaseState.js} +0 -0
  60. /package/src/Api/{ConfigApi.js → StateApi.js} +0 -0
@@ -1,5 +1,5 @@
1
1
  import { ScreenPopup, ConfirmationPopup, PromptPopup, WindowPopup, FormPopup } from '../Utilities/Interface/MessagePopups';
2
- import { ConfigState } from './ConfigState';
2
+ import { BaseState } from './BaseState';
3
3
  import { ProgressIndicatorConfig } from './Common/ProgressIndicatorConfig';
4
4
  export interface ProgressIndicator extends ProgressIndicatorConfig {
5
5
  active: boolean;
@@ -7,7 +7,7 @@ export interface ProgressIndicator extends ProgressIndicatorConfig {
7
7
  /**
8
8
  * Internal state to manage open popups - NOT persisted by Redux
9
9
  */
10
- export interface PopupState extends ConfigState {
10
+ export interface PopupState extends BaseState {
11
11
  ScreenPopup: ScreenPopup;
12
12
  WindowPopup: WindowPopup;
13
13
  FormPopup: FormPopup;
@@ -1,9 +1,9 @@
1
1
  import { AdaptableStyle } from './Common/AdaptableStyle';
2
- import { ConfigState } from './ConfigState';
2
+ import { BaseState } from './BaseState';
3
3
  /**
4
4
  * Adaptable State Section for Quick Search Module
5
5
  */
6
- export interface QuickSearchState extends ConfigState {
6
+ export interface QuickSearchState extends BaseState {
7
7
  /**
8
8
  * Last Quick Search that was run (and will run again at start up)
9
9
  */
@@ -1,4 +1,4 @@
1
- import { ConfigState } from './ConfigState';
1
+ import { BaseState } from './BaseState';
2
2
  import { IPushPullSchedule } from './IPushPullState';
3
3
  import { OpenFinSchedule } from './OpenFinState';
4
4
  import { AdaptableMessageType, ReportSchedule } from '../types';
@@ -7,7 +7,7 @@ import { BaseSchedule } from './Common/Schedule';
7
7
  * Adaptable State Section for the Schedule Module
8
8
  *
9
9
  */
10
- export interface ScheduleState extends ConfigState {
10
+ export interface ScheduleState extends BaseState {
11
11
  /**
12
12
  * Schedules connected to Reports (created in the Export function)
13
13
  */
@@ -1,10 +1,10 @@
1
- import { ConfigState } from './ConfigState';
1
+ import { BaseState } from './BaseState';
2
2
  import { ColumnScope } from './Common/ColumnScope';
3
3
  import { SuspendableObject } from './Common/SuspendableObject';
4
4
  /**
5
5
  * Adaptable State Section for Shortcut Module
6
6
  */
7
- export interface ShortcutState extends ConfigState {
7
+ export interface ShortcutState extends BaseState {
8
8
  /**
9
9
  * Collection of Shortcuts - designed to speed up data entry
10
10
  */
@@ -1,9 +1,9 @@
1
- import { ConfigState } from '../types';
1
+ import { BaseState } from '../types';
2
2
  import { AdaptableStatusBarPanel } from './Common/Types';
3
3
  /**
4
4
  * Adaptable State Section for the Adaptable Status Bar
5
5
  */
6
- export interface StatusBarState extends ConfigState {
6
+ export interface StatusBarState extends BaseState {
7
7
  /**
8
8
  * Adaptable Status Bars to display - can be unlimited and displayed in 3 locations
9
9
  * @defaultValue null
@@ -1,4 +1,4 @@
1
- import { ConfigState } from './ConfigState';
1
+ import { BaseState } from './BaseState';
2
2
  import { SuspendableObject } from './Common/SuspendableObject';
3
3
  import { AdaptableCustomIcon, AdaptableSystemIcon, AdaptablePredicate, AdaptableStyle, AdaptableBooleanQuery } from '../types';
4
4
  import { TypeHint } from './Common/Types';
@@ -7,7 +7,7 @@ import { AgSparklineOptions } from 'ag-charts-types';
7
7
  /**
8
8
  * Adaptable State Section for Styled Column Module
9
9
  */
10
- export interface StyledColumnState extends ConfigState {
10
+ export interface StyledColumnState extends BaseState {
11
11
  /**
12
12
  * Collection of Special Column Styles
13
13
  */
@@ -1,4 +1,4 @@
1
- import { ConfigState } from './ConfigState';
1
+ import { BaseState } from './BaseState';
2
2
  import { AdaptableObject, AdaptableObjectTag } from './Common/AdaptableObject';
3
3
  import { AdaptableModule } from '../types';
4
4
  import { TypeUuid } from './Uuid';
@@ -6,7 +6,7 @@ import * as Redux from 'redux';
6
6
  /**
7
7
  * State for Team Sharing; internal so not designed to be provided as part of Initial Adaptable State
8
8
  */
9
- export interface TeamSharingState extends ConfigState {
9
+ export interface TeamSharingState extends BaseState {
10
10
  /**
11
11
  * List of objects currently being Team Shared
12
12
  */
@@ -1,10 +1,10 @@
1
- import { ConfigState } from './ConfigState';
1
+ import { BaseState } from './BaseState';
2
2
  import { AdaptableObject } from './Common/AdaptableObject';
3
3
  import { TypeHint } from './Common/Types';
4
4
  /**
5
5
  * Theme section of Adaptable State
6
6
  */
7
- export interface ThemeState extends ConfigState {
7
+ export interface ThemeState extends BaseState {
8
8
  /**
9
9
  * Name of current theme (or theme to set at startup); leave blank if using 'Light Theme', set to 'dark' for 'Dark Theme' or provide name of Custom Theme
10
10
  */
@@ -1,9 +1,9 @@
1
- import { ConfigState } from './ConfigState';
1
+ import { BaseState } from './BaseState';
2
2
  import { AdaptableModuleButtons, AdaptableToolPanel } from './Common/Types';
3
3
  /**
4
4
  * Adaptable State Section for the AdapTable ToolPanel
5
5
  */
6
- export interface ToolPanelState extends ConfigState {
6
+ export interface ToolPanelState extends BaseState {
7
7
  /**
8
8
  * Adaptable Tool Panels which are viaible
9
9
  * @defaultValue ToolPanels for all available Modules (subject to Entitlement rules)
@@ -5,7 +5,7 @@ import { BulkUpdateApi } from './BulkUpdateApi';
5
5
  import { CalendarApi } from './CalendarApi';
6
6
  import { CalculatedColumnApi } from './CalculatedColumnApi';
7
7
  import { CellSummaryApi } from './CellSummaryApi';
8
- import { ConfigApi } from './ConfigApi';
8
+ import { StateApi } from './StateApi';
9
9
  import { CustomSortApi } from './CustomSortApi';
10
10
  import { DashboardApi } from './DashboardApi';
11
11
  import { ToolPanelApi } from './ToolPanelApi';
@@ -95,7 +95,7 @@ export interface AdaptableApi {
95
95
  /**
96
96
  * Methods giving access to Adaptable State
97
97
  */
98
- configApi: ConfigApi;
98
+ stateApi: StateApi;
99
99
  /**
100
100
  * Provides access to the Custom Sort Module
101
101
  */
@@ -6,7 +6,7 @@ import { BulkUpdateApi } from '../BulkUpdateApi';
6
6
  import { CalendarApi } from '../CalendarApi';
7
7
  import { CalculatedColumnApi } from '../CalculatedColumnApi';
8
8
  import { CellSummaryApi } from '../CellSummaryApi';
9
- import { ConfigApi } from '../ConfigApi';
9
+ import { StateApi } from '../StateApi';
10
10
  import { CustomSortApi } from '../CustomSortApi';
11
11
  import { DashboardApi } from '../DashboardApi';
12
12
  import { ToolPanelApi } from '../ToolPanelApi';
@@ -57,7 +57,7 @@ export declare class AdaptableApiImpl implements AdaptableApi {
57
57
  calculatedColumnApi: CalculatedColumnApi;
58
58
  cellSummaryApi: CellSummaryApi;
59
59
  columnApi: ColumnApi;
60
- configApi: ConfigApi;
60
+ stateApi: StateApi;
61
61
  customSortApi: CustomSortApi;
62
62
  dashboardApi: DashboardApi;
63
63
  dataSetApi: DataSetApi;
@@ -5,7 +5,7 @@ import { PluginsApiImpl } from './PluginsApiImpl';
5
5
  import { BulkUpdateApiImpl } from './BulkUpdateApiImpl';
6
6
  import { CalculatedColumnApiImpl } from './CalculatedColumnApiImpl';
7
7
  import { CellSummaryApiImpl } from './CellSummaryApiImpl';
8
- import { ConfigApiImpl } from './ConfigApiImpl';
8
+ import { StateApiImpl } from './StateApiImpl';
9
9
  import { CustomSortApiImpl } from './CustomSortApiImpl';
10
10
  import { DashboardApiImpl } from './DashboardApiImpl';
11
11
  import { ToolPanelApiImpl } from './ToolPanelApiImpl';
@@ -67,7 +67,7 @@ export class AdaptableApiImpl {
67
67
  this.columnApi = new ColumnApiImpl(adaptable);
68
68
  this.columnMenuApi = new ColumnMenuApiImpl(adaptable);
69
69
  this.contextMenuApi = new ContextMenuApiImpl(adaptable);
70
- this.configApi = new ConfigApiImpl(adaptable);
70
+ this.stateApi = new StateApiImpl(adaptable);
71
71
  this.customSortApi = new CustomSortApiImpl(adaptable);
72
72
  this.dashboardApi = new DashboardApiImpl(adaptable);
73
73
  this.dataSetApi = new DataSetApiImpl(adaptable);
@@ -128,7 +128,7 @@ export class AdaptableApiImpl {
128
128
  this.cellSummaryApi = null;
129
129
  this.chartingApi = null;
130
130
  this.columnApi = null;
131
- this.configApi = null;
131
+ this.stateApi = null;
132
132
  this.customSortApi = null;
133
133
  this.dashboardApi = null;
134
134
  this.dataChangeHistoryApi = null;
@@ -8,7 +8,7 @@ import { AdaptableOptions } from '../../AdaptableOptions/AdaptableOptions';
8
8
  import { AdaptableApi } from '../AdaptableApi';
9
9
  import { GridApi as AgGridApi } from 'ag-grid-enterprise';
10
10
  import { ExportOptions } from '../../AdaptableOptions/ExportOptions';
11
- import { ActionColumnApi, ActionColumnOptions, AlertApi, AlertOptions, ApplicationApi, BulkUpdateApi, CalculatedColumnApi, CalendarApi, CalendarOptions, CellSummaryApi, CellSummaryOptions, ChartingApi, ChartingOptions, ColumnApi, FilterApi, ColumnOptions, CommentOptions, ConfigApi, ContainerOptions, CustomSortApi, CustomSortOptions, DashboardApi, DashboardOptions, DataChangeHistoryApi, DataChangeHistoryOptions, DataSetApi, DataSetOptions, EditOptions, EntitlementApi, EntitlementOptions, EventApi, ExportApi, ExpressionApi, ExpressionOptions, Fdc3Api, Fdc3Options, FlashingCellApi, FlashingCellOptions, FormatColumnApi, FormatColumnOptions, FreeTextColumnApi, GridApi, GridFilterApi, LayoutApi, LayoutAssociatedObject, LayoutOptions, NamedQueryApi, NoteOptions, NotificationsOptions, PluginsApi, PlusMinusApi, PredicateApi, PredicateOptions, QuickSearchApi, QuickSearchOptions, ScheduleApi, ColumnScopeApi, SettingsPanelApi, SettingsPanelOptions, ShortcutApi, SmartEditApi, StateOptions, StatusBarApi, StyledColumnApi, SystemStatusApi, TeamSharingApi, TeamSharingOptions, ThemeApi, ToolPanelApi, ToolPanelOptions, UserInterfaceApi, UserInterfaceOptions, ColumnMenuOptions, ContextMenuOptions, FilterOptions, ColumnFilterApi, OptionsApi } from '../../types';
11
+ import { ActionColumnApi, ActionColumnOptions, AlertApi, AlertOptions, ApplicationApi, BulkUpdateApi, CalculatedColumnApi, CalendarApi, CalendarOptions, CellSummaryApi, CellSummaryOptions, ChartingApi, ChartingOptions, ColumnApi, FilterApi, ColumnOptions, CommentOptions, StateApi, ContainerOptions, CustomSortApi, CustomSortOptions, DashboardApi, DashboardOptions, DataChangeHistoryApi, DataChangeHistoryOptions, DataSetApi, DataSetOptions, EditOptions, EntitlementApi, EntitlementOptions, EventApi, ExportApi, ExpressionApi, ExpressionOptions, Fdc3Api, Fdc3Options, FlashingCellApi, FlashingCellOptions, FormatColumnApi, FormatColumnOptions, FreeTextColumnApi, GridApi, GridFilterApi, LayoutApi, LayoutAssociatedObject, LayoutOptions, NamedQueryApi, NoteOptions, NotificationsOptions, PluginsApi, PlusMinusApi, PredicateApi, PredicateOptions, QuickSearchApi, QuickSearchOptions, ScheduleApi, ColumnScopeApi, SettingsPanelApi, SettingsPanelOptions, ShortcutApi, SmartEditApi, StateOptions, StatusBarApi, StyledColumnApi, SystemStatusApi, TeamSharingApi, TeamSharingOptions, ThemeApi, ToolPanelApi, ToolPanelOptions, UserInterfaceApi, UserInterfaceOptions, ColumnMenuOptions, ContextMenuOptions, FilterOptions, ColumnFilterApi, OptionsApi } from '../../types';
12
12
  import { ModuleParams } from '../../View/Components/SharedProps/ModuleViewPopupProps';
13
13
  import { AdaptableInternalApi } from '../Internal/AdaptableInternalApi';
14
14
  import { AdaptableLogger } from '../../agGrid/AdaptableLogger';
@@ -105,7 +105,7 @@ export declare abstract class ApiBase {
105
105
  protected getCalculatedColumnApi(): CalculatedColumnApi;
106
106
  protected getCellSummaryApi(): CellSummaryApi;
107
107
  protected getColumnApi(): ColumnApi;
108
- protected getConfigApi(): ConfigApi;
108
+ protected getStateApi(): StateApi;
109
109
  protected getCustomSortApi(): CustomSortApi;
110
110
  protected getDashboardApi(): DashboardApi;
111
111
  protected getDataSetApi(): DataSetApi;
@@ -239,8 +239,8 @@ export class ApiBase {
239
239
  getColumnApi() {
240
240
  return this.getAdaptableApi().columnApi;
241
241
  }
242
- getConfigApi() {
243
- return this.getAdaptableApi().configApi;
242
+ getStateApi() {
243
+ return this.getAdaptableApi().stateApi;
244
244
  }
245
245
  getCustomSortApi() {
246
246
  return this.getAdaptableApi().customSortApi;
@@ -9,29 +9,29 @@ import { DashboardState } from '../../AdaptableState/DashboardState';
9
9
  import { CustomSortState } from '../../AdaptableState/CustomSortState';
10
10
  import { CalculatedColumnState } from '../../AdaptableState/CalculatedColumnState';
11
11
  import { AlertState } from '../../AdaptableState/AlertState';
12
- import { ConfigState } from '../../AdaptableState/ConfigState';
12
+ import { BaseState } from '../../AdaptableState/BaseState';
13
13
  import { AdaptablePersistentState, AdaptableState } from '../../AdaptableState/AdaptableState';
14
14
  import { ApiBase } from './ApiBase';
15
15
  import { ApplicationState } from '../../AdaptableState/ApplicationState';
16
16
  import { FreeTextColumnState } from '../../AdaptableState/FreeTextColumnState';
17
17
  import { ToolPanelState } from '../../AdaptableState/ToolPanelState';
18
- import { ConfigApi } from '../ConfigApi';
18
+ import { StateApi } from '../StateApi';
19
19
  import { AdaptableModule, AdaptableStateKey } from '../../AdaptableState/Common/Types';
20
20
  import { AdaptableOptions, AdaptableSearchState, AdaptableSortState, FlashingCellState, InitialState, NamedQueryState, ScheduleState, StatusBarState, StyledColumnState } from '../../types';
21
21
  import { PredefinedConfig } from '../../AdaptableState/InitialState';
22
22
  import { ChartingState } from '../../AdaptableState/ChartingState';
23
23
  import { NoteState } from '../../AdaptableState/NoteState';
24
- export declare class ConfigApiImpl extends ApiBase implements ConfigApi {
24
+ export declare class StateApiImpl extends ApiBase implements StateApi {
25
25
  configInit(): void;
26
26
  copyAllStateToClipboard(): void;
27
27
  copyUserStateToClipboard(): void;
28
28
  getPredefinedConfig(): PredefinedConfig | any;
29
- getInitialState(): PredefinedConfig | any;
29
+ getInitialState(): InitialState | any;
30
30
  reloadPredefinedConfig(newPredefinedConfig?: PredefinedConfig): void;
31
31
  reloadInitialState(newInitialState?: InitialState): void;
32
32
  getAllState(): AdaptableState;
33
33
  getPersistedState(): AdaptablePersistentState;
34
- getAllUserState(): ConfigState[];
34
+ getAllUserState(): BaseState[];
35
35
  loadUserState(state: InitialState): void;
36
36
  getAdaptableSearchState(): AdaptableSearchState;
37
37
  getAdaptableSortState(): AdaptableSortState;
@@ -43,7 +43,7 @@ export declare class ConfigApiImpl extends ApiBase implements ConfigApi {
43
43
  }): Promise<void>;
44
44
  getDescriptionForModule(module: AdaptableModule): string;
45
45
  getHelpPageForModule(module: AdaptableModule): string;
46
- getUserStateByStateKey(stateKey: AdaptableStateKey, returnJson?: boolean): ConfigState | string;
46
+ getUserStateByStateKey(stateKey: AdaptableStateKey, returnJson?: boolean): BaseState | string;
47
47
  incrementUserStateRevision(stateKey: AdaptableStateKey): void;
48
48
  getAlertState(returnJson?: boolean): AlertState;
49
49
  getApplicationState(returnJson?: boolean): ApplicationState;
@@ -23,7 +23,7 @@ import * as SmartEditRedux from '../../Redux/ActionsReducers/SmartEditRedux';
23
23
  import * as ThemeRedux from '../../Redux/ActionsReducers/ThemeRedux';
24
24
  import * as ToolPanelRedux from '../../Redux/ActionsReducers/ToolPanelRedux';
25
25
  import { logDeprecation } from '../../Utilities/logDeprecation';
26
- export class ConfigApiImpl extends ApiBase {
26
+ export class StateApiImpl extends ApiBase {
27
27
  configInit() {
28
28
  this.dispatchAction(InitState());
29
29
  }
@@ -40,14 +40,14 @@ export class ConfigApiImpl extends ApiBase {
40
40
  Helper.copyToClipboard(stringifiedState);
41
41
  }
42
42
  getPredefinedConfig() {
43
- logDeprecation(this.getAdatableLogger(), 'ConfigApi', 'getPredefinedConfig', 'getInitialState');
43
+ logDeprecation(this.getAdatableLogger(), 'StateApi', 'getPredefinedConfig', 'getInitialState');
44
44
  return this.getInitialState();
45
45
  }
46
46
  getInitialState() {
47
47
  return this._adaptable.adaptableOptions.initialState;
48
48
  }
49
49
  reloadPredefinedConfig(newPredefinedConfig) {
50
- logDeprecation(this.getAdatableLogger(), 'ConfigApi', 'reloadPredefinedConfig', 'reloadInitialState');
50
+ logDeprecation(this.getAdatableLogger(), 'StateApi', 'reloadPredefinedConfig', 'reloadInitialState');
51
51
  this.reloadInitialState(newPredefinedConfig);
52
52
  }
53
53
  reloadInitialState(newInitialState) {
@@ -3,7 +3,7 @@ import isEqual from 'lodash/isEqual';
3
3
  export class EventInternalApi extends ApiBase {
4
4
  fireGridSortedEvent() {
5
5
  if (this.isAdapTableReady()) {
6
- const adaptableSortState = this.getConfigApi().getAdaptableSortState();
6
+ const adaptableSortState = this.getStateApi().getAdaptableSortState();
7
7
  const gridSortedInfo = {
8
8
  adaptableSortState: adaptableSortState,
9
9
  ...this.getAdaptableInternalApi().buildBaseContext(),
@@ -8,7 +8,7 @@ import { DashboardState } from '../AdaptableState/DashboardState';
8
8
  import { CustomSortState } from '../AdaptableState/CustomSortState';
9
9
  import { CalculatedColumnState } from '../AdaptableState/CalculatedColumnState';
10
10
  import { AlertState } from '../AdaptableState/AlertState';
11
- import { ConfigState } from '../AdaptableState/ConfigState';
11
+ import { BaseState } from '../AdaptableState/BaseState';
12
12
  import { PlusMinusState } from '../AdaptableState/PlusMinusState';
13
13
  import { ApplicationState } from '../AdaptableState/ApplicationState';
14
14
  import { AdaptablePersistentState, AdaptableState } from '../AdaptableState/AdaptableState';
@@ -19,7 +19,7 @@ import { AdaptableSearchState, AdaptableSortState, ChartingState, FlashingCellSt
19
19
  /**
20
20
  * Range of functions to access Initial and Full Adaptable State
21
21
  */
22
- export interface ConfigApi {
22
+ export interface StateApi {
23
23
  /**
24
24
  * Changes the key used for persisting the AdaptableState into localStorage. Optionally provides a initialState to load.
25
25
  * @param adaptableStateKey - key for persisting the AdaptableState into localStorage
@@ -62,7 +62,7 @@ export interface ConfigApi {
62
62
  * Loads supplied user state, replacing (NOT merging) existing User(persisted) State.
63
63
  * @param state
64
64
  */
65
- loadUserState(config: InitialState): void;
65
+ loadUserState(state: InitialState): void;
66
66
  /**
67
67
  * Retrieves ALL state which is currently stored by Adaptable (both persistent and transient/internal)
68
68
  */
@@ -94,7 +94,7 @@ export interface ConfigApi {
94
94
  * @param stateKey section of State to return
95
95
  * @param returnJson whether to return section as JSON or object
96
96
  */
97
- getUserStateByStateKey(stateKey: AdaptableStateKey, returnJson?: boolean): ConfigState | string;
97
+ getUserStateByStateKey(stateKey: AdaptableStateKey, returnJson?: boolean): BaseState | string;
98
98
  /**
99
99
  * Adds '1' to current revision number of State element
100
100
  * @param stateKey Adaptable State Key to update
@@ -50,8 +50,8 @@ class AdaptableReduxLocalStorageEngine {
50
50
  }).then((parsedJsonState) => {
51
51
  // we need to merge the Initial Adaptable State
52
52
  return Promise.resolve(initialState)
53
- .then((parsedPredefinedState) => {
54
- return MergeStateFunction(parsedPredefinedState, parsedJsonState);
53
+ .then((parsedInitialState) => {
54
+ return MergeStateFunction(parsedInitialState, parsedJsonState);
55
55
  })
56
56
  .catch((err) => AdaptableLogger.consoleErrorBase(`AdaptableId: ${this.adaptableId}`, err));
57
57
  });
@@ -1,4 +1,4 @@
1
- import { ConfigState } from '../../AdaptableState/ConfigState';
1
+ import { BaseState } from '../../AdaptableState/BaseState';
2
2
  import { AdaptableState } from '../../AdaptableState/AdaptableState';
3
3
  export declare function AddStateSource(stateObject: any, source: 'Config' | 'User'): any;
4
4
  export declare function ProcessKeepUserDefinedRevision(configState: any, currentUserState: any): any;
@@ -7,7 +7,7 @@ export declare function MergeState(oldState: any, newState: any): any;
7
7
  type TypeReducer = (state: AdaptableState, action: {
8
8
  type: string;
9
9
  State?: {
10
- [s: string]: ConfigState;
10
+ [s: string]: BaseState;
11
11
  };
12
12
  }) => AdaptableState;
13
13
  export declare const mergeReducer: (rootReducer: TypeReducer, LOAD_STATE_TYPE: string) => TypeReducer;
@@ -74,7 +74,7 @@ export function MergeStateFunction(oldState, newState) {
74
74
  if (newState === '') {
75
75
  newState = {};
76
76
  }
77
- // add source 'Config' only to predefined objects
77
+ // add source 'Config' only to initial state objects
78
78
  const config = AddStateSource(oldState, 'Config');
79
79
  // source 'User' will be added to all other objects, after the merge (see bottom of this function)
80
80
  let state = newState;
@@ -1,7 +1,7 @@
1
1
  import * as Redux from 'redux';
2
2
  import { IAdaptable } from '../../AdaptableInterfaces/IAdaptable';
3
3
  import { AdaptableState } from '../../AdaptableState/AdaptableState';
4
- import { ConfigState } from '../../AdaptableState/ConfigState';
4
+ import { BaseState } from '../../AdaptableState/BaseState';
5
5
  import { IAdaptableStore, LoadStoreConfig } from './Interface/IAdaptableStore';
6
6
  type EmitterCallback = (data?: any) => any;
7
7
  type EmitterAnyCallback = (eventName: string, data?: any) => any;
@@ -13,12 +13,12 @@ export interface InitStateAction extends Redux.Action {
13
13
  }
14
14
  export interface LoadStateAction extends Redux.Action {
15
15
  State: {
16
- [s: string]: ConfigState;
16
+ [s: string]: BaseState;
17
17
  };
18
18
  }
19
19
  export declare const InitState: () => ResetUserDataAction;
20
20
  export declare const LoadState: (State: {
21
- [s: string]: ConfigState;
21
+ [s: string]: BaseState;
22
22
  }) => LoadStateAction;
23
23
  export declare class AdaptableStore implements IAdaptableStore {
24
24
  TheStore: Redux.Store<AdaptableState, Redux.Action>;
@@ -17,7 +17,7 @@ export class AdaptableModuleBase {
17
17
  this.api = api;
18
18
  this.api.eventApi.on('AdaptableReady', () => {
19
19
  this.onAdaptableReady();
20
- this.api.configApi.dispatchStateReadyAction(this.moduleInfo.ModuleName);
20
+ this.api.stateApi.dispatchStateReadyAction(this.moduleInfo.ModuleName);
21
21
  });
22
22
  this.api.eventApi.on('AdaptableStateReloaded', (adaptableStateReloadedInfo) => {
23
23
  this.onAdaptableStateReloaded(adaptableStateReloadedInfo);
@@ -67,8 +67,7 @@ export class AdaptableModuleBase {
67
67
  // override where necessary in base classes
68
68
  }
69
69
  setModuleEntitlement() {
70
- this.AccessLevel = this.api.entitlementApi
71
- .getEntitlementAccessLevelForModule(this.moduleInfo.ModuleName);
70
+ this.AccessLevel = this.api.entitlementApi.getEntitlementAccessLevelForModule(this.moduleInfo.ModuleName);
72
71
  }
73
72
  createModuleMenuItem(source) {
74
73
  if (this.isModuleAvailable() && this.moduleInfo.Popup) {
@@ -11,17 +11,17 @@ export const StateManagementPopup = (props) => {
11
11
  React.createElement(Panel, { className: `${baseClassName}__panel`, "data-name": "user-state", header: 'User State', style: { height: 'auto' }, variant: "default", borderRadius: "none", marginRight: 2, mb: 2 },
12
12
  React.createElement(HelpBlock, { marginBottom: 2 }, 'Clear all current user state that has been persisted'),
13
13
  React.createElement(HelpBlock, { style: { color: 'var(--ab-color-warn)' } }, 'This will cause this window to close and any State you have previously created will be lost, and the Initial Adaptable State will be reapplied'),
14
- React.createElement(ClearButton, { "data-name": "clear-user-state-button", tone: "info", variant: "raised", marginTop: 2, accessLevel: props.accessLevel, onClick: () => props.api.configApi.reloadInitialState() }, "Clear User State")),
15
- React.createElement(Panel, { className: `${baseClassName}__panel`, "data-name": "predefined-config", header: 'Initial Adaptable State', style: { height: 'auto' }, variant: "default", borderRadius: "none", marginTop: 3, marginRight: 2, mb: 2 },
14
+ React.createElement(ClearButton, { "data-name": "clear-user-state-button", tone: "info", variant: "raised", marginTop: 2, accessLevel: props.accessLevel, onClick: () => props.api.stateApi.reloadInitialState() }, "Clear User State")),
15
+ React.createElement(Panel, { className: `${baseClassName}__panel`, "data-name": "initial-state", header: 'Initial Adaptable State', style: { height: 'auto' }, variant: "default", borderRadius: "none", marginTop: 3, marginRight: 2, mb: 2 },
16
16
  React.createElement(HelpBlock, { marginTop: 2 }, 'Load Initial Adaptable State (from a .json file) - this will cause this window to close'),
17
17
  ' ',
18
- React.createElement(LoadButton, { tone: "info", variant: "raised", marginTop: 2, accessLevel: props.accessLevel, onLoad: (json) => props.api.configApi.reloadInitialState(json), "data-name": "load-predefined-config-button" }, "Load Initial Adaptable State")),
18
+ React.createElement(LoadButton, { tone: "info", variant: "raised", marginTop: 2, accessLevel: props.accessLevel, onLoad: (json) => props.api.stateApi.reloadInitialState(json), "data-name": "load-initial-state-button" }, "Load Initial Adaptable State")),
19
19
  React.createElement(Panel, { className: `${baseClassName}__panel`, "data-name": "adaptable-state", header: 'Export Adaptable State', style: { height: 'auto' }, variant: "default", borderRadius: "none", marginTop: 3, marginRight: 2, mb: 2 },
20
20
  React.createElement(HelpBlock, { marginTop: 2, marginBottom: 2 }, 'Exports the currently persisted Adaptable State'),
21
21
  ' ',
22
22
  React.createElement(ExportDropdown, { api: props.api, type: "adaptableState", marginRight: 3, style: { flex: 1, maxWidth: 'none' }, columns: ['label'], "data-name": "export-adaptable-state-dropdown" }, "Select Export Destination")),
23
- React.createElement(Panel, { className: `${baseClassName}__panel`, "data-name": "initial-predefined-config", header: 'Export Initial Adaptable State', style: { height: 'auto' }, variant: "default", borderRadius: "none", marginTop: 3, marginRight: 2, mb: 2 },
23
+ React.createElement(Panel, { className: `${baseClassName}__panel`, "data-name": "initial-state", header: 'Export Initial Adaptable State', style: { height: 'auto' }, variant: "default", borderRadius: "none", marginTop: 3, marginRight: 2, mb: 2 },
24
24
  React.createElement(HelpBlock, { marginTop: 2, marginBottom: 2 }, 'Exports the Initial Adaptable State which was provided at design time'),
25
25
  ' ',
26
- React.createElement(ExportDropdown, { api: props.api, type: "initialState", marginRight: 3, style: { flex: 1, maxWidth: 'none' }, columns: ['label'], "data-name": "export-initial-predefined-config-dropdown" }, "Select Export Destination"))));
26
+ React.createElement(ExportDropdown, { api: props.api, type: "initialState", marginRight: 3, style: { flex: 1, maxWidth: 'none' }, columns: ['label'], "data-name": "export-initial-state-dropdown" }, "Select Export Destination"))));
27
27
  };
@@ -10,8 +10,8 @@ export const StateManagementViewPanel = (props) => {
10
10
  const elementType = isToolbar ? 'DashboardToolbar' : 'ToolPanel';
11
11
  return (React.createElement(Flex, { flexDirection: isToolbar ? 'row' : 'column', className: join(props.accessLevel == 'ReadOnly' ? GeneralConstants.READ_ONLY_STYLE : '', `ab-${elementType}__StateManagement__wrap`) },
12
12
  React.createElement(Flex, { flexDirection: "row" },
13
- React.createElement(LoadButton, { tooltip: "Load Initial Adaptable State", variant: "text", icon: "upload", onLoad: (json) => props.api.configApi.reloadInitialState(json), accessLevel: props.accessLevel }, !isToolbar && 'Load'),
14
- React.createElement(ClearButton, { icon: "delete", tooltip: "Clear User State", variant: "text", onClick: () => props.api.configApi.reloadInitialState(), accessLevel: props.accessLevel }, !isToolbar && 'Clear')),
13
+ React.createElement(LoadButton, { tooltip: "Load Initial Adaptable State", variant: "text", icon: "upload", onLoad: (json) => props.api.stateApi.reloadInitialState(json), accessLevel: props.accessLevel }, !isToolbar && 'Load'),
14
+ React.createElement(ClearButton, { icon: "delete", tooltip: "Clear User State", variant: "text", onClick: () => props.api.stateApi.reloadInitialState(), accessLevel: props.accessLevel }, !isToolbar && 'Clear')),
15
15
  React.createElement(ExportDropdown, { api: props.api, type: "adaptableState" }, "All State"),
16
16
  React.createElement(ExportDropdown, { api: props.api, type: "initialState" }, "Initial Adaptable State")));
17
17
  };
@@ -5,11 +5,11 @@ export const ExportDropdown = (props) => {
5
5
  const handleChange = (destination) => {
6
6
  switch (props.type) {
7
7
  case 'adaptableState':
8
- const adaptableState = props.api.configApi.getPersistedState();
8
+ const adaptableState = props.api.stateApi.getPersistedState();
9
9
  handleExportState(destination, 'adaptableState', adaptableState);
10
10
  break;
11
11
  case 'initialState':
12
- const initialState = props.api.configApi.getInitialState();
12
+ const initialState = props.api.stateApi.getInitialState();
13
13
  handleExportState(destination, 'initialState', initialState);
14
14
  break;
15
15
  }
@@ -474,6 +474,10 @@ export class AgGridExportAdapter {
474
474
  const colDef = colDefs[columnIndex];
475
475
  const columnId = column.getId();
476
476
  const adaptableColumn = getAdaptableColumnWithColumnId(columnId);
477
+ if (!adaptableColumn) {
478
+ this.logger.warn(`Export Styling: Column with id ${columnId} not found in Adaptable`);
479
+ return;
480
+ }
477
481
  const isDateCellExportedAsFormattedValue = this.isDateCellExportedAsFormattedValue(adaptableColumn);
478
482
  let cellClassParams;
479
483
  const getLazyCellClassParams = () => {
@@ -1,6 +1,6 @@
1
1
  import { isSameDay } from 'date-fns';
2
2
  import * as React from 'react';
3
- import ReactSelect, { components } from 'react-select';
3
+ import ReactSelect, { components, } from 'react-select';
4
4
  import CreatableSelect from 'react-select/creatable';
5
5
  import { Icon } from '../icons';
6
6
  import { Box } from 'rebass';
@@ -151,7 +151,7 @@ export const Select = function (props) {
151
151
  });
152
152
  const title = typeof customRenderValue === 'string' ? customRenderValue : '';
153
153
  children = customRenderValue ? (React.createElement(Box, { display: 'flex', flexDirection: 'row', flex: 1, flexWrap: 'nowrap', alignItems: 'center', overflow: 'hidden' },
154
- React.createElement("span", { title: title, style: {
154
+ React.createElement("span", { title: title, "data-name": "multi-value-text", style: {
155
155
  flex: '0 1 auto',
156
156
  appearance: 'none',
157
157
  border: 'none',
@@ -348,7 +348,16 @@ export const Select = function (props) {
348
348
  focusedRef.current = false;
349
349
  props.onBlur?.();
350
350
  }, [props.onBlur]);
351
- return (React.createElement(SelectComponent, { ref: ref, onInputChange: props.onInputChange, onFocus: onFocus, onBlur: onBlur, onMenuOpen: props.onMenuOpen, isLoading: props.isLoading, options: props.options, className: join(props.className, 'ab-Select'), isDisabled: disabled, menuPlacement: props.menuPlacement ?? 'auto', isSearchable: props.searchable, hideSelectedOptions: false, isMulti: isMulti, value: selectedOption, blurInputOnSelect: false, menuPosition: props.menuPosition ?? 'absolute',
351
+ const [inputValue, setInputValue] = React.useState('');
352
+ const onInputChange = React.useCallback((value, actionMeta) => {
353
+ if (isMulti && actionMeta.action === 'set-value') {
354
+ // when selecting an option, don't clear the input filter
355
+ return;
356
+ }
357
+ setInputValue(value);
358
+ props.onInputChange?.(value);
359
+ }, [props.onInputChange, isMulti]);
360
+ return (React.createElement(SelectComponent, { ref: ref, inputValue: inputValue, onInputChange: onInputChange, onFocus: onFocus, onBlur: onBlur, onMenuOpen: props.onMenuOpen, isLoading: props.isLoading, options: props.options, className: join(props.className, 'ab-Select'), isDisabled: disabled, menuPlacement: props.menuPlacement ?? 'auto', isSearchable: props.searchable, hideSelectedOptions: false, isMulti: isMulti, value: selectedOption, blurInputOnSelect: false, menuPosition: props.menuPosition ?? 'absolute',
352
361
  // This needed so the menu is not clipped by overflow: hidden
353
362
  menuPortalTarget: props.menuPortalTarget === undefined ? document.body : null, isClearable: props.isClearable, closeMenuOnSelect: props.closeMenuOnSelect, onChange: (option) => {
354
363
  if (isMulti) {
package/src/env.js CHANGED
@@ -1,5 +1,5 @@
1
1
  export default {
2
2
  NEXT_PUBLIC_INFINITE_TABLE_LICENSE_KEY: "StartDate=2021-06-29|EndDate=2030-01-01|Owner=Adaptable|Type=distribution|TS=1624971462479|C=137829811,1004007071,2756196225,1839832928,3994409405,636616862" || '',
3
- PUBLISH_TIMESTAMP: 1742557782744 || Date.now(),
4
- VERSION: "20.0.0-canary.23" || '--current-version--',
3
+ PUBLISH_TIMESTAMP: 1742730847289 || Date.now(),
4
+ VERSION: "20.0.0-canary.25" || '--current-version--',
5
5
  };
@@ -1525,6 +1525,17 @@ export declare const ADAPTABLE_METAMODEL: {
1525
1525
  isOpt?: undefined;
1526
1526
  })[];
1527
1527
  };
1528
+ BaseState: {
1529
+ name: string;
1530
+ kind: string;
1531
+ desc: string;
1532
+ props: {
1533
+ name: string;
1534
+ kind: string;
1535
+ desc: string;
1536
+ isOpt: boolean;
1537
+ }[];
1538
+ };
1528
1539
  BroadcastConfig: {
1529
1540
  name: string;
1530
1541
  kind: string;
@@ -2106,17 +2117,6 @@ export declare const ADAPTABLE_METAMODEL: {
2106
2117
  ref: string;
2107
2118
  })[];
2108
2119
  };
2109
- ConfigState: {
2110
- name: string;
2111
- kind: string;
2112
- desc: string;
2113
- props: {
2114
- name: string;
2115
- kind: string;
2116
- desc: string;
2117
- isOpt: boolean;
2118
- }[];
2119
- };
2120
2120
  ContainerOptions: {
2121
2121
  name: string;
2122
2122
  kind: string;