@adaptabletools/adaptable 10.0.1 → 10.0.4-canary.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 (191) hide show
  1. package/base.css +68 -26
  2. package/index.css +80 -28
  3. package/package.json +1 -1
  4. package/publishTimestamp.d.ts +1 -1
  5. package/publishTimestamp.js +1 -1
  6. package/src/AdaptableInterfaces/IAdaptable.d.ts +12 -2
  7. package/src/AdaptableOptions/FilterOptions.d.ts +14 -7
  8. package/src/AdaptableOptions/LayoutOptions.d.ts +1 -1
  9. package/src/AdaptableOptions/NotificationsOptions.d.ts +3 -1
  10. package/src/AdaptableOptions/UserInterfaceOptions.d.ts +107 -5
  11. package/src/Api/AlertApi.d.ts +1 -1
  12. package/src/Api/CalculatedColumnApi.d.ts +15 -0
  13. package/src/Api/ColumnApi.d.ts +39 -0
  14. package/src/Api/ConfigApi.d.ts +8 -0
  15. package/src/Api/Events/AdaptableReady.d.ts +2 -6
  16. package/src/Api/Events/AdaptableStateChanged.d.ts +2 -1
  17. package/src/Api/Events/AlertFired.d.ts +2 -1
  18. package/src/Api/Events/BaseEventInfo.d.ts +10 -0
  19. package/src/{Utilities/Interface/ProgressIndicator.js → Api/Events/BaseEventInfo.js} +0 -0
  20. package/src/Api/Events/CellChanged.d.ts +2 -1
  21. package/src/Api/Events/ChexboxColumnClicked.d.ts +2 -1
  22. package/src/Api/Events/CustomToolbarConfigured.d.ts +2 -1
  23. package/src/Api/Events/DashboardChanged.d.ts +2 -1
  24. package/src/Api/Events/FlashingAlertFired.d.ts +2 -1
  25. package/src/Api/Events/GridDataChanged.d.ts +2 -1
  26. package/src/Api/Events/LayoutChanged.d.ts +2 -1
  27. package/src/Api/Events/LiveDataChanged.d.ts +2 -1
  28. package/src/Api/Events/SearchChanged.d.ts +2 -1
  29. package/src/Api/Events/SelectionChanged.d.ts +2 -1
  30. package/src/Api/Events/SystemStatusMessageDisplayed.d.ts +2 -1
  31. package/src/Api/Events/TeamSharingEntityChanged.d.ts +2 -1
  32. package/src/Api/Events/ThemeChanged.d.ts +2 -1
  33. package/src/Api/GridApi.d.ts +34 -8
  34. package/src/Api/Implementation/AlertApiImpl.d.ts +1 -1
  35. package/src/Api/Implementation/AlertApiImpl.js +22 -15
  36. package/src/Api/Implementation/CalculatedColumnApiImpl.d.ts +3 -0
  37. package/src/Api/Implementation/CalculatedColumnApiImpl.js +23 -0
  38. package/src/Api/Implementation/ColumnApiImpl.d.ts +8 -0
  39. package/src/Api/Implementation/ColumnApiImpl.js +69 -36
  40. package/src/Api/Implementation/ConfigApiImpl.d.ts +1 -1
  41. package/src/Api/Implementation/ConfigApiImpl.js +28 -17
  42. package/src/Api/Implementation/DashboardApiImpl.js +2 -1
  43. package/src/Api/Implementation/ExportApiImpl.js +4 -4
  44. package/src/Api/Implementation/FormatColumnApiImpl.js +2 -1
  45. package/src/Api/Implementation/FreeTextColumnApiImpl.js +9 -3
  46. package/src/Api/Implementation/GridApiImpl.d.ts +9 -0
  47. package/src/Api/Implementation/GridApiImpl.js +28 -10
  48. package/src/Api/Implementation/InternalApiImpl.d.ts +3 -1
  49. package/src/Api/Implementation/InternalApiImpl.js +20 -4
  50. package/src/Api/Implementation/LayoutApiImpl.js +4 -3
  51. package/src/Api/Implementation/ScopeApiImpl.js +11 -11
  52. package/src/Api/Implementation/SystemStatusApiImpl.js +1 -0
  53. package/src/Api/Implementation/TeamSharingApiImpl.js +1 -0
  54. package/src/Api/Implementation/ThemeApiImpl.js +1 -0
  55. package/src/Api/Implementation/UserInterfaceApiImpl.d.ts +12 -8
  56. package/src/Api/Implementation/UserInterfaceApiImpl.js +69 -87
  57. package/src/Api/InternalApi.d.ts +3 -1
  58. package/src/Api/UserInterfaceApi.d.ts +16 -6
  59. package/src/PredefinedConfig/AlertState.d.ts +4 -0
  60. package/src/PredefinedConfig/CalculatedColumnState.d.ts +4 -37
  61. package/src/PredefinedConfig/Common/AdaptableButton.d.ts +1 -1
  62. package/src/PredefinedConfig/Common/AdaptableColumn.d.ts +33 -33
  63. package/src/PredefinedConfig/Common/AdaptableColumn.js +5 -5
  64. package/src/PredefinedConfig/Common/AdaptablePredicate.js +19 -18
  65. package/src/PredefinedConfig/Common/DataChangedInfo.d.ts +3 -2
  66. package/src/PredefinedConfig/Common/DataUpdateConfig.d.ts +5 -1
  67. package/src/PredefinedConfig/Common/SpecialColumnSettings.d.ts +49 -0
  68. package/src/PredefinedConfig/Common/SpecialColumnSettings.js +2 -0
  69. package/src/PredefinedConfig/FilterState.d.ts +1 -1
  70. package/src/PredefinedConfig/FreeTextColumnState.d.ts +10 -0
  71. package/src/PredefinedConfig/Selection/GridCell.d.ts +2 -1
  72. package/src/PredefinedConfig/Selection/GridRow.d.ts +12 -4
  73. package/src/PredefinedConfig/SystemState.d.ts +4 -1
  74. package/src/Redux/ActionsReducers/SystemRedux.js +1 -1
  75. package/src/Redux/Store/AdaptableStore.js +7 -3
  76. package/src/Strategy/AdaptableModuleBase.js +8 -8
  77. package/src/Strategy/AlertModule.js +12 -11
  78. package/src/Strategy/BulkUpdateModule.js +5 -5
  79. package/src/Strategy/CalculatedColumnModule.js +1 -1
  80. package/src/Strategy/CellSummaryModule.js +3 -3
  81. package/src/Strategy/ConditionalStyleModule.js +3 -3
  82. package/src/Strategy/CustomSortModule.js +2 -2
  83. package/src/Strategy/ExportModule.d.ts +0 -2
  84. package/src/Strategy/ExportModule.js +59 -62
  85. package/src/Strategy/FilterModule.js +4 -4
  86. package/src/Strategy/FormatColumnModule.js +5 -5
  87. package/src/Strategy/FreeTextColumnModule.js +1 -1
  88. package/src/Strategy/LayoutModule.js +3 -3
  89. package/src/Strategy/PlusMinusModule.js +8 -9
  90. package/src/Strategy/SmartEditModule.js +6 -6
  91. package/src/Utilities/Defaults/DefaultAdaptableOptions.js +1 -0
  92. package/src/Utilities/ExpressionFunctions/booleanExpressionFunctions.js +1 -1
  93. package/src/Utilities/ExpressionFunctions/expressionFunctionUtils.js +2 -2
  94. package/src/Utilities/ExpressionFunctions/observableExpressionFunctions.js +3 -2
  95. package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.js +1 -1
  96. package/src/Utilities/Helpers/DateHelper.d.ts +2 -2
  97. package/src/Utilities/Helpers/DateHelper.js +30 -20
  98. package/src/Utilities/Helpers/PreviewHelper.js +2 -2
  99. package/src/Utilities/ObjectFactory.d.ts +1 -1
  100. package/src/Utilities/ObjectFactory.js +14 -2
  101. package/src/Utilities/Services/DataService.js +5 -5
  102. package/src/Utilities/Services/ReportService.js +13 -12
  103. package/src/Utilities/Services/ValidationService.js +4 -5
  104. package/src/Utilities/runIfNotResolvedIn.d.ts +8 -0
  105. package/src/Utilities/runIfNotResolvedIn.js +23 -0
  106. package/src/View/AdaptableView.js +1 -1
  107. package/src/View/Alert/AlertPopup.js +1 -1
  108. package/src/View/Alert/Wizard/AlertDisplayWizardSection.js +19 -5
  109. package/src/View/Alert/Wizard/BaseAlertScopeWizardSection.js +1 -1
  110. package/src/View/BulkUpdate/BulkUpdatePopup.d.ts +2 -0
  111. package/src/View/BulkUpdate/BulkUpdatePopup.js +6 -4
  112. package/src/View/BulkUpdate/BulkUpdateViewPanel.d.ts +2 -0
  113. package/src/View/BulkUpdate/BulkUpdateViewPanel.js +3 -1
  114. package/src/View/CalculatedColumn/CalculatedColumnPopup.js +1 -1
  115. package/src/View/CalculatedColumn/CalculatedColumnSummary.js +1 -1
  116. package/src/View/CalculatedColumn/Wizard/CalculatedColumnSettingsWizardSection.js +1 -1
  117. package/src/View/Components/ColumnSelector/index.js +2 -2
  118. package/src/View/Components/FilterForm/FilterForm.d.ts +3 -51
  119. package/src/View/Components/FilterForm/FilterForm.js +53 -32
  120. package/src/View/Components/FilterForm/ListBoxFilterForm.d.ts +3 -0
  121. package/src/View/Components/FilterForm/ListBoxFilterForm.js +14 -5
  122. package/src/View/Components/FilterForm/QuickFilterForm.d.ts +3 -43
  123. package/src/View/Components/FilterForm/QuickFilterForm.js +72 -31
  124. package/src/View/Components/FilterForm/getDefaultColumnFilterPredicate.d.ts +3 -0
  125. package/src/View/Components/FilterForm/getDefaultColumnFilterPredicate.js +8 -0
  126. package/src/View/Components/NewScopeComponent.js +1 -1
  127. package/src/View/Components/Popups/AdaptablePopup.d.ts +1 -1
  128. package/src/View/Components/Popups/AdaptablePopupAlert.js +1 -1
  129. package/src/View/Components/PreviewResultsPanel.js +1 -1
  130. package/src/View/Components/RangesComponent.js +2 -2
  131. package/src/View/Components/Selectors/ColumnSelector.js +5 -5
  132. package/src/View/Components/Selectors/ColumnValueSelector.d.ts +10 -2
  133. package/src/View/Components/Selectors/ColumnValueSelector.js +47 -15
  134. package/src/View/Components/ToolPanel/AdaptableToolPanel.js +7 -7
  135. package/src/View/Components/ToolPanel/CustomToolPanelContent.js +1 -1
  136. package/src/View/ConditionalStyle/ConditionalStylePopup.js +1 -1
  137. package/src/View/ConditionalStyle/ConditionalStyleSummary.js +1 -1
  138. package/src/View/CustomSort/CustomSortEntityRow.js +2 -2
  139. package/src/View/CustomSort/CustomSortPopup.js +1 -1
  140. package/src/View/CustomSort/CustomSortSummary.js +3 -3
  141. package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.js +3 -3
  142. package/src/View/CustomSort/Wizard/CustomSortValuesWizardSection.js +24 -6
  143. package/src/View/Dashboard/CustomToolbarWrapper.js +2 -1
  144. package/src/View/Dashboard/Dashboard.js +2 -3
  145. package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +5 -5
  146. package/src/View/DataChangeHistory/DataChangeHistoryPopup.js +4 -1
  147. package/src/View/Export/ExportCustomDestinationDialog.js +1 -1
  148. package/src/View/Filter/FilterSummary.js +2 -2
  149. package/src/View/FormatColumn/FormatColumnPopup.js +1 -1
  150. package/src/View/FormatColumn/FormatColumnSummary.js +1 -1
  151. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +1 -1
  152. package/src/View/FreeTextColumn/FreeTextColumnPopup.js +4 -2
  153. package/src/View/FreeTextColumn/FreeTextColumnSummary.js +5 -3
  154. package/src/View/FreeTextColumn/Wizard/FreeTextColumnSettingsWizardSection.js +1 -1
  155. package/src/View/GridInfo/ColumnInfoComponent.js +16 -16
  156. package/src/View/GridInfo/GridInfoPopup.js +4 -1
  157. package/src/View/Layout/Wizard/LayoutEditor/ColumnList.js +6 -6
  158. package/src/View/Layout/Wizard/LayoutEditor/ColumnSortList.js +1 -1
  159. package/src/View/Layout/Wizard/LayoutEditor/PivotList.js +1 -1
  160. package/src/View/Layout/Wizard/LayoutEditor/RowGroupsList.js +1 -1
  161. package/src/View/Layout/Wizard/LayoutEditor/getItemStyle.js +2 -2
  162. package/src/View/Layout/Wizard/LayoutEditor/index.js +41 -41
  163. package/src/View/PlusMinus/PlusMinusPopup.js +1 -1
  164. package/src/View/PlusMinus/PlusMinusSummary.js +1 -1
  165. package/src/View/Query/QueryViewPanel.js +2 -2
  166. package/src/View/UIHelper.d.ts +2 -0
  167. package/src/View/UIHelper.js +10 -1
  168. package/src/agGrid/ActionColumnRenderer.d.ts +2 -1
  169. package/src/agGrid/ActionColumnRenderer.js +21 -4
  170. package/src/agGrid/Adaptable.d.ts +20 -4
  171. package/src/agGrid/Adaptable.js +249 -102
  172. package/src/agGrid/agGridHelper.js +33 -32
  173. package/src/agGrid/agGridMenuHelper.js +2 -2
  174. package/src/components/AdaptableFormComponent/AdaptableFormComponent.js +3 -3
  175. package/src/components/Dashboard/Dashboard.js +1 -1
  176. package/src/components/DropdownButton/index.js +1 -1
  177. package/src/components/ExpressionEditor/index.js +7 -7
  178. package/src/components/Loader/Loader.d.ts +7 -0
  179. package/src/components/Loader/Loader.js +13 -0
  180. package/src/components/Loader/index.d.ts +2 -0
  181. package/src/components/Loader/index.js +7 -0
  182. package/src/components/ProgressIndicator/ProgressIndicator.d.ts +2 -0
  183. package/src/components/ProgressIndicator/ProgressIndicator.js +54 -0
  184. package/src/metamodel/adaptable.metamodel.d.ts +125 -16
  185. package/src/metamodel/adaptable.metamodel.js +403 -106
  186. package/src/types.d.ts +4 -3
  187. package/version.d.ts +1 -1
  188. package/version.js +1 -1
  189. package/src/Utilities/Interface/ProgressIndicator.d.ts +0 -4
  190. package/src/View/Export/ProgressIndicator.d.ts +0 -6
  191. package/src/View/Export/ProgressIndicator.js +0 -25
