@adaptabletools/adaptable 20.0.0 → 20.0.1

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 (43) hide show
  1. package/README.md +1 -1
  2. package/base.css +37 -24
  3. package/base.css.map +1 -1
  4. package/index.css +34 -23
  5. package/index.css.map +1 -1
  6. package/package.json +1 -1
  7. package/src/AdaptableOptions/ColumnMenuOptions.d.ts +3 -0
  8. package/src/AdaptableOptions/ContextMenuOptions.d.ts +9 -0
  9. package/src/AdaptableOptions/ExportOptions.d.ts +6 -0
  10. package/src/AdaptableOptions/RowFormOptions.d.ts +7 -1
  11. package/src/AdaptableState/Common/AdaptableColumn.d.ts +3 -0
  12. package/src/AdaptableState/Common/AdaptableObject.d.ts +6 -0
  13. package/src/AdaptableState/Common/AggregationColumns.d.ts +6 -0
  14. package/src/AdaptableState/Common/Menu.d.ts +6 -0
  15. package/src/AdaptableState/ExportState.d.ts +9 -0
  16. package/src/AdaptableState/FlashingCellState.d.ts +5 -2
  17. package/src/AdaptableState/InitialState.d.ts +4 -3
  18. package/src/AdaptableState/LayoutState.d.ts +2 -2
  19. package/src/AdaptableState/ThemeState.d.ts +14 -2
  20. package/src/Api/StateApi.d.ts +2 -2
  21. package/src/Redux/ActionsReducers/PluginsRedux.d.ts +0 -93
  22. package/src/Redux/ActionsReducers/PluginsRedux.js +0 -93
  23. package/src/Redux/ActionsReducers/ScheduleRedux.d.ts +0 -42
  24. package/src/Redux/ActionsReducers/ScheduleRedux.js +0 -42
  25. package/src/Utilities/Defaults/DefaultSettingsPanel.js +1 -1
  26. package/src/Utilities/Services/ThemeService.js +3 -3
  27. package/src/View/ColumnInfo/ColumnInfo.js +5 -4
  28. package/src/View/Components/ColumnFilter/components/FloatingFilterValues.js +7 -0
  29. package/src/View/Theme/ThemeEditor.js +9 -7
  30. package/src/View/Theme/VariantSelector.d.ts +1 -0
  31. package/src/View/Theme/VariantSelector.js +6 -3
  32. package/src/agGrid/AdaptableAgGrid.js +4 -2
  33. package/src/agGrid/AgGridAdapter.js +5 -0
  34. package/src/agGrid/AgGridColumnAdapter.js +0 -7
  35. package/src/agGrid/AgGridThemeAdapter.js +2 -2
  36. package/src/agGrid/FloatingFilterWrapper.js +1 -0
  37. package/src/components/ExpressionEditor/BaseEditorInput.js +1 -1
  38. package/src/env.js +2 -2
  39. package/src/layout-manager/src/LayoutManagerModel.d.ts +1 -1
  40. package/src/metamodel/adaptable.metamodel.d.ts +104 -2
  41. package/src/metamodel/adaptable.metamodel.js +1 -1
  42. package/src/migration/AdaptableUpgradeHelper.d.ts +3 -3
  43. package/tsconfig.esm.tsbuildinfo +1 -1
@@ -3,129 +3,36 @@ import * as Redux from 'redux';
3
3
  * @ReduxAction Plugins have been instantiated
4
4
  */
5
5
  export declare const PLUGINS_SET_PLUGIN_STATE = "PLUGINS_SET_PLUGIN_STATE";
6
- /**
7
- * @ReduxAction Throttle time for live reports has been set
8
- */
9
6
  export declare const IPUSHPULL_SET_THROTTLE_TIME = "IPUSHPULL_SET_THROTTLE_TIME";
10
- /**
11
- * @ReduxAction A snapshot report has been sent
12
- */
13
7
  export declare const IPUSHPULL_SEND_SNAPSHOT = "IPUSHPULL_SEND_SNAPSHOT";
14
- /**
15
- * @ReduxAction An ipushpull report has been selected
16
- */
17
8
  export declare const IPUSHPULL_REPORT_SELECT = "IPUSHPULL_REPORT_SELECT";
18
- /**
19
- * @ReduxAction Live data has been sent to ipushpull
20
- */
21
9
  export declare const IPUSHPULL_START_LIVE_DATA = "IPUSHPULL_START_LIVE_DATA";
22
- /**
23
- * @ReduxAction Live data to ipushpull has been stopped
24
- */
25
10
  export declare const IPUSHPULL_STOP_LIVE_DATA = "IPUSHPULL_STOP_LIVE_DATA";
26
- /**
27
- * @ReduxAction A new ipushpull page has been added
28
- */
29
11
  export declare const IPUSHPULL_ADD_PAGE = "IPUSHPULL_ADD_PAGE";
30
- /**
31
- * @ReduxAction Logged in to ipushpull
32
- */
33
12
  export declare const IPUSHPULL_LOGIN = "IPUSHPULL_LOGIN";
34
- /**
35
- * @ReduxAction Logged out from ipushpull
36
- */
37
13
  export declare const IPUSHPULL_LOGOUT = "IPUSHPULL_LOGOUT";
