@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
@@ -3,6 +3,17 @@ import * as GeneralConstants from '../../Utilities/Constants/GeneralConstants';
3
3
  import * as ModuleConstants from '../../Utilities/Constants/ModuleConstants';
4
4
  import ArrayExtensions from '../../Utilities/Extensions/ArrayExtensions';
5
5
  import { ColumnInternalApi } from '../Internal/ColumnInternalApi';
6
+ import { createBaseContext } from '../../Utilities/ObjectFactory';
7
+ export function isAutoRowGroupColumn(columnId) {
8
+ // put this here as there might be other indicators we are not aware of
9
+ // perhaps with non auto groups ?
10
+ //https://www.ag-grid.com/javascript-grid-grouping/
11
+ return columnId === null || columnId === void 0 ? void 0 : columnId.startsWith(GeneralConstants.AG_GRID_GROUPED_COLUMN);
12
+ }
13
+ export function isAutoPivotColumn(columnId) {
14
+ // put this here as there might be other indicators we are not aware of?
15
+ return columnId === null || columnId === void 0 ? void 0 : columnId.startsWith(GeneralConstants.AG_GRID_PIVOT_COLUMN);
16
+ }
6
17
  export class ColumnApiImpl extends ApiBase {
7
18
  constructor(adaptable) {
8
19
  super(adaptable);
@@ -10,10 +21,10 @@ export class ColumnApiImpl extends ApiBase {
10
21
  }
11
22
  getColumns() {
12
23
  var _a;
13
- return (_a = this.adaptable.api.gridApi.getGridState().Columns) !== null && _a !== void 0 ? _a : [];
24
+ return (_a = this.getAdaptableApi().gridApi.getGridState().Columns) !== null && _a !== void 0 ? _a : [];
14
25
  }
15
26
  getVisibleColumns() {
16
- const layout = this.adaptable.api.layoutApi.getCurrentLayout();
27
+ const layout = this.getAdaptableApi().layoutApi.getCurrentLayout();
17
28
  const visibleCols = layout.Columns.reduce((acc, colId) => {
18
29
  acc[colId] = true;
19
30
  return acc;
@@ -51,29 +62,25 @@ export class ColumnApiImpl extends ApiBase {
51
62
  this.adaptable.showColumn(columnId);
52
63
  }
53
64
  isAutoRowGroupColumn(columnId) {
54
- // put this here as there might be other indicators we are not aware of
55
- // perhaps with non auto groups ?
56
- //https://www.ag-grid.com/javascript-grid-grouping/
57
- return columnId === null || columnId === void 0 ? void 0 : columnId.startsWith(GeneralConstants.AG_GRID_GROUPED_COLUMN);
65
+ return isAutoRowGroupColumn(columnId);
58
66
  }
59
67
  isAutoPivotColumn(columnId) {
60
- // put this here as there might be other indicators we are not aware of?
61
- return columnId === null || columnId === void 0 ? void 0 : columnId.startsWith(GeneralConstants.AG_GRID_PIVOT_COLUMN);
68
+ return isAutoPivotColumn(columnId);
62
69
  }
63
70
  isCalculatedColumn(columnId) {
64
- return (this.adaptable.api.calculatedColumnApi
65
- .getCalculatedColumns()
71
+ return (this.getAdaptableApi()
72
+ .calculatedColumnApi.getCalculatedColumns()
66
73
  .find((cc) => cc.ColumnId == columnId) != null);
67
74
  }
68
75
  isFreeTextColumn(columnId) {
69
- return (this.adaptable.api.freeTextColumnApi
70
- .getFreeTextColumns()
76
+ return (this.getAdaptableApi()
77
+ .freeTextColumnApi.getFreeTextColumns()
71
78
  .find((cc) => cc.ColumnId == columnId) != null);
72
79
  }
73
80
  isActionColumn(columnId) {
74
81
  var _a;
75
- return (((_a = this.adaptable.api.actionColumnApi
76
- .getActionColumns()) === null || _a === void 0 ? void 0 : _a.find((cc) => cc.columnId == columnId)) != null);
82
+ return (((_a = this.getAdaptableApi()
83
+ .actionColumnApi.getActionColumns()) === null || _a === void 0 ? void 0 : _a.find((cc) => cc.columnId == columnId)) != null);
77
84
  }
78
85
  getColumnWithColumnId(columnId, logWarning) {
79
86
  if (columnId == undefined) {
@@ -152,7 +159,7 @@ export class ColumnApiImpl extends ApiBase {
152
159
  }
153
160
  let result = columnId + GeneralConstants.MISSING_COLUMN;
154
161
  if (this.isAutoRowGroupColumn(columnId)) {
155
- const currentLayout = this.adaptable.api.layoutApi.getCurrentLayout();
162
+ const currentLayout = this.getAdaptableApi().layoutApi.getCurrentLayout();
156
163
  if (currentLayout === null || currentLayout === void 0 ? void 0 : currentLayout.RowGroupedColumns) {
157
164
  result = `[Grouped column: ${currentLayout.RowGroupedColumns.join(', ')}]`;
158
165
  }
@@ -333,4 +340,27 @@ export class ColumnApiImpl extends ApiBase {
333
340
  openColumnInfoSettingsPanel() {
334
341
  this.showModulePopup(ModuleConstants.ColumnInfoModuleId);
335
342
  }
343
+ getColumnTypes() {
344
+ const columnTypes = this.getOptions().columnOptions.columnTypes;
345
+ if (typeof columnTypes === 'function') {
346
+ return columnTypes(createBaseContext(this.getAdaptableApi()));
347
+ }
348
+ else {
349
+ return columnTypes;
350
+ }
351
+ }
352
+ getColumnsByColumnType(columnType) {
353
+ const abColumns = this.getColumns();
354
+ return abColumns.filter((c) => {
355
+ var _a;
356
+ return ((_a = c.columnTypes) !== null && _a !== void 0 ? _a : []).includes(columnType);
357
+ });
358
+ }
359
+ getRowGroupedColumns() {
360
+ var _a;
361
+ return (_a = this.getLayoutApi()
362
+ .getCurrentRowGroupsColumnIds()) === null || _a === void 0 ? void 0 : _a.map((n) => {
363
+ return this.getColumnWithColumnId(n);
364
+ });
365
+ }
336
366
  }
@@ -14,7 +14,7 @@ export class ColumnFilterApiImpl extends ApiBase {
14
14
  };
15
15
  return this.getAdaptableApi()
16
16
  .predicateApi.internalApi.getFilterPredicateDefs(scope)
17
- .filter((predicate) => this.adaptable.api.scopeApi.isColumnInScope(column, predicate.columnScope));
17
+ .filter((predicate) => this.getAdaptableApi().columnScopeApi.isColumnInScope(column, predicate.columnScope));
18
18
  }
19
19
  getFilterPredicateDefsForColumnId(columnId) {
20
20
  const column = this.getAdaptableApi().columnApi.getColumnWithColumnId(columnId);
@@ -31,11 +31,11 @@ export class ColumnFilterApiImpl extends ApiBase {
31
31
  }
32
32
  isQuickFilterVisible() {
33
33
  return (this.isQuickFilterAvailable() &&
34
- this.adaptable.api.internalApi.getSystemState().IsQuickFilterVisible);
34
+ this.getAdaptableApi().internalApi.getSystemState().IsQuickFilterVisible);
35
35
  }
36
36
  getColumnFilters() {
37
37
  var _a;
38
- const currentLayout = this.adaptable.api.layoutApi.getCurrentLayout();
38
+ const currentLayout = this.getAdaptableApi().layoutApi.getCurrentLayout();
39
39
  return (_a = currentLayout.ColumnFilters) !== null && _a !== void 0 ? _a : [];
40
40
  }
41
41
  getActiveColumnFilters() {
@@ -55,7 +55,7 @@ export class ColumnFilterApiImpl extends ApiBase {
55
55
  }
56
56
  getColumnFiltersForLayout(layoutName) {
57
57
  var _a;
58
- const layout = this.adaptable.api.layoutApi.getLayoutByName(layoutName);
58
+ const layout = this.getAdaptableApi().layoutApi.getLayoutByName(layoutName);
59
59
  return (_a = layout.ColumnFilters) !== null && _a !== void 0 ? _a : [];
60
60
  }
61
61
  setColumnFilters(columnFilters) {
@@ -64,7 +64,7 @@ export class ColumnFilterApiImpl extends ApiBase {
64
64
  this.logWarn('Column Filter has no Predicate', columnFilter);
65
65
  }
66
66
  else {
67
- const isValidPredicate = this.adaptable.api.predicateApi.isValidPredicate(columnFilter.Predicate);
67
+ const isValidPredicate = this.getAdaptableApi().predicateApi.isValidPredicate(columnFilter.Predicate);
68
68
  if (!isValidPredicate) {
69
69
  this.logWarn('Column Filter Predicate is not valid', columnFilter);
70
70
  }
@@ -118,10 +118,10 @@ export class ColumnFilterApiImpl extends ApiBase {
118
118
  if (!filter || !filter.Predicate || !filter.Predicate.PredicateId) {
119
119
  return false;
120
120
  }
121
- const predicateDef = this.adaptable.api.predicateApi.getPredicateDefById(filter === null || filter === void 0 ? void 0 : filter.Predicate.PredicateId);
121
+ const predicateDef = this.getAdaptableApi().predicateApi.getPredicateDefById(filter === null || filter === void 0 ? void 0 : filter.Predicate.PredicateId);
122
122
  if (ArrayExtensions.IsNull(predicateDef.inputs) &&
123
123
  // values predicates have no inputs in the definition
124
- !this.adaptable.api.predicateApi.internalApi.hasPredicateValues(filter.Predicate)) {
124
+ !this.getAdaptableApi().predicateApi.internalApi.hasPredicateValues(filter.Predicate)) {
125
125
  return true;
126
126
  }
127
127
  const inputs = filter.Predicate.Inputs;
@@ -0,0 +1,8 @@
1
+ import { ColumnMenuApi } from '../ColumnMenuApi';
2
+ import { IAdaptable } from '../../AdaptableInterfaces/IAdaptable';
3
+ import { ApiBase } from './ApiBase';
4
+ export declare class ColumnMenuApiImpl extends ApiBase implements ColumnMenuApi {
5
+ constructor(adaptable: IAdaptable);
6
+ showColumnMenu(columnKey: string): void;
7
+ hideColumnMenu(): void;
8
+ }
@@ -0,0 +1,12 @@
1
+ import { ApiBase } from './ApiBase';
2
+ export class ColumnMenuApiImpl extends ApiBase {
3
+ constructor(adaptable) {
4
+ super(adaptable);
5
+ }
6
+ showColumnMenu(columnKey) {
7
+ this.adaptable.agGridAdapter.getAgGridApi().showColumnMenu(columnKey);
8
+ }
9
+ hideColumnMenu() {
10
+ this.adaptable.agGridAdapter.getAgGridApi().hidePopupMenu();
11
+ }
12
+ }
@@ -0,0 +1,33 @@
1
+ import { ApiBase } from './ApiBase';
2
+ import { AdaptableColumn } from '../../PredefinedConfig/Common/AdaptableColumn';
3
+ import { ColumnScope, ScopeDataType } from '../../PredefinedConfig/Common/ColumnScope';
4
+ import { ColumnScopeApi } from '../ColumnScopeApi';
5
+ import { CellColorRange } from '../../PredefinedConfig/StyledColumnState';
6
+ export declare class ColumnScopeApiImpl extends ApiBase implements ColumnScopeApi {
7
+ isColumnInScope(column: AdaptableColumn | undefined, scope: ColumnScope | undefined): boolean;
8
+ getColumnsForScope(scope: ColumnScope): AdaptableColumn[];
9
+ getScopeDescription(scope: ColumnScope): string;
10
+ scopeIsEmpty(scope: ColumnScope): boolean;
11
+ scopeIsAll(scope: ColumnScope): boolean;
12
+ scopeHasDataType(scope: ColumnScope): boolean;
13
+ scopeHasColumnType(scope: ColumnScope): boolean;
14
+ scopeHasOnlyBooleanDataType(scope: ColumnScope): boolean;
15
+ scopeHasColumns(scope: ColumnScope): boolean;
16
+ isSingleColumnScope(scope: ColumnScope): boolean;
17
+ getSingleColumnInScope(scope: ColumnScope): string | undefined;
18
+ isSingleNumericColumnScope(scope: ColumnScope): boolean;
19
+ isSingleBooleanColumnScope(scope: ColumnScope): boolean;
20
+ areAllBooleanColumnsInScope(scope: ColumnScope): boolean;
21
+ isColumnInScopeColumns(column: AdaptableColumn, scope: ColumnScope): boolean;
22
+ isPrimaryKeyColumnInScopeColumns(scope: ColumnScope): boolean;
23
+ getScopeToString(scope: ColumnScope): string;
24
+ getColumnIdsInScope(scope: ColumnScope): string[] | undefined;
25
+ getColumnTypesInScope(scope: ColumnScope): string[] | undefined;
26
+ getDataTypesInScope(scope: ColumnScope): ScopeDataType[] | undefined;
27
+ isColumnInNumericScope(column: AdaptableColumn, scope: ColumnScope): boolean;
28
+ isColumnInStringsScope(column: AdaptableColumn, scope: ColumnScope): boolean;
29
+ isColumnInDateScope(column: AdaptableColumn, scope: ColumnScope): boolean;
30
+ isScopeInScope(a: ColumnScope, b: ColumnScope): boolean;
31
+ createCellColorRangesForScope(scope: ColumnScope): CellColorRange[];
32
+ private distinctColumnValuesAreEmpty;
33
+ }
@@ -1,7 +1,7 @@
1
1
  import { ApiBase } from './ApiBase';
2
2
  import ArrayExtensions from '../../Utilities/Extensions/ArrayExtensions';
3
3
  import { DARK_GREEN, getHexForName, GRAY, RED } from '../../View/UIHelper';
4
- export class ScopeApiImpl extends ApiBase {
4
+ export class ColumnScopeApiImpl extends ApiBase {
5
5
  isColumnInScope(column, scope) {
6
6
  if (!column) {
7
7
  return false;
@@ -26,7 +26,7 @@ export class ScopeApiImpl extends ApiBase {
26
26
  if (scope == undefined) {
27
27
  return [];
28
28
  }
29
- const columns = this.adaptable.api.columnApi.getColumns();
29
+ const columns = this.getAdaptableApi().columnApi.getColumns();
30
30
  if ('All' in scope) {
31
31
  return columns;
32
32
  }
@@ -43,7 +43,9 @@ export class ScopeApiImpl extends ApiBase {
43
43
  return 'Columns: All';
44
44
  }
45
45
  if ('ColumnTypes' in scope) {
46
- return ((scope.ColumnTypes.length > 0 ? 'ColumnTypes' : 'ColumnType') + ': ' + scope.ColumnTypes.join(', '));
46
+ return ((scope.ColumnTypes.length > 0 ? 'ColumnTypes' : 'ColumnType') +
47
+ ': ' +
48
+ scope.ColumnTypes.join(', '));
47
49
  }
48
50
  if ('DataTypes' in scope) {
49
51
  return ((scope.DataTypes.length > 0 ? 'DataTypes' : 'DataType') + ': ' + scope.DataTypes.join(', '));
@@ -51,8 +53,8 @@ export class ScopeApiImpl extends ApiBase {
51
53
  if ('ColumnIds' in scope) {
52
54
  return ((scope.ColumnIds.length > 1 ? 'Columns' : 'Column') +
53
55
  ': ' +
54
- this.adaptable.api.columnApi
55
- .getFriendlyNamesForColumnIds(scope.ColumnIds)
56
+ this.getAdaptableApi()
57
+ .columnApi.getFriendlyNamesForColumnIds(scope.ColumnIds)
56
58
  .map((c) => {
57
59
  return '"' + c + '"';
58
60
  })
@@ -94,7 +96,7 @@ export class ScopeApiImpl extends ApiBase {
94
96
  !this.scopeIsAll(scope) &&
95
97
  'ColumnIds' in scope &&
96
98
  scope.ColumnIds.length == 1 &&
97
- this.adaptable.api.columnApi.hasNumberDataType(scope.ColumnIds[0]));
99
+ this.getAdaptableApi().columnApi.hasNumberDataType(scope.ColumnIds[0]));
98
100
  }
99
101
  isSingleBooleanColumnScope(scope) {
100
102
  return (this.scopeHasColumns(scope) &&
@@ -102,7 +104,7 @@ export class ScopeApiImpl extends ApiBase {
102
104
  !this.scopeIsAll(scope) &&
103
105
  'ColumnIds' in scope &&
104
106
  scope.ColumnIds.length == 1 &&
105
- this.adaptable.api.columnApi.hasBooleanDataType(scope.ColumnIds[0]));
107
+ this.getAdaptableApi().columnApi.hasBooleanDataType(scope.ColumnIds[0]));
106
108
  }
107
109
  areAllBooleanColumnsInScope(scope) {
108
110
  return (this.scopeHasColumns(scope) &&
@@ -110,7 +112,7 @@ export class ScopeApiImpl extends ApiBase {
110
112
  !this.scopeIsAll(scope) &&
111
113
  'ColumnIds' in scope &&
112
114
  scope.ColumnIds.length &&
113
- scope.ColumnIds.every((columnId) => this.adaptable.api.columnApi.hasBooleanDataType(columnId)));
115
+ scope.ColumnIds.every((columnId) => this.getAdaptableApi().columnApi.hasBooleanDataType(columnId)));
114
116
  }
115
117
  isColumnInScopeColumns(column, scope) {
116
118
  return this.scopeHasColumns(scope) && this.isColumnInScope(column, scope);
@@ -118,7 +120,7 @@ export class ScopeApiImpl extends ApiBase {
118
120
  isPrimaryKeyColumnInScopeColumns(scope) {
119
121
  return ('ColumnIds' in scope &&
120
122
  scope.ColumnIds.length == 1 &&
121
- scope.ColumnIds.find((c) => c == this.adaptable.api.optionsApi.getPrimaryKey()) != null);
123
+ scope.ColumnIds.find((c) => c == this.getAdaptableApi().optionsApi.getPrimaryKey()) != null);
122
124
  }
123
125
  getScopeToString(scope) {
124
126
  if ('All' in scope) {
@@ -133,8 +135,8 @@ export class ScopeApiImpl extends ApiBase {
133
135
  if ('ColumnIds' in scope) {
134
136
  let text = scope.ColumnIds.length == 1 ? 'Column: ' : 'Columns: ';
135
137
  return (text +
136
- this.adaptable.api.columnApi
137
- .getFriendlyNamesForColumnIds(scope.ColumnIds)
138
+ this.getAdaptableApi()
139
+ .columnApi.getFriendlyNamesForColumnIds(scope.ColumnIds)
138
140
  .map((c) => {
139
141
  return '"' + c + '"';
140
142
  })
@@ -160,6 +162,7 @@ export class ScopeApiImpl extends ApiBase {
160
162
  return undefined;
161
163
  }
162
164
  isColumnInNumericScope(column, scope) {
165
+ var _a, _b;
163
166
  // if column is not even numeric then return false
164
167
  if (column == null || column == undefined || column.dataType !== 'Number') {
165
168
  return false;
@@ -176,9 +179,14 @@ export class ScopeApiImpl extends ApiBase {
176
179
  if ('DataTypes' in scope && scope.DataTypes.includes('Number')) {
177
180
  return true;
178
181
  }
182
+ if ('ColumnTypes' in scope &&
183
+ ((_b = (_a = scope.ColumnTypes) === null || _a === void 0 ? void 0 : _a.some) === null || _b === void 0 ? void 0 : _b.call(_a, (scopeColumnType) => { var _a, _b; return (_b = (_a = column.columnTypes) === null || _a === void 0 ? void 0 : _a.includes) === null || _b === void 0 ? void 0 : _b.call(_a, scopeColumnType); }))) {
184
+ return true;
185
+ }
179
186
  return false;
180
187
  }
181
188
  isColumnInStringsScope(column, scope) {
189
+ var _a, _b;
182
190
  // if column is not even string then return false
183
191
  if (column == null || column == undefined || column.dataType !== 'String') {
184
192
  return false;
@@ -195,9 +203,14 @@ export class ScopeApiImpl extends ApiBase {
195
203
  if ('DataTypes' in scope && scope.DataTypes.includes('String')) {
196
204
  return true;
197
205
  }
206
+ if ('ColumnTypes' in scope &&
207
+ ((_b = (_a = scope.ColumnTypes) === null || _a === void 0 ? void 0 : _a.some) === null || _b === void 0 ? void 0 : _b.call(_a, (scopeColumnType) => { var _a, _b; return (_b = (_a = column.columnTypes) === null || _a === void 0 ? void 0 : _a.includes) === null || _b === void 0 ? void 0 : _b.call(_a, scopeColumnType); }))) {
208
+ return true;
209
+ }
198
210
  return false;
199
211
  }
200
212
  isColumnInDateScope(column, scope) {
213
+ var _a, _b;
201
214
  // if column is not even numeric then return false
202
215
  if (column == null || column == undefined || column.dataType !== 'Date') {
203
216
  return false;
@@ -214,6 +227,10 @@ export class ScopeApiImpl extends ApiBase {
214
227
  if ('DataTypes' in scope && scope.DataTypes.includes('Date')) {
215
228
  return true;
216
229
  }
230
+ if ('ColumnTypes' in scope &&
231
+ ((_b = (_a = scope.ColumnTypes) === null || _a === void 0 ? void 0 : _a.some) === null || _b === void 0 ? void 0 : _b.call(_a, (scopeColumnType) => { var _a, _b; return (_b = (_a = column.columnTypes) === null || _a === void 0 ? void 0 : _a.includes) === null || _b === void 0 ? void 0 : _b.call(_a, scopeColumnType); }))) {
232
+ return true;
233
+ }
217
234
  return false;
218
235
  }
219
236
  isScopeInScope(a, b) {
@@ -236,14 +253,30 @@ export class ScopeApiImpl extends ApiBase {
236
253
  'DataTypes' in b &&
237
254
  a.ColumnIds.every((columnId) => {
238
255
  var _a;
239
- return b.DataTypes.includes((_a = this.adaptable.api.columnApi.getColumnWithColumnId(columnId)) === null || _a === void 0 ? void 0 : _a.dataType);
256
+ return b.DataTypes.includes((_a = this.getAdaptableApi().columnApi.getColumnWithColumnId(columnId)) === null || _a === void 0 ? void 0 : _a.dataType);
240
257
  })) {
241
258
  return true;
242
259
  }
260
+ if ('ColumnTypes' in a &&
261
+ 'ColumnTypes' in b &&
262
+ a.ColumnTypes.every((columnType) => b.ColumnTypes.includes(columnType))) {
263
+ return true;
264
+ }
265
+ // check if each colum in a has column types in b
266
+ if ('ColumnIds' in a && 'ColumnTypes' in b) {
267
+ const inScope = a.ColumnIds.every((columnId) => {
268
+ const column = this.getAdaptableApi().columnApi.getColumnWithColumnId(columnId);
269
+ // check if at least one column-type is in scope
270
+ return column.columnTypes.some((columnColumnType) => b.ColumnTypes.includes(columnColumnType));
271
+ });
272
+ if (inScope) {
273
+ return true;
274
+ }
275
+ }
243
276
  return false;
244
277
  }
245
278
  createCellColorRangesForScope(scope) {
246
- let distinctColumnsValues = this.adaptable.api.gridApi.internalApi.getDistinctRawValuesForColumn(this.adaptable.api.scopeApi.getSingleColumnInScope(scope));
279
+ let distinctColumnsValues = this.getAdaptableApi().gridApi.internalApi.getDistinctRawValuesForColumn(this.getAdaptableApi().columnScopeApi.getSingleColumnInScope(scope));
247
280
  let minValue = Math.min(...distinctColumnsValues);
248
281
  let maxValue = Math.max(...distinctColumnsValues);
249
282
  const ranges = [];
@@ -1,19 +1,18 @@
1
1
  import { ApiBase } from './ApiBase';
2
- import { CellAddress } from '../../PredefinedConfig/CellAddress';
3
- import { CommentThread, AdaptableComment } from '../../types';
2
+ import { CommentThread, AdaptableComment, CellAddress } from '../../types';
4
3
  import { CommentApi } from '../CommentApi';
5
4
  import { CommentsInternalApi } from '../Internal/CommentsInternalApi';
6
5
  import { IAdaptable } from '../../AdaptableInterfaces/IAdaptable';
7
6
  export declare class CommentsApiImpl extends ApiBase implements CommentApi {
8
7
  internalApi: CommentsInternalApi;
9
8
  constructor(adaptable: IAdaptable);
10
- getComments(address: CellAddress): AdaptableComment[];
11
9
  getCommentThread(address: CellAddress): CommentThread | undefined;
12
- getCommentThreads(): CommentThread[];
10
+ getGridComments(): CommentThread[];
13
11
  editComment(comment: AdaptableComment, address: CellAddress): void;
14
12
  deleteComment(comment: AdaptableComment, address: CellAddress): void;
15
13
  addComment(commentText: AdaptableComment['Value'], address: CellAddress): void;
16
14
  addCommentThread(commentThread: CommentThread): void;
17
15
  deleteCommentThread(cellAddress: CellAddress): void;
18
- loadCommentThreads(cellComments: CommentThread[]): void;
16
+ setGridComments(cellComments: CommentThread[]): void;
17
+ clearGridComments(): void;
19
18
  }
@@ -8,13 +8,10 @@ export class CommentsApiImpl extends ApiBase {
8
8
  super(adaptable);
9
9
  this.internalApi = new CommentsInternalApi(adaptable);
10
10
  }
11
- getComments(address) {
12
- return CommentRedux.GetCommentsSelector(this.getAdaptableState().Comment, address);
13
- }
14
11
  getCommentThread(address) {
15
12
  return CommentRedux.GetCellCommentSelector(this.getAdaptableState().Comment, address);
16
13
  }
17
- getCommentThreads() {
14
+ getGridComments() {
18
15
  var _a;
19
16
  return (_a = this.getAdaptableState().Comment.CommentThreads) !== null && _a !== void 0 ? _a : [];
20
17
  }
@@ -27,7 +24,7 @@ export class CommentsApiImpl extends ApiBase {
27
24
  addComment(commentText, address) {
28
25
  this.dispatchAction(CommentRedux.CommentsAdd({
29
26
  comment: commentText
30
- ? ObjectFactory.CreateAdaptableComment(commentText, this.adaptable.api)
27
+ ? ObjectFactory.CreateAdaptableComment(commentText, this.getAdaptableApi())
31
28
  : null,
32
29
  cellAddress: address,
33
30
  }));
@@ -41,7 +38,10 @@ export class CommentsApiImpl extends ApiBase {
41
38
  deleteCommentThread(cellAddress) {
42
39
  this.dispatchAction(CommentRedux.CommentsCellDelete({ cellAddress }));
43
40
  }
44
- loadCommentThreads(cellComments) {
41
+ setGridComments(cellComments) {
45
42
  this.dispatchAction(CommentRedux.CommentsSet({ commentThread: cellComments }));
46
43
  }
44
+ clearGridComments() {
45
+ this.setGridComments([]);
46
+ }
47
47
  }
@@ -20,7 +20,7 @@ import { AdaptableModule, AdaptableStateKey } from '../../PredefinedConfig/Commo
20
20
  import { AdaptableOptions, AdaptableSearchState, AdaptableSortState, NamedQueryState, ScheduleState } from '../../types';
21
21
  import { PredefinedConfig } from '../../PredefinedConfig/PredefinedConfig';
22
22
  import { ChartingState } from '../../PredefinedConfig/ChartingState';
23
- import { NotesState } from '../../PredefinedConfig/NotesState';
23
+ import { NoteState } from '../../PredefinedConfig/NoteState';
24
24
  export declare class ConfigApiImpl extends ApiBase implements ConfigApi {
25
25
  configInit(): void;
26
26
  copyAllStateToClipboard(): void;
@@ -48,7 +48,7 @@ export declare class ConfigApiImpl extends ApiBase implements ConfigApi {
48
48
  getApplicationState(returnJson?: boolean): ApplicationState;
49
49
  getCalculatedColumnState(returnJson?: boolean): CalculatedColumnState;
50
50
  getChartingState(returnJson?: boolean): ChartingState;
51
- getNotesState(returnJson?: boolean): NotesState;
51
+ getNoteState(returnJson?: boolean): NoteState;
52
52
  getCustomSortState(returnJson?: boolean): CustomSortState;
53
53
  getDashboardState(returnJson?: boolean): DashboardState;
54
54
  getExportState(returnJson?: boolean): ExportState;
@@ -8,7 +8,7 @@ import * as AlertRedux from '../../Redux/ActionsReducers/AlertRedux';
8
8
  import * as BulkUpdateRedux from '../../Redux/ActionsReducers/BulkUpdateRedux';
9
9
  import * as CalculatedColumnRedux from '../../Redux/ActionsReducers/CalculatedColumnRedux';
10
10
  import * as ChartingRedux from '../../Redux/ActionsReducers/ChartingRedux';
11
- import * as NotesRedux from '../../Redux/ActionsReducers/NotesRedux';
11
+ import * as NoteRedux from '../../Redux/ActionsReducers/NoteRedux';
12
12
  import * as CustomSortRedux from '../../Redux/ActionsReducers/CustomSortRedux';
13
13
  import * as ExportRedux from '../../Redux/ActionsReducers/ExportRedux';
14
14
  import * as FormatColumnRedux from '../../Redux/ActionsReducers/FormatColumnRedux';
@@ -62,15 +62,9 @@ export class ConfigApiImpl extends ApiBase {
62
62
  flushCurrentState: false,
63
63
  }).then(() => {
64
64
  const newState = this.getPersistedState();
65
- const stateReloadedInfo = {
66
- oldState,
67
- newState,
68
- adaptableStateKey: adaptableOptions.adaptableStateKey,
69
- adaptableId: adaptableOptions.adaptableId,
70
- adaptableApi: this.adaptable.api,
71
- userName: this.adaptable.api.optionsApi.getUserName(),
72
- };
73
- this.adaptable.api.eventApi.emit('AdaptableStateReloaded', stateReloadedInfo);
65
+ const stateReloadedInfo = Object.assign({ oldState,
66
+ newState, adaptableStateKey: adaptableOptions.adaptableStateKey }, this.getAdaptableApi().internalApi.buildBaseContext());
67
+ this.getAdaptableApi().eventApi.emit('AdaptableStateReloaded', stateReloadedInfo);
74
68
  });
75
69
  });
76
70
  });
@@ -93,21 +87,21 @@ export class ConfigApiImpl extends ApiBase {
93
87
  });
94
88
  }
95
89
  getAdaptableSearchState() {
96
- const gridFilter = this.adaptable.api.gridFilterApi.getCurrentGridFilterExpression();
90
+ const gridFilter = this.getAdaptableApi().gridFilterApi.getCurrentGridFilterExpression();
97
91
  const adaptableSearchState = {
98
- dataSet: this.adaptable.api.dataSetApi.getCurrentDataSet(),
92
+ dataSet: this.getAdaptableApi().dataSetApi.getCurrentDataSet(),
99
93
  gridFilter: gridFilter,
100
94
  gridFilterAST: gridFilter
101
- ? this.adaptable.api.expressionApi.getASTForExpression(gridFilter)
95
+ ? this.getAdaptableApi().expressionApi.getASTForExpression(gridFilter)
102
96
  : null,
103
- columnFilters: this.adaptable.api.columnFilterApi.getColumnFilters(),
97
+ columnFilters: this.getAdaptableApi().columnFilterApi.getColumnFilters(),
104
98
  };
105
99
  return adaptableSearchState;
106
100
  }
107
101
  getAdaptableSortState() {
108
102
  const adaptableSortState = {
109
- columnSorts: this.adaptable.api.gridApi.getColumnSorts(),
110
- customSorts: this.adaptable.api.customSortApi.getCustomSorts(),
103
+ columnSorts: this.getAdaptableApi().gridApi.getColumnSorts(),
104
+ customSorts: this.getAdaptableApi().customSortApi.getCustomSorts(),
111
105
  };
112
106
  return adaptableSortState;
113
107
  }
@@ -116,7 +110,7 @@ export class ConfigApiImpl extends ApiBase {
116
110
  }
117
111
  setAdaptableStateKey(adaptableStateKey, config) {
118
112
  return new Promise((resolve, reject) => {
119
- this.adaptable.api.internalApi.executeWithProgressIndicator(`Initialising...`, () => {
113
+ this.getAdaptableApi().internalApi.executeWithProgressIndicator(`Initialising...`, () => {
120
114
  const flushCurrentState = !config || config.flushCurrentState !== false;
121
115
  // make sure we persist any "pending" changes to state - since stateOptions.debounceStateDelay can cause
122
116
  // the state to be persisted with a delay, which we dont want in this case
@@ -133,12 +127,14 @@ export class ConfigApiImpl extends ApiBase {
133
127
  adaptable: this.adaptable,
134
128
  adaptableStateKey,
135
129
  predefinedConfig,
130
+ postLoadHook: (state) => {
131
+ return this.adaptable.normalizeAdaptableState(state, this.adaptable.agGridAdapter.getLiveGridOptions());
132
+ },
136
133
  });
137
134
  promise
138
135
  .then(() => {
139
136
  this.adaptable.updateColumnModelAndRefreshGrid({ skipColDefsRefresh: true });
140
137
  this.adaptable.setLayout();
141
- this.adaptable.api.userInterfaceApi.hideLoadingScreen();
142
138
  })
143
139
  .then(() => {
144
140
  // resolve main(result) promise
@@ -178,10 +174,10 @@ export class ConfigApiImpl extends ApiBase {
178
174
  return returnJson
179
175
  ? JSON.stringify(this.getAdaptableState().Charting)
180
176
  : this.getAdaptableState().Charting;
181
- case 'Notes':
177
+ case 'Note':
182
178
  return returnJson
183
- ? JSON.stringify(this.getAdaptableState().Notes)
184
- : this.getAdaptableState().Notes;
179
+ ? JSON.stringify(this.getAdaptableState().Note)
180
+ : this.getAdaptableState().Note;
185
181
  case 'CustomSort':
186
182
  return returnJson
187
183
  ? JSON.stringify(this.getAdaptableState().CustomSort)
@@ -258,8 +254,8 @@ export class ConfigApiImpl extends ApiBase {
258
254
  getChartingState(returnJson = false) {
259
255
  return this.getUserStateByStateKey('Charting', returnJson);
260
256
  }
261
- getNotesState(returnJson = false) {
262
- return this.getUserStateByStateKey('Notes', returnJson);
257
+ getNoteState(returnJson = false) {
258
+ return this.getUserStateByStateKey('Note', returnJson);
263
259
  }
264
260
  getCustomSortState(returnJson = false) {
265
261
  return this.getUserStateByStateKey('CustomSort', returnJson);
@@ -314,8 +310,8 @@ export class ConfigApiImpl extends ApiBase {
314
310
  case 'Charting':
315
311
  this.dispatchAction(ChartingRedux.ChartingReady(this.getChartingState()));
316
312
  break;
317
- case 'Notes':
318
- this.dispatchAction(NotesRedux.NotesReady(this.getNotesState()));
313
+ case 'Note':
314
+ this.dispatchAction(NoteRedux.NoteReady(this.getNoteState()));
319
315
  break;
320
316
  case 'CustomSort':
321
317
  this.dispatchAction(CustomSortRedux.CustomSortReady(this.getCustomSortState()));
@@ -0,0 +1,7 @@
1
+ import { ApiBase } from './ApiBase';
2
+ import { ContextMenuApi } from '../ContextMenuApi';
3
+ import { IAdaptable } from '../../AdaptableInterfaces/IAdaptable';
4
+ export declare class ContextMenuApiImpl extends ApiBase implements ContextMenuApi {
5
+ constructor(adaptable: IAdaptable);
6
+ hideContextMenu(): void;
7
+ }
@@ -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
  }