@adaptabletools/adaptable 18.0.0-canary.8 → 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 (439) 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 +10 -4
  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 +15 -14
  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} +36 -26
  30. package/src/Api/CommentApi.d.ts +20 -22
  31. package/src/Api/ConfigApi.d.ts +4 -5
  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 +35 -3
  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} +65 -19
  57. package/src/Api/Implementation/CommentsApiImpl.d.ts +8 -5
  58. package/src/Api/Implementation/CommentsApiImpl.js +10 -5
  59. package/src/Api/Implementation/ConfigApiImpl.d.ts +2 -2
  60. package/src/Api/Implementation/ConfigApiImpl.js +27 -28
  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 -1
  72. package/src/Api/Implementation/GridApiImpl.js +63 -9
  73. package/src/Api/Implementation/LayoutApiImpl.d.ts +4 -11
  74. package/src/Api/Implementation/LayoutApiImpl.js +20 -28
  75. package/src/Api/Implementation/NoteApiImpl.d.ts +18 -0
  76. package/src/Api/Implementation/NoteApiImpl.js +40 -0
  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 +11 -17
  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 +4 -0
  98. package/src/Api/Internal/CommentsInternalApi.js +14 -0
  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 +38 -30
  109. package/src/Api/Internal/FreeTextColumnInternalApi.js +5 -4
  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/NoteInternalApi.js +14 -0
  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 +15 -15
  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/AdaptableColumn.d.ts +4 -0
  136. package/src/PredefinedConfig/Common/AdaptableIcon.d.ts +1 -1
  137. package/src/PredefinedConfig/Common/AdaptableObject.d.ts +4 -4
  138. package/src/PredefinedConfig/Common/AdaptablePredicate.d.ts +2 -2
  139. package/src/PredefinedConfig/Common/CellSummary.d.ts +5 -14
  140. package/src/PredefinedConfig/Common/{AdaptableScope.d.ts → ColumnScope.d.ts} +4 -1
  141. package/src/PredefinedConfig/Common/ColumnScope.js +1 -0
  142. package/src/PredefinedConfig/Common/DataUpdateConfig.d.ts +1 -5
  143. package/src/PredefinedConfig/Common/Enums.d.ts +4 -1
  144. package/src/PredefinedConfig/Common/Enums.js +3 -0
  145. package/src/PredefinedConfig/Common/Fdc3Intent.d.ts +2 -2
  146. package/src/PredefinedConfig/Common/Menu.d.ts +39 -4
  147. package/src/PredefinedConfig/Common/Menu.js +125 -1
  148. package/src/PredefinedConfig/Common/RowScope.d.ts +17 -0
  149. package/src/PredefinedConfig/Common/RowScope.js +1 -0
  150. package/src/PredefinedConfig/Common/RowSummary.d.ts +21 -0
  151. package/src/PredefinedConfig/Common/RowSummary.js +17 -0
  152. package/src/PredefinedConfig/Common/TransposeConfig.d.ts +30 -0
  153. package/src/PredefinedConfig/Common/TransposeConfig.js +1 -0
  154. package/src/PredefinedConfig/Common/Types.d.ts +4 -4
  155. package/src/PredefinedConfig/Common/Types.js +4 -1
  156. package/src/PredefinedConfig/ExportState.d.ts +2 -2
  157. package/src/PredefinedConfig/FlashingCellState.d.ts +2 -2
  158. package/src/PredefinedConfig/FormatColumnState.d.ts +9 -5
  159. package/src/PredefinedConfig/LayoutState.d.ts +6 -1
  160. package/src/PredefinedConfig/{NotesState.d.ts → NoteState.d.ts} +4 -4
  161. package/src/PredefinedConfig/NoteState.js +1 -0
  162. package/src/PredefinedConfig/PlusMinusState.d.ts +2 -2
  163. package/src/PredefinedConfig/PopupState.d.ts +1 -2
  164. package/src/PredefinedConfig/PredefinedConfig.d.ts +2 -2
  165. package/src/PredefinedConfig/Selection/GridCell.d.ts +13 -0
  166. package/src/PredefinedConfig/ShortcutState.d.ts +2 -2
  167. package/src/PredefinedConfig/StyledColumnState.d.ts +5 -5
  168. package/src/PredefinedConfig/SystemState.d.ts +12 -4
  169. package/src/Redux/ActionsReducers/CommentsRedux.d.ts +0 -4
  170. package/src/Redux/ActionsReducers/CommentsRedux.js +0 -34
  171. package/src/Redux/ActionsReducers/LayoutRedux.d.ts +9 -0
  172. package/src/Redux/ActionsReducers/LayoutRedux.js +32 -10
  173. package/src/Redux/ActionsReducers/NoteRedux.d.ts +38 -0
  174. package/src/Redux/ActionsReducers/{NotesRedux.js → NoteRedux.js} +24 -24
  175. package/src/Redux/ActionsReducers/PopupRedux.d.ts +5 -13
  176. package/src/Redux/ActionsReducers/PopupRedux.js +0 -19
  177. package/src/Redux/ActionsReducers/SystemRedux.d.ts +15 -4
  178. package/src/Redux/ActionsReducers/SystemRedux.js +24 -9
  179. package/src/Redux/Store/AdaptableStore.js +48 -30
  180. package/src/Redux/Store/Interface/IAdaptableStore.d.ts +2 -2
  181. package/src/Strategy/AdaptableModuleBase.d.ts +10 -10
  182. package/src/Strategy/AdaptableModuleBase.js +13 -16
  183. package/src/Strategy/AlertModule.d.ts +3 -2
  184. package/src/Strategy/AlertModule.js +4 -4
  185. package/src/Strategy/BulkUpdateModule.d.ts +3 -2
  186. package/src/Strategy/BulkUpdateModule.js +2 -1
  187. package/src/Strategy/CalculatedColumnModule.d.ts +3 -4
  188. package/src/Strategy/CalculatedColumnModule.js +18 -14
  189. package/src/Strategy/CellSummaryModule.d.ts +10 -9
  190. package/src/Strategy/CellSummaryModule.js +101 -83
  191. package/src/Strategy/ColumnFilterModule.d.ts +3 -3
  192. package/src/Strategy/ColumnFilterModule.js +36 -57
  193. package/src/Strategy/ColumnInfoModule.d.ts +3 -3
  194. package/src/Strategy/ColumnInfoModule.js +6 -4
  195. package/src/Strategy/CommentModule.d.ts +12 -0
  196. package/src/Strategy/CommentModule.js +70 -0
  197. package/src/Strategy/CustomSortModule.d.ts +1 -2
  198. package/src/Strategy/CustomSortModule.js +3 -2
  199. package/src/Strategy/DashboardModule.d.ts +3 -3
  200. package/src/Strategy/DashboardModule.js +11 -21
  201. package/src/Strategy/DataImportModule.d.ts +4 -4
  202. package/src/Strategy/DataImportModule.js +8 -8
  203. package/src/Strategy/ExportModule.d.ts +1 -2
  204. package/src/Strategy/ExportModule.js +58 -44
  205. package/src/Strategy/Fdc3Module.d.ts +1 -1
  206. package/src/Strategy/Fdc3Module.js +3 -13
  207. package/src/Strategy/FlashingCellModule.d.ts +4 -3
  208. package/src/Strategy/FlashingCellModule.js +10 -10
  209. package/src/Strategy/FormatColumnModule.d.ts +1 -1
  210. package/src/Strategy/FormatColumnModule.js +29 -47
  211. package/src/Strategy/FreeTextColumnModule.d.ts +1 -2
  212. package/src/Strategy/FreeTextColumnModule.js +2 -2
  213. package/src/Strategy/GridInfoModule.d.ts +3 -3
  214. package/src/Strategy/GridInfoModule.js +5 -3
  215. package/src/Strategy/Interface/IModule.d.ts +4 -4
  216. package/src/Strategy/LayoutModule.d.ts +4 -3
  217. package/src/Strategy/LayoutModule.js +71 -72
  218. package/src/Strategy/NoteModule.d.ts +10 -0
  219. package/src/Strategy/NoteModule.js +55 -0
  220. package/src/Strategy/PlusMinusModule.d.ts +1 -2
  221. package/src/Strategy/PlusMinusModule.js +5 -5
  222. package/src/Strategy/SettingsPanelModule.d.ts +3 -3
  223. package/src/Strategy/SettingsPanelModule.js +6 -6
  224. package/src/Strategy/ShortcutModule.js +1 -1
  225. package/src/Strategy/SmartEditModule.d.ts +3 -2
  226. package/src/Strategy/SmartEditModule.js +2 -1
  227. package/src/Strategy/StyledColumnModule.d.ts +2 -1
  228. package/src/Strategy/StyledColumnModule.js +42 -22
  229. package/src/Strategy/SystemStatusModule.d.ts +3 -3
  230. package/src/Strategy/SystemStatusModule.js +6 -3
  231. package/src/Strategy/Utilities/FormatColumn/getFormatColumnSettingsViewItems.js +4 -2
  232. package/src/Strategy/Utilities/getScopeViewItems.d.ts +2 -2
  233. package/src/Strategy/Utilities/getScopeViewItems.js +3 -0
  234. package/src/Utilities/Constants/GeneralConstants.d.ts +1 -0
  235. package/src/Utilities/Constants/GeneralConstants.js +1 -0
  236. package/src/Utilities/Constants/ModuleConstants.d.ts +6 -6
  237. package/src/Utilities/Constants/ModuleConstants.js +6 -6
  238. package/src/Utilities/Defaults/DefaultSettingsPanel.js +2 -2
  239. package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.d.ts +3 -2
  240. package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.js +433 -3
  241. package/src/Utilities/ExpressionFunctions/observableExpressionFunctions.js +3 -3
  242. package/src/Utilities/ExpressionFunctions/scalarAggregationHelper.js +1 -1
  243. package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.d.ts +1 -1
  244. package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.js +15 -0
  245. package/src/Utilities/Extensions/ArrayExtensions.d.ts +2 -0
  246. package/src/Utilities/Extensions/ArrayExtensions.js +4 -0
  247. package/src/Utilities/Helpers/AdaptableHelper.d.ts +3 -1
  248. package/src/Utilities/Helpers/AdaptableHelper.js +19 -0
  249. package/src/Utilities/Interface/MessagePopups.d.ts +0 -3
  250. package/src/Utilities/MenuItem.d.ts +10 -7
  251. package/src/Utilities/MenuItem.js +6 -3
  252. package/src/Utilities/ObjectFactory.d.ts +3 -3
  253. package/src/Utilities/ObjectFactory.js +7 -25
  254. package/src/Utilities/Services/AggregatedScalarLiveValue.d.ts +4 -2
  255. package/src/Utilities/Services/AggregatedScalarLiveValue.js +23 -18
  256. package/src/Utilities/Services/CellPopupService.js +4 -4
  257. package/src/Utilities/Services/Interface/IQueryLanguageService.d.ts +1 -1
  258. package/src/Utilities/Services/Interface/IReportService.d.ts +1 -4
  259. package/src/Utilities/Services/LicenseService/index.js +1 -190
  260. package/src/Utilities/Services/ModuleService.js +6 -2
  261. package/src/Utilities/Services/QueryLanguageService.d.ts +1 -1
  262. package/src/Utilities/Services/QueryLanguageService.js +4 -3
  263. package/src/Utilities/Services/ReportService.d.ts +7 -5
  264. package/src/Utilities/Services/ReportService.js +245 -26
  265. package/src/Utilities/Services/RowSummaryService.d.ts +26 -0
  266. package/src/Utilities/Services/RowSummaryService.js +155 -0
  267. package/src/Utilities/Services/ValidationService.js +2 -2
  268. package/src/Utilities/adaptableQlUtils.d.ts +2 -0
  269. package/src/Utilities/adaptableQlUtils.js +14 -0
  270. package/src/Utilities/license/decode.js +1 -65
  271. package/src/Utilities/license/hashing.js +1 -43
  272. package/src/View/AdaptableViewFactory.js +2 -2
  273. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UIOptionsStatusbarForm.js +1 -1
  274. package/src/View/Alert/AlertEntityRow.js +1 -1
  275. package/src/View/Alert/Utilities/getAvailablePredicates.d.ts +2 -2
  276. package/src/View/Alert/Utilities/getDefaultAlertDefinition.d.ts +1 -1
  277. package/src/View/Alert/Wizard/AlertScopeWizardSection.js +2 -2
  278. package/src/View/Alert/Wizard/BaseAlertScopeWizardSection.js +1 -1
  279. package/src/View/BulkUpdate/BulkUpdatePopup.js +2 -2
  280. package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.d.ts +1 -1
  281. package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.js +3 -3
  282. package/src/View/ColumnInfo/ColumnInfo.js +1 -1
  283. package/src/View/Comments/CommentsEditor.js +28 -17
  284. package/src/View/Comments/CommentsPopup.js +15 -7
  285. package/src/View/Components/AdaptableDateInput/index.d.ts +1 -1
  286. package/src/View/Components/AdaptableInput/AdaptableDateInlineInput.d.ts +5 -0
  287. package/src/View/Components/AdaptableInput/AdaptableDateInlineInput.js +42 -0
  288. package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +5 -2
  289. package/src/View/Components/CellPopup/index.d.ts +1 -0
  290. package/src/View/Components/CellPopup/index.js +6 -3
  291. package/src/View/Components/EntityRulesEditor/EntityRulePredicatesEditor/EntityRulePredicatesEditor.d.ts +3 -3
  292. package/src/View/Components/EntityRulesEditor/index.d.ts +3 -3
  293. package/src/View/Components/FilterForm/FilterForm.js +20 -12
  294. package/src/View/Components/FilterForm/QuickFilterForm.js +15 -8
  295. package/src/View/Components/FilterForm/QuickFilterValues.js +39 -23
  296. package/src/View/Components/NewScopeComponent.d.ts +5 -5
  297. package/src/View/Components/NewScopeComponent.js +36 -3
  298. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopup.js +4 -1
  299. package/src/View/Components/Popups/AdaptablePopup/useMenuItems.js +10 -1
  300. package/src/View/Components/Popups/GridCellPopup/GridCellPopup.js +7 -10
  301. package/src/View/Components/RangesComponent.d.ts +2 -2
  302. package/src/View/Components/RangesComponent.js +1 -1
  303. package/src/View/Components/Selectors/PermittedValuesSelector.js +1 -1
  304. package/src/View/Components/SharedProps/WizardScopeState.d.ts +2 -2
  305. package/src/View/Components/ValueSelector/index.d.ts +1 -0
  306. package/src/View/Components/ValueSelector/index.js +2 -2
  307. package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.js +1 -1
  308. package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +4 -2
  309. package/src/View/DataImport/DataImportWizard/DataImportWizard.js +1 -1
  310. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.d.ts +2 -2
  311. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +20 -7
  312. package/src/View/FormatColumn/Wizard/FormatColumnRuleWizardSection.js +1 -1
  313. package/src/View/FormatColumn/Wizard/FormatColumnScopeWizardSection.js +1 -1
  314. package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +27 -12
  315. package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.js +1 -1
  316. package/src/View/FreeTextColumn/FreeTextColumnSummary.js +1 -1
  317. package/src/View/FreeTextColumn/Wizard/FreeTextColumnWizard.js +3 -1
  318. package/src/View/GridFilter/GridFilterViewPanel.js +3 -3
  319. package/src/View/GridFilter/useGridFilterExpressionEditor.js +1 -1
  320. package/src/View/Layout/LayoutViewPanel.js +2 -1
  321. package/src/View/Layout/TransposedPopup.js +27 -25
  322. package/src/View/Layout/Wizard/LayoutWizard.js +38 -3
  323. package/src/View/Layout/Wizard/sections/ColumnsSection.js +1 -1
  324. package/src/View/Layout/Wizard/sections/FilterSection.js +1 -1
  325. package/src/View/Layout/Wizard/sections/RowGroupingSection.js +18 -2
  326. package/src/View/Layout/Wizard/sections/RowSummarySection.d.ts +9 -0
  327. package/src/View/Layout/Wizard/sections/RowSummarySection.js +174 -0
  328. package/src/View/License/LicenseWatermark.js +1 -61
  329. package/src/View/Note/NotePopup.d.ts +2 -0
  330. package/src/View/{Notes/NotesPopup.js → Note/NotePopup.js} +14 -9
  331. package/src/View/PlusMinus/PlusMinusSummary.js +2 -2
  332. package/src/View/SmartEdit/SmartEditPopup.js +1 -1
  333. package/src/View/SpecialColumnSettingsWizardStep.js +4 -4
  334. package/src/View/StyledColumn/Wizard/StyledColumnBadgeSection.js +5 -7
  335. package/src/View/StyledColumn/Wizard/StyledColumnWizard.js +1 -1
  336. package/src/View/StyledColumn/Wizard/StyledColumnWizardColumnSection.js +1 -1
  337. package/src/View/StyledColumn/Wizard/StyledColumnWizardSettingsSection.js +38 -14
  338. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardStyleSection.js +1 -1
  339. package/src/agGrid/ActionColumnRenderer.js +40 -4
  340. package/src/agGrid/AdaptableAgGrid.d.ts +21 -12
  341. package/src/agGrid/AdaptableAgGrid.js +313 -225
  342. package/src/agGrid/AgGridAdapter.d.ts +5 -2
  343. package/src/agGrid/AgGridAdapter.js +20 -0
  344. package/src/agGrid/AgGridColumnAdapter.d.ts +1 -3
  345. package/src/agGrid/AgGridColumnAdapter.js +52 -70
  346. package/src/agGrid/AgGridMenuAdapter.d.ts +25 -8
  347. package/src/agGrid/AgGridMenuAdapter.js +405 -74
  348. package/src/agGrid/AgGridOptionsService.d.ts +4 -1
  349. package/src/agGrid/AgGridOptionsService.js +22 -0
  350. package/src/agGrid/BadgeRenderer.d.ts +2 -2
  351. package/src/agGrid/BadgeRenderer.js +24 -11
  352. package/src/agGrid/PercentBarRenderer.js +2 -1
  353. package/src/agGrid/buildSortedColumnStateForLayout.d.ts +7 -0
  354. package/src/agGrid/buildSortedColumnStateForLayout.js +120 -0
  355. package/src/agGrid/defaultAdaptableOptions.js +7 -12
  356. package/src/agGrid/editors/AdaptableDateEditor/index.d.ts +1 -1
  357. package/src/agGrid/editors/AdaptableDateEditor/index.js +1 -1
  358. package/src/agGrid/editors/AdaptableNumberEditor/index.d.ts +2 -2
  359. package/src/agGrid/sortColumnStateForVisibleColumns.d.ts +12 -0
  360. package/src/agGrid/sortColumnStateForVisibleColumns.js +46 -0
  361. package/src/agGrid/weightedAverage.d.ts +0 -2
  362. package/src/agGrid/weightedAverage.js +0 -54
  363. package/src/components/Accordion.d.ts +7 -0
  364. package/src/components/Accordion.js +36 -0
  365. package/src/components/CheckBox/index.js +1 -1
  366. package/src/components/ColorPicker/ColorPicker.d.ts +1 -1
  367. package/src/components/Datepicker/index.d.ts +1 -1
  368. package/src/components/Datepicker/index.js +10 -2
  369. package/src/components/ExpressionEditor/QueryBuilder/QueryPredicateBuilder.js +2 -1
  370. package/src/components/ExpressionEditor/QueryBuilder/utils.d.ts +0 -1
  371. package/src/components/ExpressionEditor/QueryBuilder/utils.js +1 -14
  372. package/src/components/Input/index.d.ts +1 -2
  373. package/src/components/List/ListGroupItem/index.d.ts +1 -1
  374. package/src/components/ProgressIndicator/ProgressIndicator.js +15 -6
  375. package/src/components/Select/Select.d.ts +1 -1
  376. package/src/components/Select/Select.js +3 -1
  377. package/src/components/Textarea/index.d.ts +2 -2
  378. package/src/components/icons/collapse-all.d.ts +3 -0
  379. package/src/components/icons/collapse-all.js +4 -0
  380. package/src/components/icons/copy.d.ts +3 -0
  381. package/src/components/icons/copy.js +4 -0
  382. package/src/components/icons/csv.d.ts +3 -0
  383. package/src/components/icons/csv.js +4 -0
  384. package/src/components/icons/data-object.d.ts +3 -0
  385. package/src/components/icons/data-object.js +4 -0
  386. package/src/components/icons/excel.d.ts +3 -0
  387. package/src/components/icons/excel.js +5 -0
  388. package/src/components/icons/expand-all.d.ts +3 -0
  389. package/src/components/icons/expand-all.js +4 -0
  390. package/src/components/icons/filter-off.d.ts +3 -0
  391. package/src/components/icons/filter-off.js +4 -0
  392. package/src/components/icons/grid-info.d.ts +3 -0
  393. package/src/components/icons/grid-info.js +4 -0
  394. package/src/components/icons/index.js +24 -0
  395. package/src/components/icons/note.js +2 -2
  396. package/src/components/icons/rows.d.ts +3 -0
  397. package/src/components/icons/rows.js +4 -0
  398. package/src/components/icons/select-all.d.ts +3 -0
  399. package/src/components/icons/select-all.js +4 -0
  400. package/src/components/icons/select-fwd.d.ts +3 -0
  401. package/src/components/icons/select-fwd.js +4 -0
  402. package/src/components/icons/select-off.d.ts +3 -0
  403. package/src/components/icons/select-off.js +4 -0
  404. package/src/env.js +2 -2
  405. package/src/metamodel/adaptable.metamodel.d.ts +230 -116
  406. package/src/metamodel/adaptable.metamodel.js +1 -9408
  407. package/src/parser/src/parser.js +576 -553
  408. package/src/parser/src/predicate/mapExpressionToQlPredicate.js +1 -1
  409. package/src/parser/src/predicate/mapQlPredicateToExpression.js +3 -4
  410. package/src/parser/src/types.d.ts +7 -2
  411. package/src/parser/src/types.js +1 -2
  412. package/src/types.d.ts +32 -25
  413. package/tsconfig.esm.tsbuildinfo +1 -1
  414. package/src/AdaptableOptions/MenuOptions.d.ts +0 -234
  415. package/src/AdaptableOptions/MenuOptions.js +0 -95
  416. package/src/Api/Events/CommentsChangedInfo.d.ts +0 -5
  417. package/src/Api/Implementation/NotesApiImpl.d.ts +0 -14
  418. package/src/Api/Implementation/NotesApiImpl.js +0 -35
  419. package/src/Api/Implementation/ScopeApiImpl.d.ts +0 -31
  420. package/src/Api/NotesApi.d.ts +0 -48
  421. package/src/PredefinedConfig/CellAddress.d.ts +0 -13
  422. package/src/PredefinedConfig/CellAddress.js +0 -4
  423. package/src/Redux/ActionsReducers/NotesRedux.d.ts +0 -38
  424. package/src/Strategy/CommentsModule.d.ts +0 -17
  425. package/src/Strategy/CommentsModule.js +0 -78
  426. package/src/Strategy/NotesModule.d.ts +0 -10
  427. package/src/Strategy/NotesModule.js +0 -57
  428. package/src/View/Components/ScopeComponent.d.ts +0 -24
  429. package/src/View/Components/ScopeComponent.js +0 -133
  430. package/src/View/Export/Wizard/ReportScopeWizard.d.ts +0 -17
  431. package/src/View/Export/Wizard/ReportScopeWizard.js +0 -47
  432. package/src/View/Notes/NotesPopup.d.ts +0 -2
  433. /package/src/{Api/Events/CommentsChangedInfo.js → AdaptableOptions/ColumnMenuOptions.js} +0 -0
  434. /package/src/{Api/NotesApi.js → AdaptableOptions/ContextMenuOptions.js} +0 -0
  435. /package/src/Api/{ScopeApi.js → ColumnMenuApi.js} +0 -0
  436. /package/src/{PredefinedConfig/Common/AdaptableScope.js → Api/ColumnScopeApi.js} +0 -0
  437. /package/src/{PredefinedConfig/NotesState.js → Api/ContextMenuApi.js} +0 -0
  438. /package/src/View/{Notes → Note}/NoteEditor.d.ts +0 -0
  439. /package/src/View/{Notes → Note}/NoteEditor.js +0 -0
