@adaptabletools/adaptable 18.0.0-canary.9 → 18.0.0

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 (423) hide show
  1. package/base.css +18 -20
  2. package/base.css.map +1 -1
  3. package/index.css +22 -20
  4. package/index.css.map +1 -1
  5. package/package.json +1 -1
  6. package/src/AdaptableInterfaces/IAdaptable.d.ts +5 -6
  7. package/src/AdaptableOptions/ActionColumnOptions.d.ts +3 -2
  8. package/src/AdaptableOptions/AdaptableFrameworkComponent.d.ts +3 -0
  9. package/src/AdaptableOptions/AdaptableOptions.d.ts +14 -13
  10. package/src/AdaptableOptions/AdaptablePlugin.d.ts +2 -0
  11. package/src/AdaptableOptions/AdaptablePlugin.js +2 -0
  12. package/src/AdaptableOptions/ColumnFilterOptions.d.ts +7 -0
  13. package/src/AdaptableOptions/ColumnMenuOptions.d.ts +94 -0
  14. package/src/AdaptableOptions/ColumnOptions.d.ts +9 -4
  15. package/src/AdaptableOptions/CommentOptions.d.ts +20 -9
  16. package/src/AdaptableOptions/ContextMenuOptions.d.ts +94 -0
  17. package/src/AdaptableOptions/CustomSortOptions.d.ts +2 -2
  18. package/src/AdaptableOptions/DataImportOptions.d.ts +2 -2
  19. package/src/AdaptableOptions/FormatColumnOptions.d.ts +2 -2
  20. package/src/AdaptableOptions/GroupingOptions.d.ts +0 -26
  21. package/src/AdaptableOptions/NoteOptions.d.ts +12 -3
  22. package/src/AdaptableOptions/PredicateOptions.d.ts +2 -2
  23. package/src/AdaptableOptions/QuickSearchOptions.d.ts +1 -1
  24. package/src/AdaptableOptions/StateOptions.d.ts +6 -0
  25. package/src/AdaptableOptions/UserInterfaceOptions.d.ts +2 -2
  26. package/src/Api/AdaptableApi.d.ts +16 -6
  27. package/src/Api/ColumnApi.d.ts +13 -0
  28. package/src/Api/ColumnMenuApi.d.ts +13 -0
  29. package/src/Api/{ScopeApi.d.ts → ColumnScopeApi.d.ts} +28 -28
  30. package/src/Api/CommentApi.d.ts +20 -22
  31. package/src/Api/ConfigApi.d.ts +3 -4
  32. package/src/Api/ContextMenuApi.d.ts +9 -0
  33. package/src/Api/EventApi.d.ts +7 -9
  34. package/src/Api/Events/CommentChanged.d.ts +11 -0
  35. package/src/Api/Events/CommentChanged.js +1 -0
  36. package/src/Api/Events/GridDataChanged.d.ts +1 -1
  37. package/src/Api/FlashingCellApi.d.ts +2 -2
  38. package/src/Api/GridApi.d.ts +32 -4
  39. package/src/Api/Implementation/ActionColumnApiImpl.js +3 -6
  40. package/src/Api/Implementation/ActionRowApiImpl.js +3 -7
  41. package/src/Api/Implementation/AdaptableApiImpl.d.ts +7 -5
  42. package/src/Api/Implementation/AdaptableApiImpl.js +9 -5
  43. package/src/Api/Implementation/AlertApiImpl.js +8 -13
  44. package/src/Api/Implementation/ApiBase.d.ts +6 -4
  45. package/src/Api/Implementation/ApiBase.js +11 -5
  46. package/src/Api/Implementation/CalendarApiImpl.js +1 -6
  47. package/src/Api/Implementation/CellSummaryApiImpl.d.ts +0 -5
  48. package/src/Api/Implementation/CellSummaryApiImpl.js +2 -23
  49. package/src/Api/Implementation/ChartingApiImpl.js +3 -3
  50. package/src/Api/Implementation/ColumnApiImpl.d.ts +5 -0
  51. package/src/Api/Implementation/ColumnApiImpl.js +45 -15
  52. package/src/Api/Implementation/ColumnFilterApiImpl.js +7 -7
  53. package/src/Api/Implementation/ColumnMenuApiImpl.d.ts +8 -0
  54. package/src/Api/Implementation/ColumnMenuApiImpl.js +12 -0
  55. package/src/Api/Implementation/ColumnScopeApiImpl.d.ts +33 -0
  56. package/src/Api/Implementation/{ScopeApiImpl.js → ColumnScopeApiImpl.js} +46 -13
  57. package/src/Api/Implementation/CommentsApiImpl.d.ts +4 -5
  58. package/src/Api/Implementation/CommentsApiImpl.js +6 -6
  59. package/src/Api/Implementation/ConfigApiImpl.d.ts +2 -2
  60. package/src/Api/Implementation/ConfigApiImpl.js +21 -25
  61. package/src/Api/Implementation/ContextMenuApiImpl.d.ts +7 -0
  62. package/src/Api/Implementation/ContextMenuApiImpl.js +9 -0
  63. package/src/Api/Implementation/DashboardApiImpl.js +1 -6
  64. package/src/Api/Implementation/ExportApiImpl.js +5 -10
  65. package/src/Api/Implementation/ExpressionApiImpl.js +14 -19
  66. package/src/Api/Implementation/Fdc3ApiImpl.js +1 -1
  67. package/src/Api/Implementation/FlashingCellApiImpl.d.ts +2 -2
  68. package/src/Api/Implementation/FlashingCellApiImpl.js +3 -8
  69. package/src/Api/Implementation/FormatColumnApiImpl.js +4 -4
  70. package/src/Api/Implementation/FreeTextColumnApiImpl.js +1 -1
  71. package/src/Api/Implementation/GridApiImpl.d.ts +9 -2
  72. package/src/Api/Implementation/GridApiImpl.js +52 -11
  73. package/src/Api/Implementation/LayoutApiImpl.d.ts +2 -7
  74. package/src/Api/Implementation/LayoutApiImpl.js +6 -15
  75. package/src/Api/Implementation/{NotesApiImpl.d.ts → NoteApiImpl.d.ts} +8 -8
  76. package/src/Api/Implementation/{NotesApiImpl.js → NoteApiImpl.js} +12 -12
  77. package/src/Api/Implementation/OptionsApiImpl.d.ts +6 -5
  78. package/src/Api/Implementation/OptionsApiImpl.js +7 -4
  79. package/src/Api/Implementation/PredicateApiImpl.js +2 -2
  80. package/src/Api/Implementation/ScheduleApiImpl.js +6 -6
  81. package/src/Api/Implementation/TeamSharingApiImpl.js +3 -15
  82. package/src/Api/Implementation/ThemeApiImpl.js +2 -7
  83. package/src/Api/Implementation/UserInterfaceApiImpl.d.ts +14 -8
  84. package/src/Api/Implementation/UserInterfaceApiImpl.js +32 -27
  85. package/src/Api/Internal/ActionRowInternalApi.d.ts +1 -0
  86. package/src/Api/Internal/ActionRowInternalApi.js +19 -46
  87. package/src/Api/Internal/AdaptableInternalApi.d.ts +3 -4
  88. package/src/Api/Internal/AdaptableInternalApi.js +16 -30
  89. package/src/Api/Internal/AlertInternalApi.d.ts +2 -2
  90. package/src/Api/Internal/AlertInternalApi.js +7 -20
  91. package/src/Api/Internal/CalculatedColumnInternalApi.js +10 -16
  92. package/src/Api/Internal/ChartingInternalApi.js +13 -13
  93. package/src/Api/Internal/ColumnFilterInternalApi.d.ts +1 -0
  94. package/src/Api/Internal/ColumnFilterInternalApi.js +24 -30
  95. package/src/Api/Internal/ColumnInternalApi.d.ts +2 -0
  96. package/src/Api/Internal/ColumnInternalApi.js +7 -1
  97. package/src/Api/Internal/CommentsInternalApi.d.ts +1 -1
  98. package/src/Api/Internal/CommentsInternalApi.js +3 -2
  99. package/src/Api/Internal/CustomSortInternalApi.js +1 -1
  100. package/src/Api/Internal/DashboardInternalApi.js +5 -11
  101. package/src/Api/Internal/DataImportInternalApi.js +3 -9
  102. package/src/Api/Internal/DataSetInternalApi.js +2 -7
  103. package/src/Api/Internal/ExportInternalApi.d.ts +2 -1
  104. package/src/Api/Internal/ExportInternalApi.js +8 -5
  105. package/src/Api/Internal/ExpressionInternalApi.js +3 -13
  106. package/src/Api/Internal/Fdc3InternalApi.js +3 -12
  107. package/src/Api/Internal/FormatColumnInternalApi.d.ts +3 -6
  108. package/src/Api/Internal/FormatColumnInternalApi.js +37 -30
  109. package/src/Api/Internal/FreeTextColumnInternalApi.js +4 -3
  110. package/src/Api/Internal/GridFilterInternalApi.d.ts +5 -0
  111. package/src/Api/Internal/GridFilterInternalApi.js +8 -8
  112. package/src/Api/Internal/GridInternalApi.d.ts +2 -0
  113. package/src/Api/Internal/GridInternalApi.js +28 -40
  114. package/src/Api/Internal/LayoutInternalApi.d.ts +2 -0
  115. package/src/Api/Internal/LayoutInternalApi.js +26 -19
  116. package/src/Api/Internal/NoteInternalApi.d.ts +4 -0
  117. package/src/Api/Internal/{NotesInternalApi.js → NoteInternalApi.js} +4 -3
  118. package/src/Api/Internal/PredicateInternalApi.d.ts +6 -6
  119. package/src/Api/Internal/PredicateInternalApi.js +5 -40
  120. package/src/Api/Internal/ScheduleInternalApi.js +1 -6
  121. package/src/Api/Internal/StyledColumnInternalApi.d.ts +2 -2
  122. package/src/Api/Internal/StyledColumnInternalApi.js +8 -9
  123. package/src/Api/Internal/SystemStatusInternalApi.js +1 -7
  124. package/src/Api/Internal/TeamSharingInternalApi.js +2 -7
  125. package/src/Api/Internal/ThemeInternalApi.js +1 -1
  126. package/src/Api/Internal/UserInterfaceInternalApi.js +1 -1
  127. package/src/Api/LayoutApi.d.ts +9 -12
  128. package/src/Api/NoteApi.d.ts +48 -0
  129. package/src/Api/NoteApi.js +1 -0
  130. package/src/Api/OptionsApi.d.ts +14 -10
  131. package/src/Api/UserInterfaceApi.d.ts +15 -13
  132. package/src/PredefinedConfig/AdaptableState.d.ts +2 -2
  133. package/src/PredefinedConfig/AlertState.d.ts +2 -2
  134. package/src/PredefinedConfig/CommentState.d.ts +27 -23
  135. package/src/PredefinedConfig/Common/AdaptableIcon.d.ts +1 -1
  136. package/src/PredefinedConfig/Common/AdaptableObject.d.ts +4 -4
  137. package/src/PredefinedConfig/Common/AdaptablePredicate.d.ts +2 -2
  138. package/src/PredefinedConfig/Common/CellSummary.d.ts +5 -14
  139. package/src/PredefinedConfig/Common/{AdaptableScope.d.ts → ColumnScope.d.ts} +1 -1
  140. package/src/PredefinedConfig/Common/ColumnScope.js +1 -0
  141. package/src/PredefinedConfig/Common/DataUpdateConfig.d.ts +1 -5
  142. package/src/PredefinedConfig/Common/Enums.d.ts +4 -1
  143. package/src/PredefinedConfig/Common/Enums.js +3 -0
  144. package/src/PredefinedConfig/Common/Fdc3Intent.d.ts +2 -2
  145. package/src/PredefinedConfig/Common/Menu.d.ts +39 -4
  146. package/src/PredefinedConfig/Common/Menu.js +125 -1
  147. package/src/PredefinedConfig/Common/RowScope.d.ts +17 -0
  148. package/src/PredefinedConfig/Common/RowScope.js +1 -0
  149. package/src/PredefinedConfig/Common/RowSummary.d.ts +15 -1
  150. package/src/PredefinedConfig/Common/RowSummary.js +16 -0
  151. package/src/PredefinedConfig/Common/TransposeConfig.d.ts +30 -0
  152. package/src/PredefinedConfig/Common/TransposeConfig.js +1 -0
  153. package/src/PredefinedConfig/Common/Types.d.ts +4 -4
  154. package/src/PredefinedConfig/Common/Types.js +4 -1
  155. package/src/PredefinedConfig/ExportState.d.ts +2 -2
  156. package/src/PredefinedConfig/FlashingCellState.d.ts +2 -2
  157. package/src/PredefinedConfig/FormatColumnState.d.ts +9 -5
  158. package/src/PredefinedConfig/LayoutState.d.ts +2 -2
  159. package/src/PredefinedConfig/{NotesState.d.ts → NoteState.d.ts} +4 -4
  160. package/src/PredefinedConfig/NoteState.js +1 -0
  161. package/src/PredefinedConfig/PlusMinusState.d.ts +2 -2
  162. package/src/PredefinedConfig/PopupState.d.ts +1 -2
  163. package/src/PredefinedConfig/PredefinedConfig.d.ts +2 -2
  164. package/src/PredefinedConfig/Selection/GridCell.d.ts +13 -0
  165. package/src/PredefinedConfig/ShortcutState.d.ts +2 -2
  166. package/src/PredefinedConfig/StyledColumnState.d.ts +5 -5
  167. package/src/PredefinedConfig/SystemState.d.ts +5 -4
  168. package/src/Redux/ActionsReducers/CommentsRedux.d.ts +0 -4
  169. package/src/Redux/ActionsReducers/CommentsRedux.js +0 -34
  170. package/src/Redux/ActionsReducers/LayoutRedux.js +12 -10
  171. package/src/Redux/ActionsReducers/NoteRedux.d.ts +38 -0
  172. package/src/Redux/ActionsReducers/{NotesRedux.js → NoteRedux.js} +24 -24
  173. package/src/Redux/ActionsReducers/PopupRedux.d.ts +5 -13
  174. package/src/Redux/ActionsReducers/PopupRedux.js +0 -19
  175. package/src/Redux/ActionsReducers/SystemRedux.d.ts +11 -5
  176. package/src/Redux/ActionsReducers/SystemRedux.js +12 -9
  177. package/src/Redux/Store/AdaptableStore.js +40 -33
  178. package/src/Strategy/AdaptableModuleBase.d.ts +10 -10
  179. package/src/Strategy/AdaptableModuleBase.js +13 -16
  180. package/src/Strategy/AlertModule.d.ts +3 -2
  181. package/src/Strategy/AlertModule.js +4 -4
  182. package/src/Strategy/BulkUpdateModule.d.ts +3 -2
  183. package/src/Strategy/BulkUpdateModule.js +2 -1
  184. package/src/Strategy/CalculatedColumnModule.d.ts +3 -4
  185. package/src/Strategy/CalculatedColumnModule.js +18 -14
  186. package/src/Strategy/CellSummaryModule.d.ts +9 -9
  187. package/src/Strategy/CellSummaryModule.js +96 -107
  188. package/src/Strategy/ColumnFilterModule.d.ts +3 -3
  189. package/src/Strategy/ColumnFilterModule.js +36 -57
  190. package/src/Strategy/ColumnInfoModule.d.ts +3 -3
  191. package/src/Strategy/ColumnInfoModule.js +6 -4
  192. package/src/Strategy/CommentModule.d.ts +12 -0
  193. package/src/Strategy/CommentModule.js +70 -0
  194. package/src/Strategy/CustomSortModule.d.ts +1 -2
  195. package/src/Strategy/CustomSortModule.js +3 -2
  196. package/src/Strategy/DashboardModule.d.ts +3 -3
  197. package/src/Strategy/DashboardModule.js +11 -21
  198. package/src/Strategy/DataImportModule.d.ts +4 -4
  199. package/src/Strategy/DataImportModule.js +8 -8
  200. package/src/Strategy/ExportModule.d.ts +1 -2
  201. package/src/Strategy/ExportModule.js +58 -44
  202. package/src/Strategy/Fdc3Module.d.ts +1 -1
  203. package/src/Strategy/Fdc3Module.js +3 -13
  204. package/src/Strategy/FlashingCellModule.d.ts +4 -3
  205. package/src/Strategy/FlashingCellModule.js +10 -10
  206. package/src/Strategy/FormatColumnModule.d.ts +1 -1
  207. package/src/Strategy/FormatColumnModule.js +29 -47
  208. package/src/Strategy/FreeTextColumnModule.d.ts +1 -2
  209. package/src/Strategy/FreeTextColumnModule.js +2 -2
  210. package/src/Strategy/GridInfoModule.d.ts +3 -3
  211. package/src/Strategy/GridInfoModule.js +5 -3
  212. package/src/Strategy/Interface/IModule.d.ts +4 -4
  213. package/src/Strategy/LayoutModule.d.ts +4 -10
  214. package/src/Strategy/LayoutModule.js +50 -150
  215. package/src/Strategy/NoteModule.d.ts +10 -0
  216. package/src/Strategy/NoteModule.js +55 -0
  217. package/src/Strategy/PlusMinusModule.d.ts +1 -2
  218. package/src/Strategy/PlusMinusModule.js +5 -5
  219. package/src/Strategy/SettingsPanelModule.d.ts +3 -3
  220. package/src/Strategy/SettingsPanelModule.js +6 -6
  221. package/src/Strategy/ShortcutModule.js +1 -1
  222. package/src/Strategy/SmartEditModule.d.ts +3 -2
  223. package/src/Strategy/SmartEditModule.js +2 -1
  224. package/src/Strategy/StyledColumnModule.d.ts +2 -1
  225. package/src/Strategy/StyledColumnModule.js +42 -22
  226. package/src/Strategy/SystemStatusModule.d.ts +3 -3
  227. package/src/Strategy/SystemStatusModule.js +6 -3
  228. package/src/Strategy/Utilities/FormatColumn/getFormatColumnSettingsViewItems.js +4 -2
  229. package/src/Strategy/Utilities/getScopeViewItems.d.ts +2 -2
  230. package/src/Strategy/Utilities/getScopeViewItems.js +3 -0
  231. package/src/Utilities/Constants/GeneralConstants.d.ts +1 -0
  232. package/src/Utilities/Constants/GeneralConstants.js +1 -0
  233. package/src/Utilities/Constants/ModuleConstants.d.ts +6 -6
  234. package/src/Utilities/Constants/ModuleConstants.js +6 -6
  235. package/src/Utilities/Defaults/DefaultSettingsPanel.js +2 -2
  236. package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.d.ts +2 -2
  237. package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.js +143 -7
  238. package/src/Utilities/ExpressionFunctions/observableExpressionFunctions.js +3 -3
  239. package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.d.ts +1 -1
  240. package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.js +15 -0
  241. package/src/Utilities/Helpers/AdaptableHelper.d.ts +3 -1
  242. package/src/Utilities/Helpers/AdaptableHelper.js +19 -0
  243. package/src/Utilities/Interface/MessagePopups.d.ts +0 -3
  244. package/src/Utilities/MenuItem.d.ts +10 -7
  245. package/src/Utilities/MenuItem.js +6 -3
  246. package/src/Utilities/ObjectFactory.d.ts +3 -3
  247. package/src/Utilities/ObjectFactory.js +7 -25
  248. package/src/Utilities/Services/AggregatedScalarLiveValue.d.ts +1 -0
  249. package/src/Utilities/Services/AggregatedScalarLiveValue.js +12 -10
  250. package/src/Utilities/Services/CellPopupService.js +4 -4
  251. package/src/Utilities/Services/Interface/IReportService.d.ts +1 -4
  252. package/src/Utilities/Services/LicenseService/index.js +1 -193
  253. package/src/Utilities/Services/ModuleService.js +6 -2
  254. package/src/Utilities/Services/QueryLanguageService.js +2 -2
  255. package/src/Utilities/Services/ReportService.d.ts +7 -5
  256. package/src/Utilities/Services/ReportService.js +245 -26
  257. package/src/Utilities/Services/RowSummaryService.d.ts +26 -0
  258. package/src/Utilities/Services/RowSummaryService.js +155 -0
  259. package/src/Utilities/Services/ValidationService.js +2 -2
  260. package/src/Utilities/adaptableQlUtils.d.ts +2 -0
  261. package/src/Utilities/adaptableQlUtils.js +14 -0
  262. package/src/Utilities/license/decode.js +1 -65
  263. package/src/Utilities/license/hashing.js +1 -43
  264. package/src/View/AdaptableViewFactory.js +2 -2
  265. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UIOptionsStatusbarForm.js +1 -1
  266. package/src/View/Alert/AlertEntityRow.js +1 -1
  267. package/src/View/Alert/Utilities/getAvailablePredicates.d.ts +2 -2
  268. package/src/View/Alert/Utilities/getDefaultAlertDefinition.d.ts +1 -1
  269. package/src/View/Alert/Wizard/AlertScopeWizardSection.js +2 -2
  270. package/src/View/Alert/Wizard/BaseAlertScopeWizardSection.js +1 -1
  271. package/src/View/BulkUpdate/BulkUpdatePopup.js +2 -2
  272. package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.d.ts +1 -1
  273. package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.js +3 -3
  274. package/src/View/ColumnInfo/ColumnInfo.js +1 -1
  275. package/src/View/Comments/CommentsEditor.js +28 -17
  276. package/src/View/Comments/CommentsPopup.js +15 -7
  277. package/src/View/Components/AdaptableDateInput/index.d.ts +1 -1
  278. package/src/View/Components/AdaptableInput/AdaptableDateInlineInput.d.ts +5 -0
  279. package/src/View/Components/AdaptableInput/AdaptableDateInlineInput.js +42 -0
  280. package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +5 -2
  281. package/src/View/Components/CellPopup/index.d.ts +1 -0
  282. package/src/View/Components/CellPopup/index.js +6 -3
  283. package/src/View/Components/EntityRulesEditor/EntityRulePredicatesEditor/EntityRulePredicatesEditor.d.ts +3 -3
  284. package/src/View/Components/EntityRulesEditor/index.d.ts +3 -3
  285. package/src/View/Components/FilterForm/FilterForm.js +20 -12
  286. package/src/View/Components/FilterForm/QuickFilterForm.js +15 -8
  287. package/src/View/Components/FilterForm/QuickFilterValues.js +39 -23
  288. package/src/View/Components/NewScopeComponent.d.ts +5 -5
  289. package/src/View/Components/NewScopeComponent.js +6 -4
  290. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopup.js +4 -1
  291. package/src/View/Components/Popups/AdaptablePopup/useMenuItems.js +10 -1
  292. package/src/View/Components/Popups/GridCellPopup/GridCellPopup.js +7 -10
  293. package/src/View/Components/RangesComponent.d.ts +2 -2
  294. package/src/View/Components/RangesComponent.js +1 -1
  295. package/src/View/Components/Selectors/PermittedValuesSelector.js +1 -1
  296. package/src/View/Components/SharedProps/WizardScopeState.d.ts +2 -2
  297. package/src/View/Components/ValueSelector/index.d.ts +1 -0
  298. package/src/View/Components/ValueSelector/index.js +2 -2
  299. package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.js +1 -1
  300. package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +4 -2
  301. package/src/View/DataImport/DataImportWizard/DataImportWizard.js +1 -1
  302. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.d.ts +2 -2
  303. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +20 -7
  304. package/src/View/FormatColumn/Wizard/FormatColumnRuleWizardSection.js +1 -1
  305. package/src/View/FormatColumn/Wizard/FormatColumnScopeWizardSection.js +1 -1
  306. package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +27 -12
  307. package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.js +1 -1
  308. package/src/View/FreeTextColumn/FreeTextColumnSummary.js +1 -1
  309. package/src/View/FreeTextColumn/Wizard/FreeTextColumnWizard.js +3 -1
  310. package/src/View/GridFilter/GridFilterViewPanel.js +3 -3
  311. package/src/View/GridFilter/useGridFilterExpressionEditor.js +1 -1
  312. package/src/View/Layout/LayoutViewPanel.js +2 -1
  313. package/src/View/Layout/TransposedPopup.js +20 -19
  314. package/src/View/Layout/Wizard/LayoutWizard.js +38 -3
  315. package/src/View/Layout/Wizard/sections/ColumnsSection.js +1 -1
  316. package/src/View/Layout/Wizard/sections/FilterSection.js +1 -1
  317. package/src/View/Layout/Wizard/sections/RowGroupingSection.js +18 -2
  318. package/src/View/Layout/Wizard/sections/RowSummarySection.d.ts +9 -0
  319. package/src/View/Layout/Wizard/sections/RowSummarySection.js +174 -0
  320. package/src/View/License/LicenseWatermark.js +1 -61
  321. package/src/View/Note/NotePopup.d.ts +2 -0
  322. package/src/View/{Notes/NotesPopup.js → Note/NotePopup.js} +14 -9
  323. package/src/View/PlusMinus/PlusMinusSummary.js +2 -2
  324. package/src/View/SmartEdit/SmartEditPopup.js +1 -1
  325. package/src/View/SpecialColumnSettingsWizardStep.js +4 -4
  326. package/src/View/StyledColumn/Wizard/StyledColumnBadgeSection.js +5 -7
  327. package/src/View/StyledColumn/Wizard/StyledColumnWizard.js +1 -1
  328. package/src/View/StyledColumn/Wizard/StyledColumnWizardColumnSection.js +1 -1
  329. package/src/View/StyledColumn/Wizard/StyledColumnWizardSettingsSection.js +38 -14
  330. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardStyleSection.js +1 -1
  331. package/src/agGrid/ActionColumnRenderer.js +40 -4
  332. package/src/agGrid/AdaptableAgGrid.d.ts +11 -16
  333. package/src/agGrid/AdaptableAgGrid.js +230 -250
  334. package/src/agGrid/AgGridAdapter.d.ts +4 -2
  335. package/src/agGrid/AgGridAdapter.js +12 -0
  336. package/src/agGrid/AgGridColumnAdapter.d.ts +1 -3
  337. package/src/agGrid/AgGridColumnAdapter.js +42 -71
  338. package/src/agGrid/AgGridMenuAdapter.d.ts +25 -8
  339. package/src/agGrid/AgGridMenuAdapter.js +405 -74
  340. package/src/agGrid/AgGridOptionsService.d.ts +4 -1
  341. package/src/agGrid/AgGridOptionsService.js +22 -0
  342. package/src/agGrid/BadgeRenderer.d.ts +2 -2
  343. package/src/agGrid/BadgeRenderer.js +24 -11
  344. package/src/agGrid/PercentBarRenderer.js +2 -1
  345. package/src/agGrid/buildSortedColumnStateForLayout.d.ts +7 -0
  346. package/src/agGrid/buildSortedColumnStateForLayout.js +120 -0
  347. package/src/agGrid/defaultAdaptableOptions.js +7 -12
  348. package/src/agGrid/editors/AdaptableDateEditor/index.d.ts +1 -1
  349. package/src/agGrid/editors/AdaptableDateEditor/index.js +1 -1
  350. package/src/agGrid/editors/AdaptableNumberEditor/index.d.ts +2 -2
  351. package/src/agGrid/sortColumnStateForVisibleColumns.d.ts +12 -0
  352. package/src/agGrid/sortColumnStateForVisibleColumns.js +46 -0
  353. package/src/agGrid/weightedAverage.d.ts +0 -2
  354. package/src/agGrid/weightedAverage.js +0 -54
  355. package/src/components/Accordion.d.ts +7 -0
  356. package/src/components/Accordion.js +36 -0
  357. package/src/components/CheckBox/index.js +1 -1
  358. package/src/components/Datepicker/index.js +10 -2
  359. package/src/components/ExpressionEditor/QueryBuilder/QueryPredicateBuilder.js +2 -1
  360. package/src/components/ExpressionEditor/QueryBuilder/utils.d.ts +0 -1
  361. package/src/components/ExpressionEditor/QueryBuilder/utils.js +1 -14
  362. package/src/components/Input/index.d.ts +1 -2
  363. package/src/components/ProgressIndicator/ProgressIndicator.js +15 -6
  364. package/src/components/Select/Select.d.ts +1 -1
  365. package/src/components/Select/Select.js +3 -1
  366. package/src/components/Textarea/index.d.ts +2 -2
  367. package/src/components/icons/collapse-all.d.ts +3 -0
  368. package/src/components/icons/collapse-all.js +4 -0
  369. package/src/components/icons/copy.d.ts +3 -0
  370. package/src/components/icons/copy.js +4 -0
  371. package/src/components/icons/csv.d.ts +3 -0
  372. package/src/components/icons/csv.js +4 -0
  373. package/src/components/icons/data-object.d.ts +3 -0
  374. package/src/components/icons/data-object.js +4 -0
  375. package/src/components/icons/excel.d.ts +3 -0
  376. package/src/components/icons/excel.js +5 -0
  377. package/src/components/icons/expand-all.d.ts +3 -0
  378. package/src/components/icons/expand-all.js +4 -0
  379. package/src/components/icons/filter-off.d.ts +3 -0
  380. package/src/components/icons/filter-off.js +4 -0
  381. package/src/components/icons/grid-info.d.ts +3 -0
  382. package/src/components/icons/grid-info.js +4 -0
  383. package/src/components/icons/index.js +22 -0
  384. package/src/components/icons/note.js +2 -2
  385. package/src/components/icons/select-all.d.ts +3 -0
  386. package/src/components/icons/select-all.js +4 -0
  387. package/src/components/icons/select-fwd.d.ts +3 -0
  388. package/src/components/icons/select-fwd.js +4 -0
  389. package/src/components/icons/select-off.d.ts +3 -0
  390. package/src/components/icons/select-off.js +4 -0
  391. package/src/env.js +2 -2
  392. package/src/metamodel/adaptable.metamodel.d.ts +222 -116
  393. package/src/metamodel/adaptable.metamodel.js +1 -9426
  394. package/src/parser/src/parser.js +576 -553
  395. package/src/parser/src/predicate/mapExpressionToQlPredicate.js +1 -1
  396. package/src/parser/src/predicate/mapQlPredicateToExpression.js +3 -4
  397. package/src/parser/src/types.d.ts +2 -2
  398. package/src/parser/src/types.js +1 -2
  399. package/src/types.d.ts +32 -25
  400. package/tsconfig.esm.tsbuildinfo +1 -1
  401. package/src/AdaptableOptions/MenuOptions.d.ts +0 -234
  402. package/src/AdaptableOptions/MenuOptions.js +0 -95
  403. package/src/Api/Events/CommentsChangedInfo.d.ts +0 -5
  404. package/src/Api/Implementation/ScopeApiImpl.d.ts +0 -33
  405. package/src/Api/Internal/NotesInternalApi.d.ts +0 -4
  406. package/src/Api/NotesApi.d.ts +0 -48
  407. package/src/PredefinedConfig/CellAddress.d.ts +0 -13
  408. package/src/PredefinedConfig/CellAddress.js +0 -4
  409. package/src/Redux/ActionsReducers/NotesRedux.d.ts +0 -38
  410. package/src/Strategy/CommentsModule.d.ts +0 -17
  411. package/src/Strategy/CommentsModule.js +0 -81
  412. package/src/Strategy/NotesModule.d.ts +0 -10
  413. package/src/Strategy/NotesModule.js +0 -56
  414. package/src/Utilities/Services/SummaryService.d.ts +0 -19
  415. package/src/Utilities/Services/SummaryService.js +0 -29
  416. package/src/View/Notes/NotesPopup.d.ts +0 -2
  417. /package/src/{Api/Events/CommentsChangedInfo.js → AdaptableOptions/ColumnMenuOptions.js} +0 -0
  418. /package/src/{Api/NotesApi.js → AdaptableOptions/ContextMenuOptions.js} +0 -0
  419. /package/src/Api/{ScopeApi.js → ColumnMenuApi.js} +0 -0
  420. /package/src/{PredefinedConfig/Common/AdaptableScope.js → Api/ColumnScopeApi.js} +0 -0
  421. /package/src/{PredefinedConfig/NotesState.js → Api/ContextMenuApi.js} +0 -0
  422. /package/src/View/{Notes → Note}/NoteEditor.d.ts +0 -0
  423. /package/src/View/{Notes → Note}/NoteEditor.js +0 -0
