@adaptabletools/adaptable-cjs 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 (422) 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 +2 -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 +48 -16
  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 +16 -0
  55. package/src/Api/Implementation/ColumnScopeApiImpl.d.ts +33 -0
  56. package/src/Api/Implementation/{ScopeApiImpl.js → ColumnScopeApiImpl.js} +48 -15
  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 +13 -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} +14 -14
  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 +8 -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} +6 -5
  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 +2 -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 +2 -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 +126 -0
  147. package/src/PredefinedConfig/Common/RowScope.d.ts +17 -0
  148. package/src/PredefinedConfig/Common/RowScope.js +2 -0
  149. package/src/PredefinedConfig/Common/RowSummary.d.ts +15 -1
  150. package/src/PredefinedConfig/Common/RowSummary.js +17 -1
  151. package/src/PredefinedConfig/Common/TransposeConfig.d.ts +30 -0
  152. package/src/PredefinedConfig/Common/TransposeConfig.js +2 -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 +2 -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 +1 -39
  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} +31 -31
  173. package/src/Redux/ActionsReducers/PopupRedux.d.ts +5 -13
  174. package/src/Redux/ActionsReducers/PopupRedux.js +1 -22
  175. package/src/Redux/ActionsReducers/SystemRedux.d.ts +11 -5
  176. package/src/Redux/ActionsReducers/SystemRedux.js +14 -11
  177. package/src/Redux/Store/AdaptableStore.js +39 -32
  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 +75 -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 +10 -20
  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 +56 -42
  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 +60 -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 +3 -2
  233. package/src/Utilities/Constants/ModuleConstants.d.ts +6 -6
  234. package/src/Utilities/Constants/ModuleConstants.js +7 -7
  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 +144 -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 +21 -1
  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 -198
  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 +160 -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 +18 -0
  262. package/src/Utilities/license/decode.js +1 -70
  263. package/src/Utilities/license/hashing.js +1 -47
  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 +46 -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 +181 -0
  320. package/src/View/License/LicenseWatermark.js +1 -66
  321. package/src/View/Note/NotePopup.d.ts +2 -0
  322. package/src/View/{Notes/NotesPopup.js → Note/NotePopup.js} +16 -11
  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 +124 -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 +50 -0
  353. package/src/agGrid/weightedAverage.d.ts +0 -2
  354. package/src/agGrid/weightedAverage.js +1 -56
  355. package/src/components/Accordion.d.ts +7 -0
  356. package/src/components/Accordion.js +41 -0
  357. package/src/components/Datepicker/index.js +10 -2
  358. package/src/components/ExpressionEditor/QueryBuilder/QueryPredicateBuilder.js +2 -1
  359. package/src/components/ExpressionEditor/QueryBuilder/utils.d.ts +0 -1
  360. package/src/components/ExpressionEditor/QueryBuilder/utils.js +3 -17
  361. package/src/components/Input/index.d.ts +1 -2
  362. package/src/components/ProgressIndicator/ProgressIndicator.js +15 -6
  363. package/src/components/Select/Select.d.ts +1 -1
  364. package/src/components/Select/Select.js +3 -1
  365. package/src/components/Textarea/index.d.ts +2 -2
  366. package/src/components/icons/collapse-all.d.ts +3 -0
  367. package/src/components/icons/collapse-all.js +7 -0
  368. package/src/components/icons/copy.d.ts +3 -0
  369. package/src/components/icons/copy.js +7 -0
  370. package/src/components/icons/csv.d.ts +3 -0
  371. package/src/components/icons/csv.js +7 -0
  372. package/src/components/icons/data-object.d.ts +3 -0
  373. package/src/components/icons/data-object.js +7 -0
  374. package/src/components/icons/excel.d.ts +3 -0
  375. package/src/components/icons/excel.js +8 -0
  376. package/src/components/icons/expand-all.d.ts +3 -0
  377. package/src/components/icons/expand-all.js +7 -0
  378. package/src/components/icons/filter-off.d.ts +3 -0
  379. package/src/components/icons/filter-off.js +7 -0
  380. package/src/components/icons/grid-info.d.ts +3 -0
  381. package/src/components/icons/grid-info.js +7 -0
  382. package/src/components/icons/index.js +22 -0
  383. package/src/components/icons/note.js +2 -2
  384. package/src/components/icons/select-all.d.ts +3 -0
  385. package/src/components/icons/select-all.js +7 -0
  386. package/src/components/icons/select-fwd.d.ts +3 -0
  387. package/src/components/icons/select-fwd.js +7 -0
  388. package/src/components/icons/select-off.d.ts +3 -0
  389. package/src/components/icons/select-off.js +7 -0
  390. package/src/env.js +2 -2
  391. package/src/metamodel/adaptable.metamodel.d.ts +222 -116
  392. package/src/metamodel/adaptable.metamodel.js +1 -9429
  393. package/src/parser/src/parser.js +576 -553
  394. package/src/parser/src/predicate/mapExpressionToQlPredicate.js +1 -1
  395. package/src/parser/src/predicate/mapQlPredicateToExpression.js +3 -4
  396. package/src/parser/src/types.d.ts +2 -2
  397. package/src/parser/src/types.js +1 -2
  398. package/src/types.d.ts +32 -25
  399. package/tsconfig.cjs.tsbuildinfo +1 -1
  400. package/src/AdaptableOptions/MenuOptions.d.ts +0 -234
  401. package/src/AdaptableOptions/MenuOptions.js +0 -99
  402. package/src/Api/Events/CommentsChangedInfo.d.ts +0 -5
  403. package/src/Api/Implementation/ScopeApiImpl.d.ts +0 -33
  404. package/src/Api/Internal/NotesInternalApi.d.ts +0 -4
  405. package/src/Api/NotesApi.d.ts +0 -48
  406. package/src/PredefinedConfig/CellAddress.d.ts +0 -13
  407. package/src/PredefinedConfig/CellAddress.js +0 -5
  408. package/src/Redux/ActionsReducers/NotesRedux.d.ts +0 -38
  409. package/src/Strategy/CommentsModule.d.ts +0 -17
  410. package/src/Strategy/CommentsModule.js +0 -86
  411. package/src/Strategy/NotesModule.d.ts +0 -10
  412. package/src/Strategy/NotesModule.js +0 -61
  413. package/src/Utilities/Services/SummaryService.d.ts +0 -19
  414. package/src/Utilities/Services/SummaryService.js +0 -33
  415. package/src/View/Notes/NotesPopup.d.ts +0 -2
  416. /package/src/{Api/Events/CommentsChangedInfo.js → AdaptableOptions/ColumnMenuOptions.js} +0 -0
  417. /package/src/{Api/NotesApi.js → AdaptableOptions/ContextMenuOptions.js} +0 -0
  418. /package/src/Api/{ScopeApi.js → ColumnMenuApi.js} +0 -0
  419. /package/src/{PredefinedConfig/Common/AdaptableScope.js → Api/ColumnScopeApi.js} +0 -0
  420. /package/src/{PredefinedConfig/NotesState.js → Api/ContextMenuApi.js} +0 -0
  421. /package/src/View/{Notes → Note}/NoteEditor.d.ts +0 -0
  422. /package/src/View/{Notes → Note}/NoteEditor.js +0 -0