38
- /**
39
- * @ReduxAction Error message set from failed login
40
- */
41
14
  export declare const IPUSHPULL_SET_LOGIN_ERROR_MESSAGE = "IPUSHPULL_SET_LOGIN_ERROR_MESSAGE";
42
- /**
43
- * @ReduxAction Login details to ipushpull have been set
44
- */
45
15
  export declare const IPUSHPULL_SET_LOGIN_DETAILS = "IPUSHPULL_SET_LOGIN_DETAILS";
46
- /**
47
- * @ReduxAction ipushpull has been made available
48
- */
49
16
  export declare const IPUSHPULL_SET_AVAILABLE_ON = "IPUSHPULL_SET_AVAILABLE_ON";
50
- /**
51
- * @ReduxAction ipushpull has been made unavailable
52
- */
53
17
  export declare const IPUSHPULL_SET_AVAILABLE_OFF = "SET_IPUSHPULL_AVAILABLE_OFF";
54
- /**
55
- * @ReduxAction ipushpull is now running
56
- */
57
18
  export declare const IPUSHPULL_SET_RUNNING_ON = "IPUSHPULL_SET_RUNNING_ON";
58
- /**
59
- * @ReduxAction ipushpull is no longer running
60
- */
61
19
  export declare const IPUSHPULL_SET_RUNNING_OFF = "IPUSHPULL_SET_RUNNING_OFF";
62
- /**
63
- * @ReduxAction A live report to ipuspull has been set
64
- */
65
20
  export declare const IPUSHPULL_LIVE_REPORT_SET = "IPUSHPULL_LIVE_REPORT_SET";
66
- /**
67
- * @ReduxAction The live report to ipuspull has been cleared
68
- */
69
21
  export declare const IPUSHPULL_LIVE_REPORT_CLEAR = "IPUSHPULL_LIVE_REPORT_CLEAR";
70
- /**
71
- * @ReduxAction ipushpull domain pages have been set
72
- */
73
22
  export declare const IPUSHPULL_DOMAIN_PAGES_SET = "IPUSHPULL_DOMAIN_PAGES_SET";
74
- /**
75
- * @ReduxAction ipushpull domain pages have been cleared
76
- */
77
23
  export declare const IPUSHPULL_DOMAIN_PAGES_CLEAR = "IPUSHPULL_DOMAIN_PAGES_CLEAR";
78
- /**
79
- * @ReduxAction ipushpull set current(selected) report name
80
- */
81
24
  export declare const IPUSHPULL_SET_CURRENT_REPORTNAME = "IPUSHPULL_SET_CURRENT_REPORTNAME";
82
- /**
83
- * @ReduxAction ipushpull set current(selected) folder
84
- */
85
25
  export declare const IPUSHPULL_SET_CURRENT_FOLDER = "IPUSHPULL_SET_CURRENT_FOLDER";
86
- /**
87
- * @ReduxAction ipushpull set current(selected) page
88
- */
89
26
  export declare const IPUSHPULL_SET_CURRENT_PAGE = "IPUSHPULL_SET_CURRENT_PAGE";
90
- /**
91
- * @ReduxAction ipushpull set available pages (depending on current folder)
92
- */
93
27
  export declare const IPUSHPULL_SET_AVAILABLE_PAGES = "IPUSHPULL_SET_AVAILABLE_PAGES";
94
- /**
95
- * @ReduxAction Live data has been sent to OpenFin
96
- */
97
28
  export declare const OPENFIN_START_LIVE_DATA = "OPENFIN_START_LIVE_DATA";
98
- /**
99
- * @ReduxAction Live data is not longer sent to OpenFin
100
- */
101
29
  export declare const OPENFIN_STOP_LIVE_DATA = "OPENFIN_STOP_LIVE_DATA";
102
- /**
103
- * @ReduxAction An OpenFin live report has started
104
- */
105
30
  export declare const OPENFIN_LIVE_REPORT_SET = "OPENFIN_LIVE_REPORT_SET";
106
- /**
107
- * @ReduxAction An OpenFin live report has stopped
108
- */
109
31
  export declare const OPENFIN_LIVE_REPORT_CLEAR = "OPENFIN_LIVE_REPORT_CLEAR";
110
- /**
111
- * @ReduxAction OpenFin is now available
112
- */
113
32
  export declare const OPENFIN_SET_AVAILABLE_ON = "OPENFIN_SET_AVAILABLE_ON";
114
- /**
115
- * @ReduxAction OpenFin is no longer available
116
- */
117
33
  export declare const OPENFIN_SET_AVAILABLE_OFF = "OPENFIN_SET_AVAILABLE_OFF";
118
- /**
119
- * @ReduxAction OpenFin is now running
120
- */
121
34
  export declare const OPENFIN_SET_RUNNING_ON = "OPENFIN_SET_RUNNING_ON";
122
- /**
123
- * @ReduxAction OpenFin is no longer running
124
- */
125
35
  export declare const OPENFIN_SET_RUNNING_OFF = "OPENFIN_SET_RUNNING_OFF";