@@ -13,52 +13,52 @@ export class ChartingInternalApi extends ApiBase {
13
13
  }
14
14
  getContainerElemetnByName(containerName) {
15
15
  var _a, _b, _c;
16
- const chartContainers = (_c = (_b = (_a = this.adaptable.api.optionsApi.getAdaptableOptions()) === null || _a === void 0 ? void 0 : _a.chartingOptions) === null || _b === void 0 ? void 0 : _b.chartContainers) !== null && _c !== void 0 ? _c : [];
16
+ const chartContainers = (_c = (_b = (_a = this.getAdaptableApi().optionsApi.getAdaptableOptions()) === null || _a === void 0 ? void 0 : _a.chartingOptions) === null || _b === void 0 ? void 0 : _b.chartContainers) !== null && _c !== void 0 ? _c : [];
17
17
  const chartContainer = chartContainers.find((container) => container.name === containerName);
18
18
  return this.getContainerElement(chartContainer);
19
19
  }
20
20
  getUniqueChartName() {
21
- const charts = this.adaptable.api.chartingApi.getChartDefinitions();
22
- const externalCharts = this.adaptable.api.chartingApi.getExternalChartDefinitions();
21
+ const charts = this.getAdaptableApi().chartingApi.getChartDefinitions();
22
+ const externalCharts = this.getAdaptableApi().chartingApi.getExternalChartDefinitions();
23
23
  return `Chart ${charts.length + externalCharts.length + 1}`;
24
24
  }
