@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
@@ -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;
@@ -13,6 +13,10 @@ export class ScopeApiImpl extends ApiBase {
13
13
  if ('DataTypes' in scope && scope.DataTypes.includes(column.dataType)) {
14
14
  return true;
15
15
  }
16
+ if ('ColumnTypes' in scope &&
17
+ scope.ColumnTypes.some((columnType) => { var _a; return (_a = column.columnTypes) === null || _a === void 0 ? void 0 : _a.includes(columnType); })) {
18
+ return true;
19
+ }
16
20
  if ('ColumnIds' in scope && scope.ColumnIds.includes(column.columnId)) {
17
21
  return true;
18
22
  }
@@ -22,18 +26,12 @@ export class ScopeApiImpl extends ApiBase {
22
26
  if (scope == undefined) {
23
27
  return [];
24
28
  }
25
- const columns = this.adaptable.api.columnApi.getColumns();
29
+ const columns = this.getAdaptableApi().columnApi.getColumns();
26
30
  if ('All' in scope) {
27
31
  return columns;
28
32
  }
29
33
  return columns.filter((c) => {
30
- if ('DataTypes' in scope && scope.DataTypes.includes(c.dataType)) {
31
- return true;
32
- }
33
- if ('ColumnIds' in scope && scope.ColumnIds.includes(c.columnId)) {
34
- return true;
35
- }
36
- return false;
34
+ return this.isColumnInScope(c, scope);
37
35
  });
38
36
  }
39
37
  getScopeDescription(scope) {
@@ -44,14 +42,19 @@ export class ScopeApiImpl extends ApiBase {
44
42
  // do we need a true check here?
45
43
  return 'Columns: All';
46
44
  }
45
+ if ('ColumnTypes' in scope) {
46
+ return ((scope.ColumnTypes.length > 0 ? 'ColumnTypes' : 'ColumnType') +
47
+ ': ' +
48
+ scope.ColumnTypes.join(', '));
49
+ }
47
50
  if ('DataTypes' in scope) {
48
51
  return ((scope.DataTypes.length > 0 ? 'DataTypes' : 'DataType') + ': ' + scope.DataTypes.join(', '));
49
52
  }
50
53
  if ('ColumnIds' in scope) {
51
54
  return ((scope.ColumnIds.length > 1 ? 'Columns' : 'Column') +
52
55
  ': ' +
53
- this.adaptable.api.columnApi
54
- .getFriendlyNamesForColumnIds(scope.ColumnIds)
56
+ this.getAdaptableApi()
57
+ .columnApi.getFriendlyNamesForColumnIds(scope.ColumnIds)
55
58
  .map((c) => {
56
59
  return '"' + c + '"';
57
60
  })
@@ -67,6 +70,9 @@ export class ScopeApiImpl extends ApiBase {
67
70
  scopeHasDataType(scope) {
68
71
  return scope !== undefined && 'DataTypes' in scope;
69
72
  }
73
+ scopeHasColumnType(scope) {
74
+ return scope !== undefined && 'ColumnTypes' in scope;
75
+ }
70
76
  scopeHasOnlyBooleanDataType(scope) {
71
77
  var _a;
72
78
  return 'DataTypes' in scope && ((_a = scope.DataTypes) === null || _a === void 0 ? void 0 : _a.length) == 1 && scope.DataTypes[0] == 'Boolean';
@@ -90,7 +96,7 @@ export class ScopeApiImpl extends ApiBase {
90
96
  !this.scopeIsAll(scope) &&
91
97
  'ColumnIds' in scope &&
92
98
  scope.ColumnIds.length == 1 &&
93
- this.adaptable.api.columnApi.hasNumberDataType(scope.ColumnIds[0]));
99
+ this.getAdaptableApi().columnApi.hasNumberDataType(scope.ColumnIds[0]));
94
100
  }
95
101
  isSingleBooleanColumnScope(scope) {
96
102
  return (this.scopeHasColumns(scope) &&
@@ -98,7 +104,7 @@ export class ScopeApiImpl extends ApiBase {
98
104
  !this.scopeIsAll(scope) &&
99
105
  'ColumnIds' in scope &&
100
106
  scope.ColumnIds.length == 1 &&
101
- this.adaptable.api.columnApi.hasBooleanDataType(scope.ColumnIds[0]));
107
+ this.getAdaptableApi().columnApi.hasBooleanDataType(scope.ColumnIds[0]));
102
108
  }
103
109
  areAllBooleanColumnsInScope(scope) {
104
110
  return (this.scopeHasColumns(scope) &&
@@ -106,7 +112,7 @@ export class ScopeApiImpl extends ApiBase {
106
112
  !this.scopeIsAll(scope) &&
107
113
  'ColumnIds' in scope &&
108
114
  scope.ColumnIds.length &&
109
- scope.ColumnIds.every((columnId) => this.adaptable.api.columnApi.hasBooleanDataType(columnId)));
115
+ scope.ColumnIds.every((columnId) => this.getAdaptableApi().columnApi.hasBooleanDataType(columnId)));
110
116
  }
111
117
  isColumnInScopeColumns(column, scope) {
112
118
  return this.scopeHasColumns(scope) && this.isColumnInScope(column, scope);
@@ -114,20 +120,23 @@ export class ScopeApiImpl extends ApiBase {
114
120
  isPrimaryKeyColumnInScopeColumns(scope) {
115
121
  return ('ColumnIds' in scope &&
116
122
  scope.ColumnIds.length == 1 &&
117
- scope.ColumnIds.find((c) => c == this.adaptable.api.optionsApi.getPrimaryKey()) != null);
123
+ scope.ColumnIds.find((c) => c == this.getAdaptableApi().optionsApi.getPrimaryKey()) != null);
118
124
  }
119
125
  getScopeToString(scope) {
120
126
  if ('All' in scope) {
121
127
  return 'Columns: All';
122
128
  }
129
+ if ('ColumnTypes' in scope) {
130
+ return 'ColumnTypes: ' + scope.ColumnTypes.join(',');
131
+ }
123
132
  if ('DataTypes' in scope) {
124
133
  return 'DataTypes: ' + scope.DataTypes.join(',');
125
134
  }
126
135
  if ('ColumnIds' in scope) {
127
136
  let text = scope.ColumnIds.length == 1 ? 'Column: ' : 'Columns: ';
128
137
  return (text +
129
- this.adaptable.api.columnApi
130
- .getFriendlyNamesForColumnIds(scope.ColumnIds)
138
+ this.getAdaptableApi()
139
+ .columnApi.getFriendlyNamesForColumnIds(scope.ColumnIds)
131
140
  .map((c) => {
132
141
  return '"' + c + '"';
133
142
  })
@@ -140,6 +149,12 @@ export class ScopeApiImpl extends ApiBase {
140
149
  }
141
150
  return undefined;
142
151
  }
152
+ getColumnTypesInScope(scope) {
153
+ if (scope !== undefined && 'ColumnTypes' in scope) {
154
+ return scope.ColumnTypes;
155
+ }
156
+ return undefined;
157
+ }
143
158
  getDataTypesInScope(scope) {
144
159
  if (scope !== undefined && 'DataTypes' in scope) {
145
160
  return scope.DataTypes;
@@ -147,6 +162,7 @@ export class ScopeApiImpl extends ApiBase {
147
162
  return undefined;
148
163
  }
149
164
  isColumnInNumericScope(column, scope) {
165
+ var _a, _b;
150
166
  // if column is not even numeric then return false
151
167
  if (column == null || column == undefined || column.dataType !== 'Number') {
152
168
  return false;
@@ -163,9 +179,14 @@ export class ScopeApiImpl extends ApiBase {
163
179
  if ('DataTypes' in scope && scope.DataTypes.includes('Number')) {
164
180
  return true;
165
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
+ }
166
186
  return false;
167
187
  }
168
188
  isColumnInStringsScope(column, scope) {
189
+ var _a, _b;
169
190
  // if column is not even string then return false
170
191
  if (column == null || column == undefined || column.dataType !== 'String') {
171
192
  return false;
@@ -182,9 +203,14 @@ export class ScopeApiImpl extends ApiBase {
182
203
  if ('DataTypes' in scope && scope.DataTypes.includes('String')) {
183
204
  return true;
184
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
+ }
185
210
  return false;
186
211
  }
187
212
  isColumnInDateScope(column, scope) {
213
+ var _a, _b;
188
214
  // if column is not even numeric then return false
189
215
  if (column == null || column == undefined || column.dataType !== 'Date') {
190
216
  return false;
@@ -201,6 +227,10 @@ export class ScopeApiImpl extends ApiBase {
201
227
  if ('DataTypes' in scope && scope.DataTypes.includes('Date')) {
202
228
  return true;
203
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
+ }
204
234
  return false;
205
235
  }
206
236
  isScopeInScope(a, b) {
@@ -223,14 +253,30 @@ export class ScopeApiImpl extends ApiBase {
223
253
  'DataTypes' in b &&
224
254
  a.ColumnIds.every((columnId) => {
225
255
  var _a;
226
- 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);
227
257
  })) {
228
258
  return true;
229
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
+ }
230
276
  return false;
231
277
  }
232
278
  createCellColorRangesForScope(scope) {
233
- 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));
234
280
  let minValue = Math.min(...distinctColumnsValues);
235
281
  let maxValue = Math.max(...distinctColumnsValues);
236
282
  const ranges = [];
@@ -1,15 +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';
4
+ import { CommentsInternalApi } from '../Internal/CommentsInternalApi';
5
+ import { IAdaptable } from '../../AdaptableInterfaces/IAdaptable';
5
6
  export declare class CommentsApiImpl extends ApiBase implements CommentApi {
6
- getComments(address: CellAddress): AdaptableComment[];
7
+ internalApi: CommentsInternalApi;
8
+ constructor(adaptable: IAdaptable);
7
9
  getCommentThread(address: CellAddress): CommentThread | undefined;
8
- getCommentThreads(): CommentThread[];
10
+ getGridComments(): CommentThread[];
9
11
  editComment(comment: AdaptableComment, address: CellAddress): void;
10
12
  deleteComment(comment: AdaptableComment, address: CellAddress): void;
11
13
  addComment(commentText: AdaptableComment['Value'], address: CellAddress): void;
12
14
  addCommentThread(commentThread: CommentThread): void;
13
15
  deleteCommentThread(cellAddress: CellAddress): void;
14
- loadCommentThreads(cellComments: CommentThread[]): void;
16
+ setGridComments(cellComments: CommentThread[]): void;
17
+ clearGridComments(): void;
15
18
  }
@@ -2,14 +2,16 @@ import * as CommentRedux from '../../Redux/ActionsReducers/CommentsRedux';
2
2
  import { ApiBase } from './ApiBase';
3
3
  import ObjectFactory from '../../Utilities/ObjectFactory';
4
4
  import AdaptableHelper from '../../Utilities/Helpers/AdaptableHelper';
5
+ import { CommentsInternalApi } from '../Internal/CommentsInternalApi';
5
6
  export class CommentsApiImpl extends ApiBase {
6
- getComments(address) {
7
- return CommentRedux.GetCommentsSelector(this.getAdaptableState().Comment, address);
7
+ constructor(adaptable) {
8
+ super(adaptable);
9
+ this.internalApi = new CommentsInternalApi(adaptable);
8
10
  }
9
11
  getCommentThread(address) {
10
12
  return CommentRedux.GetCellCommentSelector(this.getAdaptableState().Comment, address);
11
13
  }
12
- getCommentThreads() {
14
+ getGridComments() {
13
15
  var _a;
14
16
  return (_a = this.getAdaptableState().Comment.CommentThreads) !== null && _a !== void 0 ? _a : [];
15
17
  }
@@ -22,7 +24,7 @@ export class CommentsApiImpl extends ApiBase {
22
24
  addComment(commentText, address) {
23
25
  this.dispatchAction(CommentRedux.CommentsAdd({
24
26
  comment: commentText
25
- ? ObjectFactory.CreateAdaptableComment(commentText, this.adaptable.api)
27
+ ? ObjectFactory.CreateAdaptableComment(commentText, this.getAdaptableApi())
26
28
  : null,
27
29
  cellAddress: address,
28
30
  }));
@@ -36,7 +38,10 @@ export class CommentsApiImpl extends ApiBase {
36
38
  deleteCommentThread(cellAddress) {
37
39
  this.dispatchAction(CommentRedux.CommentsCellDelete({ cellAddress }));
38
40
  }
39
- loadCommentThreads(cellComments) {
41
+ setGridComments(cellComments) {
40
42
  this.dispatchAction(CommentRedux.CommentsSet({ commentThread: cellComments }));
41
43
  }
44
+ clearGridComments() {
45
+ this.setGridComments([]);
46
+ }
42
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,19 +127,24 @@ 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
- this.adaptable.updateColumnModelAndRefreshGrid();
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
145
141
  resolve();
146
- }, () => {
142
+ }, (error) => {
147
143
  // reject main(result) promise
148
- reject();
144
+ reject(error);
145
+ })
146
+ .catch((e) => {
147
+ this.logError('Error setting Adaptable State Key', e);
149
148
  });
150
149
  });
151
150
  });
@@ -175,10 +174,10 @@ export class ConfigApiImpl extends ApiBase {
175
174
  return returnJson
176
175
  ? JSON.stringify(this.getAdaptableState().Charting)
177
176
  : this.getAdaptableState().Charting;
178
- case 'Notes':
177
+ case 'Note':
179
178
  return returnJson
180
- ? JSON.stringify(this.getAdaptableState().Notes)
181
- : this.getAdaptableState().Notes;
179
+ ? JSON.stringify(this.getAdaptableState().Note)
180
+ : this.getAdaptableState().Note;
182
181
  case 'CustomSort':
183
182
  return returnJson
184
183
  ? JSON.stringify(this.getAdaptableState().CustomSort)
@@ -255,8 +254,8 @@ export class ConfigApiImpl extends ApiBase {
255
254
  getChartingState(returnJson = false) {
256
255
  return this.getUserStateByStateKey('Charting', returnJson);
257
256
  }
258
- getNotesState(returnJson = false) {
259
- return this.getUserStateByStateKey('Notes', returnJson);
257
+ getNoteState(returnJson = false) {
258
+ return this.getUserStateByStateKey('Note', returnJson);
260
259
  }
261
260
  getCustomSortState(returnJson = false) {
262
261
  return this.getUserStateByStateKey('CustomSort', returnJson);
@@ -311,8 +310,8 @@ export class ConfigApiImpl extends ApiBase {
311
310
  case 'Charting':
312
311
  this.dispatchAction(ChartingRedux.ChartingReady(this.getChartingState()));
313
312
  break;
314
- case 'Notes':
315
- this.dispatchAction(NotesRedux.NotesReady(this.getNotesState()));
313
+ case 'Note':
314
+ this.dispatchAction(NoteRedux.NoteReady(this.getNoteState()));
316
315
  break;
317
316
  case 'CustomSort':
318
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
+ }