@@ -1,14 +1,10 @@
1
- import { AdaptableApi } from '../AdaptableApi';
1
+ import { BaseEventInfo } from './BaseEventInfo';
2
2
  /**
3
3
  * Object returned by `AdaptableReady` event - fired when AdapTable has loaded
4
4
  */
5
- export interface AdaptableReadyInfo {
5
+ export interface AdaptableReadyInfo extends BaseEventInfo {
6
6
  /**
7
7
  * Instance of the underlying vendor grid (e.g. for AG Grid its the GridOptions object)
8
8
  */
9
9
  vendorGrid: any;
10
- /**
11
- * Adaptable API object used for runtime programmatic access to AdapTable
12
- */
13
- adaptableApi: AdaptableApi;
14
10
  }
@@ -1,9 +1,10 @@
1
1
  import * as Redux from 'redux';
2
2
  import { AdaptableState } from '../../PredefinedConfig/AdaptableState';
3
+ import { BaseEventInfo } from './BaseEventInfo';
3
4
  /**
4
5
  * Object returned by the `AdaptableStateChanged` event
5
6
  */
6
- export interface AdaptableStateChangedInfo {
7
+ export interface AdaptableStateChangedInfo extends BaseEventInfo {
7
8
  /**
8
9
  * Name of the Action
9
10
  */
@@ -1,8 +1,9 @@
1
1
  import { AdaptableAlert } from '../../PredefinedConfig/Common/AdaptableAlert';
2
+ import { BaseEventInfo } from './BaseEventInfo';
2
3
  /**
3
4
  * Object returned by the `AlertFired` event
4
5
  */
5
- export interface AlertFiredInfo {
6
+ export interface AlertFiredInfo extends BaseEventInfo {
6
7
  /**
7
8
  * Alert which has been fired
8
9
  */
@@ -0,0 +1,10 @@
1
+ import { AdaptableApi } from '../AdaptableApi';
2
+ /**
3
+ * Base Object returned by all events - contains the Adaptable API
4
+ */
5
+ export interface BaseEventInfo {
6
+ /**
7
+ * Adaptable API object used for runtime programmatic access to AdapTable
8
+ */
9
+ adaptableApi: AdaptableApi;
10
+ }
@@ -1,8 +1,9 @@
1
1
  import { DataChangedInfo } from '../../PredefinedConfig/Common/DataChangedInfo';
2
+ import { BaseEventInfo } from './BaseEventInfo';
2
3
  /**
3
4
  * EventInfo returned by CellChanged event
4
5
  */
5
- export interface CellChangedInfo {
6
+ export interface CellChangedInfo extends BaseEventInfo {
6
7
  /**
7
8
  * Object providing full information of the cell (and column and row) that changed
8
9
  */
@@ -1,8 +1,9 @@
1
1
  import { AdaptableColumn } from '../../PredefinedConfig/Common/AdaptableColumn';
2
+ import { BaseEventInfo } from './BaseEventInfo';
2
3
  /**
3
4
  * Event Info published by CheckboxColumnClicked event
4
5
  */
5
- export interface CheckboxColumnClickedInfo {
6
+ export interface CheckboxColumnClickedInfo extends BaseEventInfo {
6
7
  /**
7
8
  * Name of Column where Checkbox was clicked
8
9
  */
@@ -1,8 +1,9 @@
1
1
  import { CustomToolbar } from '../../AdaptableOptions/DashboardOptions';
2
+ import { BaseEventInfo } from './BaseEventInfo';
2
3
  /**
3
4
  * EventInfo returned by the CustomToolbarConfigured event
4
5
  */
5
- export interface CustomToolbarConfiguredInfo {
6
+ export interface CustomToolbarConfiguredInfo extends BaseEventInfo {
6
7
  /**
7
8
  * Custom Toolbar in which the 'Configure' button has been clicked
8
9
  */
@@ -1,8 +1,9 @@
1
1
  import { DashboardState } from '../../PredefinedConfig/DashboardState';
2
+ import { BaseEventInfo } from './BaseEventInfo';
2
3
  /**
3
4
  * Object returned by the `DashboardChanged` event
4
5
  */
5
- export interface DashboardChangedInfo {
6
+ export interface DashboardChangedInfo extends BaseEventInfo {
6
7
  /**
7
8
  * What caused Dashboard State to change
8
9
  */
@@ -1,8 +1,9 @@
1
1
  import { AdaptableFlashingAlert } from '../../PredefinedConfig/Common/AdaptableFlashingAlert';
2
+ import { BaseEventInfo } from './BaseEventInfo';
2
3
  /**
3
4
  * Object returned by the `FlashingAlertFired` event
4
5
  */
5
- export interface FlashingAlertFiredInfo {
6
+ export interface FlashingAlertFiredInfo extends BaseEventInfo {
6
7
  /**
7
8
  * FlashingAlert which has been fired
8
9
  */
@@ -1,7 +1,8 @@
1
+ import { BaseEventInfo } from './BaseEventInfo';
1
2
  /**
2
3
  * EventInfo returned by GridDataChanged event
3
4
  */
4
- export interface GridDataChangedInfo {
5
+ export interface GridDataChangedInfo extends BaseEventInfo {
5
6
  /**
6
7
  * Rows that have been added, updated, or deleted
7
8
  */
@@ -1,8 +1,9 @@
1
1
  import { LayoutState } from '../../PredefinedConfig/LayoutState';
2
+ import { BaseEventInfo } from './BaseEventInfo';
2
3
  /**
3
4
  * EventInfo returned by LayoutChanged event
4
5
  */
5
- export interface LayoutChangedInfo {
6
+ export interface LayoutChangedInfo extends BaseEventInfo {
6
7
  /**
7
8
  * What caused Layout State to change
8
9
  */
@@ -1,8 +1,9 @@
1
1
  import { Report } from '../../PredefinedConfig/ExportState';
2
+ import { BaseEventInfo } from './BaseEventInfo';
2
3
  /**
3
4
  * EventInfo returned by LiveDataChanged event
4
5
  */
5
- export interface LiveDataChangedInfo {
6
+ export interface LiveDataChangedInfo extends BaseEventInfo {
6
7
  /**
7
8
  * Which Adaptable partner is the export destination for the live data
8
9
  */
@@ -2,10 +2,11 @@ import { DataSource } from '../../PredefinedConfig/DataSourceState';
2
2
  import { CustomSort } from '../../PredefinedConfig/CustomSortState';
3
3
  import { ColumnSort } from '../../PredefinedConfig/Common/ColumnSort';
4
4
  import { ColumnFilter } from '../../PredefinedConfig/FilterState';
5
+ import { BaseEventInfo } from './BaseEventInfo';
5
6
  /**
6
7
  * EventInfo returned by SearchChanged event; includes full AdapTable search and sort info plus the event's trigger
7
8
  */
8
- export interface SearchChangedInfo {
9
+ export interface SearchChangedInfo extends BaseEventInfo {
9
10
  /**
10
11
  * What action caused event to fire: DataSource, CurrentQuery, Filter, DataChange or Sort
11
12
  */
@@ -1,9 +1,10 @@
1
1
  import { SelectedCellInfo } from '../../PredefinedConfig/Selection/SelectedCellInfo';
2
2
  import { SelectedRowInfo } from '../../PredefinedConfig/Selection/SelectedRowInfo';
3
+ import { BaseEventInfo } from './BaseEventInfo';
3
4
  /**
4
5
  * Event Info published by SelectionChanged event
5
6
  */
6
- export interface SelectionChangedInfo {
7
+ export interface SelectionChangedInfo extends BaseEventInfo {
7
8
  /**
8
9
  * Details of cells currently selected in the Grid
9
10
  */
@@ -1,8 +1,9 @@
1
1
  import { SystemStatusMessageInfo } from '../../PredefinedConfig/Common/SystemStatusMessageInfo';
2
+ import { BaseEventInfo } from './BaseEventInfo';
2
3
  /**
3
4
  * Object returned by the `SystemStatusMessageDisplayed' event
4
5
  */
5
- export interface SystemStatusMessageDisplayedInfo {
6
+ export interface SystemStatusMessageDisplayedInfo extends BaseEventInfo {
6
7
  /**
7
8
  * Details of the System Status Message and Type
8
9
  */
@@ -1,8 +1,9 @@
1
1
  import { SharedEntity } from '../../PredefinedConfig/TeamSharingState';
2
+ import { BaseEventInfo } from './BaseEventInfo';
2
3
  /**
3
4
  * EventInfo returned by TeamSharingEntityChanged event
4
5
  */
5
- export interface TeamSharingEntityChangedInfo {
6
+ export interface TeamSharingEntityChangedInfo extends BaseEventInfo {
6
7
  /**
7
8
  * Object containing the Shared Entity that has changed
8
9
  */
@@ -1,8 +1,9 @@
1
1
  import { AdaptableTheme } from '../../PredefinedConfig/ThemeState';
2
+ import { BaseEventInfo } from './BaseEventInfo';
2
3
  /**
3
4
  * Object returned by the `ThemeChanged` event
4
5
  */
5
- export interface ThemeChangedInfo {
6
+ export interface ThemeChangedInfo extends BaseEventInfo {
6
7
  /**
7
8
  * Selected Theme: either name of a (System) theme or the (Custom) Theme itself
8
9
  */
@@ -23,6 +23,14 @@ export interface GridApi {
23
23
  * @param data any data from any datasource that is suitable for the underlying grid.
24
24
  */
25
25
  setGridData(data: any): void;
26
+ /**
27
+ * Retrieves all data from the grid
28
+ */
29
+ getGridData(): any[];
30
+ /**
31
+ * Retrieves filtered data from the grid
32
+ */
33
+ getFilteredData(): any[];
26
34
  /**
27
35
  * Loads grid with given data
28
36
  * @param data any data from any datasource that is suitable for the underlying grid.
@@ -55,6 +63,15 @@ export interface GridApi {
55
63
  *
56
64
  */
57
65
  setCellValue(columnId: string, newValue: any, primaryKeyValue: any, forceFilter: boolean): void;
66
+ /**
67
+ * Updates multiple cells
68
+ * @param gridCells cells to update
69
+ */
70
+ setCellsValue(gridCells: {
71
+ columnId: any;
72
+ newValue: any;
73
+ primaryKeyValue: any;
74
+ }[]): void;
58
75
  /**
59
76
  * Reverses a data change (if triggered by cell edit)
60
77
  * @param dataChangedInfo data change to undo
@@ -185,10 +202,10 @@ export interface GridApi {
185
202
  getPrimaryKeyValueForRowNode(rowNode: RowNode): any;
186
203
  /**
187
204
  * Retrieves Cell in given Row and Column
188
- * @param rowwNode Row to use
205
+ * @param rowNode Row to use
189
206
  * @param columnId ColumnId to lookup
190
207
  */
191
- getGridCellFromRowNode(rowwNode: RowNode, columnId: string): GridCell | undefined;
208
+ getGridCellFromRowNode(rowNode: RowNode, columnId: string): GridCell | undefined;
192
209
  /**
193
210
  * Retrieves Display Value for a given cell
194
211
  * @param primaryKeyValue (unique) value in Primary Key Column
@@ -209,10 +226,10 @@ export interface GridApi {
209
226
  getCellNormalisedValue(primaryKeyValue: any, columnId: string): any | undefined;
210
227
  /**
211
228
  * Retrieves Raw Value for Cell in given Row and Column
212
- * @param rowwNode Row to use
229
+ * @param rowNode Row to use
213
230
  * @param columnId ColumnId to lookup
214
231
  */
215
- getRawValueFromRowNode(rowwNode: RowNode, columnId: string): any | undefined;
232
+ getRawValueFromRowNode(rowNode: RowNode, columnId: string): any | undefined;
216
233
  /**
217
234
  * Retrieves Formatted Value for a given Raw Value in given Column
218
235
  * @param columnId ColumnId to lookup
@@ -221,16 +238,16 @@ export interface GridApi {
221
238
  getFormattedValueFromRawValue(columnId: string, rawValue: any): string | undefined;
222
239
  /**
223
240
  * Retrieves Display Value for Cell in given Row and Column
224
- * @param rowwNode Row to use
241
+ * @param rowNode Row to use
225
242
  * @param columnId ColumnId to lookup
226
243
  */
227
- getDisplayValueFromRowNode(rowwNode: RowNode, columnId: string): any | undefined;
244
+ getDisplayValueFromRowNode(rowNode: RowNode, columnId: string): any | undefined;
228
245
  /**
229
246
  * Retrieves Normalised Value for Cell in given Row and Column
230
- * @param rowwNode Row to use
247
+ * @param rowNode Row to use
231
248
  * @param columnId ColumnId to lookup
232
249
  */
233
- getNormalisedValueFromRowNode(rowwNode: RowNode, columnId: string): any | undefined;
250
+ getNormalisedValueFromRowNode(rowNode: RowNode, columnId: string): any | undefined;
234
251
  /**
235
252
  * Sets the grid to Row Group
236
253
  * @param columnIds ColumnIds to row group
@@ -335,6 +352,11 @@ export interface GridApi {
335
352
  * @param columnIds ColumnIds which contain cells to refresh
336
353
  */
337
354
  refreshCells(rowNodes: RowNode[], columnIds: string[]): void;
355
+ /**
356
+ * Forces a render of a row
357
+ * @param primaryKey row primary key
358
+ */
359
+ refreshRow(primaryKey: any): void;
338
360
  /**
339
361
  * Returns number of rows in Data Source
340
362
  */
@@ -373,4 +395,8 @@ export interface GridApi {
373
395
  * Deselects all selected rows, cells and ranges
374
396
  */
375
397
  deselectAll(): void;
398
+ /**
399
+ * Returns the Grid Container in which the Adaptable Instance is present
400
+ */
401
+ getGridContainerElement(): HTMLElement | null;
376
402
  }
@@ -54,6 +54,6 @@ export declare class AlertApiImpl extends ApiBase implements AlertApi {
54
54
  unSuspendFlashingAlertDefinition(flashingAlertDefinition: FlashingAlertDefinition): FlashingAlertDefinition;
55
55
  addFlashingAlertDefinitions(flashingAlertDefinitions: FlashingAlertDefinition[]): FlashingAlertDefinition[];
56
56
  editFlashingAlertDefinitions(flashingAlertDefinitions: FlashingAlertDefinition[]): FlashingAlertDefinition[];
57
- getAlertDescription(alert: AlertDefinition): string;
57
+ getAlertDescription(alertDefinition: AlertDefinition, dataChangedInfo?: DataChangedInfo): string;
58
58
  getAlertRuleDescription(alert: BaseAlertDefinition): string;
59
59
  }
@@ -117,7 +117,7 @@ class AlertApiImpl extends ApiBase_1.ApiBase {
117
117
  }
118
118
  if (actionName === 'highlight-cell') {
119
119
  this.adaptable.api.gridApi.highlightCell({
120
- columnId: dataChangedInfo.columnId,
120
+ columnId: dataChangedInfo.column.columnId,
121
121
  primaryKeyValue: dataChangedInfo.primaryKeyValue,
122
122
  highlightType: alertDefinition.MessageType,
123
123
  timeout: this.getNotificationsOptions().cellHighlightDuration,
@@ -125,11 +125,11 @@ class AlertApiImpl extends ApiBase_1.ApiBase {
125
125
  return;
126
126
  }
127
127
  if (actionName === 'jump-to-cell') {
128
- this.adaptable.api.gridApi.jumpToCell(dataChangedInfo.primaryKeyValue, dataChangedInfo.columnId);
128
+ this.adaptable.api.gridApi.jumpToCell(dataChangedInfo.primaryKeyValue, dataChangedInfo.column.columnId);
129
129
  return;
130
130
  }
131
131
  if (actionName === 'jump-to-column') {
132
- this.adaptable.api.gridApi.jumpToColumn(dataChangedInfo.columnId);
132
+ this.adaptable.api.gridApi.jumpToColumn(dataChangedInfo.column.columnId);
133
133
  return;
134
134
  }
135
135
  if (actionName === 'suspend') {
@@ -159,6 +159,7 @@ class AlertApiImpl extends ApiBase_1.ApiBase {
159
159
  showFlashingAlert(alertToShow) {
160
160
  this.addUidToAdaptableObject(alertToShow);
161
161
  const flashingAlertFiredInfo = {
162
+ adaptableApi: this.adaptable.api,
162
163
  flashingAlert: alertToShow,
163
164
  };
164
165
  const results = this.adaptable.api.eventApi.emitSync('FlashingAlertFired', flashingAlertFiredInfo);
@@ -181,9 +182,7 @@ class AlertApiImpl extends ApiBase_1.ApiBase {
181
182
  this.addUidToAdaptableObject(alertToShow);
182
183
  this.dispatchAction(SystemRedux.SystemAlertAdd(alertToShow, this.getNotificationsOptions().maxAlertsInStore));
183
184
  // 2. Publish the Alert Fired Event
184
- const alertFiredInfo = {
185
- alert: alertToShow,
186
- };
185
+ const alertFiredInfo = { adaptableApi: this.adaptable.api, alert: alertToShow };
187
186
  const results = await this.adaptable.api.eventApi.emit('AlertFired', alertFiredInfo);
188
187
  const showPopup = results.reduce((endResult, aResult) => {
189
188
  return endResult && aResult !== false;
@@ -212,7 +211,7 @@ class AlertApiImpl extends ApiBase_1.ApiBase {
212
211
  }
213
212
  // 4: Jump to the Cell
214
213
  if (alertProperties.JumpToCell && dataChangedInfo) {
215
- this.adaptable.jumpToCell(dataChangedInfo.columnId, dataChangedInfo.rowNode);
214
+ this.adaptable.jumpToCell(dataChangedInfo.column.columnId, dataChangedInfo.rowNode);
216
215
  }
217
216
  // 5: Hight the cell - though that is taken care of in the Style Service
218
217
  if (alertProperties.HighlightCell && dataChangedInfo) {
@@ -221,7 +220,7 @@ class AlertApiImpl extends ApiBase_1.ApiBase {
221
220
  alertNode = this.adaptable.getRowNodeForPrimaryKey(dataChangedInfo.primaryKeyValue);
222
221
  }
223
222
  if (alertNode) {
224
- this.adaptable.api.gridApi.refreshCells([alertNode], [dataChangedInfo.columnId]);
223
+ this.adaptable.api.gridApi.refreshCells([alertNode], [dataChangedInfo.column.columnId]);
225
224
  setTimeout(() => {
226
225
  this.dispatchAction(SystemRedux.SystemAlertRemoveHighlight(alertToShow));
227
226
  }, this.adaptable.adaptableOptions.notificationsOptions.cellHighlightDuration);
@@ -233,9 +232,7 @@ class AlertApiImpl extends ApiBase_1.ApiBase {
233
232
  }
234
233
  }
235
234
  publishAlertFiredEvent(alertToFire) {
236
- const alertFiredInfo = {
237
- alert: alertToFire,
238
- };
235
+ const alertFiredInfo = { adaptableApi: this.adaptable.api, alert: alertToFire };
239
236
  this.adaptable.api.eventApi.emit('AlertFired', alertFiredInfo);
240
237
  }
241
238
  displayMessageAlertPopup(alertToDisplayAsPopup) {
@@ -284,7 +281,6 @@ class AlertApiImpl extends ApiBase_1.ApiBase {
284
281
  }
285
282
  addFlashingAlertDefinition(flashingAlertDefinition) {
286
283
  this.dispatchAction(AlertRedux.FlashingAlertDefinitionAdd(flashingAlertDefinition));
287
- console.log('flasing alert', flashingAlertDefinition);
288
284
  return this.getFlashingAlertDefinitionById(flashingAlertDefinition.Uuid);
289
285
  }
290
286
  editFlashingAlertDefinition(flashingAlertDefinition) {
@@ -311,9 +307,20 @@ class AlertApiImpl extends ApiBase_1.ApiBase {
311
307
  });
312
308
  return flashingAlertDefinitions === null || flashingAlertDefinitions === void 0 ? void 0 : flashingAlertDefinitions.map((alert) => this.getFlashingAlertDefinitionById(alert === null || alert === void 0 ? void 0 : alert.Uuid));
313
309
  }
314
- getAlertDescription(alert) {
315
- let scopeDescription = this.adaptable.api.scopeApi.getScopeDescription(alert.Scope);
316
- let ruleDescription = this.getAlertRuleDescription(alert);
310
+ getAlertDescription(alertDefinition, dataChangedInfo) {
311
+ var _a;
312
+ const alertMessageFunction = (_a = this.adaptable.adaptableOptions.notificationsOptions) === null || _a === void 0 ? void 0 : _a.alertMessageText;
313
+ if (alertMessageFunction) {
314
+ const returnText = alertMessageFunction(alertDefinition, dataChangedInfo);
315
+ if (returnText) {
316
+ return returnText;
317
+ }
318
+ }
319
+ if (alertDefinition.MessageText != null) {
320
+ return alertDefinition.MessageText;
321
+ }
322
+ let scopeDescription = this.adaptable.api.scopeApi.getScopeDescription(alertDefinition.Scope);
323
+ let ruleDescription = this.getAlertRuleDescription(alertDefinition);
317
324
  return scopeDescription + ' - ' + ruleDescription;
318
325
  }
319
326
  getAlertRuleDescription(alert) {
@@ -13,4 +13,7 @@ export declare class CalculatedColumnApiImpl extends ApiBase implements Calculat
13
13
  deleteCalculatedColumn(column: string): void;
14
14
  showCalculatedColumnPopup(): void;
15
15
  getCalculatedColumnModuleReferences(calculatedColumn: CalculatedColumn): string[];
16
+ getCalculatedColumnsReferencingColumnId(columnId: string): CalculatedColumn[];
17
+ getReferencedColumnIdsForCalculatedColumn(calculatedColumn: CalculatedColumn): string[];
18
+ getReferencedColumnIdsForCalculatedColumnId(calculatedColumnId: string): string[];
16
19
  }
@@ -60,5 +60,28 @@ class CalculatedColumnApiImpl extends ApiBase_1.ApiBase {
60
60
  });
61
61
  return references;
62
62
  }
63
+ getCalculatedColumnsReferencingColumnId(columnId) {
64
+ var calcColumns = [];
65
+ this.getAllCalculatedColumn().forEach((calculatedColumn) => {
66
+ var _a;
67
+ if (this.adaptable.api.columnApi.isColumnReferencedInExpression(columnId, (_a = calculatedColumn.Query) === null || _a === void 0 ? void 0 : _a.ScalarExpression)) {
68
+ calcColumns.push(calculatedColumn);
69
+ }
70
+ });
71
+ return calcColumns;
72
+ }
73
+ getReferencedColumnIdsForCalculatedColumn(calculatedColumn) {
74
+ var _a;
75
+ const columnIds = this.adaptable.api.queryLanguageApi.getColumnsFromExpression((_a = calculatedColumn.Query) === null || _a === void 0 ? void 0 : _a.ScalarExpression);
76
+ return columnIds;
77
+ }
78
+ getReferencedColumnIdsForCalculatedColumnId(calculatedColumnId) {
79
+ const calculatedColumn = this.adaptable.api.calculatedColumnApi
80
+ .getAllCalculatedColumn()
81
+ .find((cc) => cc.ColumnId == calculatedColumnId);
82
+ if (calculatedColumn) {
83
+ return this.getReferencedColumnIdsForCalculatedColumn(calculatedColumn);
84
+ }
85
+ }
63
86
  }
64
87
  exports.CalculatedColumnApiImpl = CalculatedColumnApiImpl;
@@ -2,6 +2,7 @@ import { ApiBase } from './ApiBase';
2
2
  import { AdaptableColumn } from '../../PredefinedConfig/Common/AdaptableColumn';
3
3
  import { DataType } from '../../PredefinedConfig/Common/Enums';
4
4
  import { ColumnApi } from '../ColumnApi';
5
+ import { GridCell } from '../../PredefinedConfig/Selection/GridCell';
5
6
  import { RowNode } from '@ag-grid-community/all-modules';
6
7
  export declare class ColumnApiImpl extends ApiBase implements ColumnApi {
7
8
  getColumns(): AdaptableColumn[];
@@ -49,6 +50,12 @@ export declare class ColumnApiImpl extends ApiBase implements ColumnApi {
49
50
  getQueryableColumns(): AdaptableColumn[];
50
51
  private LogMissingColumnWarning;
51
52
  getDistinctDisplayValuesForColumn(columnId: string): any[];
53
+ getDistinctFilterDisplayValuesForColumn(columnId: string, filter: string): Promise<{
54
+ values: any[];
55
+ suppressClientSideFilter: boolean;
56
+ }>;
57
+ getDistinctCustomSortDisplayValuesForColumn(columnId: string): Promise<any[]>;
58
+ getDistinctBulkUpdateDisplayValuesForColumn(columnId: string, selectedGridCells: GridCell[]): Promise<any[]>;
52
59
  getDistinctVisibleDisplayValuesForColumn(columnId: string): any[];
53
60
  getDistinctRawValuesForColumn(columnId: string, skipRowNode?: RowNode): any[];
54
61
  getDistinctVisibleRawValuesForColumn(columnId: string): any[];
@@ -57,4 +64,5 @@ export declare class ColumnApiImpl extends ApiBase implements ColumnApi {
57
64
  getAllColumnFriendlyNames(): string[];
58
65
  usesAdaptableFilterForm(columnId: string): boolean;
59
66
  usesAdaptableQuickFilter(columnId: string): boolean;
67
+ isColumnReferencedInExpression(columnId: string, expression: string): boolean;
60
68
  }