25
25
  // External lib charting service
26
26
  isExternalChartOpened(chartDefinition) {
27
- const externalChartingOptions = this.adaptable.api.optionsApi.getChartingOptions().externalChartingOptions;
27
+ const externalChartingOptions = this.getAdaptableApi().optionsApi.getChartingOptions().externalChartingOptions;
28
28
  if (!(externalChartingOptions === null || externalChartingOptions === void 0 ? void 0 : externalChartingOptions.isChartOpened)) {
29
29
  return false;
30
30
  }
31
31
  if (!chartDefinition) {
32
32
  return false;
33
33
  }
34
- return externalChartingOptions.isChartOpened(Object.assign({ chartDefinition: chartDefinition }, createBaseContext(this.adaptable.api)));
34
+ return externalChartingOptions.isChartOpened(Object.assign({ chartDefinition: chartDefinition }, createBaseContext(this.getAdaptableApi())));
35
35
  }
36
36
  onHideExternalChart(chartDefinition) {
37
- const externalChartingOptions = this.adaptable.api.optionsApi.getChartingOptions().externalChartingOptions;
37
+ const externalChartingOptions = this.getAdaptableApi().optionsApi.getChartingOptions().externalChartingOptions;
38
38
  if (!(externalChartingOptions === null || externalChartingOptions === void 0 ? void 0 : externalChartingOptions.onHideChart)) {
39
39
  return;
40
40
  }
41
- externalChartingOptions.onHideChart(Object.assign({ chartDefinition: chartDefinition }, createBaseContext(this.adaptable.api)));
41
+ externalChartingOptions.onHideChart(Object.assign({ chartDefinition: chartDefinition }, createBaseContext(this.getAdaptableApi())));
42
42
  }