@@ -0,0 +1,9 @@
1
+ import { ApiBase } from './ApiBase';
2
+ export class ContextMenuApiImpl extends ApiBase {
3
+ constructor(adaptable) {
4
+ super(adaptable);
5
+ }
6
+ hideContextMenu() {
7
+ this.adaptable.agGridAdapter.getAgGridApi().hidePopupMenu();
8
+ }
9
+ }
@@ -20,12 +20,7 @@ export class DashboardApiImpl extends ApiBase {
20
20
  }
21
21
  getCustomDashboardButtonByLabel(buttonLabel) {
22
22
  const api = this.getAdaptableApi();
23
- const dashboardContext = {
24
- adaptableApi: api,
25
- userName: this.getOptions().userName,
26
- adaptableId: this.getOptions().adaptableId,
27
- dashboardState: api.dashboardApi.getDashboardState(),
28
- };
23
+ const dashboardContext = Object.assign(Object.assign({}, this.getAdaptableApi().internalApi.buildBaseContext()), { dashboardState: api.dashboardApi.getDashboardState() });
29
24
  return this.getDashboardOptions().customDashboardButtons.find((cb) => {
30
25
  api.internalApi.getLabelForButton(cb, dashboardContext) == buttonLabel;
31
26
  });
@@ -44,13 +44,13 @@ export class ExportApiImpl extends ApiBase {
44
44
  return currentDestination && this.getDestinationByName(currentDestination);
45
45
  }
46
46
  getAvailableSystemReports() {
47
- return this.getExportOptions().systemReportNames.filter((s) => this.adaptable.api.internalApi.getReportService().IsSystemReportActive(s));
47
+ return this.getExportOptions().systemReportNames.filter((s) => this.getAdaptableApi().internalApi.getReportService().IsSystemReportActive(s));
48
48
  }
49
49
  getAvailableExportDestinations() {
50
50
  let systemDestinations = [];
51
51
  this.getExportOptions().systemExportDestinations.forEach((exportDestination) => {
52
- if (this.adaptable.api.internalApi
53
- .getReportService()
52
+ if (this.getAdaptableApi()
53
+ .internalApi.getReportService()
54
54
  .IsSystemExportDestinationActive(exportDestination)) {
55
55
  systemDestinations.push(exportDestination);
56
56
  }
@@ -143,17 +143,12 @@ export class ExportApiImpl extends ApiBase {
143
143
  this.logWarn(`Report '${reportName}' not found!`);
144
144
  return undefined;
145
145
  }
146
- return this.adaptable.api.internalApi.getReportService().getReportData(report);
146
+ return this.getAdaptableApi().internalApi.getReportService().getReportData(report);
147
147
  }
148
148
  isColumnExportable(adaptableColumn) {
149
149
  const isExportableFn = this.getExportOptions().isColumnExportable;
150
150
  if (typeof isExportableFn === 'function') {
151
- return isExportableFn({
152
- adaptableApi: this.adaptable.api,
153
- userName: this.getOptions().userName,
154
- adaptableId: this.getOptions().adaptableId,
155
- adaptableColumn,
156
- });
151
+ return isExportableFn(Object.assign(Object.assign({}, this.getAdaptableApi().internalApi.buildBaseContext()), { adaptableColumn }));
157
152
  }
158
153
  return true;
159
154
  }
@@ -7,8 +7,8 @@ export class ExpressionApiImpl extends ApiBase {
7
7
  this.internalApi = new ExpressionInternalApi(adaptable);
8
8
  }
9
9
  isValidBooleanExpression(query, module, validationErrorMessage) {
10
- const { isValid, errorMessage } = this.adaptable.api.internalApi
11
- .getQueryLanguageService()
10
+ const { isValid, errorMessage } = this.getAdaptableApi()
11
+ .internalApi.getQueryLanguageService()
12
12
  .validateBoolean(query, module, { force: true });
13
13
  if (!isValid && validationErrorMessage) {
14
14
  this.logWarn(`${validationErrorMessage} :: ${errorMessage}`);
@@ -16,8 +16,8 @@ export class ExpressionApiImpl extends ApiBase {
16
16
  return isValid;
17
17
  }
18
18
  isValidObservableExpression(expression, module, validationErrorMessage) {
19
- const { isValid, errorMessage } = this.adaptable.api.internalApi
20
- .getQueryLanguageService()
19
+ const { isValid, errorMessage } = this.getAdaptableApi()
20
+ .internalApi.getQueryLanguageService()
21
21
  .validateObservable(expression, module);
22
22
  if (!isValid && validationErrorMessage) {
23
23
  this.logWarn(`${validationErrorMessage} :: ${errorMessage}`);
@@ -25,8 +25,8 @@ export class ExpressionApiImpl extends ApiBase {
25
25
  return isValid;
26
26
  }
27
27
  isValidAggregatedBooleanExpression(expression, module, validationErrorMessage) {
28
- const { isValid, errorMessage } = this.adaptable.api.internalApi
29
- .getQueryLanguageService()
28
+ const { isValid, errorMessage } = this.getAdaptableApi()
29
+ .internalApi.getQueryLanguageService()
30
30
  .validateAggregatedBoolean(expression, module);
31
31
  if (!isValid && validationErrorMessage) {
32
32
  this.logWarn(`${validationErrorMessage} :: ${errorMessage}`);
@@ -34,8 +34,8 @@ export class ExpressionApiImpl extends ApiBase {
34
34
  return isValid;
35
35
  }
36
36
  isValidAggregatedScalarExpression(expression, module, validationErrorMessage) {
37
- const { isValid, errorMessage } = this.adaptable.api.internalApi
38
- .getQueryLanguageService()
37
+ const { isValid, errorMessage } = this.getAdaptableApi()
38
+ .internalApi.getQueryLanguageService()
39
39
  .validateAggregatedScalar(expression, module);
40
40
  if (!isValid && validationErrorMessage) {
41
41
  this.logWarn(`${validationErrorMessage} :: ${errorMessage}`);
@@ -47,11 +47,11 @@ export class ExpressionApiImpl extends ApiBase {
47
47
  }
48
48
  getColumnsFromExpression(expression) {
49
49
  try {
50
- const columnIds = this.adaptable.api.internalApi
51
- .getQueryLanguageService()
50
+ const columnIds = this.getAdaptableApi()
51
+ .internalApi.getQueryLanguageService()
52
52
  .getColumnsFromExpression(expression);
53
53
  columnIds.forEach((columnId) => {
54
- const calculatedColumn = this.adaptable.api.calculatedColumnApi.getCalculatedColumnForColumnId(columnId);
54
+ const calculatedColumn = this.getAdaptableApi().calculatedColumnApi.getCalculatedColumnForColumnId(columnId);
55
55
  if (calculatedColumn) {
56
56
  const transitiveColumnIds = this.getColumnsFromExpression(this.getAdaptableQueryExpression(calculatedColumn.Query));
57
57
  columnIds.push(...transitiveColumnIds);
@@ -69,12 +69,7 @@ export class ExpressionApiImpl extends ApiBase {
69
69
  isColumnQueryable(adaptableColumnBase) {
70
70
  let queryableColumnFn = this.getExpressionOptions().isColumnQueryable;
71
71
  if (queryableColumnFn) {
72
- const queryableColumnContext = {
73
- adaptableColumn: adaptableColumnBase,
74
- adaptableApi: this.getAdaptableApi(),
75
- userName: this.getOptions().userName,
76
- adaptableId: this.getOptions().adaptableId,
77
- };
72
+ const queryableColumnContext = Object.assign({ adaptableColumn: adaptableColumnBase }, this.getAdaptableApi().internalApi.buildBaseContext());
78
73
  return queryableColumnFn(queryableColumnContext);
79
74
  }
80
75
  return true;
@@ -84,8 +79,8 @@ export class ExpressionApiImpl extends ApiBase {
84
79
  return ((_d = (_c = (_b = (_a = query.BooleanExpression) !== null && _a !== void 0 ? _a : query.ScalarExpression) !== null && _b !== void 0 ? _b : query.ObservableExpression) !== null && _c !== void 0 ? _c : query.AggregatedBooleanExpression) !== null && _d !== void 0 ? _d : query.AggregatedScalarExpression);
85
80
  }
86
81
  getAdaptableQueryExpressionWithColumnFriendlyNames(query) {
87
- return this.adaptable.api.internalApi
88
- .getQueryLanguageService()
82
+ return this.getAdaptableApi()
83
+ .internalApi.getQueryLanguageService()
89
84
  .getExpressionWithColumnFriendlyNames(this.getAdaptableQueryExpression(query));
90
85
  }
91
86
  useCaseSensitivity() {
@@ -76,6 +76,6 @@ export class Fdc3ApiImpl extends ApiBase {
76
76
  return this.internalApi.isStandardIntentType(intentType);
77
77
  }
78
78
  getFdc3Service() {
79
- return this.adaptable.api.internalApi.getFdc3Service();
79
+ return this.getAdaptableApi().internalApi.getFdc3Service();
80
80
  }
81
81
  }
@@ -3,7 +3,7 @@ import { AdaptableFlashingCell } from '../../PredefinedConfig/Common/AdaptableFl
3
3
  import { FlashingCellApi } from '../FlashingCellApi';
4
4
  import { FlashingCellDefinition, FlashingCellState } from '../../PredefinedConfig/FlashingCellState';
5
5
  import { AdaptablePredicateDef } from '../../PredefinedConfig/Common/AdaptablePredicate';
6
- import { AdaptableScope } from '../../PredefinedConfig/Common/AdaptableScope';
6
+ import { ColumnScope } from '../../PredefinedConfig/Common/ColumnScope';
7
7
  import { FlashingCellInternalApi } from '../Internal/FlashingCellInternalApi';
8
8
  import { IAdaptable } from '../../AdaptableInterfaces/IAdaptable';
9
9
  import { AdaptableObjectLookupCriteria } from '../../types';
@@ -23,7 +23,7 @@ export declare class FlashingCellApiImpl extends ApiBase implements FlashingCell
23
23
  unSuspendFlashingCellDefinition(flashingCellDefinition: FlashingCellDefinition): FlashingCellDefinition;
24
24
  addFlashingCellDefinitions(flashingCellDefinitions: FlashingCellDefinition[]): FlashingCellDefinition[];
25
25
  editFlashingCellDefinitions(flashingCellDefinitions: FlashingCellDefinition[]): FlashingCellDefinition[];
26
- getFlashingCellPredicateDefsForScope(scope: AdaptableScope): AdaptablePredicateDef[];
26
+ getFlashingCellPredicateDefsForScope(scope: ColumnScope): AdaptablePredicateDef[];
27
27
  clearAllFlashingCells(): void;
28
28
  isAnyFlashingCellActive(): boolean;
29
29
  findFlashingCellDefinitions(criteria: AdaptableObjectLookupCriteria): FlashingCellDefinition[];
@@ -30,13 +30,8 @@ export class FlashingCellApiImpl extends ApiBase {
30
30
  }
31
31
  showFlashingCell(flashingCellToShow) {
32
32
  this.addUidToAdaptableObject(flashingCellToShow);
33
- const flashingCellFiredInfo = {
34
- adaptableApi: this.adaptable.api,
35
- flashingCell: flashingCellToShow,
36
- userName: this.adaptable.api.optionsApi.getUserName(),
37
- adaptableId: this.adaptable.api.optionsApi.getAdaptableId(),
38
- };
39
- const results = this.adaptable.api.eventApi.emitSync('FlashingCellDisplayed', flashingCellFiredInfo);
33
+ const flashingCellFiredInfo = Object.assign(Object.assign({}, this.getAdaptableApi().internalApi.buildBaseContext()), { flashingCell: flashingCellToShow });
34
+ const results = this.getAdaptableApi().eventApi.emitSync('FlashingCellDisplayed', flashingCellFiredInfo);
40
35
  const shouldShow = results.reduce((endResult, aResult) => {
41
36
  return endResult && aResult !== false;
42
37
  }, true);
@@ -84,7 +79,7 @@ export class FlashingCellApiImpl extends ApiBase {
84
79
  getFlashingCellPredicateDefsForScope(scope) {
85
80
  return this.getAdaptableApi()
86
81
  .predicateApi.internalApi.getFlashingCellPredicateDefs(scope)
87
- .filter((predicateDef) => this.adaptable.api.scopeApi.isScopeInScope(scope, predicateDef.columnScope));
82
+ .filter((predicateDef) => this.getAdaptableApi().columnScopeApi.isScopeInScope(scope, predicateDef.columnScope));
88
83
  }
89
84
  clearAllFlashingCells() {
90
85
  this.dispatchAction(SystemRedux.SystemFlashingCellDeleteAll());
@@ -65,7 +65,7 @@ export class FormatColumnApiImpl extends ApiBase {
65
65
  return this.internalApi.getFormatColumnWithColumnInScope(formatColumns, column);
66
66
  }
67
67
  getFormatColumnsForColumnId(columnId, config) {
68
- const abColumn = this.adaptable.api.columnApi.getColumnWithColumnId(columnId);
68
+ const abColumn = this.getAdaptableApi().columnApi.getColumnWithColumnId(columnId);
69
69
  if (!abColumn) {
70
70
  return [];
71
71
  }
@@ -75,13 +75,13 @@ export class FormatColumnApiImpl extends ApiBase {
75
75
  this.showModulePopup(ModuleConstants.FormatColumnModuleId);
76
76
  }
77
77
  getFormatColumnsWithAllScope(formatColumns) {
78
- return formatColumns.filter((fc) => this.adaptable.api.scopeApi.scopeIsAll(fc.Scope));
78
+ return formatColumns.filter((fc) => this.getAdaptableApi().columnScopeApi.scopeIsAll(fc.Scope));
79
79
  }
80
80
  getFormatColumnsWithDataTypeScope(formatColumns) {
81
- return formatColumns.filter((fc) => this.adaptable.api.scopeApi.scopeHasDataType(fc.Scope));
81
+ return formatColumns.filter((fc) => this.getAdaptableApi().columnScopeApi.scopeHasDataType(fc.Scope));
82
82
  }
83
83
  getFormatColumnsWithColumnScope(formatColumns) {
84
- return formatColumns.filter((fc) => this.adaptable.api.scopeApi.scopeHasColumns(fc.Scope));
84
+ return formatColumns.filter((fc) => this.getAdaptableApi().columnScopeApi.scopeHasColumns(fc.Scope));
85
85
  }
86
86
  hasCustomDisplayFormatter(formatColumn) {
87
87
  var _a;
@@ -85,7 +85,7 @@ export class FreeTextColumnApiImpl extends ApiBase {
85
85
  }
86
86
  getFreeTextColumnValueForRowNode(freeTextColumn, rowNode) {
87
87
  try {
88
- if (this.adaptable.api.gridApi.isGroupRowNode(rowNode)) {
88
+ if (this.getAdaptableApi().gridApi.isGroupRowNode(rowNode)) {
89
89
  return null;
90
90
  }
91
91
  if (ArrayExtensions.IsNotNullOrEmpty(freeTextColumn.FreeTextStoredValues)) {
@@ -8,12 +8,13 @@ import { ColumnSort } from '../../PredefinedConfig/Common/ColumnSort';
8
8
  import { DataUpdateConfig } from '../../PredefinedConfig/Common/DataUpdateConfig';
9
9
  import { CellHighlightInfo } from '../../PredefinedConfig/Common/CellHighlightInfo';
10
10
  import { RowHighlightInfo } from '../../PredefinedConfig/Common/RowHighlightInfo';
11
- import { IRowNode, RowModelType } from '@ag-grid-community/core';
11
+ import { Column, IRowNode, RowModelType } from '@ag-grid-community/core';
12
12
  import { GridCellRange } from '../../PredefinedConfig/Selection/GridCellRange';
13
13
  import { CellDataChangedInfo } from '../../PredefinedConfig/Common/CellDataChangedInfo';
14
14
  import { RowsHighlightInfo } from '../../PredefinedConfig/Common/RowsHighlightInfo';
15
15
  import { IAdaptable } from '../../AdaptableInterfaces/IAdaptable';
16
16
  import { GridInternalApi } from '../Internal/GridInternalApi';
17
+ import { TransposeConfig } from '../../PredefinedConfig/Common/TransposeConfig';
17
18
  export declare class GridApiImpl extends ApiBase implements GridApi {
18
19
  internalApi: GridInternalApi;
19
20
  constructor(adaptable: IAdaptable);
@@ -23,6 +24,7 @@ export declare class GridApiImpl extends ApiBase implements GridApi {
23
24
  setInitialGridData(data: any): void;
24
25
  getGridData(): any[];
25
26
  getFilteredData(): any[];
27
+ getVisibleData(): any[];
26
28
  updateGridData(dataRows: any[], dataUpdateConfig?: DataUpdateConfig): Promise<IRowNode[]>;
27
29
  addOrUpdateGridData(dataRows: any[], dataUpdateConfig?: DataUpdateConfig): Promise<{
28
30
  addedRows: IRowNode[];
@@ -92,8 +94,12 @@ export declare class GridApiImpl extends ApiBase implements GridApi {
92
94
  isGridPivotable(): boolean;
93
95
  isGridGroupable(): boolean;
94
96
  isGridSelectable(): boolean;
97
+ isGridRowSelectable(): boolean;
98
+ isGridRangeSelectable(): boolean;
95
99
  isGridRowGrouped(): boolean;
100
+ isGridInPivotMode(): boolean;
96
101
  isGroupRowNode(rowNode: IRowNode): boolean;
102
+ isSummaryNode(rowNode: IRowNode): boolean;
97
103
  isQuickFilterAvailable(): boolean;
98
104
  redrawGrid(): void;
99
105
  getGridCellsForRawValue(columnId: string, rawValue: any): GridCell[] | undefined;
@@ -130,4 +136,6 @@ export declare class GridApiImpl extends ApiBase implements GridApi {
130
136
  openGridInfoSettingsPanel(): void;
131
137
  getAgGridRowModelType(): RowModelType;
132
138
  getVisibleRowCount(): number;
139
+ showTransposedView(transposeConfig?: TransposeConfig): void;
140
+ getAllAgGridColumns(): Column<any>[];
133
141
  }
@@ -5,6 +5,8 @@ import * as ModuleConstants from '../../Utilities/Constants/ModuleConstants';
5
5
  import { GridInternalApi } from '../Internal/GridInternalApi';
6
6
  import ArrayExtensions from '../../Utilities/Extensions/ArrayExtensions';
7
7
  import { logDeprecation } from '../../Utilities/logDeprecation';
8
+ import { WINDOW_SHOW_TRANSPOSED_VIEW } from '../../View/Components/Popups/WindowPopups/windowFactory';
9
+ import { ROW_SUMMARY_ROW_ID } from '../../PredefinedConfig/Common/RowSummary';
8
10
  export class GridApiImpl extends ApiBase {
9
11
  constructor(adaptable) {
10
12
  super(adaptable);
@@ -14,6 +16,11 @@ export class GridApiImpl extends ApiBase {
14
16
  return this.getAdaptableState().Grid;
15
17
  }
16
18
  loadGridData(dataSource) {
19
+ // we intentionally set an initial empty array,
20
+ // to prevent `cellchanged` events from being triggered for rows that have
21
+ // the same primary key with existing rows
22
+ // see #testprevent_cellchanged_event_on_load_grid_data
23
+ this.adaptable.agGridAdapter.setGridOption('rowData', []);
17
24
  this.adaptable.setGridData(dataSource);
18
25
  const allRowNodes = this.getAllRowNodes();
19
26
  this.internalApi.fireGridDataChangedEvent(dataSource, allRowNodes, 'Load');
@@ -32,6 +39,15 @@ export class GridApiImpl extends ApiBase {
32
39
  getFilteredData() {
33
40
  return this.adaptable.getFilteredData();
34
41
  }
42
+ getVisibleData() {
43
+ const data = [];
44
+ this.adaptable.forAllVisibleRowNodesDo((rowNode) => {
45
+ if (!this.isGroupRowNode(rowNode)) {
46
+ data.push(rowNode.data);
47
+ }
48
+ });
49
+ return data;
50
+ }
35
51
  async updateGridData(dataRows, dataUpdateConfig) {
36
52
  const rowNodes = await this.adaptable.updateRows(dataRows, dataUpdateConfig);
37
53
  this.internalApi.fireGridDataChangedEvent(dataRows, rowNodes, 'Edit');
@@ -57,7 +73,7 @@ export class GridApiImpl extends ApiBase {
57
73
  }
58
74
  undoCellEdit(cellDataChangedInfo) {
59
75
  // for the reason of this hacky solution see the comments in DataService
60
- this.adaptable.api.internalApi.getDataService().logUndoChange(cellDataChangedInfo);
76
+ this.getAdaptableApi().internalApi.getDataService().logUndoChange(cellDataChangedInfo);
61
77
  const cellUpdateRequest = {
62
78
  columnId: cellDataChangedInfo.column.columnId,
63
79
  newValue: cellDataChangedInfo.oldValue,
@@ -77,7 +93,7 @@ export class GridApiImpl extends ApiBase {
77
93
  }
78
94
  setCellValue(cellUpdateRequest) {
79
95
  var _a;
80
- const abColumn = this.adaptable.api.columnApi.getColumnWithColumnId(cellUpdateRequest.columnId);
96
+ const abColumn = this.getAdaptableApi().columnApi.getColumnWithColumnId(cellUpdateRequest.columnId);
81
97
  if (!abColumn) {
82
98
  this.logWarn(`setCellValue() - column not found for columnId: ${cellUpdateRequest.columnId}`);
83
99
  return;
@@ -118,7 +134,7 @@ export class GridApiImpl extends ApiBase {
118
134
  }
119
135
  clearGridFiltering() {
120
136
  // slightly round the houses but we have to call ColumnFilterAPI as it does it properly
121
- this.adaptable.api.columnFilterApi.clearColumnFilters();
137
+ this.getAdaptableApi().columnFilterApi.clearColumnFilters();
122
138
  }
123
139
  getColumnSorts() {
124
140
  return this.getAdaptableState().Grid.ColumnSorts;
@@ -205,8 +221,8 @@ export class GridApiImpl extends ApiBase {
205
221
  }
206
222
  selectCellRangeByQuery(query, gridCellRange, clearSelection) {
207
223
  const filteredRowNodes = [];
208
- const isRowNodeInQuery = (rowNode) => this.adaptable.api.internalApi
209
- .getQueryLanguageService()
224
+ const isRowNodeInQuery = (rowNode) => this.getAdaptableApi()
225
+ .internalApi.getQueryLanguageService()
210
226
  .evaluateBooleanExpression(query, 'GridInfo', rowNode);
211
227
  if (gridCellRange) {
212
228
  const [startNode, endNode] = this.getSelectionStartEndNodes(gridCellRange);
@@ -229,7 +245,7 @@ export class GridApiImpl extends ApiBase {
229
245
  /**
230
246
  * Select all rows and all columns
231
247
  */
232
- const currentLayout = this.adaptable.api.layoutApi.getCurrentLayout();
248
+ const currentLayout = this.getAdaptableApi().layoutApi.getCurrentLayout();
233
249
  preapredGridCellRange = {
234
250
  columnIds: currentLayout.Columns,
235
251
  };
@@ -265,7 +281,7 @@ export class GridApiImpl extends ApiBase {
265
281
  this.selectColumns([columnId]);
266
282
  }
267
283
  selectColumns(columnIds) {
268
- this.adaptable.api.columnApi.selectColumns(columnIds);
284
+ this.getAdaptableApi().columnApi.selectColumns(columnIds);
269
285
  }
270
286
  getFirstRowNode() {
271
287
  return this.adaptable.getFirstRowNode();
@@ -298,7 +314,7 @@ export class GridApiImpl extends ApiBase {
298
314
  }
299
315
  getNormalisedValueFromRowNode(rowNode, columnId) {
300
316
  const rawValue = this.adaptable.getRawValueFromRowNode(rowNode, columnId);
301
- const abColumn = this.adaptable.api.columnApi.getColumnWithColumnId(columnId);
317
+ const abColumn = this.getAdaptableApi().columnApi.getColumnWithColumnId(columnId);
302
318
  return this.adaptable.getNormalisedValueFromRawValue(rawValue, abColumn);
303
319
  }
304
320
  getRowNodesForPrimaryKeys(primaryKeyValues) {
@@ -341,14 +357,28 @@ export class GridApiImpl extends ApiBase {
341
357
  return !this.getAdaptableApi().internalApi.isGridInTreeMode();
342
358
  }
343
359
  isGridSelectable() {
344
- return this.adaptable.isGridSelectable();
360
+ logDeprecation(this.adaptable.logger, 'GridApi', 'isGridSelectable', 'isGridRowSelectable');
361
+ return this.isGridRowSelectable();
362
+ }
363
+ isGridRowSelectable() {
364
+ return this.adaptable.isGridRowSelectable();
365
+ }
366
+ isGridRangeSelectable() {
367
+ return this.adaptable.isGridRangeSelectable();
345
368
  }
346
369
  isGridRowGrouped() {
347
370
  return this.adaptable.isGridGroupingActive();
348
371
  }
372
+ isGridInPivotMode() {
373
+ return this.getLayoutApi().isCurrentLayoutPivot();
374
+ }
349
375
  isGroupRowNode(rowNode) {
350
376
  return this.adaptable.isGroupRowNode(rowNode);
351
377
  }
378
+ isSummaryNode(rowNode) {
379
+ var _a;
380
+ return (_a = rowNode === null || rowNode === void 0 ? void 0 : rowNode.data) === null || _a === void 0 ? void 0 : _a[ROW_SUMMARY_ROW_ID];
381
+ }
352
382
  isQuickFilterAvailable() {
353
383
  return this.adaptable.isQuickFilterAvailable();
354
384
  }
@@ -515,4 +545,28 @@ export class GridApiImpl extends ApiBase {
515
545
  logDeprecation(this.adaptable.logger, 'GridApi', 'getVisibleRowCount', 'getRowCount');
516
546
  return this.getRowCount();
517
547
  }
548
+ showTransposedView(transposeConfig = {}) {
549
+ var _a, _b, _c, _d, _e;
550
+ const transposedColumnId = (_a = transposeConfig.transposedColumnId) !== null && _a !== void 0 ? _a : this.getAdaptableApi().optionsApi.getPrimaryKey();
551
+ const hideTransposedColumn = (_b = transposeConfig.hideTransposedColumn) !== null && _b !== void 0 ? _b : true;
552
+ const visibleColumns = (_c = transposeConfig.visibleColumns) !== null && _c !== void 0 ? _c : false;
553
+ const visibleRows = (_d = transposeConfig.visibleRows) !== null && _d !== void 0 ? _d : false;
554
+ const autosize = (_e = transposeConfig.autosize) !== null && _e !== void 0 ? _e : true;
555
+ this.getAdaptableApi().internalApi.showPopupWindow({
556
+ id: WINDOW_SHOW_TRANSPOSED_VIEW,
557
+ factoryId: WINDOW_SHOW_TRANSPOSED_VIEW,
558
+ title: 'Transposed View',
559
+ icon: 'grid',
560
+ popupProps: {
561
+ transposedColumnId,
562
+ hideTransposedColumn,
563
+ visibleColumns,
564
+ visibleRows,
565
+ autosize,
566
+ },
567
+ });
568
+ }
569
+ getAllAgGridColumns() {
570
+ return this.adaptable.getAllGridColumns();
571
+ }
518
572
  }
@@ -9,12 +9,14 @@ import { LayoutInternalApi } from '../Internal/LayoutInternalApi';
9
9
  export declare class LayoutApiImpl extends ApiBase implements LayoutApi {
10
10
  internalApi: LayoutInternalApi;
11
11
  constructor(adaptable: IAdaptable);
12
+ isCurrentLayoutPivot(): boolean;
12
13
  getLayoutState(): LayoutState;
13
14
  shouldAutoSaveLayouts: () => boolean;
14
15
  getCurrentVisibleColumnIdsMap(): {
15
16
  [key: string]: boolean;
16
17
  };
17
18
  getCurrentVisibleColumnIds(): string[];
19
+ getCurrentRowGroupsColumnIds(): string[];
18
20
  setLayout(layoutName: string): void;
19
21
  getCurrentLayout(): Layout;
20
22
  getCurrentLayoutColumnSort(columnId: string): ColumnSort['SortOrder'] | null;
@@ -41,15 +43,6 @@ export declare class LayoutApiImpl extends ApiBase implements LayoutApi {
41
43
  removeColumnFromCurrentLayout(columnId: string): void;
42
44
  removeColumnFromAllLayouts(columnId: string): void;
43
45
  removeColumnFromLayout(columnId: string, layoutName: string): void;
44
- getLayoutSupportedFeatures(): {
45
- RowGroupedColumns: boolean;
46
- AggregationColumns: boolean;
47
- PivotColumns: boolean;
48
- ColumnFilters: boolean;
49
- ColumnSorts: boolean;
50
- };
51
- showTransposePopup(config: {
52
- transposedColumnId: string;
53
- hideTransposedColumn?: boolean;
54
- }): void;
46
+ addColumnToLayout(columnId: string, layoutName: string): void;
47
+ addColumnToCurrentLayout(columnId: string): void;
55
48
  }
@@ -9,7 +9,6 @@ import { createUuid } from '../../PredefinedConfig/Uuid';
9
9
  import { DEFAULT_LAYOUT } from '../../Utilities/Constants/GeneralConstants';
10
10
  import { PopupShowPrompt } from '../../Redux/ActionsReducers/PopupRedux';
11
11
  import { LayoutInternalApi } from '../Internal/LayoutInternalApi';
12
- import { WINDOW_SHOW_TRANSPOSED_VIEW } from '../../View/Components/Popups/WindowPopups/windowFactory';
13
12
  export class LayoutApiImpl extends ApiBase {
14
13
  constructor(adaptable) {
15
14
  super(adaptable);
@@ -19,6 +18,9 @@ export class LayoutApiImpl extends ApiBase {
19
18
  };
20
19
  this.internalApi = new LayoutInternalApi(adaptable);
21
20
  }
21
+ isCurrentLayoutPivot() {
22
+ return this.getCurrentLayout().EnablePivot;
23
+ }
22
24
  getLayoutState() {
23
25
  return this.getAdaptableState().Layout;
24
26
  }
@@ -32,6 +34,9 @@ export class LayoutApiImpl extends ApiBase {
32
34
  getCurrentVisibleColumnIds() {
33
35
  return this.getCurrentLayout().Columns;
34
36
  }
37
+ getCurrentRowGroupsColumnIds() {
38
+ return this.getCurrentLayout().RowGroupedColumns;
39
+ }
35
40
  setLayout(layoutName) {
36
41
  if (StringExtensions.IsNotNullOrEmpty(layoutName) &&
37
42
  layoutName !== this.getCurrentLayoutName()) {
@@ -222,32 +227,19 @@ export class LayoutApiImpl extends ApiBase {
222
227
  }
223
228
  }
224
229
  }
225
- getLayoutSupportedFeatures() {
226
- const layoutSupportedFeatures = {
227
- RowGroupedColumns: true,
228
- AggregationColumns: true,
229
- PivotColumns: true,
230
- ColumnFilters: true,
231
- ColumnSorts: true,
232
- };
233
- if (this.getGridApi().getAgGridRowModelType() === 'viewport') {
234
- layoutSupportedFeatures.RowGroupedColumns = false;
235
- layoutSupportedFeatures.AggregationColumns = false;
236
- layoutSupportedFeatures.PivotColumns = false;
237
- }
238
- return layoutSupportedFeatures;
239
- }
240
- showTransposePopup(config) {
241
- const { transposedColumnId, hideTransposedColumn } = config;
242
- this.adaptable.api.internalApi.showPopupWindow({
243
- id: WINDOW_SHOW_TRANSPOSED_VIEW,
244
- factoryId: WINDOW_SHOW_TRANSPOSED_VIEW,
245
- title: 'Transpose View',
246
- icon: 'grid',
247
- popupProps: {
248
- transposedColumnId,
249
- hideTransposedColumn,
250
- },
251
- });
230
+ addColumnToLayout(columnId, layoutName) {
231
+ const column = this.getAdaptableApi().columnApi.getColumnWithColumnId(columnId);
232
+ if (column) {
233
+ const layout = this.getLayoutByName(layoutName);
234
+ if (layout) {
235
+ if (!layout.Columns.includes(columnId)) {
236
+ this.dispatchAction(LayoutRedux.LayoutAddColumn(layoutName, columnId));
237
+ this.getAdaptableApi().columnApi.showColumn(columnId);
238
+ }
239
+ }
240
+ }
241
+ }
242
+ addColumnToCurrentLayout(columnId) {
243
+ this.addColumnToLayout(columnId, this.getCurrentLayoutName());
252
244
  }
253
245
  }
@@ -0,0 +1,18 @@
1
+ import { ApiBase } from './ApiBase';
2
+ import { NoteApi } from '../NoteApi';
3
+ import { AdaptableNote, AdaptableNotes, NoteState } from '../../PredefinedConfig/NoteState';
4
+ import { IAdaptable } from '../../AdaptableInterfaces/IAdaptable';
5
+ import { NoteInternalApi } from '../Internal/NoteInternalApi';
6
+ import { CellAddress } from '../../types';
7
+ export declare class NoteApiImpl extends ApiBase implements NoteApi {
8
+ internalApi: NoteInternalApi;
9
+ constructor(adaptable: IAdaptable);
10
+ addNote(noteStr: string, primaryKeyValue: any, columnId: string): void;
11
+ editNote(note: AdaptableNote): void;
12
+ updateNoteText(noteStr: string, note: AdaptableNote): void;
13
+ deleteNote(note: AdaptableNote): void;
14
+ getNoteState(): NoteState;
15
+ getAllNotes(): AdaptableNotes;
16
+ getNoteForCell(address: CellAddress): AdaptableNote;
17
+ getNoteByUuid(uuid: string): AdaptableNote | undefined;
18
+ }
@@ -0,0 +1,40 @@
1
+ import { ApiBase } from './ApiBase';
2
+ import * as NoteRedux from '../../Redux/ActionsReducers/NoteRedux';
3
+ import { NoteInternalApi } from '../Internal/NoteInternalApi';
4
+ export class NoteApiImpl extends ApiBase {
5
+ constructor(adaptable) {
6
+ super(adaptable);
7
+ this.internalApi = new NoteInternalApi(adaptable);
8
+ }
9
+ addNote(noteStr, primaryKeyValue, columnId) {
10
+ const note = {
11
+ Text: noteStr,
12
+ PrimaryKeyValue: primaryKeyValue,
13
+ ColumnId: columnId,
14
+ Timestamp: Date.now(),
15
+ };
16
+ this.dispatchAction(NoteRedux.NoteAdd(note));
17
+ }
18
+ editNote(note) {
19
+ note.Timestamp = Date.now();
20
+ this.dispatchAction(NoteRedux.NoteEdit(note));
21
+ }
22
+ updateNoteText(noteStr, note) {
23
+ this.editNote(Object.assign(Object.assign({}, note), { Text: noteStr }));
24
+ }
25
+ deleteNote(note) {
26
+ this.dispatchAction(NoteRedux.NoteDelete(note));
27
+ }
28
+ getNoteState() {
29
+ return this.getAdaptableState().Note;
30
+ }
31
+ getAllNotes() {
32
+ return this.getNoteState().Notes;
33
+ }
34
+ getNoteForCell(address) {
35
+ return NoteRedux.GetNoteSelector(this.getAdaptableState().Note, address);
36
+ }
37
+ getNoteByUuid(uuid) {
38
+ return this.getAllNotes().find((note) => note.Uuid === uuid);
39
+ }
40
+ }
@@ -1,11 +1,11 @@
1
1
  import { ApiBase } from './ApiBase';
2
- import { ActionColumnOptions, ActionRowOptions, AdaptableOptions, AlertOptions, CalendarOptions, CellSummaryOptions, ChartingOptions, ColumnOptions, NotesOptions, ContainerOptions, DashboardOptions, DataChangeHistoryOptions, DataSetOptions, EditOptions, EntitlementOptions, ExportOptions, FlashingCellOptions, FormatColumnOptions, LayoutOptions, MenuOptions, NotificationsOptions, OptionsApi, QuickSearchOptions, SettingsPanelOptions, StateOptions, TeamSharingOptions, ToolPanelOptions, UserInterfaceOptions, GridFilterOptions } from '../../types';
2
+ import { ActionColumnOptions, ActionRowOptions, AdaptableOptions, AlertOptions, CalendarOptions, CellSummaryOptions, ChartingOptions, ColumnOptions, NoteOptions, ContainerOptions, DashboardOptions, DataChangeHistoryOptions, DataSetOptions, EditOptions, EntitlementOptions, ExportOptions, FlashingCellOptions, FormatColumnOptions, LayoutOptions, NotificationsOptions, OptionsApi, QuickSearchOptions, SettingsPanelOptions, StateOptions, TeamSharingOptions, ToolPanelOptions, UserInterfaceOptions, GridFilterOptions, ColumnMenuOptions, ContextMenuOptions } from '../../types';
3
3
  import { GroupingOptions } from '../../AdaptableOptions/GroupingOptions';
4
4
  import { CustomSortOptions } from '../../AdaptableOptions/CustomSortOptions';
5
5
  import { Fdc3Options } from '../../AdaptableOptions/Fdc3Options';
6
6
  import { ExpressionOptions } from '../../AdaptableOptions/ExpressionOptions';
7
7
  import { ColumnFilterOptions } from '../../AdaptableOptions/ColumnFilterOptions';
8
- import { CommentsOptions } from '../../AdaptableOptions/CommentOptions';
8
+ import { CommentOptions } from '../../AdaptableOptions/CommentOptions';
9
9
  export declare class OptionsApiImpl extends ApiBase implements OptionsApi {
10
10
  getAdaptableId(): string;
11
11
  getAdaptableStateKey(): string;
@@ -19,8 +19,8 @@ export declare class OptionsApiImpl extends ApiBase implements OptionsApi {
19
19
  getCellSummaryOptions(): CellSummaryOptions;
20
20
  getCalendarOptions(): CalendarOptions;
21
21
  getColumnOptions(): ColumnOptions;
22
- getNotesOptions(): NotesOptions;
23
- getCommentsOptions(): Readonly<CommentsOptions<any>>;
22
+ getNoteOptions(): NoteOptions;
23
+ getCommentOptions(): Readonly<CommentOptions<any>>;
24
24
  getCustomSortOptions(): CustomSortOptions;
25
25
  getContainerOptions(): ContainerOptions;
26
26
  getDataSetOptions(): DataSetOptions;
@@ -31,7 +31,8 @@ export declare class OptionsApiImpl extends ApiBase implements OptionsApi {
31
31
  getExportOptions(): ExportOptions;
32
32
  getGroupingOptions(): GroupingOptions;
33
33
  getLayoutOptions(): LayoutOptions;
34
- getMenuOptions(): MenuOptions;
34
+ getColumnMenuOptions(): ColumnMenuOptions;
35
+ getContextMenuOptions(): ContextMenuOptions;
35
36
  getColumnFilterOptions(): ColumnFilterOptions;
36
37
  getGridFilterOptions(): Readonly<GridFilterOptions<any>>;
37
38
  getExpressionOptions(): ExpressionOptions;