@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
@@ -5,25 +5,38 @@ const tslib_1 = require("tslib");
5
5
  const Badge_1 = require("../View/Components/Badge");
6
6
  const renderWithAdaptableContext_1 = require("../View/renderWithAdaptableContext");
7
7
  const React = tslib_1.__importStar(require("react"));
8
- const getBadgeRendererForColumn = (styledColumn, abColumn, api) => {
9
- if (!styledColumn.BadgeStyle) {
10
- return;
11
- }
8
+ const getBadgeRendererForColumn = (badgeStyle, abColumn, api) => {
12
9
  return class BadgetRenderer {
13
10
  getAdaptableInstance(params) {
14
11
  const adaptable = params.context.__adaptable;
15
12
  return adaptable;
16
13
  }
17
14
  init(params) {
18
- var _a, _b, _c;
15
+ var _a, _b, _c, _d, _e, _f;
19
16
  const adaptable = this.getAdaptableInstance(params);
20
17
  const adapatableApi = adaptable.api;
21
18
  this.eGui = document.createElement('div');
22
19
  this.eGui.className = 'ab-Badge__wrapper';
23
- const includeGrouped = Boolean(styledColumn.IncludeGroupedRows);
24
- const isGrouped = params.node.group;
25
- if (includeGrouped === false && isGrouped) {
26
- const formattedValue = (_c = (_b = (_a = params.formatValue) === null || _a === void 0 ? void 0 : _a.call(params, params.value)) !== null && _b !== void 0 ? _b : params.value) !== null && _c !== void 0 ? _c : '';
20
+ const isGroupedRow = params.node.group;
21
+ const isSummaryRow = adapatableApi.gridApi.isSummaryNode(params.node);
22
+ let shouldRender = true;
23
+ if (isGroupedRow) {
24
+ if ((_a = badgeStyle.RowScope) === null || _a === void 0 ? void 0 : _a.ExcludeGroupRows) {
25
+ shouldRender = false;
26
+ }
27
+ }
28
+ else if (isSummaryRow) {
29
+ if ((_b = badgeStyle.RowScope) === null || _b === void 0 ? void 0 : _b.ExcludeSummaryRows) {
30
+ shouldRender = false;
31
+ }
32
+ }
33
+ else {
34
+ if ((_c = badgeStyle.RowScope) === null || _c === void 0 ? void 0 : _c.ExcludeDataRows) {
35
+ shouldRender = false;
36
+ }
37
+ }
38
+ if (!shouldRender) {
39
+ const formattedValue = (_f = (_e = (_d = params.formatValue) === null || _d === void 0 ? void 0 : _d.call(params, params.value)) !== null && _e !== void 0 ? _e : params.value) !== null && _f !== void 0 ? _f : '';
27
40
  this.eGui.innerHTML = formattedValue;
28
41
  return;
29
42
  }
@@ -54,7 +67,7 @@ const getBadgeRendererForColumn = (styledColumn, abColumn, api) => {
54
67
  userName: adapatableApi.optionsApi.getUserName(),
55
68
  adaptableId: adapatableApi.optionsApi.getAdaptableId(),
56
69
  };
57
- const badge = api.styledColumnApi.internalApi.getApplicableBadge(styledColumn, predicateDefHandlerContext);
70
+ const badge = api.styledColumnApi.internalApi.getApplicableBadge(badgeStyle, predicateDefHandlerContext);
58
71
  const isNullValue = formattedValue === '' || formattedValue === null || formattedValue === undefined;
59
72
  if (!isNullValue && badge) {
60
73
  badgesConfig.push({
@@ -78,7 +91,7 @@ const getBadgeRendererForColumn = (styledColumn, abColumn, api) => {
78
91
  userName: adapatableApi.optionsApi.getUserName(),
79
92
  adaptableId: adapatableApi.optionsApi.getAdaptableId(),
80
93
  };
81
- const badge = api.styledColumnApi.internalApi.getApplicableBadge(styledColumn, predicateDefHandlerContext);
94
+ const badge = api.styledColumnApi.internalApi.getApplicableBadge(badgeStyle, predicateDefHandlerContext);
82
95
  const isNullValue = formattedValue === '' || formattedValue === null || formattedValue === undefined;
83
96
  if (
84
97
  // empty values
@@ -17,7 +17,8 @@ const getPercentBarRendererForColumn = (styledColumn, abColumn, api) => {
17
17
  if (Helper_1.default.objectNotExists(value)) {
18
18
  value = 0;
19
19
  }
20
- if (!styledColumn.IncludeGroupedRows && api.gridApi.isGroupRowNode(params.node)) {
20
+ // We no longer support showing Percent Bar in Group Rows as it only made sense for Min / Max
21
+ if (api.gridApi.isGroupRowNode(params.node)) {
21
22
  if (params.value) {
22
23
  this.eGui = document.createElement('div');
23
24
  this.eGui.append(params.value);
@@ -0,0 +1,7 @@
1
+ import { ColumnState, GridOptions } from '@ag-grid-community/core';
2
+ import { Layout } from '../types';
3
+ export declare function buildSortedColumnStateForLayout(params: {
4
+ columnState: ColumnState[];
5
+ layout: Layout;
6
+ gridOptions: GridOptions;
7
+ }): ColumnState[];
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildSortedColumnStateForLayout = void 0;
4
+ const GeneralConstants_1 = require("../Utilities/Constants/GeneralConstants");
5
+ const ColumnInternalApi_1 = require("../Api/Internal/ColumnInternalApi");
6
+ const ColumnApiImpl_1 = require("../Api/Implementation/ColumnApiImpl");
7
+ const sortColumnStateForVisibleColumns_1 = require("./sortColumnStateForVisibleColumns");
8
+ function buildSortedColumnStateForLayout(params) {
9
+ const { columnState, layout, gridOptions } = params;
10
+ let visibleColumnList = [...layout.Columns];
11
+ const multipleGroupColumns = gridOptions.groupDisplayType === 'multipleColumns';
12
+ const singleGroupColumn = !multipleGroupColumns;
13
+ const rowGroupedColumnsIndexes = {};
14
+ let generatedRowGroupColumnsIds = [];
15
+ // here we make sure the visibleColumnList includes all the generated group columns
16
+ if (layout.RowGroupedColumns) {
17
+ layout.RowGroupedColumns.forEach((colId, index) => {
18
+ rowGroupedColumnsIndexes[colId] = index;
19
+ rowGroupedColumnsIndexes[(0, ColumnInternalApi_1.getAutoRowGroupColumnIdFor)(colId)] = index;
20
+ });
21
+ // if the layout does not include the grouped columns,
22
+ // make sure we add the grouped columns to the visible column list
23
+ // at the start of the list
24
+ if (singleGroupColumn) {
25
+ if (!visibleColumnList.includes(GeneralConstants_1.AG_GRID_GROUPED_COLUMN)) {
26
+ visibleColumnList = [GeneralConstants_1.AG_GRID_GROUPED_COLUMN, ...visibleColumnList];
27
+ }
28
+ generatedRowGroupColumnsIds.push(GeneralConstants_1.AG_GRID_GROUPED_COLUMN);
29
+ }
30
+ else {
31
+ let missingGroupColumns = 0;
32
+ [...layout.RowGroupedColumns].reverse().forEach((colId) => {
33
+ const groupColId = (0, ColumnInternalApi_1.getAutoRowGroupColumnIdFor)(colId);
34
+ if (!visibleColumnList.includes(groupColId)) {
35
+ visibleColumnList = [groupColId, ...visibleColumnList];
36
+ missingGroupColumns++;
37
+ }
38
+ generatedRowGroupColumnsIds = [groupColId, ...generatedRowGroupColumnsIds];
39
+ });
40
+ // now we need to sort the visibleColumnList to contain the group columns
41
+ // in the correct order
42
+ // but we only need to do this if the layout.Columns list missed some of the
43
+ // group columns, but not all of them. if all were missing, we already
44
+ // inserted them at the start of the list
45
+ if (missingGroupColumns && missingGroupColumns < layout.RowGroupedColumns.length) {
46
+ visibleColumnList.sort((colId1, colId2) => {
47
+ const isRowGroup1 = (0, ColumnApiImpl_1.isAutoRowGroupColumn)(colId1);
48
+ const isRowGroup2 = (0, ColumnApiImpl_1.isAutoRowGroupColumn)(colId2);
49
+ if (isRowGroup1 && isRowGroup2) {
50
+ return rowGroupedColumnsIndexes[colId1] - rowGroupedColumnsIndexes[colId2];
51
+ }
52
+ return 0;
53
+ });
54
+ }
55
+ }
56
+ }
57
+ const visibleColumnsIndexes = visibleColumnList.reduce((acc, colId, index) => {
58
+ acc[colId] = index;
59
+ return acc;
60
+ }, {});
61
+ const pivotMode = layout.EnablePivot;
62
+ if (pivotMode) {
63
+ // in pivot mode, we sort the Visible columns of the layout
64
+ // to make sure the group cols are at the beginning
65
+ const groupCols = visibleColumnList.filter(ColumnApiImpl_1.isAutoRowGroupColumn);
66
+ visibleColumnList = visibleColumnList.filter((colId) => !(0, ColumnApiImpl_1.isAutoRowGroupColumn)(colId));
67
+ visibleColumnList = [...groupCols, ...visibleColumnList];
68
+ }
69
+ // we're now ready to go over the columnState
70
+ // we want as much as possible to keep the order of the columns
71
+ // as they are in the column state.
72
+ // if the order is different in the visibleColumns, we only move those columns around
73
+ // if some columns in the columnState are not in the visibleColumns, we need to return them as hide: true
74
+ // first step - keep the same order, but filter out old group columns
75
+ // VERY IMPORTANT to only filter out OLD group columns, that is,
76
+ // group columns that are not in the layout anymore
77
+ // since we might have different group columns in the layout
78
+ let newColumnState = [...columnState].filter((colState) => {
79
+ const { colId } = colState;
80
+ if ((0, ColumnApiImpl_1.isAutoRowGroupColumn)(colId) && rowGroupedColumnsIndexes[colId] == null) {
81
+ return false;
82
+ }
83
+ return true;
84
+ });
85
+ // second step - keep the same order
86
+ // but make sure the visibility is adjusted to reflect the
87
+ // visible columns in the layout
88
+ newColumnState = newColumnState.map((colState) => {
89
+ const { colId } = colState;
90
+ const visibleIndex = visibleColumnsIndexes[colId];
91
+ if (visibleIndex == null) {
92
+ return Object.assign(Object.assign({}, colState), { hide: true });
93
+ }
94
+ return Object.assign(Object.assign({}, colState), { hide: null });
95
+ });
96
+ // third step - correctly mark the columns that are grouped
97
+ newColumnState = newColumnState.map((colState) => {
98
+ const { colId } = colState;
99
+ const groupIndex = rowGroupedColumnsIndexes[colId];
100
+ if (groupIndex != null) {
101
+ return Object.assign(Object.assign({}, colState), { rowGroup: true, rowGroupIndex: groupIndex });
102
+ }
103
+ return Object.assign(Object.assign({}, colState), { rowGroup: false, rowGroupIndex: null });
104
+ });
105
+ // fourth step - add the new group columns, if they are missing
106
+ const columnStateIndexes = newColumnState.reduce((acc, colState, index) => {
107
+ acc[colState.colId] = index;
108
+ return acc;
109
+ }, {});
110
+ generatedRowGroupColumnsIds.reverse().forEach((rowGroupColId) => {
111
+ if (columnStateIndexes[rowGroupColId] == null) {
112
+ newColumnState = [
113
+ {
114
+ colId: rowGroupColId,
115
+ },
116
+ ...newColumnState,
117
+ ];
118
+ }
119
+ });
120
+ // fitfth step - sort the column state to respect the order of the visible columns
121
+ // we can't simply call sort in this case
122
+ return (0, sortColumnStateForVisibleColumns_1.sortColumnStateForVisibleColumns)(newColumnState, visibleColumnList);
123
+ }
124
+ exports.buildSortedColumnStateForLayout = buildSortedColumnStateForLayout;
@@ -14,7 +14,6 @@ const DefaultAdaptableOptions = {
14
14
  adaptableStateKey: undefined,
15
15
  primaryKey: '',
16
16
  autogeneratePrimaryKey: false,
17
- autoMigrateState: true,
18
17
  userName: GeneralConstants.USER_NAME,
19
18
  predefinedConfig: undefined,
20
19
  alertOptions: {
@@ -148,8 +147,6 @@ const DefaultAdaptableOptions = {
148
147
  customSortOptions: { customSortComparers: undefined },
149
148
  dataSetOptions: { dataSets: GeneralConstants_1.EMPTY_ARRAY },
150
149
  groupingOptions: {
151
- showGroupingTotalsAsHeader: false,
152
- balancedGroupsKey: undefined,
153
150
  restoreUngroupedColumns: false,
154
151
  autoOrderGroupedColumns: true,
155
152
  },
@@ -171,16 +168,11 @@ const DefaultAdaptableOptions = {
171
168
  autoCheckTagsForLayouts: false,
172
169
  },
173
170
  },
174
- menuOptions: {
171
+ columnMenuOptions: {
175
172
  customColumnMenu: undefined,
173
+ },
174
+ contextMenuOptions: {
176
175
  customContextMenu: undefined,
177
- showAdaptableContextMenu: true,
178
- showAdaptableColumnMenu: true,
179
- showUngroupColumnMenuItem: true,
180
- columnMenuOrder: ['aggrid', 'adaptable', 'user'],
181
- contextMenuOrder: ['aggrid', 'adaptable', 'user'],
182
- columnMenuItems: undefined,
183
- contextMenuItems: undefined,
184
176
  },
185
177
  columnFilterOptions: {
186
178
  quickFilterOptions: {
@@ -224,6 +216,7 @@ const DefaultAdaptableOptions = {
224
216
  enableFilterOnSpecialColumns: true,
225
217
  showClearFilterButton: false,
226
218
  showSuspendFilterButton: false,
219
+ showDatePicker: true,
227
220
  },
228
221
  gridFilterOptions: {
229
222
  availableFilterEditors: ['ExpressionEditor', 'QueryBuilder'],
@@ -255,6 +248,7 @@ const DefaultAdaptableOptions = {
255
248
  loadState: undefined,
256
249
  persistState: undefined,
257
250
  clearState: undefined,
251
+ autoMigrateState: true,
258
252
  },
259
253
  teamSharingOptions: {
260
254
  enableTeamSharing: false,
@@ -368,7 +362,8 @@ function applyDefaultAdaptableOptions(adaptableOptions) {
368
362
  adaptableOptsWithDefaults.gridFilterOptions = Object.assign({}, DefaultAdaptableOptions.gridFilterOptions, adaptableOptions.gridFilterOptions);
369
363
  adaptableOptsWithDefaults.userInterfaceOptions = Object.assign({}, DefaultAdaptableOptions.userInterfaceOptions, adaptableOptions.userInterfaceOptions);
370
364
  adaptableOptsWithDefaults.userInterfaceOptions.dateInputOptions = Object.assign({}, DefaultAdaptableOptions.userInterfaceOptions.dateInputOptions, adaptableOptsWithDefaults.userInterfaceOptions.dateInputOptions);
371
- adaptableOptsWithDefaults.menuOptions = Object.assign({}, DefaultAdaptableOptions.menuOptions, adaptableOptions.menuOptions);
365
+ adaptableOptsWithDefaults.columnMenuOptions = Object.assign({}, DefaultAdaptableOptions.columnMenuOptions, adaptableOptions.columnMenuOptions);
366
+ adaptableOptsWithDefaults.contextMenuOptions = Object.assign({}, DefaultAdaptableOptions.contextMenuOptions, adaptableOptions.contextMenuOptions);
372
367
  adaptableOptsWithDefaults.stateOptions = Object.assign({}, DefaultAdaptableOptions.stateOptions, adaptableOptions.stateOptions);
373
368
  adaptableOptsWithDefaults.exportOptions = Object.assign({}, DefaultAdaptableOptions.exportOptions, adaptableOptions.exportOptions);
374
369
  adaptableOptsWithDefaults.teamSharingOptions = Object.assign({}, DefaultAdaptableOptions.teamSharingOptions, adaptableOptions.teamSharingOptions);
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { ICellEditorParams, ICellEditorComp } from '@ag-grid-community/core';
2
+ import { ICellEditorComp, ICellEditorParams } from '@ag-grid-community/core';
3
3
  import { IAdaptable } from '../../../AdaptableInterfaces/IAdaptable';
4
4
  export declare const ReactAdaptableDateEditor: React.ForwardRefExoticComponent<ICellEditorParams<any, any, any> & {
5
5
  showClearButton?: boolean;
@@ -6,8 +6,8 @@ const React = tslib_1.__importStar(require("react"));
6
6
  const renderWithAdaptableContext_1 = require("../../../View/renderWithAdaptableContext");
7
7
  const InternalAdaptableDateEditor_1 = require("./InternalAdaptableDateEditor");
8
8
  const core_1 = require("ag-grid-community");
9
- const FormatHelper_1 = require("../../../Utilities/Helpers/FormatHelper");
10
9
  const react_1 = require("react");
10
+ const FormatHelper_1 = require("../../../Utilities/Helpers/FormatHelper");
11
11
  function shouldClearExistingValue(params) {
12
12
  return params.eventKey === core_1.KeyCode.BACKSPACE || params.eventKey === core_1.KeyCode.DELETE;
13
13
  }
@@ -6,12 +6,12 @@ import { ICellEditorComp, ICellEditorParams } from '@ag-grid-community/core';
6
6
  interface AdaptableNumberCellEditorParams extends ICellEditorParams {
7
7
  /**
8
8
  * Whether to show the clear button. If `true`, it works together with `cellEditorParams.emptyValue`
9
- * @default true
9
+ * @defaultValue true
10
10
  */
11
11
  showClearButton: boolean;
12
12
  /**
13
13
  * Value to set for the cell, when the clear button is pressed
14
- * @default '' (empty string)
14
+ * @defaultValue '' (empty string)
15
15
  */
16
16
  emptyValue: string;
17
17
  }
@@ -0,0 +1,12 @@
1
+ type ColState = {
2
+ colId: string;
3
+ hide?: boolean | null;
4
+ };
5
+ /**
6
+ * This method takes a column state and the list of visible columns
7
+ * and returns a new column state that respects the order of the visible columns
8
+ * while trying to keep the hidden columns in their original order.
9
+ *
10
+ */
11
+ export declare function sortColumnStateForVisibleColumns<T extends ColState>(columnState: T[], visibleColumns: string[]): T[];
12
+ export {};
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sortColumnStateForVisibleColumns = void 0;
4
+ function insertAtCorrectIndex(result, colState, visibleColumnsIndexes, offset = 0, lastVisibleOffset = 0) {
5
+ const prevColState = result[result.length - 1 - offset];
6
+ if (!prevColState) {
7
+ result.splice(result.length - lastVisibleOffset, 0, colState);
8
+ return;
9
+ }
10
+ if (prevColState.hide) {
11
+ insertAtCorrectIndex(result, colState, visibleColumnsIndexes, offset + 1,
12
+ /* do not advance this as, as we've encountered a hidden column*/ lastVisibleOffset);
13
+ return;
14
+ }
15
+ const prevCol_visibilityIndex = visibleColumnsIndexes[prevColState.colId];
16
+ const currentCol_visibilityIndex = visibleColumnsIndexes[colState.colId];
17
+ if (currentCol_visibilityIndex < prevCol_visibilityIndex) {
18
+ insertAtCorrectIndex(result, colState, visibleColumnsIndexes, offset + 1,
19
+ /*make sure we sync with the normal offset, as we've hit a visible col*/ offset + 1);
20
+ }
21
+ else {
22
+ result.splice(result.length - lastVisibleOffset, 0, colState);
23
+ }
24
+ }
25
+ /**
26
+ * This method takes a column state and the list of visible columns
27
+ * and returns a new column state that respects the order of the visible columns
28
+ * while trying to keep the hidden columns in their original order.
29
+ *
30
+ */
31
+ function sortColumnStateForVisibleColumns(columnState, visibleColumns) {
32
+ const visibleColumnsIndexes = visibleColumns.reduce((acc, colId, index) => {
33
+ acc[colId] = index;
34
+ return acc;
35
+ }, {});
36
+ const result = [];
37
+ for (let i = 0, len = columnState.length; i < len; i++) {
38
+ const colState = columnState[i];
39
+ const colVisible = visibleColumnsIndexes[colState.colId] != null;
40
+ if (!colVisible) {
41
+ // for cols not present in this layout, we keep them
42
+ // where they are
43
+ result.push(colState);
44
+ continue;
45
+ }
46
+ insertAtCorrectIndex(result, colState, visibleColumnsIndexes);
47
+ }
48
+ return result;
49
+ }
50
+ exports.sortColumnStateForVisibleColumns = sortColumnStateForVisibleColumns;
@@ -1,9 +1,7 @@
1
1
  import { IAggFuncParams } from '@ag-grid-community/core';
2
- import { CellSummaryOperationContext } from '../types';
3
2
  export declare const getNumericValue: (input: unknown) => number | null;
4
3
  export declare const weightedAverage: (params: IAggFuncParams, columnId: string, weightColumnId: string) => {
5
4
  [x: string]: number | (() => number | "");
6
5
  toString: () => number | "";
7
6
  valueOf: () => number;
8
7
  };
9
- export declare const cellSummaryWeightedAverage: ({ numericColumns, selectedCellInfo, adaptableApi, }: CellSummaryOperationContext) => any;
@@ -1,8 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.cellSummaryWeightedAverage = exports.weightedAverage = exports.getNumericValue = void 0;
3
+ exports.weightedAverage = exports.getNumericValue = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const FormatHelper_1 = tslib_1.__importDefault(require("../Utilities/Helpers/FormatHelper"));
6
5
  const toNumber_1 = tslib_1.__importDefault(require("lodash/toNumber"));
7
6
  const getNumericValue = (input) => {
8
7
  if (typeof input === 'number') {
@@ -52,57 +51,3 @@ const weightedAverage = (params, columnId, weightColumnId) => {
52
51
  };
53
52
  };
54
53
  exports.weightedAverage = weightedAverage;
55
- const cellSummaryWeightedAverage = ({ numericColumns, selectedCellInfo, adaptableApi, }) => {
56
- if ((numericColumns === null || numericColumns === void 0 ? void 0 : numericColumns.length) != 1) {
57
- return '';
58
- }
59
- const columnId = numericColumns[0];
60
- const currentLayout = adaptableApi.layoutApi.getCurrentLayout();
61
- const selectedColumnAgg = currentLayout.AggregationColumns[columnId];
62
- if (!selectedColumnAgg ||
63
- typeof selectedColumnAgg !== 'object' ||
64
- selectedColumnAgg.type !== 'weightedAverage') {
65
- return '';
66
- }
67
- const weightedColumnId = selectedColumnAgg.weightedColumnId;
68
- if (weightedColumnId) {
69
- let sumWeightedValue = 0;
70
- let sumPrimaryValues = 0;
71
- let isValid = true;
72
- selectedCellInfo.gridCells.forEach((gridCell) => {
73
- if (adaptableApi.gridApi.isGroupRowNode(gridCell.rowNode)) {
74
- isValid = false;
75
- }
76
- if (isValid) {
77
- const weightedGridCell = adaptableApi.gridApi.getGridCellFromRowNode(gridCell.rowNode, weightedColumnId);
78
- sumWeightedValue += weightedGridCell.rawValue;
79
- sumPrimaryValues += weightedGridCell.rawValue * gridCell.normalisedValue;
80
- }
81
- });
82
- if (!isValid) {
83
- return '';
84
- }
85
- const abColumn = adaptableApi.columnApi.getColumnWithColumnId(columnId);
86
- if (!abColumn) {
87
- return '';
88
- }
89
- const activeFormatColumnsWithDisplayFormat = adaptableApi.formatColumnApi.internalApi.getFormatColumnsWithDisplayFormatForColumn(abColumn);
90
- if (activeFormatColumnsWithDisplayFormat.length === 1 &&
91
- activeFormatColumnsWithDisplayFormat[0].DisplayFormat.Formatter === 'NumberFormatter') {
92
- // there only one FormatColumn on this column, so we will use it to format the aggregated value
93
- const [singleActiveFormatColumnsWithDisplayFormat] = activeFormatColumnsWithDisplayFormat;
94
- const options = singleActiveFormatColumnsWithDisplayFormat
95
- .DisplayFormat.Options;
96
- if (options) {
97
- return FormatHelper_1.default.NumberFormatter(sumPrimaryValues / sumWeightedValue, options);
98
- }
99
- }
100
- else {
101
- // there are multiple (possibly conflicting) FormatColumns for this column, we cannot know which to use
102
- return FormatHelper_1.default.NumberFormatter(sumPrimaryValues / sumWeightedValue, {
103
- FractionDigits: 2,
104
- });
105
- }
106
- }
107
- };
108
- exports.cellSummaryWeightedAverage = cellSummaryWeightedAverage;
@@ -0,0 +1,7 @@
1
+ import React, { ReactElement } from 'react';
2
+ interface AccordionProps {
3
+ title: string | ReactElement;
4
+ children: ReactElement;
5
+ }
6
+ export declare const Accordion: React.FC<AccordionProps>;
7
+ export default Accordion;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Accordion = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const react_1 = tslib_1.__importStar(require("react"));
6
+ const SimpleButton_1 = tslib_1.__importDefault(require("./SimpleButton"));
7
+ const Panel_1 = tslib_1.__importDefault(require("./Panel"));
8
+ const Accordion = ({ title, children }) => {
9
+ const [isOpen, setIsOpen] = (0, react_1.useState)(false);
10
+ const [height, setHeight] = (0, react_1.useState)('0px');
11
+ const content = (0, react_1.useRef)(null);
12
+ const observer = (0, react_1.useRef)(null);
13
+ (0, react_1.useEffect)(() => {
14
+ setHeight(isOpen && content.current ? `${content.current.scrollHeight}px` : '0px');
15
+ }, [isOpen, content]);
16
+ (0, react_1.useEffect)(() => {
17
+ if (content.current) {
18
+ observer.current = new MutationObserver(() => {
19
+ var _a;
20
+ setHeight(`${(_a = content.current) === null || _a === void 0 ? void 0 : _a.scrollHeight}px`);
21
+ });
22
+ observer.current.observe(content.current, { childList: true, subtree: true });
23
+ }
24
+ return () => {
25
+ var _a;
26
+ (_a = observer.current) === null || _a === void 0 ? void 0 : _a.disconnect();
27
+ };
28
+ }, []);
29
+ const toggleAccordion = () => {
30
+ setIsOpen(!isOpen);
31
+ };
32
+ return (react_1.default.createElement(Panel_1.default, { className: "ab-Accordion" },
33
+ react_1.default.createElement(SimpleButton_1.default, { iconPosition: 'end', icon: isOpen ? 'expand-all' : 'collapse-all', variant: "text", onClick: toggleAccordion, style: { width: '100%', textAlign: 'left' } }, title),
34
+ react_1.default.createElement("div", { ref: content, style: {
35
+ maxHeight: `${height}`,
36
+ overflow: 'hidden',
37
+ transition: 'max-height 0.6s ease',
38
+ } }, children)));
39
+ };
40
+ exports.Accordion = Accordion;
41
+ exports.default = exports.Accordion;
@@ -4,7 +4,6 @@ exports.Datepicker = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const React = tslib_1.__importStar(require("react"));
6
6
  const OverlayTrigger_1 = tslib_1.__importDefault(require("../OverlayTrigger"));
7
- const Input_1 = tslib_1.__importDefault(require("../Input"));
8
7
  const react_1 = require("react");
9
8
  const useProperty_1 = tslib_1.__importDefault(require("../utils/useProperty"));
10
9
  const FieldWrap_1 = tslib_1.__importDefault(require("../FieldWrap"));
@@ -17,6 +16,8 @@ const DatepickerContext_1 = require("./DatepickerContext");
17
16
  const addDays_1 = tslib_1.__importDefault(require("date-fns/addDays"));
18
17
  const addBusinessDays_1 = tslib_1.__importDefault(require("date-fns/addBusinessDays"));
19
18
  const react_day_picker_1 = require("react-day-picker");
19
+ const AdaptableDateInlineInput_1 = require("../../View/Components/AdaptableInput/AdaptableDateInlineInput");
20
+ const date_fns_1 = require("date-fns");
20
21
  const DatepickerOverlay = ({ onHide, children, onKeyDown, onMouseDown, }) => {
21
22
  const domRef = React.useRef(null);
22
23
  React.useEffect(() => {
@@ -102,7 +103,14 @@ exports.Datepicker = React.forwardRef((props, ref) => {
102
103
  setVisible(true);
103
104
  }
104
105
  } }),
105
- React.createElement(Input_1.default, { value: inputValue, placehoder: placeholder !== null && placeholder !== void 0 ? placeholder : dateProps.format, style: style, disabled: disabled, readOnly: true, ref: ref }),
106
+ React.createElement(AdaptableDateInlineInput_1.AdaptableDateInlineInput, { ref: ref, value: inputValue,
107
+ // We do not want to show the format when the date-picker is visible
108
+ placeholder: placeholder !== null && placeholder !== void 0 ? placeholder : '', onChange: (value) => {
109
+ const date = new Date(value);
110
+ if ((0, date_fns_1.isValid)(date)) {
111
+ updateValue(date);
112
+ }
113
+ }, style: style, disabled: disabled }),
106
114
  !!inputValue ? clearButton : null,
107
115
  calendarButton))));
108
116
  });
@@ -6,6 +6,7 @@ const react_1 = tslib_1.__importDefault(require("react"));
6
6
  const react_beautiful_dnd_1 = require("react-beautiful-dnd");
7
7
  const rebass_1 = require("rebass");
8
8
  const predicate_1 = require("../../../parser/src/predicate");
9
+ const adaptableQlUtils_1 = require("../../../Utilities/adaptableQlUtils");
9
10
  const booleanExpressionFunctions_1 = require("../../../Utilities/ExpressionFunctions/booleanExpressionFunctions");
10
11
  const AdaptableContext_1 = require("../../../View/AdaptableContext");
11
12
  const DropdownButton_1 = tslib_1.__importDefault(require("../../DropdownButton"));
@@ -114,7 +115,7 @@ const PrimitiveFunctionEditor = (props) => {
114
115
  }
115
116
  columnId = col.replace(/[\[\]]/g, '');
116
117
  columnDataType = adaptable.api.columnApi.getColumnDataTypeForColumnId(columnId);
117
- columnInputDataType = (0, utils_1.mapColumnDataTypeToExpressionFunctionType)(columnDataType);
118
+ columnInputDataType = (0, adaptableQlUtils_1.mapColumnDataTypeToExpressionFunctionType)(columnDataType);
118
119
  functionInputInputDataTypes = (_a = booleanExpressionFunctions_1.booleanExpressionFunctions[props.predicate.operator]) === null || _a === void 0 ? void 0 : _a.inputs;
119
120
  restOfFunctionInputDataTypes = functionInputInputDataTypes
120
121
  ? (0, utils_1.getOperatorMatchingInputs)(columnInputDataType, functionInputInputDataTypes)
@@ -2,7 +2,6 @@ import { QlPredicate, QlPredicateError } from '../../../parser/src/predicate';
2
2
  import { ExpressionFunctionInputType } from '../../../parser/src/types';
3
3
  import { AdaptableColumnDataType, BooleanFunctionName } from '../../../types';
4
4
  export declare const reorder: (predicate: QlPredicate, from: string, to: string) => any;
5
- export declare const mapColumnDataTypeToExpressionFunctionType: (dataType: AdaptableColumnDataType) => ExpressionFunctionInputType;
6
5
  export declare const mapExpressionFunctionTypeToColumnDataType: (type: ExpressionFunctionInputType) => AdaptableColumnDataType;
7
6
  export declare const getOperatorMatchingInputs: (columnType: ExpressionFunctionInputType, inputs: ExpressionFunctionInputType[] | Array<ExpressionFunctionInputType>[]) => ExpressionFunctionInputType[];
8
7
  export declare const getFunctionsForColumnType: (dataType: AdaptableColumnDataType, availableBooleanFunctions: BooleanFunctionName[]) => BooleanFunctionName[];
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getUnsuportedExpressionFromQlPredicate = exports.getFunctionsForColumnType = exports.getOperatorMatchingInputs = exports.mapExpressionFunctionTypeToColumnDataType = exports.mapColumnDataTypeToExpressionFunctionType = exports.reorder = void 0;
3
+ exports.getUnsuportedExpressionFromQlPredicate = exports.getFunctionsForColumnType = exports.getOperatorMatchingInputs = exports.mapExpressionFunctionTypeToColumnDataType = exports.reorder = void 0;
4
+ const adaptableQlUtils_1 = require("../../../Utilities/adaptableQlUtils");
4
5
  const predicate_1 = require("../../../parser/src/predicate");
5
6
  const booleanExpressionFunctions_1 = require("../../../Utilities/ExpressionFunctions/booleanExpressionFunctions");
6
7
  const ObjectExtensions_1 = require("../../../Utilities/Extensions/ObjectExtensions");
@@ -30,21 +31,6 @@ const reorder = (predicate, from, to) => {
30
31
  return predicateCopy;
31
32
  };
32
33
  exports.reorder = reorder;
33
- const mapColumnDataTypeToExpressionFunctionType = (dataType) => {
34
- if (dataType === 'Number') {
35
- return 'number';
36
- }
37
- if (dataType === 'Boolean') {
38
- return 'boolean';
39
- }
40
- if (dataType === 'String') {
41
- return 'text';
42
- }
43
- if (dataType === 'Date') {
44
- return 'date';
45
- }
46
- };
47
- exports.mapColumnDataTypeToExpressionFunctionType = mapColumnDataTypeToExpressionFunctionType;
48
34
  const mapExpressionFunctionTypeToColumnDataType = (type) => {
49
35
  if (type === 'number') {
50
36
  return 'Number';
@@ -72,7 +58,7 @@ const getOperatorMatchingInputs = (columnType, inputs) => {
72
58
  };
73
59
  exports.getOperatorMatchingInputs = getOperatorMatchingInputs;
74
60
  const getFunctionsForColumnType = (dataType, availableBooleanFunctions) => {
75
- const columnType = (0, exports.mapColumnDataTypeToExpressionFunctionType)(dataType);
61
+ const columnType = (0, adaptableQlUtils_1.mapColumnDataTypeToExpressionFunctionType)(dataType);
76
62
  return booleanExpressions_1.booleanExpressionsAvailableInQueryBuilder.filter((boolFnName) => {
77
63
  if (!availableBooleanFunctions.includes(boolFnName)) {
78
64
  return false;