43
43
  onShowExternalChart(chartDefinition, container) {
44
- const externalChartingOptions = this.adaptable.api.optionsApi.getChartingOptions().externalChartingOptions;
44
+ const externalChartingOptions = this.getAdaptableApi().optionsApi.getChartingOptions().externalChartingOptions;
45
45
  if (!(externalChartingOptions === null || externalChartingOptions === void 0 ? void 0 : externalChartingOptions.onShowChart)) {
46
46
  return;
47
47
  }
48
- externalChartingOptions.onShowChart(Object.assign({ chartDefinition: chartDefinition, container: container }, createBaseContext(this.adaptable.api)));
48
+ externalChartingOptions.onShowChart(Object.assign({ chartDefinition: chartDefinition, container: container }, createBaseContext(this.getAdaptableApi())));
49
49
  }
50
50
  onPreviewExternalChart(chartDefinition, container) {
51
- const externalChartingOptions = this.adaptable.api.optionsApi.getChartingOptions().externalChartingOptions;
51
+ const externalChartingOptions = this.getAdaptableApi().optionsApi.getChartingOptions().externalChartingOptions;
52
52
  if (!(externalChartingOptions === null || externalChartingOptions === void 0 ? void 0 : externalChartingOptions.onPreviewChart)) {
53
53
  return;
54
54
  }
55
- return externalChartingOptions.onPreviewChart(Object.assign({ chartDefinition: chartDefinition, container: container }, createBaseContext(this.adaptable.api)));
55
+ return externalChartingOptions.onPreviewChart(Object.assign({ chartDefinition: chartDefinition, container: container }, createBaseContext(this.getAdaptableApi())));
56
56
  }