126
- /**
127
- * @ReduxAction set current(selected) report name
128
- */
129
36
  export declare const OPENFIN_SET_CURRENT_REPORTNAME = "OPENFIN_SET_CURRENT_REPORTNAME";
130
37
  export interface PluginsAction extends Redux.Action {
131
38
  pluginState: any;
@@ -2,129 +2,36 @@
2
2
  * @ReduxAction Plugins have been instantiated
3
3
  */
4
4
  export const PLUGINS_SET_PLUGIN_STATE = 'PLUGINS_SET_PLUGIN_STATE';
5
- /**
6
- * @ReduxAction Throttle time for live reports has been set
7
- */
8
5
  export const IPUSHPULL_SET_THROTTLE_TIME = 'IPUSHPULL_SET_THROTTLE_TIME';
9
- /**
10
- * @ReduxAction A snapshot report has been sent
11
- */
12
6
  export const IPUSHPULL_SEND_SNAPSHOT = 'IPUSHPULL_SEND_SNAPSHOT';
13
- /**
14
- * @ReduxAction An ipushpull report has been selected
15
- */
16
7
  export const IPUSHPULL_REPORT_SELECT = 'IPUSHPULL_REPORT_SELECT';
17
- /**
18
- * @ReduxAction Live data has been sent to ipushpull
19
- */
20
8
  export const IPUSHPULL_START_LIVE_DATA = 'IPUSHPULL_START_LIVE_DATA';
21
- /**
22
- * @ReduxAction Live data to ipushpull has been stopped
23
- */
24
9
  export const IPUSHPULL_STOP_LIVE_DATA = 'IPUSHPULL_STOP_LIVE_DATA';
25
- /**
26
- * @ReduxAction A new ipushpull page has been added
27
- */
28
10
  export const IPUSHPULL_ADD_PAGE = 'IPUSHPULL_ADD_PAGE';
29
- /**
30
- * @ReduxAction Logged in to ipushpull
31
- */
32
11
  export const IPUSHPULL_LOGIN = 'IPUSHPULL_LOGIN';
33
- /**
34
- * @ReduxAction Logged out from ipushpull
35
- */
36
12
  export const IPUSHPULL_LOGOUT = 'IPUSHPULL_LOGOUT';
37
- /**
38
- * @ReduxAction Error message set from failed login
39
- */
40
13
  export const IPUSHPULL_SET_LOGIN_ERROR_MESSAGE = 'IPUSHPULL_SET_LOGIN_ERROR_MESSAGE';
41
- /**
42
- * @ReduxAction Login details to ipushpull have been set
43
- */
44
14
  export const IPUSHPULL_SET_LOGIN_DETAILS = 'IPUSHPULL_SET_LOGIN_DETAILS';
45
- /**
46
- * @ReduxAction ipushpull has been made available
47
- */
48
15
  export const IPUSHPULL_SET_AVAILABLE_ON = 'IPUSHPULL_SET_AVAILABLE_ON';
49
- /**
50
- * @ReduxAction ipushpull has been made unavailable
51
- */
52
16
  export const IPUSHPULL_SET_AVAILABLE_OFF = 'SET_IPUSHPULL_AVAILABLE_OFF';
53
- /**
54
- * @ReduxAction ipushpull is now running
55
- */
56
17
  export const IPUSHPULL_SET_RUNNING_ON = 'IPUSHPULL_SET_RUNNING_ON';
57
- /**
58
- * @ReduxAction ipushpull is no longer running
59
- */
60
18
  export const IPUSHPULL_SET_RUNNING_OFF = 'IPUSHPULL_SET_RUNNING_OFF';
61
- /**
62
- * @ReduxAction A live report to ipuspull has been set
63
- */
64
19
  export const IPUSHPULL_LIVE_REPORT_SET = 'IPUSHPULL_LIVE_REPORT_SET';
65
- /**
66
- * @ReduxAction The live report to ipuspull has been cleared
67
- */
68
20
  export const IPUSHPULL_LIVE_REPORT_CLEAR = 'IPUSHPULL_LIVE_REPORT_CLEAR';
69
- /**
70
- * @ReduxAction ipushpull domain pages have been set
71
- */
72
21
  export const IPUSHPULL_DOMAIN_PAGES_SET = 'IPUSHPULL_DOMAIN_PAGES_SET';
73
- /**
74
- * @ReduxAction ipushpull domain pages have been cleared
75
- */
76
22
  export const IPUSHPULL_DOMAIN_PAGES_CLEAR = 'IPUSHPULL_DOMAIN_PAGES_CLEAR';
77
- /**
78
- * @ReduxAction ipushpull set current(selected) report name
79
- */
80
23
  export const IPUSHPULL_SET_CURRENT_REPORTNAME = 'IPUSHPULL_SET_CURRENT_REPORTNAME';
81
- /**
82
- * @ReduxAction ipushpull set current(selected) folder
83
- */
84
24
  export const IPUSHPULL_SET_CURRENT_FOLDER = 'IPUSHPULL_SET_CURRENT_FOLDER';
85
- /**
86
- * @ReduxAction ipushpull set current(selected) page
87
- */
88
25
  export const IPUSHPULL_SET_CURRENT_PAGE = 'IPUSHPULL_SET_CURRENT_PAGE';
89
- /**
90
- * @ReduxAction ipushpull set available pages (depending on current folder)
91
- */
92
26
  export const IPUSHPULL_SET_AVAILABLE_PAGES = 'IPUSHPULL_SET_AVAILABLE_PAGES';
93
- /**
94
- * @ReduxAction Live data has been sent to OpenFin
95
- */
96
27
  export const OPENFIN_START_LIVE_DATA = 'OPENFIN_START_LIVE_DATA';
97
- /**
98
- * @ReduxAction Live data is not longer sent to OpenFin
99
- */
100
28
  export const OPENFIN_STOP_LIVE_DATA = 'OPENFIN_STOP_LIVE_DATA';
101
- /**
102
- * @ReduxAction An OpenFin live report has started
103
- */
104
29
  export const OPENFIN_LIVE_REPORT_SET = 'OPENFIN_LIVE_REPORT_SET';
105
- /**
106
- * @ReduxAction An OpenFin live report has stopped
107
- */
108
30
  export const OPENFIN_LIVE_REPORT_CLEAR = 'OPENFIN_LIVE_REPORT_CLEAR';
109
- /**
110
- * @ReduxAction OpenFin is now available
111
- */
112
31
  export const OPENFIN_SET_AVAILABLE_ON = 'OPENFIN_SET_AVAILABLE_ON';
113
- /**
114
- * @ReduxAction OpenFin is no longer available
115
- */
116
32
  export const OPENFIN_SET_AVAILABLE_OFF = 'OPENFIN_SET_AVAILABLE_OFF';
117
- /**
118
- * @ReduxAction OpenFin is now running
119
- */
120
33
  export const OPENFIN_SET_RUNNING_ON = 'OPENFIN_SET_RUNNING_ON';
121
- /**
122
- * @ReduxAction OpenFin is no longer running
123
- */
124
34
  export const OPENFIN_SET_RUNNING_OFF = 'OPENFIN_SET_RUNNING_OFF';
125
- /**
126
- * @ReduxAction set current(selected) report name
127
- */
128
35
  export const OPENFIN_SET_CURRENT_REPORTNAME = 'OPENFIN_SET_CURRENT_REPORTNAME';
129
36
  export const PluginsSetPluginState = (pluginId, pluginState) => ({
130
37
  type: PLUGINS_SET_PLUGIN_STATE,
@@ -65,61 +65,19 @@ export declare const REMINDER_SCHEDULE_SUSPEND_ALL = "REMINDER_SCHEDULE_SUSPEND_
65
65
  * @ReduxAction All Reminder Schedules have been unsuspended or activated
66
66
  */
67
67
  export declare const REMINDER_SCHEDULE_UNSUSPEND_ALL = "REMINDER_SCHEDULE_UNSUSPEND_ALL";
68
- /**
69
- * @ReduxAction An ipushpull Schedule has been added
70
- */
71
68
  export declare const IPUSHPULL_SCHEDULE_ADD = "IPUSHPULL_SCHEDULE_ADD";
72
- /**
73
- * @ReduxAction An ipushpull Schedule has been edited
74
- */
75
69
  export declare const IPUSHPULL_SCHEDULE_EDIT = "IPUSHPULL_SCHEDULE_EDIT";
76
- /**
77
- * @ReduxAction An ipushpull Schedule has been deleted
78
- */
79
70
  export declare const IPUSHPULL_SCHEDULE_DELETE = "IPUSHPULL_SCHEDULE_DELETE";
80
- /**
81
- * @ReduxAction An ipushpull Schedule has been suspended
82
- */
83
71
  export declare const IPUSHPULL_SCHEDULE_SUSPEND = "IPUSHPULL_SCHEDULE_SUSPEND";
84
- /**
85
- * @ReduxAction An ipushpull Schedule has been unsuspended or activated
86
- */
87
72
  export declare const IPUSHPULL_SCHEDULE_UNSUSPEND = "IPUSHPULL_SCHEDULE_UNSUSPEND";
88
- /**
89
- * @ReduxAction All ipushpull Schedules have been suspended
90
- */
91
73
  export declare const IPUSHPULL_SCHEDULE_SUSPEND_ALL = "IPUSHPULL_SCHEDULE_SUSPEND_ALL";
92
- /**
93
- * @ReduxAction All ipushpull Schedules have been unsuspended or activated
94
- */
95
74
  export declare const IPUSHPULL_SCHEDULE_UNSUSPEND_ALL = "IPUSHPULL_SCHEDULE_UNSUSPEND_ALL";
96
- /**
97
- * @ReduxAction An OpenFin Schedule has been added
98
- */
99
75
  export declare const OPENFIN_SCHEDULE_ADD = "OPENFIN_SCHEDULE_ADD";
100
- /**
101
- * @ReduxAction An OpenFin Schedule has been edited
102
- */
103
76
  export declare const OPENFIN_SCHEDULE_EDIT = "OPENFIN_SCHEDULE_EDIT";
104
- /**
105
- * @ReduxAction An OpenFin Schedule has been deleted
106
- */
107
77
  export declare const OPENFIN_SCHEDULE_DELETE = "OPENFIN_SCHEDULE_DELETE";
108
- /**
109
- * @ReduxAction An OpenFin Schedule has been suspended
110
- */
111
78
  export declare const OPENFIN_SCHEDULE_SUSPEND = "OPENFIN_SCHEDULE_SUSPEND";
112
- /**
113
- * @ReduxAction An OpenFin Schedule has been unsuspended or activated
114
- */
115
79
  export declare const OPENFIN_SCHEDULE_UNSUSPEND = "OPENFIN_SCHEDULE_UNSUSPEND";
116
- /**
117
- * @ReduxAction All OpenFin Schedules have been suspended
118
- */
119
80
  export declare const OPENFIN_SCHEDULE_SUSPEND_ALL = "OPENFIN_SCHEDULE_SUSPEND_ALL";
120
- /**
121
- * @ReduxAction All OpenFin Schedules have been unsuspended or activated
122
- */
123
81
  export declare const OPENFIN_SCHEDULE_UNSUSPEND_ALL = "OPENFIN_SCHEDULE_UNSUSPEND_ALL";
124
82
  /**
125
83
  * @ReduxAction Schedule Module is ready
@@ -61,61 +61,19 @@ export const REMINDER_SCHEDULE_SUSPEND_ALL = 'REMINDER_SCHEDULE_SUSPEND_ALL';
61
61
  * @ReduxAction All Reminder Schedules have been unsuspended or activated
62
62
  */
63
63
  export const REMINDER_SCHEDULE_UNSUSPEND_ALL = 'REMINDER_SCHEDULE_UNSUSPEND_ALL';
64
- /**
65
- * @ReduxAction An ipushpull Schedule has been added
66
- */
67
64
  export const IPUSHPULL_SCHEDULE_ADD = 'IPUSHPULL_SCHEDULE_ADD';
68
- /**
69
- * @ReduxAction An ipushpull Schedule has been edited
70
- */
71
65
  export const IPUSHPULL_SCHEDULE_EDIT = 'IPUSHPULL_SCHEDULE_EDIT';
72
- /**
73
- * @ReduxAction An ipushpull Schedule has been deleted
74
- */
75
66
  export const IPUSHPULL_SCHEDULE_DELETE = 'IPUSHPULL_SCHEDULE_DELETE';
76
- /**
77
- * @ReduxAction An ipushpull Schedule has been suspended
78
- */
79
67
  export const IPUSHPULL_SCHEDULE_SUSPEND = 'IPUSHPULL_SCHEDULE_SUSPEND';
80
- /**
81
- * @ReduxAction An ipushpull Schedule has been unsuspended or activated
82
- */
83
68
  export const IPUSHPULL_SCHEDULE_UNSUSPEND = 'IPUSHPULL_SCHEDULE_UNSUSPEND';
84
- /**
85
- * @ReduxAction All ipushpull Schedules have been suspended
86
- */
87
69
  export const IPUSHPULL_SCHEDULE_SUSPEND_ALL = 'IPUSHPULL_SCHEDULE_SUSPEND_ALL';
88
- /**
89
- * @ReduxAction All ipushpull Schedules have been unsuspended or activated
90
- */
91
70
  export const IPUSHPULL_SCHEDULE_UNSUSPEND_ALL = 'IPUSHPULL_SCHEDULE_UNSUSPEND_ALL';
92
- /**
93
- * @ReduxAction An OpenFin Schedule has been added
94
- */
95
71
  export const OPENFIN_SCHEDULE_ADD = 'OPENFIN_SCHEDULE_ADD';
96
- /**
97
- * @ReduxAction An OpenFin Schedule has been edited
98
- */
99
72
  export const OPENFIN_SCHEDULE_EDIT = 'OPENFIN_SCHEDULE_EDIT';
100
- /**
101
- * @ReduxAction An OpenFin Schedule has been deleted
102
- */
103
73
  export const OPENFIN_SCHEDULE_DELETE = 'OPENFIN_SCHEDULE_DELETE';
104
- /**
105
- * @ReduxAction An OpenFin Schedule has been suspended
106
- */
107
74
  export const OPENFIN_SCHEDULE_SUSPEND = 'OPENFIN_SCHEDULE_SUSPEND';
108
- /**
109
- * @ReduxAction An OpenFin Schedule has been unsuspended or activated
110
- */
111
75
  export const OPENFIN_SCHEDULE_UNSUSPEND = 'OPENFIN_SCHEDULE_UNSUSPEND';
112
- /**
113
- * @ReduxAction All OpenFin Schedules have been suspended
114
- */
115
76
  export const OPENFIN_SCHEDULE_SUSPEND_ALL = 'OPENFIN_SCHEDULE_SUSPEND_ALL';
116
- /**
117
- * @ReduxAction All OpenFin Schedules have been unsuspended or activated
118
- */
119
77
  export const OPENFIN_SCHEDULE_UNSUSPEND_ALL = 'OPENFIN_SCHEDULE_UNSUSPEND_ALL';
120
78
  /**
121
79
  * @ReduxAction Schedule Module is ready
@@ -7,6 +7,7 @@ export const DEFAULT_SETTINGS_PANEL_NAVIGATION_ITEMS = [
7
7
  'Dashboard',
8
8
  'ToolPanel',
9
9
  'StatusBar',
10
+ 'Theme',
10
11
  '-',
11
12
  'Layout',
12
13
  'CalculatedColumn',
@@ -20,7 +21,6 @@ export const DEFAULT_SETTINGS_PANEL_NAVIGATION_ITEMS = [
20
21
  'FormatColumn',
21
22
  'StyledColumn',
22
23
  'FlashingCell',
23
- 'Theme',
24
24
  '-',
25
25
  'QuickSearch',
26
26
  'GridFilter',
@@ -70,11 +70,11 @@ export class ThemeService {
70
70
  if (abLoaded !== '777') {
71
71
  logger.consoleError('Please import Adaptable styles from "@adaptabletools/adaptable/index.css"');
72
72
  }
73
- // every theme should define a custom css variable: --ab-theme-loaded: <themeName> defined on the document element.
74
- if (abThemeLoaded !== themeName) {
73
+ const isCustomUserTheme = !this.api.themeApi.internalApi.isSystemTheme(themeName);
74
+ if (!isCustomUserTheme && abThemeLoaded !== themeName) {
75
75
  logger.consoleWarn(`Theme "${themeName}" doesn't seem to be loaded! Make sure you import the css file for the "${themeName}" theme!
76
76
 
77
- If it's a default theme, try
77
+ If it's an AdapTable system theme, try
78
78
 
79
79
  import "@adaptabletools/adaptable/themes/${themeName}.css"`);
80
80
  }
@@ -214,11 +214,12 @@ export const ColumnInfo = (props) => {
214
214
  React.createElement(FormRow, { label: "Select Column" },
215
215
  React.createElement(ColumnSelector, { filterColumn: (column) => !column.alwaysHidden, value: selectedColumnId, onChange: (columnId) => setSelectedColumnId(columnId) })))),
216
216
  selectedColumnId && (React.createElement(Tabs, { mb: 3 },
217
- React.createElement(Tabs.Tab, null, "State"),
218
217
  React.createElement(Tabs.Tab, null, "Column Summary"),
218
+ React.createElement(Tabs.Tab, null, "Column State"),
219
+ React.createElement(Tabs.Content, null,
220
+ React.createElement(Flex, { flex: 1 }, selectedColumnId && React.createElement(ColumnDefPreview, { column: column }))),
221
+ ' ',
219
222
  React.createElement(Tabs.Content, null, selectedColumnId && (React.createElement(Box, { className: BASE_CLASS_NAME }, MODULES_WITH_COLUMN.map((moduleName) => {
220
223
  return (React.createElement(ModuleView, { key: moduleName, moduleName: moduleName, selectedColumnId: selectedColumnId }));
221
- })))),
222
- React.createElement(Tabs.Content, null,
223
- React.createElement(Flex, { flex: 1 }, selectedColumnId && React.createElement(ColumnDefPreview, { column: column })))))));
224
+ }))))))));
224
225
  };
@@ -100,6 +100,13 @@ export const FloatingFilterValues = (props) => {
100
100
  border: 'none',
101
101
  },
102
102
  },
103
+ ...(props.value?.length
104
+ ? {
105
+ valueContainer: {
106
+ fontWeight: 'var(--ab-cmp-quickfilter-selected-options-text__font-weight)',
107
+ },
108
+ }
109
+ : {}),
103
110
  },
104
111
  onMenuOpen,
105
112
  onInputChange,
@@ -8,6 +8,7 @@ import { Box, Flex, Text } from 'rebass';
8
8
  import Panel from '../../components/Panel';
9
9
  import { Field } from './ThemeField';
10
10
  import { VariantSelector } from './VariantSelector';
11
+ import { getAccessLevelForObject } from '../../Utilities/Helpers/AdaptableHelper';
11
12
  const fields = [
12
13
  {
13
14
  name: 'Primary Color',
@@ -73,10 +74,11 @@ const fields = [
73
74
  export const ThemeEditor = (props) => {
74
75
  const adaptable = useAdaptable();
75
76
  const allThemes = adaptable.api.themeApi.getUserThemes();
76
- const disabled = props.accessLevel === 'ReadOnly';
77
77
  const [currentThemeObject, setCurrentThemeObject] = React.useState(() => {
78
78
  return adaptable.api.themeApi.getCurrentThemeObject();
79
79
  });
80
+ const currentThemeAccessLevel = getAccessLevelForObject(currentThemeObject, props.accessLevel);
81
+ const currentThemeIsReadOnly = currentThemeAccessLevel !== 'Full';
80
82
  // THEME variables
81
83
  const themeVariables = currentThemeObject?.CSSVariables;
82
84
  const valuesFromTheme = fields.reduce((acc, field) => {
@@ -138,22 +140,22 @@ export const ThemeEditor = (props) => {
138
140
  const saveNameDisabled = !nameHasChanged || nameIsNotUnique || currentThemeObject.Name === '';
139
141
  return (React.createElement(Panel, { header: React.createElement(Flex, { alignItems: "center", width: "100%" },
140
142
  React.createElement(Box, { flex: 1 }, " Edit Custom Theme"),
141
- React.createElement(SimpleButton, { "data-name": "delete", disabled: props.accessLevel !== 'Full', icon: "delete", onClick: handleDeleteTheme, variant: "text" })) },
143
+ React.createElement(SimpleButton, { "data-name": "delete", accessLevel: currentThemeAccessLevel, icon: "delete", onClick: handleDeleteTheme, variant: "text" })) },
142
144
  React.createElement(FormLayout, null,
143
145
  React.createElement(FormRow, { label: "Theme Name" },
144
- React.createElement(AdaptableInput, { mr: 2, onChange: (event) => setCurrentThemeObject({
146
+ React.createElement(AdaptableInput, { disabled: currentThemeIsReadOnly, mr: 2, onChange: (event) => setCurrentThemeObject({
145
147
  ...currentThemeObject,
146
148
  Name: event.target.value.replace(/ /g, '-'),
147
149
  }), value: currentThemeObject.Name ?? '' }),
148
- React.createElement(SimpleButton, { onClick: handleSaveName, disabled: saveNameDisabled, icon: "save" }),
150
+ React.createElement(SimpleButton, { onClick: handleSaveName, disabled: saveNameDisabled || currentThemeIsReadOnly, icon: "save", hidden: currentThemeIsReadOnly }),
149
151
  React.createElement(Text, { fontSize: 2, marginTop: 1 }, "The name cannot contain spaces."),
150
152
  nameIsNotUnique && (React.createElement(Text, { fontSize: 2, color: "var(--ab-color-error)" }, "Name must be unique."))),
151
153
  React.createElement(FormRow, { label: "Description" },
152
- React.createElement(AdaptableInput, { onChange: (event) => handleDescriptionChange('Description', event.target.value), value: currentThemeObject?.Description ?? '' })),
154
+ React.createElement(AdaptableInput, { disabled: currentThemeIsReadOnly, onChange: (event) => handleDescriptionChange('Description', event.target.value), value: currentThemeObject?.Description ?? '' })),
153
155
  React.createElement(FormRow, { label: "Variant" },
154
- React.createElement(VariantSelector, { onChange: handleVariantChange, theme: currentThemeObject })),
156
+ React.createElement(VariantSelector, { onChange: handleVariantChange, theme: currentThemeObject, disabled: currentThemeIsReadOnly })),
155
157
  fields.map((field) => {
156
- return (React.createElement(Field, { disabled: disabled, key: field.name, type: field.type, name: field.name, value: valuesFromTheme[field.variable], variable: field.variable, onChange: (val) => {
158
+ return (React.createElement(Field, { disabled: currentThemeIsReadOnly, key: field.name, type: field.type, name: field.name, value: valuesFromTheme[field.variable], variable: field.variable, onChange: (val) => {
157
159
  // needs a fresh copy
158
160
  const currentThemeObject = adaptable.api.themeApi.getCurrentThemeObject();
159
161
  let newTheme = null;
@@ -3,5 +3,6 @@ import { AdaptableTheme } from '../../types';
3
3
  export interface VariantSelectorProps {
4
4
  theme: AdaptableTheme;
5
5
  onChange: (variant: AdaptableTheme['Variant'] | null) => void;
6
+ disabled?: boolean;
6
7
  }
7
8
  export declare const VariantSelector: React.FunctionComponent<VariantSelectorProps>;
@@ -2,9 +2,12 @@ import * as React from 'react';
2
2
  import DropdownButton from '../../components/DropdownButton';
3
3
  import SimpleButton from '../../components/SimpleButton';
4
4
  import { useAdaptable } from '../AdaptableContext';
5
+ import { OS_THEME } from '../../Utilities/Constants/GeneralConstants';
5
6
  export const VariantSelector = (props) => {
6
7
  const adaptable = useAdaptable();
7
- const systemTemes = adaptable.api.themeApi.getSystemThemes();
8
+ const systemTemes = adaptable.api.themeApi
9
+ .getSystemThemes()
10
+ .filter((theme) => theme.Name !== OS_THEME);
8
11
  const options = systemTemes.map((theme) => ({
9
12
  label: theme.Description,
10
13
  value: theme.Name,
@@ -14,6 +17,6 @@ export const VariantSelector = (props) => {
14
17
  ? options.find((theme) => theme.value === props.theme.Variant)?.label
15
18
  : 'Select a theme';
16
19
  return (React.createElement(React.Fragment, null,
17
- React.createElement(DropdownButton, { mr: 2, columns: ['label'], items: options }, label),
18
- React.createElement(SimpleButton, { onClick: () => props.onChange(null), disabled: !props.theme.Variant, icon: "delete" })));
20
+ React.createElement(DropdownButton, { mr: 2, columns: ['label'], items: options, disabled: props.disabled }, label),
21
+ React.createElement(SimpleButton, { onClick: () => props.onChange(null), disabled: !props.theme.Variant || props.disabled, hidden: props.disabled, icon: "delete" })));
19
22
  };
@@ -319,11 +319,13 @@ export class AdaptableAgGrid {
319
319
  */
320
320
  postLoadHook: (state) => {
321
321
  if (this.adaptableOptions.stateOptions.autoMigrateState) {
322
- state = AdaptableUpgradeHelper.migrateAdaptableState(state, {
322
+ this.api.logError;
323
+ const config = {
323
324
  // version 16 actually includes all versions up until 16
324
325
  fromVersion: 16,
325
326
  logger: this.logger,
326
- });
327
+ };
328
+ state = AdaptableUpgradeHelper.migrateAdaptableState(state, config);
327
329
  }
328
330
  state = this.normalizeAdaptableState(state, config.gridOptions);
329
331
  return state;
@@ -448,6 +448,11 @@ export class AgGridAdapter {
448
448
  this.logger.warn(`Column is undefined, returning 'text' for Type`);
449
449
  return 'text';
450
450
  }
451
+ const colDefType = [].concat(agColumn.getColDef()?.type || []).filter(Boolean);
452
+ const skippedSpecialCols = ['actionColumn', 'fdc3Column'];
453
+ if (skippedSpecialCols.some((specialColType) => colDefType.includes(specialColType))) {
454
+ return 'unknown';
455
+ }
451
456
  let dataType = 'unknown';
452
457
  // get the column type if already in store (and not unknown)
453
458
  const existingColumn = this.adaptableApi.columnApi.getColumnWithColumnId(agColumn.getId(), logWarning);
@@ -238,13 +238,6 @@ export class AgGridColumnAdapter {
238
238
  return cellDataTypeEditor;
239
239
  }
240
240
  });
241
- this.setColDefProperty(col, 'cellEditorPopup', () => {
242
- // as specified in https://www.ag-grid.com/react-data-grid/provided-cell-editors/#rich-select-cell-editor
243
- // agRichSelectCellEditor should always set cellEditorPopup=true. Otherwise the editor will be clipped to the cell contents
244
- if (shouldShowSelectCellEditor && hasRichSelectCellEditor) {
245
- return true;
246
- }
247
- });
248
241
  this.setColDefProperty(col, 'cellEditorParams', (params) => {
249
242
  if (shouldShowSelectCellEditor) {
250
243
  return (params) => {
@@ -24,10 +24,10 @@ export class AgGridThemeAdapter {
24
24
  const isSystemTheme = this.api.themeApi.internalApi.isSystemTheme(themeName);
25
25
  if (adaptableTheme && (isSystemTheme || variantTheme)) {
26
26
  if ((variantTheme || themeName) === LIGHT_THEME) {
27
- document.body.dataset.agThemeMode = 'light';
27
+ document.body.dataset.agThemeMode = adaptableTheme.AgThemeMode ?? 'light';
28
28
  }
29
29
  if ((variantTheme || themeName) === DARK_THEME) {
30
- document.body.dataset.agThemeMode = 'dark';
30
+ document.body.dataset.agThemeMode = adaptableTheme.AgThemeMode ?? 'dark';
31
31
  }
32
32
  }
33
33
  }
@@ -10,6 +10,7 @@ const filterContainerStyle = {
10
10
  display: 'flex',
11
11
  alignItems: 'stretch',
12
12
  position: 'relative',
13
+ flex: '1 1 auto',
13
14
  };
14
15
  export const FloatingFilterWrapperFactory = (adaptable) => {
15
16
  const adaptableApi = adaptable.api;
@@ -118,7 +118,7 @@ const FunctionsDropdown = ({ expressionFunctions, baseClassName }) => {
118
118
  }, onClick: handleFunctionCategoryChange(option.value), checked: currentFunctionCategory === option.value }, option.label));
119
119
  })),
120
120
  React.createElement(Flex, null,
121
- React.createElement(Flex, { className: `${baseClassName}__dropdown-functions-list`, "data-name": "expression-dropdown-fuctions-list", flexDirection: "column", p: 2, maxHeight: '50vh' }, orderedGroupNames
121
+ React.createElement(Flex, { className: `${baseClassName}__dropdown-functions-list`, "data-name": "expression-dropdown-functions-list", flexDirection: "column", p: 2, maxHeight: '50vh' }, orderedGroupNames
122
122
  .filter((groupName) => !!groupedFunctions[groupName])
123
123
  .map((groupName) => {
124
124
  const functionsInGroup = Object.keys(groupedFunctions[groupName]);
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: 1742808186097 || Date.now(),
4
- VERSION: "20.0.0" || '--current-version--',
3
+ PUBLISH_TIMESTAMP: 1743270603331 || Date.now(),
4
+ VERSION: "20.0.1" || '--current-version--',
5
5
  };
@@ -36,7 +36,7 @@ export interface BaseLayoutModel {
36
36
  Values: any[][];
37
37
  };
38
38
  /**
39
- * Whether to include the aggFunc name in the column header: e.g. 'sum(Bank Balance)' will just be 'Bank Balance'
39
+ * Hides aggFunc name in the column header: e.g. 'sum(Bank Balance)' will just be 'Bank Balance'
40
40
  */
41
41
  SuppressAggFuncInHeader?: boolean;
42
42
  /**