@@ -1,12 +1,25 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ColumnApiImpl = void 0;
3
+ exports.ColumnApiImpl = exports.isAutoPivotColumn = exports.isAutoRowGroupColumn = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const ApiBase_1 = require("./ApiBase");
6
6
  const GeneralConstants = tslib_1.__importStar(require("../../Utilities/Constants/GeneralConstants"));
7
7
  const ModuleConstants = tslib_1.__importStar(require("../../Utilities/Constants/ModuleConstants"));
8
8
  const ArrayExtensions_1 = tslib_1.__importDefault(require("../../Utilities/Extensions/ArrayExtensions"));
9
9
  const ColumnInternalApi_1 = require("../Internal/ColumnInternalApi");
10
+ const ObjectFactory_1 = require("../../Utilities/ObjectFactory");
11
+ function isAutoRowGroupColumn(columnId) {
12
+ // put this here as there might be other indicators we are not aware of
13
+ // perhaps with non auto groups ?
14
+ //https://www.ag-grid.com/javascript-grid-grouping/
15
+ return columnId === null || columnId === void 0 ? void 0 : columnId.startsWith(GeneralConstants.AG_GRID_GROUPED_COLUMN);
16
+ }
17
+ exports.isAutoRowGroupColumn = isAutoRowGroupColumn;
18
+ function isAutoPivotColumn(columnId) {
19
+ // put this here as there might be other indicators we are not aware of?
20
+ return columnId === null || columnId === void 0 ? void 0 : columnId.startsWith(GeneralConstants.AG_GRID_PIVOT_COLUMN);
21
+ }
22
+ exports.isAutoPivotColumn = isAutoPivotColumn;
10
23
  class ColumnApiImpl extends ApiBase_1.ApiBase {
11
24
  constructor(adaptable) {
12
25
  super(adaptable);
@@ -14,10 +27,10 @@ class ColumnApiImpl extends ApiBase_1.ApiBase {
14
27
  }
15
28
  getColumns() {
16
29
  var _a;
17
- return (_a = this.adaptable.api.gridApi.getGridState().Columns) !== null && _a !== void 0 ? _a : [];
30
+ return (_a = this.getAdaptableApi().gridApi.getGridState().Columns) !== null && _a !== void 0 ? _a : [];
18
31
  }
19
32
  getVisibleColumns() {
20
- const layout = this.adaptable.api.layoutApi.getCurrentLayout();
33
+ const layout = this.getAdaptableApi().layoutApi.getCurrentLayout();
21
34
  const visibleCols = layout.Columns.reduce((acc, colId) => {
22
35
  acc[colId] = true;
23
36
  return acc;
@@ -55,29 +68,25 @@ class ColumnApiImpl extends ApiBase_1.ApiBase {
55
68
  this.adaptable.showColumn(columnId);
56
69
  }
57
70
  isAutoRowGroupColumn(columnId) {
58
- // put this here as there might be other indicators we are not aware of
59
- // perhaps with non auto groups ?
60
- //https://www.ag-grid.com/javascript-grid-grouping/
61
- return columnId === null || columnId === void 0 ? void 0 : columnId.startsWith(GeneralConstants.AG_GRID_GROUPED_COLUMN);
71
+ return isAutoRowGroupColumn(columnId);
62
72
  }
63
73
  isAutoPivotColumn(columnId) {
64
- // put this here as there might be other indicators we are not aware of?
65
- return columnId === null || columnId === void 0 ? void 0 : columnId.startsWith(GeneralConstants.AG_GRID_PIVOT_COLUMN);
74
+ return isAutoPivotColumn(columnId);
66
75
  }
67
76
  isCalculatedColumn(columnId) {
68
- return (this.adaptable.api.calculatedColumnApi
69
- .getCalculatedColumns()
77
+ return (this.getAdaptableApi()
78
+ .calculatedColumnApi.getCalculatedColumns()
70
79
  .find((cc) => cc.ColumnId == columnId) != null);
71
80
  }
72
81
  isFreeTextColumn(columnId) {
73
- return (this.adaptable.api.freeTextColumnApi
74
- .getFreeTextColumns()
82
+ return (this.getAdaptableApi()
83
+ .freeTextColumnApi.getFreeTextColumns()
75
84
  .find((cc) => cc.ColumnId == columnId) != null);
76
85
  }
77
86
  isActionColumn(columnId) {
78
87
  var _a;
79
- return (((_a = this.adaptable.api.actionColumnApi
80
- .getActionColumns()) === null || _a === void 0 ? void 0 : _a.find((cc) => cc.columnId == columnId)) != null);
88
+ return (((_a = this.getAdaptableApi()
89
+ .actionColumnApi.getActionColumns()) === null || _a === void 0 ? void 0 : _a.find((cc) => cc.columnId == columnId)) != null);
81
90
  }
82
91
  getColumnWithColumnId(columnId, logWarning) {
83
92
  if (columnId == undefined) {
@@ -156,7 +165,7 @@ class ColumnApiImpl extends ApiBase_1.ApiBase {
156
165
  }
157
166
  let result = columnId + GeneralConstants.MISSING_COLUMN;
158
167
  if (this.isAutoRowGroupColumn(columnId)) {
159
- const currentLayout = this.adaptable.api.layoutApi.getCurrentLayout();
168
+ const currentLayout = this.getAdaptableApi().layoutApi.getCurrentLayout();
160
169
  if (currentLayout === null || currentLayout === void 0 ? void 0 : currentLayout.RowGroupedColumns) {
161
170
  result = `[Grouped column: ${currentLayout.RowGroupedColumns.join(', ')}]`;
162
171
  }
@@ -337,5 +346,28 @@ class ColumnApiImpl extends ApiBase_1.ApiBase {
337
346
  openColumnInfoSettingsPanel() {
338
347
  this.showModulePopup(ModuleConstants.ColumnInfoModuleId);
339
348
  }
349
+ getColumnTypes() {
350
+ const columnTypes = this.getOptions().columnOptions.columnTypes;
351
+ if (typeof columnTypes === 'function') {
352
+ return columnTypes((0, ObjectFactory_1.createBaseContext)(this.getAdaptableApi()));
353
+ }
354
+ else {
355
+ return columnTypes;
356
+ }
357
+ }
358
+ getColumnsByColumnType(columnType) {
359
+ const abColumns = this.getColumns();
360
+ return abColumns.filter((c) => {
361
+ var _a;
362
+ return ((_a = c.columnTypes) !== null && _a !== void 0 ? _a : []).includes(columnType);
363
+ });
364
+ }
365
+ getRowGroupedColumns() {
366
+ var _a;
367
+ return (_a = this.getLayoutApi()
368
+ .getCurrentRowGroupsColumnIds()) === null || _a === void 0 ? void 0 : _a.map((n) => {
369
+ return this.getColumnWithColumnId(n);
370
+ });
371
+ }
340
372
  }
341
373
  exports.ColumnApiImpl = ColumnApiImpl;
@@ -18,7 +18,7 @@ class ColumnFilterApiImpl extends ApiBase_1.ApiBase {
18
18
  };
19
19
  return this.getAdaptableApi()
20
20
  .predicateApi.internalApi.getFilterPredicateDefs(scope)
21
- .filter((predicate) => this.adaptable.api.scopeApi.isColumnInScope(column, predicate.columnScope));
21
+ .filter((predicate) => this.getAdaptableApi().columnScopeApi.isColumnInScope(column, predicate.columnScope));
22
22
  }
23
23
  getFilterPredicateDefsForColumnId(columnId) {
24
24
  const column = this.getAdaptableApi().columnApi.getColumnWithColumnId(columnId);
@@ -35,11 +35,11 @@ class ColumnFilterApiImpl extends ApiBase_1.ApiBase {
35
35
  }
36
36
  isQuickFilterVisible() {
37
37
  return (this.isQuickFilterAvailable() &&
38
- this.adaptable.api.internalApi.getSystemState().IsQuickFilterVisible);
38
+ this.getAdaptableApi().internalApi.getSystemState().IsQuickFilterVisible);
39
39
  }
40
40
  getColumnFilters() {
41
41
  var _a;
42
- const currentLayout = this.adaptable.api.layoutApi.getCurrentLayout();
42
+ const currentLayout = this.getAdaptableApi().layoutApi.getCurrentLayout();
43
43
  return (_a = currentLayout.ColumnFilters) !== null && _a !== void 0 ? _a : [];
44
44
  }
45
45
  getActiveColumnFilters() {
@@ -59,7 +59,7 @@ class ColumnFilterApiImpl extends ApiBase_1.ApiBase {
59
59
  }
60
60
  getColumnFiltersForLayout(layoutName) {
61
61
  var _a;
62
- const layout = this.adaptable.api.layoutApi.getLayoutByName(layoutName);
62
+ const layout = this.getAdaptableApi().layoutApi.getLayoutByName(layoutName);
63
63
  return (_a = layout.ColumnFilters) !== null && _a !== void 0 ? _a : [];
64
64
  }
65
65
  setColumnFilters(columnFilters) {
@@ -68,7 +68,7 @@ class ColumnFilterApiImpl extends ApiBase_1.ApiBase {
68
68
  this.logWarn('Column Filter has no Predicate', columnFilter);
69
69
  }
70
70
  else {
71
- const isValidPredicate = this.adaptable.api.predicateApi.isValidPredicate(columnFilter.Predicate);
71
+ const isValidPredicate = this.getAdaptableApi().predicateApi.isValidPredicate(columnFilter.Predicate);
72
72
  if (!isValidPredicate) {
73
73
  this.logWarn('Column Filter Predicate is not valid', columnFilter);
74
74
  }
@@ -122,10 +122,10 @@ class ColumnFilterApiImpl extends ApiBase_1.ApiBase {
122
122
  if (!filter || !filter.Predicate || !filter.Predicate.PredicateId) {
123
123
  return false;
124
124
  }
125
- const predicateDef = this.adaptable.api.predicateApi.getPredicateDefById(filter === null || filter === void 0 ? void 0 : filter.Predicate.PredicateId);
125
+ const predicateDef = this.getAdaptableApi().predicateApi.getPredicateDefById(filter === null || filter === void 0 ? void 0 : filter.Predicate.PredicateId);
126
126
  if (ArrayExtensions_1.default.IsNull(predicateDef.inputs) &&
127
127
  // values predicates have no inputs in the definition
128
- !this.adaptable.api.predicateApi.internalApi.hasPredicateValues(filter.Predicate)) {
128
+ !this.getAdaptableApi().predicateApi.internalApi.hasPredicateValues(filter.Predicate)) {
129
129
  return true;
130
130
  }
131
131
  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,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ColumnMenuApiImpl = void 0;
4
+ const ApiBase_1 = require("./ApiBase");
5
+ class ColumnMenuApiImpl extends ApiBase_1.ApiBase {
6
+ constructor(adaptable) {
7
+ super(adaptable);
8
+ }
9
+ showColumnMenu(columnKey) {
10
+ this.adaptable.agGridAdapter.getAgGridApi().showColumnMenu(columnKey);
11
+ }
12
+ hideColumnMenu() {
13
+ this.adaptable.agGridAdapter.getAgGridApi().hidePopupMenu();
14
+ }
15
+ }
16
+ exports.ColumnMenuApiImpl = ColumnMenuApiImpl;
@@ -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,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ScopeApiImpl = void 0;
3
+ exports.ColumnScopeApiImpl = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const ApiBase_1 = require("./ApiBase");
6
6
  const ArrayExtensions_1 = tslib_1.__importDefault(require("../../Utilities/Extensions/ArrayExtensions"));
7
7
  const UIHelper_1 = require("../../View/UIHelper");
8
- class ScopeApiImpl extends ApiBase_1.ApiBase {
8
+ class ColumnScopeApiImpl extends ApiBase_1.ApiBase {
9
9
  isColumnInScope(column, scope) {
10
10
  if (!column) {
11
11
  return false;
@@ -30,7 +30,7 @@ class ScopeApiImpl extends ApiBase_1.ApiBase {
30
30
  if (scope == undefined) {
31
31
  return [];
32
32
  }
33
- const columns = this.adaptable.api.columnApi.getColumns();
33
+ const columns = this.getAdaptableApi().columnApi.getColumns();
34
34
  if ('All' in scope) {
35
35
  return columns;
36
36
  }
@@ -47,7 +47,9 @@ class ScopeApiImpl extends ApiBase_1.ApiBase {
47
47
  return 'Columns: All';
48
48
  }
49
49
  if ('ColumnTypes' in scope) {
50
- return ((scope.ColumnTypes.length > 0 ? 'ColumnTypes' : 'ColumnType') + ': ' + scope.ColumnTypes.join(', '));
50
+ return ((scope.ColumnTypes.length > 0 ? 'ColumnTypes' : 'ColumnType') +
51
+ ': ' +
52
+ scope.ColumnTypes.join(', '));
51
53
  }
52
54
  if ('DataTypes' in scope) {
53
55
  return ((scope.DataTypes.length > 0 ? 'DataTypes' : 'DataType') + ': ' + scope.DataTypes.join(', '));
@@ -55,8 +57,8 @@ class ScopeApiImpl extends ApiBase_1.ApiBase {
55
57
  if ('ColumnIds' in scope) {
56
58
  return ((scope.ColumnIds.length > 1 ? 'Columns' : 'Column') +
57
59
  ': ' +
58
- this.adaptable.api.columnApi
59
- .getFriendlyNamesForColumnIds(scope.ColumnIds)
60
+ this.getAdaptableApi()
61
+ .columnApi.getFriendlyNamesForColumnIds(scope.ColumnIds)
60
62
  .map((c) => {
61
63
  return '"' + c + '"';
62
64
  })
@@ -98,7 +100,7 @@ class ScopeApiImpl extends ApiBase_1.ApiBase {
98
100
  !this.scopeIsAll(scope) &&
99
101
  'ColumnIds' in scope &&
100
102
  scope.ColumnIds.length == 1 &&
101
- this.adaptable.api.columnApi.hasNumberDataType(scope.ColumnIds[0]));
103
+ this.getAdaptableApi().columnApi.hasNumberDataType(scope.ColumnIds[0]));
102
104
  }
103
105
  isSingleBooleanColumnScope(scope) {
104
106
  return (this.scopeHasColumns(scope) &&
@@ -106,7 +108,7 @@ class ScopeApiImpl extends ApiBase_1.ApiBase {
106
108
  !this.scopeIsAll(scope) &&
107
109
  'ColumnIds' in scope &&
108
110
  scope.ColumnIds.length == 1 &&
109
- this.adaptable.api.columnApi.hasBooleanDataType(scope.ColumnIds[0]));
111
+ this.getAdaptableApi().columnApi.hasBooleanDataType(scope.ColumnIds[0]));
110
112
  }
111
113
  areAllBooleanColumnsInScope(scope) {
112
114
  return (this.scopeHasColumns(scope) &&
@@ -114,7 +116,7 @@ class ScopeApiImpl extends ApiBase_1.ApiBase {
114
116
  !this.scopeIsAll(scope) &&
115
117
  'ColumnIds' in scope &&
116
118
  scope.ColumnIds.length &&
117
- scope.ColumnIds.every((columnId) => this.adaptable.api.columnApi.hasBooleanDataType(columnId)));
119
+ scope.ColumnIds.every((columnId) => this.getAdaptableApi().columnApi.hasBooleanDataType(columnId)));
118
120
  }
119
121
  isColumnInScopeColumns(column, scope) {
120
122
  return this.scopeHasColumns(scope) && this.isColumnInScope(column, scope);
@@ -122,7 +124,7 @@ class ScopeApiImpl extends ApiBase_1.ApiBase {
122
124
  isPrimaryKeyColumnInScopeColumns(scope) {
123
125
  return ('ColumnIds' in scope &&
124
126
  scope.ColumnIds.length == 1 &&
125
- scope.ColumnIds.find((c) => c == this.adaptable.api.optionsApi.getPrimaryKey()) != null);
127
+ scope.ColumnIds.find((c) => c == this.getAdaptableApi().optionsApi.getPrimaryKey()) != null);
126
128
  }
127
129
  getScopeToString(scope) {
128
130
  if ('All' in scope) {
@@ -137,8 +139,8 @@ class ScopeApiImpl extends ApiBase_1.ApiBase {
137
139
  if ('ColumnIds' in scope) {
138
140
  let text = scope.ColumnIds.length == 1 ? 'Column: ' : 'Columns: ';
139
141
  return (text +
140
- this.adaptable.api.columnApi
141
- .getFriendlyNamesForColumnIds(scope.ColumnIds)
142
+ this.getAdaptableApi()
143
+ .columnApi.getFriendlyNamesForColumnIds(scope.ColumnIds)
142
144
  .map((c) => {
143
145
  return '"' + c + '"';
144
146
  })
@@ -164,6 +166,7 @@ class ScopeApiImpl extends ApiBase_1.ApiBase {
164
166
  return undefined;
165
167
  }
166
168
  isColumnInNumericScope(column, scope) {
169
+ var _a, _b;
167
170
  // if column is not even numeric then return false
168
171
  if (column == null || column == undefined || column.dataType !== 'Number') {
169
172
  return false;
@@ -180,9 +183,14 @@ class ScopeApiImpl extends ApiBase_1.ApiBase {
180
183
  if ('DataTypes' in scope && scope.DataTypes.includes('Number')) {
181
184
  return true;
182
185
  }
186
+ if ('ColumnTypes' in scope &&
187
+ ((_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); }))) {
188
+ return true;
189
+ }
183
190
  return false;
184
191
  }
185
192
  isColumnInStringsScope(column, scope) {
193
+ var _a, _b;
186
194
  // if column is not even string then return false
187
195
  if (column == null || column == undefined || column.dataType !== 'String') {
188
196
  return false;
@@ -199,9 +207,14 @@ class ScopeApiImpl extends ApiBase_1.ApiBase {
199
207
  if ('DataTypes' in scope && scope.DataTypes.includes('String')) {
200
208
  return true;
201
209
  }
210
+ if ('ColumnTypes' in scope &&
211
+ ((_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); }))) {
212
+ return true;
213
+ }
202
214
  return false;
203
215
  }
204
216
  isColumnInDateScope(column, scope) {
217
+ var _a, _b;
205
218
  // if column is not even numeric then return false
206
219
  if (column == null || column == undefined || column.dataType !== 'Date') {
207
220
  return false;
@@ -218,6 +231,10 @@ class ScopeApiImpl extends ApiBase_1.ApiBase {
218
231
  if ('DataTypes' in scope && scope.DataTypes.includes('Date')) {
219
232
  return true;
220
233
  }
234
+ if ('ColumnTypes' in scope &&
235
+ ((_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); }))) {
236
+ return true;
237
+ }
221
238
  return false;
222
239
  }
223
240
  isScopeInScope(a, b) {
@@ -240,14 +257,30 @@ class ScopeApiImpl extends ApiBase_1.ApiBase {
240
257
  'DataTypes' in b &&
241
258
  a.ColumnIds.every((columnId) => {
242
259
  var _a;
243
- return b.DataTypes.includes((_a = this.adaptable.api.columnApi.getColumnWithColumnId(columnId)) === null || _a === void 0 ? void 0 : _a.dataType);
260
+ return b.DataTypes.includes((_a = this.getAdaptableApi().columnApi.getColumnWithColumnId(columnId)) === null || _a === void 0 ? void 0 : _a.dataType);
244
261
  })) {
245
262
  return true;
246
263
  }
264
+ if ('ColumnTypes' in a &&
265
+ 'ColumnTypes' in b &&
266
+ a.ColumnTypes.every((columnType) => b.ColumnTypes.includes(columnType))) {
267
+ return true;
268
+ }
269
+ // check if each colum in a has column types in b
270
+ if ('ColumnIds' in a && 'ColumnTypes' in b) {
271
+ const inScope = a.ColumnIds.every((columnId) => {
272
+ const column = this.getAdaptableApi().columnApi.getColumnWithColumnId(columnId);
273
+ // check if at least one column-type is in scope
274
+ return column.columnTypes.some((columnColumnType) => b.ColumnTypes.includes(columnColumnType));
275
+ });
276
+ if (inScope) {
277
+ return true;
278
+ }
279
+ }
247
280
  return false;
248
281
  }
249
282
  createCellColorRangesForScope(scope) {
250
- let distinctColumnsValues = this.adaptable.api.gridApi.internalApi.getDistinctRawValuesForColumn(this.adaptable.api.scopeApi.getSingleColumnInScope(scope));
283
+ let distinctColumnsValues = this.getAdaptableApi().gridApi.internalApi.getDistinctRawValuesForColumn(this.getAdaptableApi().columnScopeApi.getSingleColumnInScope(scope));
251
284
  let minValue = Math.min(...distinctColumnsValues);
252
285
  let maxValue = Math.max(...distinctColumnsValues);
253
286
  const ranges = [];
@@ -284,4 +317,4 @@ class ScopeApiImpl extends ApiBase_1.ApiBase {
284
317
  return false;
285
318
  }
286
319
  }
287
- exports.ScopeApiImpl = ScopeApiImpl;
320
+ exports.ColumnScopeApiImpl = ColumnScopeApiImpl;
@@ -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
  }
@@ -12,13 +12,10 @@ class CommentsApiImpl extends ApiBase_1.ApiBase {
12
12
  super(adaptable);
13
13
  this.internalApi = new CommentsInternalApi_1.CommentsInternalApi(adaptable);
14
14
  }
15
- getComments(address) {
16
- return CommentRedux.GetCommentsSelector(this.getAdaptableState().Comment, address);
17
- }
18
15
  getCommentThread(address) {
19
16
  return CommentRedux.GetCellCommentSelector(this.getAdaptableState().Comment, address);
20
17
  }
21
- getCommentThreads() {
18
+ getGridComments() {
22
19
  var _a;
23
20
  return (_a = this.getAdaptableState().Comment.CommentThreads) !== null && _a !== void 0 ? _a : [];
24
21
  }
@@ -31,7 +28,7 @@ class CommentsApiImpl extends ApiBase_1.ApiBase {
31
28
  addComment(commentText, address) {
32
29
  this.dispatchAction(CommentRedux.CommentsAdd({
33
30
  comment: commentText
34
- ? ObjectFactory_1.default.CreateAdaptableComment(commentText, this.adaptable.api)
31
+ ? ObjectFactory_1.default.CreateAdaptableComment(commentText, this.getAdaptableApi())
35
32
  : null,
36
33
  cellAddress: address,
37
34
  }));
@@ -45,8 +42,11 @@ class CommentsApiImpl extends ApiBase_1.ApiBase {
45
42
  deleteCommentThread(cellAddress) {
46
43
  this.dispatchAction(CommentRedux.CommentsCellDelete({ cellAddress }));
47
44
  }
48
- loadCommentThreads(cellComments) {
45
+ setGridComments(cellComments) {
49
46
  this.dispatchAction(CommentRedux.CommentsSet({ commentThread: cellComments }));
50
47
  }
48
+ clearGridComments() {
49
+ this.setGridComments([]);
50
+ }
51
51
  }
52
52
  exports.CommentsApiImpl = CommentsApiImpl;
@@ -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;
@@ -12,7 +12,7 @@ const AlertRedux = tslib_1.__importStar(require("../../Redux/ActionsReducers/Ale
12
12
  const BulkUpdateRedux = tslib_1.__importStar(require("../../Redux/ActionsReducers/BulkUpdateRedux"));
13
13
  const CalculatedColumnRedux = tslib_1.__importStar(require("../../Redux/ActionsReducers/CalculatedColumnRedux"));
14
14
  const ChartingRedux = tslib_1.__importStar(require("../../Redux/ActionsReducers/ChartingRedux"));
15
- const NotesRedux = tslib_1.__importStar(require("../../Redux/ActionsReducers/NotesRedux"));
15
+ const NoteRedux = tslib_1.__importStar(require("../../Redux/ActionsReducers/NoteRedux"));
16
16
  const CustomSortRedux = tslib_1.__importStar(require("../../Redux/ActionsReducers/CustomSortRedux"));
17
17
  const ExportRedux = tslib_1.__importStar(require("../../Redux/ActionsReducers/ExportRedux"));
18
18
  const FormatColumnRedux = tslib_1.__importStar(require("../../Redux/ActionsReducers/FormatColumnRedux"));
@@ -66,15 +66,9 @@ class ConfigApiImpl extends ApiBase_1.ApiBase {
66
66
  flushCurrentState: false,
67
67
  }).then(() => {
68
68
  const newState = this.getPersistedState();
69
- const stateReloadedInfo = {
70
- oldState,
71
- newState,
72
- adaptableStateKey: adaptableOptions.adaptableStateKey,
73
- adaptableId: adaptableOptions.adaptableId,
74
- adaptableApi: this.adaptable.api,
75
- userName: this.adaptable.api.optionsApi.getUserName(),
76
- };
77
- this.adaptable.api.eventApi.emit('AdaptableStateReloaded', stateReloadedInfo);
69
+ const stateReloadedInfo = Object.assign({ oldState,
70
+ newState, adaptableStateKey: adaptableOptions.adaptableStateKey }, this.getAdaptableApi().internalApi.buildBaseContext());
71
+ this.getAdaptableApi().eventApi.emit('AdaptableStateReloaded', stateReloadedInfo);
78
72
  });
79
73
  });
80
74
  });
@@ -97,21 +91,21 @@ class ConfigApiImpl extends ApiBase_1.ApiBase {
97
91
  });
98
92
  }
99
93
  getAdaptableSearchState() {
100
- const gridFilter = this.adaptable.api.gridFilterApi.getCurrentGridFilterExpression();
94
+ const gridFilter = this.getAdaptableApi().gridFilterApi.getCurrentGridFilterExpression();
101
95
  const adaptableSearchState = {
102
- dataSet: this.adaptable.api.dataSetApi.getCurrentDataSet(),
96
+ dataSet: this.getAdaptableApi().dataSetApi.getCurrentDataSet(),
103
97
  gridFilter: gridFilter,
104
98
  gridFilterAST: gridFilter
105
- ? this.adaptable.api.expressionApi.getASTForExpression(gridFilter)
99
+ ? this.getAdaptableApi().expressionApi.getASTForExpression(gridFilter)
106
100
  : null,
107
- columnFilters: this.adaptable.api.columnFilterApi.getColumnFilters(),
101
+ columnFilters: this.getAdaptableApi().columnFilterApi.getColumnFilters(),
108
102
  };
109
103
  return adaptableSearchState;
110
104
  }
111
105
  getAdaptableSortState() {
112
106
  const adaptableSortState = {
113
- columnSorts: this.adaptable.api.gridApi.getColumnSorts(),
114
- customSorts: this.adaptable.api.customSortApi.getCustomSorts(),
107
+ columnSorts: this.getAdaptableApi().gridApi.getColumnSorts(),
108
+ customSorts: this.getAdaptableApi().customSortApi.getCustomSorts(),
115
109
  };
116
110
  return adaptableSortState;
117
111
  }
@@ -120,7 +114,7 @@ class ConfigApiImpl extends ApiBase_1.ApiBase {
120
114
  }
121
115
  setAdaptableStateKey(adaptableStateKey, config) {
122
116
  return new Promise((resolve, reject) => {
123
- this.adaptable.api.internalApi.executeWithProgressIndicator(`Initialising...`, () => {
117
+ this.getAdaptableApi().internalApi.executeWithProgressIndicator(`Initialising...`, () => {
124
118
  const flushCurrentState = !config || config.flushCurrentState !== false;
125
119
  // make sure we persist any "pending" changes to state - since stateOptions.debounceStateDelay can cause
126
120
  // the state to be persisted with a delay, which we dont want in this case
@@ -137,12 +131,14 @@ class ConfigApiImpl extends ApiBase_1.ApiBase {
137
131
  adaptable: this.adaptable,
138
132
  adaptableStateKey,
139
133
  predefinedConfig,
134
+ postLoadHook: (state) => {
135
+ return this.adaptable.normalizeAdaptableState(state, this.adaptable.agGridAdapter.getLiveGridOptions());
136
+ },
140
137
  });
141
138
  promise
142
139
  .then(() => {
143
140
  this.adaptable.updateColumnModelAndRefreshGrid({ skipColDefsRefresh: true });
144
141
  this.adaptable.setLayout();
145
- this.adaptable.api.userInterfaceApi.hideLoadingScreen();
146
142
  })
147
143
  .then(() => {
148
144
  // resolve main(result) promise
@@ -182,10 +178,10 @@ class ConfigApiImpl extends ApiBase_1.ApiBase {
182
178
  return returnJson
183
179
  ? JSON.stringify(this.getAdaptableState().Charting)
184
180
  : this.getAdaptableState().Charting;
185
- case 'Notes':
181
+ case 'Note':
186
182
  return returnJson
187
- ? JSON.stringify(this.getAdaptableState().Notes)
188
- : this.getAdaptableState().Notes;
183
+ ? JSON.stringify(this.getAdaptableState().Note)
184
+ : this.getAdaptableState().Note;
189
185
  case 'CustomSort':
190
186
  return returnJson
191
187
  ? JSON.stringify(this.getAdaptableState().CustomSort)
@@ -262,8 +258,8 @@ class ConfigApiImpl extends ApiBase_1.ApiBase {
262
258
  getChartingState(returnJson = false) {
263
259
  return this.getUserStateByStateKey('Charting', returnJson);
264
260
  }
265
- getNotesState(returnJson = false) {
266
- return this.getUserStateByStateKey('Notes', returnJson);
261
+ getNoteState(returnJson = false) {
262
+ return this.getUserStateByStateKey('Note', returnJson);
267
263
  }
268
264
  getCustomSortState(returnJson = false) {
269
265
  return this.getUserStateByStateKey('CustomSort', returnJson);
@@ -318,8 +314,8 @@ class ConfigApiImpl extends ApiBase_1.ApiBase {
318
314
  case 'Charting':
319
315
  this.dispatchAction(ChartingRedux.ChartingReady(this.getChartingState()));
320
316
  break;
321
- case 'Notes':
322
- this.dispatchAction(NotesRedux.NotesReady(this.getNotesState()));
317
+ case 'Note':
318
+ this.dispatchAction(NoteRedux.NoteReady(this.getNoteState()));
323
319
  break;
324
320
  case 'CustomSort':
325
321
  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,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ContextMenuApiImpl = void 0;
4
+ const ApiBase_1 = require("./ApiBase");
5
+ class ContextMenuApiImpl extends ApiBase_1.ApiBase {
6
+ constructor(adaptable) {
7
+ super(adaptable);
8
+ }
9
+ hideContextMenu() {
10
+ this.adaptable.agGridAdapter.getAgGridApi().hidePopupMenu();
11
+ }
12
+ }
13
+ exports.ContextMenuApiImpl = ContextMenuApiImpl;
@@ -24,12 +24,7 @@ class DashboardApiImpl extends ApiBase_1.ApiBase {
24
24
  }
25
25
  getCustomDashboardButtonByLabel(buttonLabel) {
26
26
  const api = this.getAdaptableApi();
27
- const dashboardContext = {
28
- adaptableApi: api,
29
- userName: this.getOptions().userName,
30
- adaptableId: this.getOptions().adaptableId,
31
- dashboardState: api.dashboardApi.getDashboardState(),
32
- };
27
+ const dashboardContext = Object.assign(Object.assign({}, this.getAdaptableApi().internalApi.buildBaseContext()), { dashboardState: api.dashboardApi.getDashboardState() });
33
28
  return this.getDashboardOptions().customDashboardButtons.find((cb) => {
34
29
  api.internalApi.getLabelForButton(cb, dashboardContext) == buttonLabel;
35
30
  });