57
57
  onDeleteExternalChart(chartDefinition) {
58
- const externalChartingOptions = this.adaptable.api.optionsApi.getChartingOptions().externalChartingOptions;
58
+ const externalChartingOptions = this.getAdaptableApi().optionsApi.getChartingOptions().externalChartingOptions;
59
59
  if (!(externalChartingOptions === null || externalChartingOptions === void 0 ? void 0 : externalChartingOptions.onDeleteChart)) {
60
60
  return;
61
61
  }
62
- externalChartingOptions.onDeleteChart(Object.assign({ chartDefinition: chartDefinition }, createBaseContext(this.adaptable.api)));
62
+ externalChartingOptions.onDeleteChart(Object.assign({ chartDefinition: chartDefinition }, createBaseContext(this.getAdaptableApi())));
63
63
  }
64
64
  }
@@ -49,6 +49,7 @@ export declare class ColumnFilterInternalApi extends ApiBase {
49
49
  * Fires Column Filter Applied Event - typically used to enable filtering on the server
50
50
  */
51
51
  fireColumnFilterAppliedEvent(): void;
52
+ fireGridFilterAppliedEvent(): void;
52
53
  /**
53
54
  * Compares to sets of Column Filters to see if they are identical
54
55
  * @param filters1
@@ -43,7 +43,7 @@ export class ColumnFilterInternalApi extends ApiBase {
43
43
  const filter = {
44
44
  ColumnId: column.columnId,
45
45
  Predicate: {
46
- PredicateId: this.adaptable.api.predicateApi.internalApi.getEqualityPredicateForDataType(column.dataType),
46
+ PredicateId: this.getAdaptableApi().predicateApi.internalApi.getEqualityPredicateForDataType(column.dataType),
47
47
  Inputs: [...new Set([gridCell.rawValue])],
48
48
  },
49
49
  };
@@ -55,11 +55,11 @@ export class ColumnFilterInternalApi extends ApiBase {
55
55
  * @param columnFilter Column Filter to use
56
56
  */
57
57
  columnFilterToString(columnFilter) {
58
- const friendlyName = this.adaptable.api.columnApi.getFriendlyNameForColumnId(columnFilter.ColumnId);
58
+ const friendlyName = this.getAdaptableApi().columnApi.getFriendlyNameForColumnId(columnFilter.ColumnId);
59
59
  return ('[' +
60
60
  friendlyName +
61
61
  '] ' +
62
- this.adaptable.api.predicateApi.predicateToString(columnFilter.Predicate));
62
+ this.getAdaptableApi().predicateApi.predicateToString(columnFilter.Predicate));
63
63
  }
64
64
  /**
65
65
  * Retrieves descriptions of given Column Filters
@@ -99,17 +99,9 @@ export class ColumnFilterInternalApi extends ApiBase {
99
99
  return true;
100
100
  }
101
101
  let value = gridCell.normalisedValue;
102
- const predicateDefHandlerContext = {
103
- value: value,
104
- oldValue: null,
105
- displayValue: gridCell.displayValue,
106
- node,
107
- column,
108
- adaptableApi: this.getAdaptableApi(),
109
- userName: this.getAdaptableApi().optionsApi.getUserName(),
110
- adaptableId: this.getAdaptableApi().optionsApi.getAdaptableId(),
111
- };
112
- return this.adaptable.api.predicateApi.handlePredicate(columnFilter.Predicate, predicateDefHandlerContext, true);
102
+ const predicateDefHandlerContext = Object.assign({ value: value, oldValue: null, displayValue: gridCell.displayValue, node,
103
+ column }, this.getAdaptableApi().internalApi.buildBaseContext());
104
+ return this.getAdaptableApi().predicateApi.handlePredicate(columnFilter.Predicate, predicateDefHandlerContext, true);
113
105
  }
114
106
  /**
115
107
  * Checks if the filter action should trigger Column Filtering
@@ -128,32 +120,32 @@ export class ColumnFilterInternalApi extends ApiBase {
128
120
  // filter -> suspend changes
129
121
  var _a, _b;
130
122
  const isNewAndActive = action.type === LayoutRedux.LAYOUT_COLUMN_FILTER_ADD &&
131
- this.adaptable.api.columnFilterApi.isColumnFilterActive(action.columnFilter);
123
+ this.getAdaptableApi().columnFilterApi.isColumnFilterActive(action.columnFilter);
132
124
  const isClearAndPreviousWasActive = action.type === LayoutRedux.LAYOUT_COLUMN_FILTER_CLEAR &&
133
- this.adaptable.api.columnFilterApi.isColumnFilterActive(action.columnFilter);
125
+ this.getAdaptableApi().columnFilterApi.isColumnFilterActive(action.columnFilter);
134
126
  const isClearAllAtLeastOneActiveFilter = action.type === LayoutRedux.LAYOUT_COLUMN_FILTER_CLEAR_ALL &&
135
- this.adaptable.api.columnFilterApi
136
- .getColumnFilters()
137
- .some((columnFilter) => this.adaptable.api.columnFilterApi.isColumnFilterActive(columnFilter));
127
+ this.getAdaptableApi()
128
+ .columnFilterApi.getColumnFilters()
129
+ .some((columnFilter) => this.getAdaptableApi().columnFilterApi.isColumnFilterActive(columnFilter));
138
130
  let isEditTrigger = false;
139
131
  if (action.type === LayoutRedux.LAYOUT_COLUMN_FILTER_EDIT) {
140
132
  const newFilter = action.columnFilter;
141
- const previous = this.adaptable.api.columnFilterApi.getColumnFilterForColumn(newFilter.ColumnId);
133
+ const previous = this.getAdaptableApi().columnFilterApi.getColumnFilterForColumn(newFilter.ColumnId);
142
134
  // same filter edit, so always trigger
143
135
  if (((_a = previous === null || previous === void 0 ? void 0 : previous.Predicate) === null || _a === void 0 ? void 0 : _a.PredicateId) === ((_b = newFilter === null || newFilter === void 0 ? void 0 : newFilter.Predicate) === null || _b === void 0 ? void 0 : _b.PredicateId)) {
144
136
  isEditTrigger = true;
145
137
  // new filter is active
146
138
  }
147
- else if (this.adaptable.api.columnFilterApi.isColumnFilterActive(newFilter)) {
139
+ else if (this.getAdaptableApi().columnFilterApi.isColumnFilterActive(newFilter)) {
148
140
  isEditTrigger = true;
149
141
  }
150
- else if (this.adaptable.api.columnFilterApi.isColumnFilterActive(previous)) {
142
+ else if (this.getAdaptableApi().columnFilterApi.isColumnFilterActive(previous)) {
151
143
  // previous filter was active
152
144
  isEditTrigger = true;
153
145
  }
154
146
  }
155
147
  const isSetAndActive = action.type === LayoutRedux.LAYOUT_COLUMN_FILTER_SET &&
156
- this.adaptable.api.columnFilterApi.isColumnFilterActive(action.columnFilter);
148
+ this.getAdaptableApi().columnFilterApi.isColumnFilterActive(action.columnFilter);
157
149
  const isSuspendChanged = [
158
150
  LayoutRedux.LAYOUT_COLUMN_FILTER_SUSPEND,
159
151
  LayoutRedux.LAYOUT_COLUMN_FILTER_SUSPEND_ALL,
@@ -173,13 +165,15 @@ export class ColumnFilterInternalApi extends ApiBase {
173
165
  fireColumnFilterAppliedEvent() {
174
166
  if (this.adaptable.isReady) {
175
167
  const adaptableApi = this.getAdaptableApi();
176
- const columnFilterAppliedInfo = {
177
- columnFilters: this.getColumnFilterApi().getColumnFilters(),
178
- adaptableApi: adaptableApi,
179
- userName: adaptableApi.optionsApi.getUserName(),
180
- adaptableId: adaptableApi.optionsApi.getAdaptableId(),
181
- };
182
- this.adaptable.api.eventApi.emit('ColumnFilterApplied', columnFilterAppliedInfo);
168
+ const columnFilterAppliedInfo = Object.assign({ columnFilters: this.getColumnFilterApi().getColumnFilters() }, this.getAdaptableApi().internalApi.buildBaseContext());
169
+ this.getAdaptableApi().eventApi.emit('ColumnFilterApplied', columnFilterAppliedInfo);
170
+ }
171
+ }
172
+ fireGridFilterAppliedEvent() {
173
+ if (this.adaptable.isReady) {
174
+ const adaptableApi = this.getAdaptableApi();
175
+ const gridFilterAppliedInfo = Object.assign({ columnFilters: this.getColumnFilterApi().getColumnFilters() }, this.getAdaptableApi().internalApi.buildBaseContext());
176
+ this.getAdaptableApi().eventApi.emit('GridFilterApplied', gridFilterAppliedInfo);
183
177
  }
184
178
  }
185
179
  /**
@@ -2,6 +2,7 @@ import { ApiBase } from '../Implementation/ApiBase';
2
2
  import { Column, IRowNode } from '@ag-grid-community/core';
3
3
  import { CustomSort } from '../../PredefinedConfig/CustomSortState';
4
4
  import { ColumnValuesComparer } from '../../AdaptableOptions/CustomSortOptions';
5
+ export declare function getAutoRowGroupColumnIdFor(columnId: string): string;
5
6
  export declare class ColumnInternalApi extends ApiBase {
6
7
  /**
7
8
  * Retrieves 'ColumnType' property for a given Column
@@ -15,6 +16,7 @@ export declare class ColumnInternalApi extends ApiBase {
15
16
  * Retrieves a list providing the Friendly Name / Caption for all columns
16
17
  */
17
18
  getAllColumnFriendlyNames(): string[];
19
+ getAutoRowGroupColumnIdFor(columnId: string): string;
18
20
  /**
19
21
  * Retrieves AG Grid's field property for the column
20
22
  * @param columnId columnId to look up
@@ -1,5 +1,8 @@
1
1
  import { ApiBase } from '../Implementation/ApiBase';
2
- import { ADAPTABLE_ROW_ACTION_BUTTONS } from '../../Utilities/Constants/GeneralConstants';
2
+ import { ADAPTABLE_ROW_ACTION_BUTTONS, AG_GRID_GROUPED_COLUMN, } from '../../Utilities/Constants/GeneralConstants';
3
+ export function getAutoRowGroupColumnIdFor(columnId) {
4
+ return `${AG_GRID_GROUPED_COLUMN}-${columnId}`;
5
+ }
3
6
  export class ColumnInternalApi extends ApiBase {
4
7
  /**
5
8
  * Retrieves 'ColumnType' property for a given Column
@@ -21,6 +24,9 @@ export class ColumnInternalApi extends ApiBase {
21
24
  return c.friendlyName;
22
25
  });
23
26
  }
27
+ getAutoRowGroupColumnIdFor(columnId) {
28
+ return getAutoRowGroupColumnIdFor(columnId);
29
+ }
24
30
  /**
25
31
  * Retrieves AG Grid's field property for the column
26
32
  * @param columnId columnId to look up
@@ -1,4 +1,4 @@
1
1
  import { ApiBase } from '../Implementation/ApiBase';
2
2
  export declare class CommentsInternalApi extends ApiBase {
3
- areCommentsAvailable(): boolean;
3
+ areCommentsSupported(): boolean;
4
4
  }
@@ -1,11 +1,12 @@
1
1
  import { ApiBase } from '../Implementation/ApiBase';
2
2
  export class CommentsInternalApi extends ApiBase {
3
- areCommentsAvailable() {
3
+ areCommentsSupported() {
4
+ var _a;
4
5
  const currentLayout = this.getLayoutApi().getCurrentLayout();
5
6
  if (currentLayout.EnablePivot) {
6
7
  return false;
7
8
  }
8
- if (currentLayout.RowGroupedColumns) {
9
+ if ((_a = currentLayout === null || currentLayout === void 0 ? void 0 : currentLayout.RowGroupedColumns) === null || _a === void 0 ? void 0 : _a.length) {
9
10
  return false;
10
11
  }
11
12
  return true;
@@ -3,7 +3,7 @@ export class CustomSortInternalApi extends ApiBase {
3
3
  getCustomSortComparer(columnId) {
4
4
  var _a;
5
5
  const column = this.getColumnApi().getColumnWithColumnId(columnId);
6
- return (_a = this.getCustomSortOptions().customSortComparers) === null || _a === void 0 ? void 0 : _a.find((csc) => this.adaptable.api.scopeApi.isColumnInScope(column, csc.scope));
6
+ return (_a = this.getCustomSortOptions().customSortComparers) === null || _a === void 0 ? void 0 : _a.find((csc) => this.getAdaptableApi().columnScopeApi.isColumnInScope(column, csc.scope));
7
7
  }
8
8
  getDefaultCustomSortComparer(columnId, columnValues) {
9
9
  // have to return a function that may not have access to this
@@ -26,18 +26,12 @@ export class DashboardInternalApi extends ApiBase {
26
26
  }
27
27
  return visibleInOldState && !visibleInNewState;
28
28
  };
29
- const dashboardChangedInfo = {
30
- adaptableApi: this.adaptable.api,
31
- actionName: trigger,
32
- oldDashboardState,
29
+ const dashboardChangedInfo = Object.assign(Object.assign({}, this.getAdaptableApi().internalApi.buildBaseContext()), { actionName: trigger, oldDashboardState,
33
30
  newDashboardState,
34
31
  isToolbarStateChangedToVisible,
35
- isToolbarStateChangedToHidden,
36
- userName: this.adaptable.api.optionsApi.getUserName(),
37
- adaptableId: this.adaptable.api.optionsApi.getAdaptableId(),
38
- };
32
+ isToolbarStateChangedToHidden });
39
33
  if (!isEqual(oldDashboardState, newDashboardState)) {
40
- setTimeout(() => this.adaptable.api.eventApi.emit('DashboardChanged', dashboardChangedInfo));
34
+ setTimeout(() => this.getAdaptableApi().eventApi.emit('DashboardChanged', dashboardChangedInfo));
41
35
  }
42
36
  }
43
37
  isToolbarInActiveTab(toolbarName, dashboardState) {
@@ -57,8 +51,8 @@ export class DashboardInternalApi extends ApiBase {
57
51
  return false;
58
52
  }
59
53
  isToolbarCustom(toolbarName) {
60
- return this.adaptable.api.dashboardApi
61
- .getCustomToolbars()
54
+ return this.getAdaptableApi()
55
+ .dashboardApi.getCustomToolbars()
62
56
  .some((tb) => tb.name === toolbarName);
63
57
  }
64
58
  getCustomToolbarRenderContainerId(customToolbarName) {
@@ -52,16 +52,10 @@ export class DataImportInternalApi extends ApiBase {
52
52
  * @param gridDataRows Rows that were imported
53
53
  */
54
54
  publishDataImportedEvent(importData, addedRows, updatedRows) {
55
- const adaptableApi = this.getAdaptableApi();
56
- const dataImportedInfo = {
57
- adaptableApi: adaptableApi,
58
- importData,
55
+ const dataImportedInfo = Object.assign({ importData,
59
56
  addedRows,
60
- updatedRows,
61
- userName: adaptableApi.optionsApi.getUserName(),
62
- adaptableId: adaptableApi.optionsApi.getAdaptableId(),
63
- };
64
- this.adaptable.api.internalApi.dispatchReduxAction(SystemRedux.DataImportCompleted(dataImportedInfo));
57
+ updatedRows }, this.getAdaptableApi().internalApi.buildBaseContext());
58
+ this.getAdaptableApi().internalApi.dispatchReduxAction(SystemRedux.DataImportCompleted(dataImportedInfo));
65
59
  this.getEventApi().emit('DataImported', dataImportedInfo);
66
60
  }
67
61
  }
@@ -6,13 +6,8 @@ export class DataSetInternalApi extends ApiBase {
6
6
  */
7
7
  fireDataSetSelectedEvent(dataSet) {
8
8
  if (this.adaptable.isReady) {
9
- const dataSetSelectedInfo = {
10
- adaptableApi: this.adaptable.api,
11
- dataSet,
12
- userName: this.adaptable.api.optionsApi.getUserName(),
13
- adaptableId: this.adaptable.api.optionsApi.getAdaptableId(),
14
- };
15
- this.adaptable.api.eventApi.emit('DataSetSelected', dataSetSelectedInfo);
9
+ const dataSetSelectedInfo = Object.assign(Object.assign({}, this.getAdaptableApi().internalApi.buildBaseContext()), { dataSet });
10
+ this.getAdaptableApi().eventApi.emit('DataSetSelected', dataSetSelectedInfo);
16
11
  }
17
12
  }
18
13
  }
@@ -2,7 +2,7 @@ import { ApiBase } from '../Implementation/ApiBase';
2
2
  import { CellDataChangedInfo } from '../../PredefinedConfig/Common/CellDataChangedInfo';
3
3
  import { Report } from '../../PredefinedConfig/ExportState';
4
4
  import { AdaptableColumnType } from '../../PredefinedConfig/Common/Types';
5
- import { ExcelDataType } from '@ag-grid-community/core';
5
+ import { ExcelDataType, ExcelStyle } from '@ag-grid-community/core';
6
6
  import { AdaptableColumnDataType } from '../../PredefinedConfig/Common/AdaptableColumn';
7
7
  import { DataFormatType } from '../../AdaptableOptions/ExportOptions';
8
8
  export declare class ExportInternalApi extends ApiBase {
@@ -17,4 +17,5 @@ export declare class ExportInternalApi extends ApiBase {
17
17
  isDateCellExportedAsFormattedValue(): boolean;
18
18
  getCellExportFormatType(columnDataType: AdaptableColumnDataType): DataFormatType;
19
19
  isDestinationEnabled(destination: string): boolean;
20
+ getExcelStylesForVisualDataExport(original_excelStyles: ExcelStyle[]): ExcelStyle[];
20
21
  }
@@ -21,12 +21,12 @@ export class ExportInternalApi extends ApiBase {
21
21
  break;
22
22
  case 'ScopeColumns':
23
23
  // use the Scope object which will tell us if the Column is relevant
24
- if (!this.adaptable.api.scopeApi.isColumnInScopeColumns(cellDataChangedInfo.column, report.Scope)) {
24
+ if (!this.getAdaptableApi().columnScopeApi.isColumnInScopeColumns(cellDataChangedInfo.column, report.Scope)) {
25
25
  return false;
26
26
  }
27
27
  break;
28
28
  case 'SelectedColumns':
29
- let selectedCellInfo = this.adaptable.api.gridApi.getSelectedCellInfo();
29
+ let selectedCellInfo = this.getAdaptableApi().gridApi.getSelectedCellInfo();
30
30
  if (selectedCellInfo) {
31
31
  if (selectedCellInfo.columns.find((c) => c.columnId == cellDataChangedInfo.column.columnId) == null) {
32
32
  return false;
@@ -47,7 +47,7 @@ export class ExportInternalApi extends ApiBase {
47
47
  case 'ExpressionRows':
48
48
  return true; // TODO this is the only difficult one - do we check AdapTableQL? if we can then that is good as we can then do a delta after all...
49
49
  case 'SelectedCellRows':
50
- let selectedCellInfo = this.adaptable.api.gridApi.getSelectedCellInfo();
50
+ let selectedCellInfo = this.getAdaptableApi().gridApi.getSelectedCellInfo();
51
51
  if (selectedCellInfo && selectedCellInfo.gridCells) {
52
52
  if (selectedCellInfo.gridCells.find((gc) => gc.primaryKeyValue == cellDataChangedInfo.primaryKeyValue)) {
53
53
  return true;
@@ -55,7 +55,7 @@ export class ExportInternalApi extends ApiBase {
55
55
  }
56
56
  return false;
57
57
  case 'SelectedRows':
58
- let selectedRowInfo = this.adaptable.api.gridApi.getSelectedRowInfo();
58
+ let selectedRowInfo = this.getAdaptableApi().gridApi.getSelectedRowInfo();
59
59
  if (selectedRowInfo && selectedRowInfo.gridRows) {
60
60
  if (selectedRowInfo.gridRows.find((gr) => gr.primaryKeyValue == cellDataChangedInfo.primaryKeyValue)) {
61
61
  return true;
@@ -92,7 +92,7 @@ export class ExportInternalApi extends ApiBase {
92
92
  }
93
93
  }
94
94
  isVisualDataExportInProgress() {
95
- return this.getAdaptableState().System.Export.inProgressVisualData;
95
+ return this.getAdaptableState().System.Export.visualDataExportInProgress;
96
96
  }
97
97
  isDateCellExportedAsFormattedValue() {
98
98
  return (!!this.getExportOptions().exportDateFormat ||
@@ -123,4 +123,7 @@ export class ExportInternalApi extends ApiBase {
123
123
  }
124
124
  return true;
125
125
  }
126
+ getExcelStylesForVisualDataExport(original_excelStyles) {
127
+ return [];
128
+ }
126
129
  }
@@ -15,12 +15,7 @@ export class ExpressionInternalApi extends ApiBase {
15
15
  if (typeof evaluateExpressionExternallyFn !== 'function') {
16
16
  return true;
17
17
  }
18
- const context = {
19
- adaptableApi: this.getAdaptableApi(),
20
- userName: this.getOptions().userName,
21
- adaptableId: this.getOptions().adaptableId,
22
- module,
23
- };
18
+ const context = Object.assign(Object.assign({}, this.getAdaptableApi().internalApi.buildBaseContext()), { module });
24
19
  if (object) {
25
20
  context.object = object;
26
21
  }
@@ -38,12 +33,7 @@ export class ExpressionInternalApi extends ApiBase {
38
33
  if (typeof evaluateExpressionExternallyFn !== 'function') {
39
34
  return true;
40
35
  }
41
- const context = {
42
- adaptableApi: this.getAdaptableApi(),
43
- userName: this.getAdaptableApi().optionsApi.getUserName(),
44
- adaptableId: this.getAdaptableApi().optionsApi.getAdaptableId(),
45
- module,
46
- };
36
+ const context = Object.assign(Object.assign({}, this.getAdaptableApi().internalApi.buildBaseContext()), { module });
47
37
  if (object) {
48
38
  context.object = object;
49
39
  }
@@ -51,7 +41,7 @@ export class ExpressionInternalApi extends ApiBase {
51
41
  context.predicates = predicates;
52
42
  // need to find a way to get the columns in the predicates
53
43
  // cand do later
54
- // this.getAdaptableApi().scopeApi.getColumnsForScope();
44
+ // this.getAdaptableApi().columnScopeApi.getColumnsForScope();
55
45
  }
56
46
  return !evaluateExpressionExternallyFn(context);
57
47
  }
@@ -39,7 +39,7 @@ export class Fdc3InternalApi extends ApiBase {
39
39
  editable: false,
40
40
  width: actionColumnConfig.width,
41
41
  resizable: actionColumnConfig.resizable,
42
- suppressMenu: true,
42
+ suppressHeaderMenuButton: true,
43
43
  suppressMovable: !actionColumnConfig.movable,
44
44
  filter: false,
45
45
  sortable: false,
@@ -59,7 +59,7 @@ export class Fdc3InternalApi extends ApiBase {
59
59
  editable: false,
60
60
  width: actionColumnConfig.defaultWidth,
61
61
  resizable: true,
62
- suppressMenu: true,
62
+ suppressHeaderMenuButton: true,
63
63
  suppressMovable: false,
64
64
  filter: false,
65
65
  sortable: false,
@@ -265,16 +265,7 @@ export class Fdc3InternalApi extends ApiBase {
265
265
  }
266
266
  mapFdc3ButtonConfigToAdaptableButton(fdc3AdaptableButton, fdcInfo) {
267
267
  const buildFdc3Context = (context) => {
268
- return {
269
- context: this.mapRowToContextData(fdcInfo.contextType, context.rowNode),
270
- intent: fdcInfo.action === 'raiseIntent' ? fdcInfo.intent : null,
271
- rowNode: context.rowNode,
272
- rowData: context.data,
273
- adaptableId: context.adaptableId,
274
- primaryKeyValue: context.primaryKeyValue,
275
- userName: context.userName,
276
- adaptableApi: context.adaptableApi,
277
- };
268
+ return Object.assign({ context: this.mapRowToContextData(fdcInfo.contextType, context.rowNode), intent: fdcInfo.action === 'raiseIntent' ? fdcInfo.intent : null, rowNode: context.rowNode, rowData: context.data, primaryKeyValue: context.primaryKeyValue }, this.getAdaptableApi().internalApi.buildBaseContext());
278
269
  };
279
270
  return {
280
271
  onClick: (_button, context) => {
@@ -1,4 +1,4 @@
1
- import { AdaptableColumn, AdaptableFormat, AdaptablePredicateDef, AdaptableScope, FormatColumn, StringFormatterOptions } from '../../types';
1
+ import { AdaptableColumn, AdaptableFormat, AdaptablePredicateDef, ColumnScope, FormatColumn, StringFormatterOptions } from '../../types';
2
2
  import { ApiBase } from '../Implementation/ApiBase';
3
3
  import { IRowNode } from '@ag-grid-community/core';
4
4
  export declare class FormatColumnInternalApi extends ApiBase {
@@ -76,7 +76,7 @@ export declare class FormatColumnInternalApi extends ApiBase {
76
76
  * Returns all Predicates appropriate for the given Scope
77
77
  * @param scope Scope to check
78
78
  */
79
- getFormatColumnDefsForScope(scope: AdaptableScope): AdaptablePredicateDef[];
79
+ getFormatColumnDefsForScope(scope: ColumnScope): AdaptablePredicateDef[];
80
80
  /**
81
81
  * Checks if format column is relevant for a given cell (intersection of given AdaptableColumn and RowNode)
82
82
  *
@@ -84,10 +84,7 @@ export declare class FormatColumnInternalApi extends ApiBase {
84
84
  * @param column
85
85
  * @param params
86
86
  */
87
- isFormatColumnRelevantForColumn(formatColumn: FormatColumn, column: AdaptableColumn, params: {
88
- node: IRowNode;
89
- value: any;
90
- }): boolean;
87
+ formatColumnShouldRender(formatColumn: FormatColumn, column: AdaptableColumn, rowNode: IRowNode, cellValue: any): boolean;
91
88
  private evaluatePredicate;
92
89
  private evaluateExpression;
93
90
  /**
@@ -59,7 +59,7 @@ export class FormatColumnInternalApi extends ApiBase {
59
59
  return this.getFormatColumnsWithStyleForColumn(column, config).filter((formatColumn) => { var _a; return StringExtensions.IsNotNullOrEmpty((_a = formatColumn === null || formatColumn === void 0 ? void 0 : formatColumn.Style) === null || _a === void 0 ? void 0 : _a.ClassName); });
60
60
  }
61
61
  getFormatColumnWithColumnInScope(formatColumns, column) {
62
- return this.getFormatColumnInColumnScope(formatColumns).filter((scopedFormatColumn) => this.adaptable.api.scopeApi.isColumnInScope(column, scopedFormatColumn.Scope));
62
+ return this.getFormatColumnInColumnScope(formatColumns).filter((scopedFormatColumn) => this.getAdaptableApi().columnScopeApi.isColumnInScope(column, scopedFormatColumn.Scope));
63
63
  }
64
64
  // TODO is this really needed, I don't think it achieves anything
65
65
  getFormatColumnInColumnScope(formatColumns) {
@@ -67,11 +67,11 @@ export class FormatColumnInternalApi extends ApiBase {
67
67
  return formatColumns.filter((fc) => {
68
68
  return (
69
69
  // this.getFormatColumnsWithColumnScope(formatColumns)
70
- (this.adaptable.api.scopeApi.scopeHasColumns(fc.Scope) ||
70
+ (this.getAdaptableApi().columnScopeApi.scopeHasColumns(fc.Scope) ||
71
71
  // this.getFormatColumnsWithDataTypeScope(formatColumns)
72
- this.adaptable.api.scopeApi.scopeHasDataType(fc.Scope) ||
72
+ this.getAdaptableApi().columnScopeApi.scopeHasDataType(fc.Scope) ||
73
73
  // this.getFormatColumnsWithAllScope(formatColumns)
74
- this.adaptable.api.scopeApi.scopeIsAll(fc.Scope) || this.adaptable.api.scopeApi.scopeHasColumnType(fc.Scope))
74
+ this.getAdaptableApi().columnScopeApi.scopeIsAll(fc.Scope) || this.getAdaptableApi().columnScopeApi.scopeHasColumnType(fc.Scope))
75
75
  );
76
76
  });
77
77
  }
@@ -144,7 +144,7 @@ export class FormatColumnInternalApi extends ApiBase {
144
144
  getFormatColumnDefsForScope(scope) {
145
145
  return this.getAdaptableApi()
146
146
  .predicateApi.internalApi.getFormatColumnPredicateDefs(scope)
147
- .filter((predicateDef) => this.adaptable.api.scopeApi.isScopeInScope(scope, predicateDef.columnScope));
147
+ .filter((predicateDef) => this.getAdaptableApi().columnScopeApi.isScopeInScope(scope, predicateDef.columnScope));
148
148
  }
149
149
  /**
150
150
  * Checks if format column is relevant for a given cell (intersection of given AdaptableColumn and RowNode)
@@ -153,48 +153,53 @@ export class FormatColumnInternalApi extends ApiBase {
153
153
  * @param column
154
154
  * @param params
155
155
  */
156
- isFormatColumnRelevantForColumn(formatColumn, column, params) {
157
- var _a, _b;
156
+ formatColumnShouldRender(formatColumn, column, rowNode, cellValue) {
157
+ var _a, _b, _c, _d, _e;
158
158
  // suspended is important to be first
159
159
  if (formatColumn.IsSuspended) {
160
160
  return false;
161
161
  }
162
- if (!formatColumn.IncludeGroupedRows &&
163
- this.adaptable.api.gridApi.isGroupRowNode(params.node)) {
164
- return false;
162
+ const isSummaryNode = this.getAdaptableApi().gridApi.isSummaryNode(rowNode);
163
+ const isGroupedRowNode = this.getAdaptableApi().gridApi.isGroupRowNode(rowNode);
164
+ // For Summary Rows cannot be excluded
165
+ if (isSummaryNode) {
166
+ if ((_a = formatColumn.RowScope) === null || _a === void 0 ? void 0 : _a.ExcludeSummaryRows) {
167
+ return false;
168
+ }
169
+ }
170
+ else if (isGroupedRowNode) {
171
+ if ((_b = formatColumn.RowScope) === null || _b === void 0 ? void 0 : _b.ExcludeGroupRows) {
172
+ return false;
173
+ }
174
+ }
175
+ else {
176
+ if ((_c = formatColumn.RowScope) === null || _c === void 0 ? void 0 : _c.ExcludeDataRows) {
177
+ return false;
178
+ }
165
179
  }
166
180
  if (!formatColumn.Rule) {
167
181
  return true;
168
182
  }
169
183
  // first run the predicate
170
- if (formatColumn.Rule.Predicates && ((_b = (_a = formatColumn.Rule) === null || _a === void 0 ? void 0 : _a.Predicates) === null || _b === void 0 ? void 0 : _b.length)) {
171
- const predicateDefHandlerContext = {
172
- value: params.value,
173
- oldValue: null,
174
- displayValue: params.value,
175
- node: params.node,
176
- column: column,
177
- adaptableApi: this.getAdaptableApi(),
178
- userName: this.getAdaptableApi().optionsApi.getUserName(),
179
- adaptableId: this.getAdaptableApi().optionsApi.getAdaptableId(),
180
- };
184
+ if (formatColumn.Rule.Predicates && ((_e = (_d = formatColumn.Rule) === null || _d === void 0 ? void 0 : _d.Predicates) === null || _e === void 0 ? void 0 : _e.length)) {
185
+ const predicateDefHandlerContext = Object.assign({ value: cellValue, oldValue: null, displayValue: cellValue, node: rowNode, column: column }, this.getAdaptableApi().internalApi.buildBaseContext());
181
186
  return this.evaluatePredicate(formatColumn, predicateDefHandlerContext);
182
- }
187
+ } // then run the Expression
183
188
  else if (formatColumn.Rule.BooleanExpression) {
184
- return this.evaluateExpression(formatColumn, params.node);
189
+ return this.evaluateExpression(formatColumn, rowNode);
185
190
  }
186
191
  // nothing has passed then return false
187
192
  return false;
188
193
  }
189
194
  evaluatePredicate(formatColumn, predicateDefHandlerContext) {
190
195
  var _a;
191
- return this.adaptable.api.predicateApi.handleColumnPredicates((_a = formatColumn.Rule) === null || _a === void 0 ? void 0 : _a.Predicates, predicateDefHandlerContext, false);
196
+ return this.getAdaptableApi().predicateApi.handleColumnPredicates((_a = formatColumn.Rule) === null || _a === void 0 ? void 0 : _a.Predicates, predicateDefHandlerContext, false);
192
197
  }
193
198
  evaluateExpression(formatColumn, node) {
194
- const isValidExpression = this.adaptable.api.expressionApi.isValidBooleanExpression(formatColumn.Rule.BooleanExpression, ModuleConstants.FormatColumnModuleId, `Invalid format column rule '${formatColumn.Rule.BooleanExpression}'`);
199
+ const isValidExpression = this.getAdaptableApi().expressionApi.isValidBooleanExpression(formatColumn.Rule.BooleanExpression, ModuleConstants.FormatColumnModuleId, `Invalid format column rule '${formatColumn.Rule.BooleanExpression}'`);
195
200
  return (isValidExpression &&
196
- this.adaptable.api.internalApi
197
- .getQueryLanguageService()
201
+ this.getAdaptableApi()
202
+ .internalApi.getQueryLanguageService()
198
203
  .evaluateBooleanExpression(formatColumn.Rule.BooleanExpression, ModuleConstants.FormatColumnModuleId, node));
199
204
  }
200
205
  /**
@@ -205,7 +210,7 @@ export class FormatColumnInternalApi extends ApiBase {
205
210
  * @param params
206
211
  */
207
212
  getFormatColumnsRelevantForColumn(formatColumns, column, params) {
208
- return formatColumns.filter((formatColumn) => this.isFormatColumnRelevantForColumn(formatColumn, column, params));
213
+ return formatColumns.filter((formatColumn) => this.formatColumnShouldRender(formatColumn, column, params.node, params.value));
209
214
  }
210
215
  /**
211
216
  * Extract from the given FormatColumns the one which is the most relevant for a given cell (intersection of given AdaptableColumn and RowNode)
@@ -215,7 +220,7 @@ export class FormatColumnInternalApi extends ApiBase {
215
220
  * @param params
216
221
  */
217
222
  getMostRelevantFormatColumnForColumn(formatColumns, column, params) {
218
- return formatColumns.find((formatColumn) => this.isFormatColumnRelevantForColumn(formatColumn, column, params));
223
+ return formatColumns.find((formatColumn) => this.formatColumnShouldRender(formatColumn, column, params.node, params.value));
219
224
  }
220
225
  /**
221
226
  * Retrieves all Format Columns which have an Expression
@@ -244,7 +249,9 @@ export class FormatColumnInternalApi extends ApiBase {
244
249
  });
245
250
  const columnsThatNeedRefresh = new Set();
246
251
  this.getFormatColumnsDependentOnColumns(impactedColumnIds).forEach((formatColumn) => {
247
- this.adaptable.api.scopeApi.getColumnsForScope(formatColumn.Scope).forEach((col) => {
252
+ this.getAdaptableApi()
253
+ .columnScopeApi.getColumnsForScope(formatColumn.Scope)
254
+ .forEach((col) => {
248
255
  columnsThatNeedRefresh.add(col.columnId);
249
256
  });
250
257
  });