@adaptabletools/adaptable 18.0.0-canary.8 → 18.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (439) hide show
  1. package/base.css +18 -20
  2. package/base.css.map +1 -1
  3. package/index.css +22 -20
  4. package/index.css.map +1 -1
  5. package/package.json +1 -1
  6. package/src/AdaptableInterfaces/IAdaptable.d.ts +10 -4
  7. package/src/AdaptableOptions/ActionColumnOptions.d.ts +3 -2
  8. package/src/AdaptableOptions/AdaptableFrameworkComponent.d.ts +3 -0
  9. package/src/AdaptableOptions/AdaptableOptions.d.ts +15 -14
  10. package/src/AdaptableOptions/AdaptablePlugin.d.ts +2 -0
  11. package/src/AdaptableOptions/AdaptablePlugin.js +2 -0
  12. package/src/AdaptableOptions/ColumnFilterOptions.d.ts +7 -0
  13. package/src/AdaptableOptions/ColumnMenuOptions.d.ts +94 -0
  14. package/src/AdaptableOptions/ColumnOptions.d.ts +9 -4
  15. package/src/AdaptableOptions/CommentOptions.d.ts +20 -9
  16. package/src/AdaptableOptions/ContextMenuOptions.d.ts +94 -0
  17. package/src/AdaptableOptions/CustomSortOptions.d.ts +2 -2
  18. package/src/AdaptableOptions/DataImportOptions.d.ts +2 -2
  19. package/src/AdaptableOptions/FormatColumnOptions.d.ts +2 -2
  20. package/src/AdaptableOptions/GroupingOptions.d.ts +0 -26
  21. package/src/AdaptableOptions/NoteOptions.d.ts +12 -3
  22. package/src/AdaptableOptions/PredicateOptions.d.ts +2 -2
  23. package/src/AdaptableOptions/QuickSearchOptions.d.ts +1 -1
  24. package/src/AdaptableOptions/StateOptions.d.ts +6 -0
  25. package/src/AdaptableOptions/UserInterfaceOptions.d.ts +2 -2
  26. package/src/Api/AdaptableApi.d.ts +16 -6
  27. package/src/Api/ColumnApi.d.ts +13 -0
  28. package/src/Api/ColumnMenuApi.d.ts +13 -0
  29. package/src/Api/{ScopeApi.d.ts → ColumnScopeApi.d.ts} +36 -26
  30. package/src/Api/CommentApi.d.ts +20 -22
  31. package/src/Api/ConfigApi.d.ts +4 -5
  32. package/src/Api/ContextMenuApi.d.ts +9 -0
  33. package/src/Api/EventApi.d.ts +7 -9
  34. package/src/Api/Events/CommentChanged.d.ts +11 -0
  35. package/src/Api/Events/CommentChanged.js +1 -0
  36. package/src/Api/Events/GridDataChanged.d.ts +1 -1
  37. package/src/Api/FlashingCellApi.d.ts +2 -2
  38. package/src/Api/GridApi.d.ts +35 -3
  39. package/src/Api/Implementation/ActionColumnApiImpl.js +3 -6
  40. package/src/Api/Implementation/ActionRowApiImpl.js +3 -7
  41. package/src/Api/Implementation/AdaptableApiImpl.d.ts +7 -5
  42. package/src/Api/Implementation/AdaptableApiImpl.js +9 -5
  43. package/src/Api/Implementation/AlertApiImpl.js +8 -13
  44. package/src/Api/Implementation/ApiBase.d.ts +6 -4
  45. package/src/Api/Implementation/ApiBase.js +11 -5
  46. package/src/Api/Implementation/CalendarApiImpl.js +1 -6
  47. package/src/Api/Implementation/CellSummaryApiImpl.d.ts +0 -5
  48. package/src/Api/Implementation/CellSummaryApiImpl.js +2 -23
  49. package/src/Api/Implementation/ChartingApiImpl.js +3 -3
  50. package/src/Api/Implementation/ColumnApiImpl.d.ts +5 -0
  51. package/src/Api/Implementation/ColumnApiImpl.js +45 -15
  52. package/src/Api/Implementation/ColumnFilterApiImpl.js +7 -7
  53. package/src/Api/Implementation/ColumnMenuApiImpl.d.ts +8 -0
  54. package/src/Api/Implementation/ColumnMenuApiImpl.js +12 -0
  55. package/src/Api/Implementation/ColumnScopeApiImpl.d.ts +33 -0
  56. package/src/Api/Implementation/{ScopeApiImpl.js → ColumnScopeApiImpl.js} +65 -19
  57. package/src/Api/Implementation/CommentsApiImpl.d.ts +8 -5
  58. package/src/Api/Implementation/CommentsApiImpl.js +10 -5
  59. package/src/Api/Implementation/ConfigApiImpl.d.ts +2 -2
  60. package/src/Api/Implementation/ConfigApiImpl.js +27 -28
  61. package/src/Api/Implementation/ContextMenuApiImpl.d.ts +7 -0
  62. package/src/Api/Implementation/ContextMenuApiImpl.js +9 -0
  63. package/src/Api/Implementation/DashboardApiImpl.js +1 -6
  64. package/src/Api/Implementation/ExportApiImpl.js +5 -10
  65. package/src/Api/Implementation/ExpressionApiImpl.js +14 -19
  66. package/src/Api/Implementation/Fdc3ApiImpl.js +1 -1
  67. package/src/Api/Implementation/FlashingCellApiImpl.d.ts +2 -2
  68. package/src/Api/Implementation/FlashingCellApiImpl.js +3 -8
  69. package/src/Api/Implementation/FormatColumnApiImpl.js +4 -4
  70. package/src/Api/Implementation/FreeTextColumnApiImpl.js +1 -1
  71. package/src/Api/Implementation/GridApiImpl.d.ts +9 -1
  72. package/src/Api/Implementation/GridApiImpl.js +63 -9
  73. package/src/Api/Implementation/LayoutApiImpl.d.ts +4 -11
  74. package/src/Api/Implementation/LayoutApiImpl.js +20 -28
  75. package/src/Api/Implementation/NoteApiImpl.d.ts +18 -0
  76. package/src/Api/Implementation/NoteApiImpl.js +40 -0
  77. package/src/Api/Implementation/OptionsApiImpl.d.ts +6 -5
  78. package/src/Api/Implementation/OptionsApiImpl.js +7 -4
  79. package/src/Api/Implementation/PredicateApiImpl.js +2 -2
  80. package/src/Api/Implementation/ScheduleApiImpl.js +6 -6
  81. package/src/Api/Implementation/TeamSharingApiImpl.js +3 -15
  82. package/src/Api/Implementation/ThemeApiImpl.js +2 -7
  83. package/src/Api/Implementation/UserInterfaceApiImpl.d.ts +14 -8
  84. package/src/Api/Implementation/UserInterfaceApiImpl.js +32 -27
  85. package/src/Api/Internal/ActionRowInternalApi.d.ts +1 -0
  86. package/src/Api/Internal/ActionRowInternalApi.js +19 -46
  87. package/src/Api/Internal/AdaptableInternalApi.d.ts +3 -4
  88. package/src/Api/Internal/AdaptableInternalApi.js +16 -30
  89. package/src/Api/Internal/AlertInternalApi.d.ts +2 -2
  90. package/src/Api/Internal/AlertInternalApi.js +7 -20
  91. package/src/Api/Internal/CalculatedColumnInternalApi.js +11 -17
  92. package/src/Api/Internal/ChartingInternalApi.js +13 -13
  93. package/src/Api/Internal/ColumnFilterInternalApi.d.ts +1 -0
  94. package/src/Api/Internal/ColumnFilterInternalApi.js +24 -30
  95. package/src/Api/Internal/ColumnInternalApi.d.ts +2 -0
  96. package/src/Api/Internal/ColumnInternalApi.js +7 -1
  97. package/src/Api/Internal/CommentsInternalApi.d.ts +4 -0
  98. package/src/Api/Internal/CommentsInternalApi.js +14 -0
  99. package/src/Api/Internal/CustomSortInternalApi.js +1 -1
  100. package/src/Api/Internal/DashboardInternalApi.js +5 -11
  101. package/src/Api/Internal/DataImportInternalApi.js +3 -9
  102. package/src/Api/Internal/DataSetInternalApi.js +2 -7
  103. package/src/Api/Internal/ExportInternalApi.d.ts +2 -1
  104. package/src/Api/Internal/ExportInternalApi.js +8 -5
  105. package/src/Api/Internal/ExpressionInternalApi.js +3 -13
  106. package/src/Api/Internal/Fdc3InternalApi.js +3 -12
  107. package/src/Api/Internal/FormatColumnInternalApi.d.ts +3 -6
  108. package/src/Api/Internal/FormatColumnInternalApi.js +38 -30
  109. package/src/Api/Internal/FreeTextColumnInternalApi.js +5 -4
  110. package/src/Api/Internal/GridFilterInternalApi.d.ts +5 -0
  111. package/src/Api/Internal/GridFilterInternalApi.js +8 -8
  112. package/src/Api/Internal/GridInternalApi.d.ts +2 -0
  113. package/src/Api/Internal/GridInternalApi.js +28 -40
  114. package/src/Api/Internal/LayoutInternalApi.d.ts +2 -0
  115. package/src/Api/Internal/LayoutInternalApi.js +26 -19
  116. package/src/Api/Internal/NoteInternalApi.d.ts +4 -0
  117. package/src/Api/Internal/NoteInternalApi.js +14 -0
  118. package/src/Api/Internal/PredicateInternalApi.d.ts +6 -6
  119. package/src/Api/Internal/PredicateInternalApi.js +5 -40
  120. package/src/Api/Internal/ScheduleInternalApi.js +1 -6
  121. package/src/Api/Internal/StyledColumnInternalApi.d.ts +2 -2
  122. package/src/Api/Internal/StyledColumnInternalApi.js +8 -9
  123. package/src/Api/Internal/SystemStatusInternalApi.js +1 -7
  124. package/src/Api/Internal/TeamSharingInternalApi.js +2 -7
  125. package/src/Api/Internal/ThemeInternalApi.js +1 -1
  126. package/src/Api/Internal/UserInterfaceInternalApi.js +1 -1
  127. package/src/Api/LayoutApi.d.ts +15 -15
  128. package/src/Api/NoteApi.d.ts +48 -0
  129. package/src/Api/NoteApi.js +1 -0
  130. package/src/Api/OptionsApi.d.ts +14 -10
  131. package/src/Api/UserInterfaceApi.d.ts +15 -13
  132. package/src/PredefinedConfig/AdaptableState.d.ts +2 -2
  133. package/src/PredefinedConfig/AlertState.d.ts +2 -2
  134. package/src/PredefinedConfig/CommentState.d.ts +27 -23
  135. package/src/PredefinedConfig/Common/AdaptableColumn.d.ts +4 -0
  136. package/src/PredefinedConfig/Common/AdaptableIcon.d.ts +1 -1
  137. package/src/PredefinedConfig/Common/AdaptableObject.d.ts +4 -4
  138. package/src/PredefinedConfig/Common/AdaptablePredicate.d.ts +2 -2
  139. package/src/PredefinedConfig/Common/CellSummary.d.ts +5 -14
  140. package/src/PredefinedConfig/Common/{AdaptableScope.d.ts → ColumnScope.d.ts} +4 -1
  141. package/src/PredefinedConfig/Common/ColumnScope.js +1 -0
  142. package/src/PredefinedConfig/Common/DataUpdateConfig.d.ts +1 -5
  143. package/src/PredefinedConfig/Common/Enums.d.ts +4 -1
  144. package/src/PredefinedConfig/Common/Enums.js +3 -0
  145. package/src/PredefinedConfig/Common/Fdc3Intent.d.ts +2 -2
  146. package/src/PredefinedConfig/Common/Menu.d.ts +39 -4
  147. package/src/PredefinedConfig/Common/Menu.js +125 -1
  148. package/src/PredefinedConfig/Common/RowScope.d.ts +17 -0
  149. package/src/PredefinedConfig/Common/RowScope.js +1 -0
  150. package/src/PredefinedConfig/Common/RowSummary.d.ts +21 -0
  151. package/src/PredefinedConfig/Common/RowSummary.js +17 -0
  152. package/src/PredefinedConfig/Common/TransposeConfig.d.ts +30 -0
  153. package/src/PredefinedConfig/Common/TransposeConfig.js +1 -0
  154. package/src/PredefinedConfig/Common/Types.d.ts +4 -4
  155. package/src/PredefinedConfig/Common/Types.js +4 -1
  156. package/src/PredefinedConfig/ExportState.d.ts +2 -2
  157. package/src/PredefinedConfig/FlashingCellState.d.ts +2 -2
  158. package/src/PredefinedConfig/FormatColumnState.d.ts +9 -5
  159. package/src/PredefinedConfig/LayoutState.d.ts +6 -1
  160. package/src/PredefinedConfig/{NotesState.d.ts → NoteState.d.ts} +4 -4
  161. package/src/PredefinedConfig/NoteState.js +1 -0
  162. package/src/PredefinedConfig/PlusMinusState.d.ts +2 -2
  163. package/src/PredefinedConfig/PopupState.d.ts +1 -2
  164. package/src/PredefinedConfig/PredefinedConfig.d.ts +2 -2
  165. package/src/PredefinedConfig/Selection/GridCell.d.ts +13 -0
  166. package/src/PredefinedConfig/ShortcutState.d.ts +2 -2
  167. package/src/PredefinedConfig/StyledColumnState.d.ts +5 -5
  168. package/src/PredefinedConfig/SystemState.d.ts +12 -4
  169. package/src/Redux/ActionsReducers/CommentsRedux.d.ts +0 -4
  170. package/src/Redux/ActionsReducers/CommentsRedux.js +0 -34
  171. package/src/Redux/ActionsReducers/LayoutRedux.d.ts +9 -0
  172. package/src/Redux/ActionsReducers/LayoutRedux.js +32 -10
  173. package/src/Redux/ActionsReducers/NoteRedux.d.ts +38 -0
  174. package/src/Redux/ActionsReducers/{NotesRedux.js → NoteRedux.js} +24 -24
  175. package/src/Redux/ActionsReducers/PopupRedux.d.ts +5 -13
  176. package/src/Redux/ActionsReducers/PopupRedux.js +0 -19
  177. package/src/Redux/ActionsReducers/SystemRedux.d.ts +15 -4
  178. package/src/Redux/ActionsReducers/SystemRedux.js +24 -9
  179. package/src/Redux/Store/AdaptableStore.js +48 -30
  180. package/src/Redux/Store/Interface/IAdaptableStore.d.ts +2 -2
  181. package/src/Strategy/AdaptableModuleBase.d.ts +10 -10
  182. package/src/Strategy/AdaptableModuleBase.js +13 -16
  183. package/src/Strategy/AlertModule.d.ts +3 -2
  184. package/src/Strategy/AlertModule.js +4 -4
  185. package/src/Strategy/BulkUpdateModule.d.ts +3 -2
  186. package/src/Strategy/BulkUpdateModule.js +2 -1
  187. package/src/Strategy/CalculatedColumnModule.d.ts +3 -4
  188. package/src/Strategy/CalculatedColumnModule.js +18 -14
  189. package/src/Strategy/CellSummaryModule.d.ts +10 -9
  190. package/src/Strategy/CellSummaryModule.js +101 -83
  191. package/src/Strategy/ColumnFilterModule.d.ts +3 -3
  192. package/src/Strategy/ColumnFilterModule.js +36 -57
  193. package/src/Strategy/ColumnInfoModule.d.ts +3 -3
  194. package/src/Strategy/ColumnInfoModule.js +6 -4
  195. package/src/Strategy/CommentModule.d.ts +12 -0
  196. package/src/Strategy/CommentModule.js +70 -0
  197. package/src/Strategy/CustomSortModule.d.ts +1 -2
  198. package/src/Strategy/CustomSortModule.js +3 -2
  199. package/src/Strategy/DashboardModule.d.ts +3 -3
  200. package/src/Strategy/DashboardModule.js +11 -21
  201. package/src/Strategy/DataImportModule.d.ts +4 -4
  202. package/src/Strategy/DataImportModule.js +8 -8
  203. package/src/Strategy/ExportModule.d.ts +1 -2
  204. package/src/Strategy/ExportModule.js +58 -44
  205. package/src/Strategy/Fdc3Module.d.ts +1 -1
  206. package/src/Strategy/Fdc3Module.js +3 -13
  207. package/src/Strategy/FlashingCellModule.d.ts +4 -3
  208. package/src/Strategy/FlashingCellModule.js +10 -10
  209. package/src/Strategy/FormatColumnModule.d.ts +1 -1
  210. package/src/Strategy/FormatColumnModule.js +29 -47
  211. package/src/Strategy/FreeTextColumnModule.d.ts +1 -2
  212. package/src/Strategy/FreeTextColumnModule.js +2 -2
  213. package/src/Strategy/GridInfoModule.d.ts +3 -3
  214. package/src/Strategy/GridInfoModule.js +5 -3
  215. package/src/Strategy/Interface/IModule.d.ts +4 -4
  216. package/src/Strategy/LayoutModule.d.ts +4 -3
  217. package/src/Strategy/LayoutModule.js +71 -72
  218. package/src/Strategy/NoteModule.d.ts +10 -0
  219. package/src/Strategy/NoteModule.js +55 -0
  220. package/src/Strategy/PlusMinusModule.d.ts +1 -2
  221. package/src/Strategy/PlusMinusModule.js +5 -5
  222. package/src/Strategy/SettingsPanelModule.d.ts +3 -3
  223. package/src/Strategy/SettingsPanelModule.js +6 -6
  224. package/src/Strategy/ShortcutModule.js +1 -1
  225. package/src/Strategy/SmartEditModule.d.ts +3 -2
  226. package/src/Strategy/SmartEditModule.js +2 -1
  227. package/src/Strategy/StyledColumnModule.d.ts +2 -1
  228. package/src/Strategy/StyledColumnModule.js +42 -22
  229. package/src/Strategy/SystemStatusModule.d.ts +3 -3
  230. package/src/Strategy/SystemStatusModule.js +6 -3
  231. package/src/Strategy/Utilities/FormatColumn/getFormatColumnSettingsViewItems.js +4 -2
  232. package/src/Strategy/Utilities/getScopeViewItems.d.ts +2 -2
  233. package/src/Strategy/Utilities/getScopeViewItems.js +3 -0
  234. package/src/Utilities/Constants/GeneralConstants.d.ts +1 -0
  235. package/src/Utilities/Constants/GeneralConstants.js +1 -0
  236. package/src/Utilities/Constants/ModuleConstants.d.ts +6 -6
  237. package/src/Utilities/Constants/ModuleConstants.js +6 -6
  238. package/src/Utilities/Defaults/DefaultSettingsPanel.js +2 -2
  239. package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.d.ts +3 -2
  240. package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.js +433 -3
  241. package/src/Utilities/ExpressionFunctions/observableExpressionFunctions.js +3 -3
  242. package/src/Utilities/ExpressionFunctions/scalarAggregationHelper.js +1 -1
  243. package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.d.ts +1 -1
  244. package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.js +15 -0
  245. package/src/Utilities/Extensions/ArrayExtensions.d.ts +2 -0
  246. package/src/Utilities/Extensions/ArrayExtensions.js +4 -0
  247. package/src/Utilities/Helpers/AdaptableHelper.d.ts +3 -1
  248. package/src/Utilities/Helpers/AdaptableHelper.js +19 -0
  249. package/src/Utilities/Interface/MessagePopups.d.ts +0 -3
  250. package/src/Utilities/MenuItem.d.ts +10 -7
  251. package/src/Utilities/MenuItem.js +6 -3
  252. package/src/Utilities/ObjectFactory.d.ts +3 -3
  253. package/src/Utilities/ObjectFactory.js +7 -25
  254. package/src/Utilities/Services/AggregatedScalarLiveValue.d.ts +4 -2
  255. package/src/Utilities/Services/AggregatedScalarLiveValue.js +23 -18
  256. package/src/Utilities/Services/CellPopupService.js +4 -4
  257. package/src/Utilities/Services/Interface/IQueryLanguageService.d.ts +1 -1
  258. package/src/Utilities/Services/Interface/IReportService.d.ts +1 -4
  259. package/src/Utilities/Services/LicenseService/index.js +1 -190
  260. package/src/Utilities/Services/ModuleService.js +6 -2
  261. package/src/Utilities/Services/QueryLanguageService.d.ts +1 -1
  262. package/src/Utilities/Services/QueryLanguageService.js +4 -3
  263. package/src/Utilities/Services/ReportService.d.ts +7 -5
  264. package/src/Utilities/Services/ReportService.js +245 -26
  265. package/src/Utilities/Services/RowSummaryService.d.ts +26 -0
  266. package/src/Utilities/Services/RowSummaryService.js +155 -0
  267. package/src/Utilities/Services/ValidationService.js +2 -2
  268. package/src/Utilities/adaptableQlUtils.d.ts +2 -0
  269. package/src/Utilities/adaptableQlUtils.js +14 -0
  270. package/src/Utilities/license/decode.js +1 -65
  271. package/src/Utilities/license/hashing.js +1 -43
  272. package/src/View/AdaptableViewFactory.js +2 -2
  273. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UIOptionsStatusbarForm.js +1 -1
  274. package/src/View/Alert/AlertEntityRow.js +1 -1
  275. package/src/View/Alert/Utilities/getAvailablePredicates.d.ts +2 -2
  276. package/src/View/Alert/Utilities/getDefaultAlertDefinition.d.ts +1 -1
  277. package/src/View/Alert/Wizard/AlertScopeWizardSection.js +2 -2
  278. package/src/View/Alert/Wizard/BaseAlertScopeWizardSection.js +1 -1
  279. package/src/View/BulkUpdate/BulkUpdatePopup.js +2 -2
  280. package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.d.ts +1 -1
  281. package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.js +3 -3
  282. package/src/View/ColumnInfo/ColumnInfo.js +1 -1
  283. package/src/View/Comments/CommentsEditor.js +28 -17
  284. package/src/View/Comments/CommentsPopup.js +15 -7
  285. package/src/View/Components/AdaptableDateInput/index.d.ts +1 -1
  286. package/src/View/Components/AdaptableInput/AdaptableDateInlineInput.d.ts +5 -0
  287. package/src/View/Components/AdaptableInput/AdaptableDateInlineInput.js +42 -0
  288. package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +5 -2
  289. package/src/View/Components/CellPopup/index.d.ts +1 -0
  290. package/src/View/Components/CellPopup/index.js +6 -3
  291. package/src/View/Components/EntityRulesEditor/EntityRulePredicatesEditor/EntityRulePredicatesEditor.d.ts +3 -3
  292. package/src/View/Components/EntityRulesEditor/index.d.ts +3 -3
  293. package/src/View/Components/FilterForm/FilterForm.js +20 -12
  294. package/src/View/Components/FilterForm/QuickFilterForm.js +15 -8
  295. package/src/View/Components/FilterForm/QuickFilterValues.js +39 -23
  296. package/src/View/Components/NewScopeComponent.d.ts +5 -5
  297. package/src/View/Components/NewScopeComponent.js +36 -3
  298. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopup.js +4 -1
  299. package/src/View/Components/Popups/AdaptablePopup/useMenuItems.js +10 -1
  300. package/src/View/Components/Popups/GridCellPopup/GridCellPopup.js +7 -10
  301. package/src/View/Components/RangesComponent.d.ts +2 -2
  302. package/src/View/Components/RangesComponent.js +1 -1
  303. package/src/View/Components/Selectors/PermittedValuesSelector.js +1 -1
  304. package/src/View/Components/SharedProps/WizardScopeState.d.ts +2 -2
  305. package/src/View/Components/ValueSelector/index.d.ts +1 -0
  306. package/src/View/Components/ValueSelector/index.js +2 -2
  307. package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.js +1 -1
  308. package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +4 -2
  309. package/src/View/DataImport/DataImportWizard/DataImportWizard.js +1 -1
  310. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.d.ts +2 -2
  311. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +20 -7
  312. package/src/View/FormatColumn/Wizard/FormatColumnRuleWizardSection.js +1 -1
  313. package/src/View/FormatColumn/Wizard/FormatColumnScopeWizardSection.js +1 -1
  314. package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +27 -12
  315. package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.js +1 -1
  316. package/src/View/FreeTextColumn/FreeTextColumnSummary.js +1 -1
  317. package/src/View/FreeTextColumn/Wizard/FreeTextColumnWizard.js +3 -1
  318. package/src/View/GridFilter/GridFilterViewPanel.js +3 -3
  319. package/src/View/GridFilter/useGridFilterExpressionEditor.js +1 -1
  320. package/src/View/Layout/LayoutViewPanel.js +2 -1
  321. package/src/View/Layout/TransposedPopup.js +27 -25
  322. package/src/View/Layout/Wizard/LayoutWizard.js +38 -3
  323. package/src/View/Layout/Wizard/sections/ColumnsSection.js +1 -1
  324. package/src/View/Layout/Wizard/sections/FilterSection.js +1 -1
  325. package/src/View/Layout/Wizard/sections/RowGroupingSection.js +18 -2
  326. package/src/View/Layout/Wizard/sections/RowSummarySection.d.ts +9 -0
  327. package/src/View/Layout/Wizard/sections/RowSummarySection.js +174 -0
  328. package/src/View/License/LicenseWatermark.js +1 -61
  329. package/src/View/Note/NotePopup.d.ts +2 -0
  330. package/src/View/{Notes/NotesPopup.js → Note/NotePopup.js} +14 -9
  331. package/src/View/PlusMinus/PlusMinusSummary.js +2 -2
  332. package/src/View/SmartEdit/SmartEditPopup.js +1 -1
  333. package/src/View/SpecialColumnSettingsWizardStep.js +4 -4
  334. package/src/View/StyledColumn/Wizard/StyledColumnBadgeSection.js +5 -7
  335. package/src/View/StyledColumn/Wizard/StyledColumnWizard.js +1 -1
  336. package/src/View/StyledColumn/Wizard/StyledColumnWizardColumnSection.js +1 -1
  337. package/src/View/StyledColumn/Wizard/StyledColumnWizardSettingsSection.js +38 -14
  338. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardStyleSection.js +1 -1
  339. package/src/agGrid/ActionColumnRenderer.js +40 -4
  340. package/src/agGrid/AdaptableAgGrid.d.ts +21 -12
  341. package/src/agGrid/AdaptableAgGrid.js +313 -225
  342. package/src/agGrid/AgGridAdapter.d.ts +5 -2
  343. package/src/agGrid/AgGridAdapter.js +20 -0
  344. package/src/agGrid/AgGridColumnAdapter.d.ts +1 -3
  345. package/src/agGrid/AgGridColumnAdapter.js +52 -70
  346. package/src/agGrid/AgGridMenuAdapter.d.ts +25 -8
  347. package/src/agGrid/AgGridMenuAdapter.js +405 -74
  348. package/src/agGrid/AgGridOptionsService.d.ts +4 -1
  349. package/src/agGrid/AgGridOptionsService.js +22 -0
  350. package/src/agGrid/BadgeRenderer.d.ts +2 -2
  351. package/src/agGrid/BadgeRenderer.js +24 -11
  352. package/src/agGrid/PercentBarRenderer.js +2 -1
  353. package/src/agGrid/buildSortedColumnStateForLayout.d.ts +7 -0
  354. package/src/agGrid/buildSortedColumnStateForLayout.js +120 -0
  355. package/src/agGrid/defaultAdaptableOptions.js +7 -12
  356. package/src/agGrid/editors/AdaptableDateEditor/index.d.ts +1 -1
  357. package/src/agGrid/editors/AdaptableDateEditor/index.js +1 -1
  358. package/src/agGrid/editors/AdaptableNumberEditor/index.d.ts +2 -2
  359. package/src/agGrid/sortColumnStateForVisibleColumns.d.ts +12 -0
  360. package/src/agGrid/sortColumnStateForVisibleColumns.js +46 -0
  361. package/src/agGrid/weightedAverage.d.ts +0 -2
  362. package/src/agGrid/weightedAverage.js +0 -54
  363. package/src/components/Accordion.d.ts +7 -0
  364. package/src/components/Accordion.js +36 -0
  365. package/src/components/CheckBox/index.js +1 -1
  366. package/src/components/ColorPicker/ColorPicker.d.ts +1 -1
  367. package/src/components/Datepicker/index.d.ts +1 -1
  368. package/src/components/Datepicker/index.js +10 -2
  369. package/src/components/ExpressionEditor/QueryBuilder/QueryPredicateBuilder.js +2 -1
  370. package/src/components/ExpressionEditor/QueryBuilder/utils.d.ts +0 -1
  371. package/src/components/ExpressionEditor/QueryBuilder/utils.js +1 -14
  372. package/src/components/Input/index.d.ts +1 -2
  373. package/src/components/List/ListGroupItem/index.d.ts +1 -1
  374. package/src/components/ProgressIndicator/ProgressIndicator.js +15 -6
  375. package/src/components/Select/Select.d.ts +1 -1
  376. package/src/components/Select/Select.js +3 -1
  377. package/src/components/Textarea/index.d.ts +2 -2
  378. package/src/components/icons/collapse-all.d.ts +3 -0
  379. package/src/components/icons/collapse-all.js +4 -0
  380. package/src/components/icons/copy.d.ts +3 -0
  381. package/src/components/icons/copy.js +4 -0
  382. package/src/components/icons/csv.d.ts +3 -0
  383. package/src/components/icons/csv.js +4 -0
  384. package/src/components/icons/data-object.d.ts +3 -0
  385. package/src/components/icons/data-object.js +4 -0
  386. package/src/components/icons/excel.d.ts +3 -0
  387. package/src/components/icons/excel.js +5 -0
  388. package/src/components/icons/expand-all.d.ts +3 -0
  389. package/src/components/icons/expand-all.js +4 -0
  390. package/src/components/icons/filter-off.d.ts +3 -0
  391. package/src/components/icons/filter-off.js +4 -0
  392. package/src/components/icons/grid-info.d.ts +3 -0
  393. package/src/components/icons/grid-info.js +4 -0
  394. package/src/components/icons/index.js +24 -0
  395. package/src/components/icons/note.js +2 -2
  396. package/src/components/icons/rows.d.ts +3 -0
  397. package/src/components/icons/rows.js +4 -0
  398. package/src/components/icons/select-all.d.ts +3 -0
  399. package/src/components/icons/select-all.js +4 -0
  400. package/src/components/icons/select-fwd.d.ts +3 -0
  401. package/src/components/icons/select-fwd.js +4 -0
  402. package/src/components/icons/select-off.d.ts +3 -0
  403. package/src/components/icons/select-off.js +4 -0
  404. package/src/env.js +2 -2
  405. package/src/metamodel/adaptable.metamodel.d.ts +230 -116
  406. package/src/metamodel/adaptable.metamodel.js +1 -9408
  407. package/src/parser/src/parser.js +576 -553
  408. package/src/parser/src/predicate/mapExpressionToQlPredicate.js +1 -1
  409. package/src/parser/src/predicate/mapQlPredicateToExpression.js +3 -4
  410. package/src/parser/src/types.d.ts +7 -2
  411. package/src/parser/src/types.js +1 -2
  412. package/src/types.d.ts +32 -25
  413. package/tsconfig.esm.tsbuildinfo +1 -1
  414. package/src/AdaptableOptions/MenuOptions.d.ts +0 -234
  415. package/src/AdaptableOptions/MenuOptions.js +0 -95
  416. package/src/Api/Events/CommentsChangedInfo.d.ts +0 -5
  417. package/src/Api/Implementation/NotesApiImpl.d.ts +0 -14
  418. package/src/Api/Implementation/NotesApiImpl.js +0 -35
  419. package/src/Api/Implementation/ScopeApiImpl.d.ts +0 -31
  420. package/src/Api/NotesApi.d.ts +0 -48
  421. package/src/PredefinedConfig/CellAddress.d.ts +0 -13
  422. package/src/PredefinedConfig/CellAddress.js +0 -4
  423. package/src/Redux/ActionsReducers/NotesRedux.d.ts +0 -38
  424. package/src/Strategy/CommentsModule.d.ts +0 -17
  425. package/src/Strategy/CommentsModule.js +0 -78
  426. package/src/Strategy/NotesModule.d.ts +0 -10
  427. package/src/Strategy/NotesModule.js +0 -57
  428. package/src/View/Components/ScopeComponent.d.ts +0 -24
  429. package/src/View/Components/ScopeComponent.js +0 -133
  430. package/src/View/Export/Wizard/ReportScopeWizard.d.ts +0 -17
  431. package/src/View/Export/Wizard/ReportScopeWizard.js +0 -47
  432. package/src/View/Notes/NotesPopup.d.ts +0 -2
  433. /package/src/{Api/Events/CommentsChangedInfo.js → AdaptableOptions/ColumnMenuOptions.js} +0 -0
  434. /package/src/{Api/NotesApi.js → AdaptableOptions/ContextMenuOptions.js} +0 -0
  435. /package/src/Api/{ScopeApi.js → ColumnMenuApi.js} +0 -0
  436. /package/src/{PredefinedConfig/Common/AdaptableScope.js → Api/ColumnScopeApi.js} +0 -0
  437. /package/src/{PredefinedConfig/NotesState.js → Api/ContextMenuApi.js} +0 -0
  438. /package/src/View/{Notes → Note}/NoteEditor.d.ts +0 -0
  439. /package/src/View/{Notes → Note}/NoteEditor.js +0 -0
@@ -1,61 +1 @@
1
- import * as React from 'react';
2
- import { Logo } from '../../components/Logo';
3
- import { Flex } from 'rebass';
4
- const style = {
5
- border: '1px solid var(--ab-color-error)',
6
- padding: '5px',
7
- fontWeight: 600,
8
- margin: '5px',
9
- fontSize: '14px',
10
- alignItems: 'center',
11
- color: 'var(--ab-color-text-on-defaultbackground)',
12
- background: 'var(--ab-color-defaultbackground)',
13
- };
14
- const isStyleValid = (element) => {
15
- const notAllowedProperties = [
16
- ['display', 'none'],
17
- ['opacity', '0'],
18
- ['position', 'absolute'],
19
- ['position', 'fixed'],
20
- ['position', 'relative'],
21
- ['visibility', 'hidden'],
22
- ];
23
- for (const [prop, value] of notAllowedProperties) {
24
- if (element.style[prop] === value) {
25
- return false;
26
- }
27
- }
28
- return true;
29
- };
30
- export const LicenseWatermark = (props) => {
31
- const ref = React.useRef(null);
32
- React.useEffect(() => {
33
- const checkWatermark = () => {
34
- var _a, _b;
35
- if (!((_a = ref.current) === null || _a === void 0 ? void 0 : _a.isConnected)) {
36
- alert('It is not allowed to remove the Adaptable watermark.');
37
- }
38
- if (!isStyleValid(ref.current)) {
39
- alert('It is not allowed to modify the Adaptable watermark.');
40
- }
41
- if ((_b = ref === null || ref === void 0 ? void 0 : ref.current) === null || _b === void 0 ? void 0 : _b.style) {
42
- ref.current.style.border = style.border;
43
- ref.current.style.padding = style.padding;
44
- ref.current.style.fontWeight = `${style.fontWeight}`;
45
- ref.current.style.margin = style.margin;
46
- ref.current.style.fontSize = style.fontSize;
47
- ref.current.style.color = style.color;
48
- ref.current.style.background = style.background;
49
- ref.current.style.display = 'flex';
50
- ref.current.style.position = 'static';
51
- ref.current.style.opacity = '1';
52
- ref.current.style.visibility = 'visible';
53
- }
54
- };
55
- const timerId = setInterval(checkWatermark, 5000);
56
- return () => clearTimeout(timerId);
57
- }, []);
58
- return (React.createElement(Flex, { style: style, ref: ref },
59
- React.createElement(Logo, { style: { marginRight: 10 } }),
60
- React.createElement("div", null, props.children)));
61
- };
1
+ import*as e from"react";import{Logo as t}from"../../components/Logo";import{Flex as r}from"rebass";const o={border:"1px solid var(--ab-color-error)",padding:"5px",fontWeight:600,margin:"5px",fontSize:"14px",alignItems:"center",color:"var(--ab-color-text-on-defaultbackground)",background:"var(--ab-color-defaultbackground)"},n=e=>{const t=[["display","none"],["opacity","0"],["position","absolute"],["position","fixed"],["position","relative"],["visibility","hidden"]];for(const[r,o]of t)if(e.style[r]===o)return!1;return!0};export const LicenseWatermark=i=>{const l=e.useRef(null);return e.useEffect((()=>{const e=setInterval((()=>{var e,t;(null===(e=l.current)||void 0===e?void 0:e.isConnected)||alert("It is not allowed to remove the Adaptable watermark."),n(l.current)||alert("It is not allowed to modify the Adaptable watermark."),(null===(t=null==l?void 0:l.current)||void 0===t?void 0:t.style)&&(l.current.style.border=o.border,l.current.style.padding=o.padding,l.current.style.fontWeight=`${o.fontWeight}`,l.current.style.margin=o.margin,l.current.style.fontSize=o.fontSize,l.current.style.color=o.color,l.current.style.background=o.background,l.current.style.display="flex",l.current.style.position="static",l.current.style.opacity="1",l.current.style.visibility="visible")}),5e3);return()=>clearTimeout(e)}),[]),e.createElement(r,{style:o,ref:l},e.createElement(t,{style:{marginRight:10}}),e.createElement("div",null,i.children))};
@@ -0,0 +1,2 @@
1
+ import * as React from 'react';
2
+ export declare const NotePopup: React.FunctionComponent;
@@ -1,10 +1,12 @@
1
1
  import * as React from 'react';
2
2
  import { useSelector } from 'react-redux';
3
3
  import { DataSource, InfiniteTable } from '../../components/InfiniteTable';
4
- import { GetAllNotesSelector } from '../../Redux/ActionsReducers/NotesRedux';
4
+ import { GetAllNotesSelector } from '../../Redux/ActionsReducers/NoteRedux';
5
+ import dateFnsFormat from 'date-fns/format';
5
6
  import { useAdaptable } from '../AdaptableContext';
6
7
  import { AdaptableButtonComponent } from '../Components/AdaptableButton';
7
8
  import { PopupPanel } from '../Components/Popups/AdaptablePopup/PopupPanel';
9
+ import { DEFAULT_DATE_FORMAT_PATTERN_WITH_TIME } from '../../Utilities/Constants/GeneralConstants';
8
10
  const tableDOMProps = {
9
11
  style: {
10
12
  height: '100%',
@@ -12,10 +14,13 @@ const tableDOMProps = {
12
14
  // minHeight: 600,
13
15
  },
14
16
  };
15
- export const NotesPopup = (props) => {
17
+ export const NotePopup = (props) => {
18
+ var _a, _b, _c, _d;
16
19
  const adaptable = useAdaptable();
17
20
  const primaryKeyHeader = adaptable.api.columnApi.getFriendlyNameForColumnId(adaptable.api.columnApi.getPrimaryKeyColumn().columnId);
18
- const allNotes = useSelector((state) => GetAllNotesSelector(state.Notes));
21
+ const dateFormat = (_d = (_c = (_b = (_a = adaptable.api.optionsApi) === null || _a === void 0 ? void 0 : _a.getNoteOptions) === null || _b === void 0 ? void 0 : _b.call(_a)) === null || _c === void 0 ? void 0 : _c.dateFormat) !== null && _d !== void 0 ? _d : DEFAULT_DATE_FORMAT_PATTERN_WITH_TIME;
22
+ const allNotes = useSelector((state) => GetAllNotesSelector(state.Note));
23
+ const isReadOnlyModule = adaptable.api.entitlementApi.getEntitlementAccessLevelForModule('Note') === 'ReadOnly';
19
24
  const columnsMap = React.useMemo(() => {
20
25
  const columns = {
21
26
  primaryKey: {
@@ -32,21 +37,21 @@ export const NotesPopup = (props) => {
32
37
  text: {
33
38
  field: 'Text',
34
39
  header: 'Text',
35
- defaultEditable: true,
40
+ defaultEditable: !isReadOnlyModule,
36
41
  defaultFlex: 3,
37
42
  },
38
43
  timestamp: {
39
44
  field: 'Timestamp',
40
45
  valueGetter: (params) => {
41
- return new Date(params.data.Timestamp).toDateString();
46
+ return dateFnsFormat(params.data.Timestamp, dateFormat);
42
47
  },
43
48
  },
44
49
  delete: {
45
50
  defaultWidth: 50,
46
51
  render: (params) => {
47
- return (React.createElement(AdaptableButtonComponent, { variant: "text", icon: "delete", onClick: () => {
48
- const note = adaptable.api.notesApi.getNoteByUuid(params.data.Uuid);
49
- adaptable.api.notesApi.deleteNote(note);
52
+ return (React.createElement(AdaptableButtonComponent, { disabled: isReadOnlyModule, variant: "text", icon: "delete", onClick: () => {
53
+ const note = adaptable.api.noteApi.getNoteByUuid(params.data.Uuid);
54
+ adaptable.api.noteApi.deleteNote(note);
50
55
  } }));
51
56
  },
52
57
  },
@@ -62,7 +67,7 @@ export const NotesPopup = (props) => {
62
67
  const data = change.data;
63
68
  const prevNote = allNotes.find((x) => x.Uuid === uuid);
64
69
  if (prevNote.Text !== data.Text) {
65
- adaptable.api.notesApi.updateNoteText(data.Text, prevNote);
70
+ adaptable.api.noteApi.updateNoteText(data.Text, prevNote);
66
71
  }
67
72
  }
68
73
  }
@@ -19,12 +19,12 @@ export class PlusMinusSummaryComponent extends React.Component {
19
19
  render() {
20
20
  let moduleSummaries = [];
21
21
  // title row
22
- let titleRow = (React.createElement(ModuleHeader, { key: this.props.moduleInfo.FriendlyName, moduleInfo: this.props.moduleInfo, moduleSummary: Helper.returnItemCount(this.props.PlusMinusNudges.filter((item) => this.props.api.scopeApi.isColumnInScopeColumns(this.props.summarisedColumn, item.Scope)), this.props.moduleInfo.FriendlyName), onNew: () => this.onNew(), newButtonTooltip: 'Plus / Minus Rule', accessLevel: this.props.accessLevel }));
22
+ let titleRow = (React.createElement(ModuleHeader, { key: this.props.moduleInfo.FriendlyName, moduleInfo: this.props.moduleInfo, moduleSummary: Helper.returnItemCount(this.props.PlusMinusNudges.filter((item) => this.props.api.columnScopeApi.isColumnInScopeColumns(this.props.summarisedColumn, item.Scope)), this.props.moduleInfo.FriendlyName), onNew: () => this.onNew(), newButtonTooltip: 'Plus / Minus Rule', accessLevel: this.props.accessLevel }));
23
23
  moduleSummaries.push(titleRow);
24
24
  // existing items
25
25
  this.props.PlusMinusNudges.map((item, index) => {
26
26
  var _a;
27
- if (this.props.api.scopeApi.isColumnInScopeColumns(this.props.summarisedColumn, item.Scope)) {
27
+ if (this.props.api.columnScopeApi.isColumnInScopeColumns(this.props.summarisedColumn, item.Scope)) {
28
28
  let detailRow = (React.createElement(ModuleDetail, { key: 'PM' + index, item1: 'Nudge Value: ' + item.NudgeValue, item2: ((_a = item.Rule) === null || _a === void 0 ? void 0 : _a.BooleanExpression) ? item.Rule.BooleanExpression : 'Always', configEnity: item, showShare: this.props.teamSharingActivated, moduleInfo: this.props.moduleInfo, onEdit: () => this.onEdit(item), onShare: (config) => this.props.onShare(item, config), onDelete: PlusMinusRedux.PlusMinusNudgeDelete(item), accessLevel: this.props.accessLevel }));
29
29
  moduleSummaries.push(detailRow);
30
30
  }
@@ -63,7 +63,7 @@ class SmartEditPopupComponent extends React.Component {
63
63
  (this.props.PreviewInfo &&
64
64
  this.props.PreviewInfo.previewValidationSummary.validationResult == 'All'), onClick: () => {
65
65
  this.submit();
66
- }, marginRight: 2 }, "Apply to Grid"),
66
+ }, marginRight: 2 }, "Apply Smart Edit"),
67
67
  ' ',
68
68
  this.props.PreviewInfo &&
69
69
  this.props.PreviewInfo.previewValidationSummary.validationResult != 'None' && (React.createElement(AdaptablePopover, { headerText: 'Validation Error', bodyText: [globalValidationMessage], MessageType: 'Error' }))),
@@ -7,10 +7,10 @@ import { Tabs } from '../components/Tabs';
7
7
  import { ColumnFilterModuleId } from '../Utilities/Constants/ModuleConstants';
8
8
  import { useAdaptable } from './AdaptableContext';
9
9
  export const SpecialColumnSettingsWizardStep = (props) => {
10
- var _a, _b;
10
+ var _a, _b, _c;
11
11
  const adaptable = useAdaptable();
12
- const possibleColumnTypes = adaptable.api.optionsApi.getColumnOptions().columnTypes;
13
- const { Filterable, Resizable, Groupable, Sortable, Pivotable, Aggregatable, SuppressMenu, SuppressMovable, } = (_a = props.settings) !== null && _a !== void 0 ? _a : {};
12
+ const possibleColumnTypes = (_a = adaptable.api.columnApi.getColumnTypes()) !== null && _a !== void 0 ? _a : [];
13
+ const { Filterable, Resizable, Groupable, Sortable, Pivotable, Aggregatable, SuppressMenu, SuppressMovable, } = (_b = props.settings) !== null && _b !== void 0 ? _b : {};
14
14
  const handleColumnTypeChange = (columnType, checked) => {
15
15
  var _a, _b, _c;
16
16
  const columnTypes = (_b = (_a = props.settings) === null || _a === void 0 ? void 0 : _a.ColumnTypes) !== null && _b !== void 0 ? _b : [];
@@ -51,7 +51,7 @@ export const SpecialColumnSettingsWizardStep = (props) => {
51
51
  Boolean(possibleColumnTypes === null || possibleColumnTypes === void 0 ? void 0 : possibleColumnTypes.length) && (React.createElement(Tabs, { marginTop: 2, autoFocus: false },
52
52
  React.createElement(Tabs.Tab, null, "Column Types"),
53
53
  React.createElement(Tabs.Content, null,
54
- React.createElement(FormLayout, { columns: [{ name: 'first', size: '30%' }, { name: 'second' }] }, (_b = chunk(possibleColumnTypes !== null && possibleColumnTypes !== void 0 ? possibleColumnTypes : [], 2)) === null || _b === void 0 ? void 0 : _b.map(([first, second]) => {
54
+ React.createElement(FormLayout, { columns: [{ name: 'first', size: '30%' }, { name: 'second' }] }, (_c = chunk(possibleColumnTypes !== null && possibleColumnTypes !== void 0 ? possibleColumnTypes : [], 2)) === null || _c === void 0 ? void 0 : _c.map(([first, second]) => {
55
55
  var _a, _b, _c, _d, _e, _f;
56
56
  return (React.createElement(FormRow, { key: first },
57
57
  first && (React.createElement(CheckBox, { "data-name": first, onChange: (checked) => handleColumnTypeChange(first, checked), checked: (_c = (_b = (_a = props.settings) === null || _a === void 0 ? void 0 : _a.ColumnTypes) === null || _b === void 0 ? void 0 : _b.includes) === null || _c === void 0 ? void 0 : _c.call(_b, first) }, first)),
@@ -7,7 +7,6 @@ import HelpBlock from '../../../components/HelpBlock';
7
7
  import SimpleButton from '../../../components/SimpleButton';
8
8
  import { Tabs } from '../../../components/Tabs';
9
9
  import ObjectFactory from '../../../Utilities/ObjectFactory';
10
- import { AdaptablePopover } from '../../AdaptablePopover';
11
10
  import { AdaptableIconSelector } from '../../Components/AdaptableIconSelector';
12
11
  import { PredicateEditor } from '../../Components/PredicateEditor/PredicateEditor';
13
12
  import { StyleComponent } from '../../Components/StyleComponent';
@@ -16,6 +15,7 @@ import { StyledColumnBadgePreview } from './StyledColumnWizardStyleSection/Compo
16
15
  import { Badge } from '../../Components/Badge';
17
16
  import { AdaptableIconComponent } from '../../Components/AdaptableIconComponent';
18
17
  import { DEFAULT_INTEGER_DISPLAY_VALUE, DEFAULT_STRING_DISPLAY_VALUE, } from '../../../Utilities/Constants/GeneralConstants';
18
+ import { Accordion } from '../../../components/Accordion';
19
19
  const BadgeEditor = (props) => {
20
20
  var _a, _b;
21
21
  const { api } = useOnePageAdaptableWizardContext();
@@ -36,12 +36,10 @@ const BadgeEditor = (props) => {
36
36
  React.createElement(FormRow, { label: "Style" },
37
37
  React.createElement(HelpBlock, { fontSize: 2, mb: 1, mt: 2 }, "Select the Style for the Badge"),
38
38
  ' ',
39
- React.createElement(AdaptablePopover, { showEvent: "mouseenter", hideEvent: "mouseleave", showIcon: false, useButton: false, popoverMaxWidth: 700, bodyText: [
40
- React.createElement(StyleComponent, { showFontSizeAs: "radio", headless: true, hidePreview: true, api: api, Style: (_a = badge.Style) !== null && _a !== void 0 ? _a : {}, UpdateStyle: (Style) => {
41
- onChange(Object.assign(Object.assign({}, badge), { Style }));
42
- } }),
43
- ] },
44
- React.createElement(SimpleButton, { variant: "raised" }, "Edit Badge Style"))),
39
+ React.createElement(Accordion, { title: "Edit Badge Style" },
40
+ React.createElement(StyleComponent, { showFontSizeAs: "radio", headless: true, hidePreview: true, api: api, Style: (_a = badge.Style) !== null && _a !== void 0 ? _a : {}, UpdateStyle: (Style) => {
41
+ onChange(Object.assign(Object.assign({}, badge), { Style }));
42
+ } }))),
45
43
  !api.columnApi.hasArrayDataType(columnId) && ( // dont show predicates for arrays
46
44
  (React.createElement(
47
45
  FormRow,
@@ -77,7 +77,7 @@ export const StyledColumnWizard = (props) => {
77
77
  React.createElement(StyledColumnWizardStyleSection, { onChange: setStyledColumn })));
78
78
  },
79
79
  title: 'Style',
80
- }, AdditionalSettingSection);
80
+ });
81
81
  }
82
82
  else if (styledColumn.BadgeStyle) {
83
83
  specificSteps.push({
@@ -55,7 +55,7 @@ export const StyledColumnWizardColumnSection = (props) => {
55
55
  }, [data]);
56
56
  const handleColumnsChange = (columnIds) => {
57
57
  const columnId = columnIds[0];
58
- const emptyRanges = api.scopeApi.createCellColorRangesForScope({
58
+ const emptyRanges = api.columnScopeApi.createCellColorRangesForScope({
59
59
  ColumnIds: [columnId],
60
60
  });
61
61
  const newStyledColumn = Object.assign(Object.assign({}, data), { ColumnId: columnId });
@@ -1,32 +1,56 @@
1
1
  import * as React from 'react';
2
2
  import { Box, Flex, Text } from 'rebass';
3
- import FormLayout, { FormRow } from '../../../components/FormLayout';
4
3
  import { CheckBox } from '../../../components/CheckBox';
4
+ import FormLayout, { FormRow } from '../../../components/FormLayout';
5
5
  import { Tabs } from '../../../components/Tabs';
6
- import { useOnePageAdaptableWizardContext } from '../../Wizard/OnePageAdaptableWizard';
7
6
  import { Tag } from '../../../components/Tag';
8
- let alignmentOptions = [
9
- { value: 'Left', label: 'Left' },
10
- { value: 'Right', label: 'Right' },
11
- { value: 'Center', label: 'Center' },
12
- ];
7
+ import { useOnePageAdaptableWizardContext } from '../../Wizard/OnePageAdaptableWizard';
13
8
  export const renderStyledColumnWizardSettingsSummary = (data) => {
9
+ var _a, _b, _c;
10
+ const badgeStyle = data;
14
11
  return (React.createElement(Box, { padding: 2 },
15
12
  React.createElement(Text, { mt: 3 },
16
- "Include grouped rows ",
17
- React.createElement(Tag, null, data.IncludeGroupedRows ? 'yes' : 'no'))));
13
+ "Data Rows ",
14
+ React.createElement(Tag, null, ((_a = badgeStyle.RowScope) === null || _a === void 0 ? void 0 : _a.ExcludeDataRows) ? 'no' : 'yes')),
15
+ ' ',
16
+ React.createElement(Text, { mt: 3 },
17
+ "Group Rows ",
18
+ React.createElement(Tag, null, ((_b = badgeStyle.RowScope) === null || _b === void 0 ? void 0 : _b.ExcludeGroupRows) ? 'no' : 'yes')),
19
+ React.createElement(Text, { mt: 3 },
20
+ "Summary Rows ",
21
+ React.createElement(Tag, null, ((_c = badgeStyle.RowScope) === null || _c === void 0 ? void 0 : _c.ExcludeSummaryRows) ? 'no' : 'yes'))));
18
22
  };
19
23
  export const StyledColumnWizardSettingsSection = (props) => {
20
- const { data, api } = useOnePageAdaptableWizardContext();
21
- const onIncludeGroupedRowsChanged = (IncludeGroupedRows) => {
22
- props.onChange(Object.assign(Object.assign({}, data), { IncludeGroupedRows }));
24
+ var _a, _b, _c;
25
+ const { data } = useOnePageAdaptableWizardContext();
26
+ const onExcludeDataRowsChanged = (ExcludeDataRows) => {
27
+ props.onChange(Object.assign(Object.assign({}, data), { BadgeStyle: Object.assign(Object.assign({}, data.BadgeStyle), { RowScope: Object.assign(Object.assign({}, data.BadgeStyle.RowScope), { ExcludeDataRows }) }) }));
28
+ };
29
+ const onExcludeGroupedRowsChanged = (ExcludeGroupedRows) => {
30
+ props.onChange(Object.assign(Object.assign({}, data), { BadgeStyle: Object.assign(Object.assign({}, data.BadgeStyle), { RowScope: Object.assign(Object.assign({}, data.BadgeStyle.RowScope), { ExcludeGroupRows: ExcludeGroupedRows }) }) }));
31
+ };
32
+ const onExcludeSummaryRowsChanged = (ExcludeSummaryRows) => {
33
+ props.onChange(Object.assign(Object.assign({}, data), { BadgeStyle: Object.assign(Object.assign({}, data.BadgeStyle), { RowScope: Object.assign(Object.assign({}, data.BadgeStyle.RowScope), { ExcludeSummaryRows }) }) }));
23
34
  };
24
35
  return (React.createElement(Tabs, null,
25
36
  React.createElement(Tabs.Tab, null, "Settings"),
26
37
  React.createElement(Tabs.Content, null,
27
38
  React.createElement(Flex, { flexDirection: "row" },
28
39
  React.createElement(FormLayout, null,
29
- React.createElement(FormRow, { label: "Include Grouped Rows:" },
40
+ React.createElement(FormRow, { label: "Exclude Data Rows:" },
41
+ React.createElement(Flex, { alignItems: "center", marginLeft: 2 },
42
+ React.createElement(CheckBox, { "data-name": "exclude-data-rows-checkbox", checked:
43
+ // @ts-ignore
44
+ (_a = data.BadgeStyle.RowScope) === null || _a === void 0 ? void 0 : _a.ExcludeDataRows, onChange: onExcludeDataRowsChanged, mr: 2 }))),
45
+ React.createElement(FormRow, { label: "Exclude Group Rows:" },
46
+ React.createElement(Flex, { alignItems: "center", marginLeft: 2 },
47
+ React.createElement(CheckBox, { "data-name": "exclude-grouped-rows-checkbox", checked:
48
+ // @ts-ignore
49
+ (_b = data.BadgeStyle.RowScope) === null || _b === void 0 ? void 0 : _b.ExcludeGroupRows, onChange: onExcludeGroupedRowsChanged, mr: 2 }))),
50
+ React.createElement(FormRow, { label: "Exclude Row Summaries:" },
30
51
  React.createElement(Flex, { alignItems: "center", marginLeft: 2 },
31
- React.createElement(CheckBox, { "data-name": "include-grouped-rows-checkbox", checked: data.IncludeGroupedRows, onChange: onIncludeGroupedRowsChanged, mr: 2 }))))))));
52
+ React.createElement(CheckBox, { "data-name": "exclude-summary-rows-checkbox", checked:
53
+ // @ts-ignore
54
+ (_c = data.BadgeStyle.RowScope) === null || _c === void 0 ? void 0 : _c.ExcludeSummaryRows, onChange: onExcludeSummaryRowsChanged, mr: 2 }))),
55
+ ' ')))));
32
56
  };
@@ -204,7 +204,7 @@ export const StyledColumnWizardStyleSection = (props) => {
204
204
  };
205
205
  const handleRangeValueTypeChange = React.useCallback((rangeValueType) => {
206
206
  const ranges = rangeValueType === 'Number'
207
- ? api.scopeApi.createCellColorRangesForScope(scope)
207
+ ? api.columnScopeApi.createCellColorRangesForScope(scope)
208
208
  : [
209
209
  {
210
210
  Min: 0,
@@ -32,14 +32,32 @@ const ActionButtons = (props) => {
32
32
  })));
33
33
  };
34
34
  export const ReactActionColumnRenderer = (props) => {
35
+ var _a, _b, _c;
35
36
  const rerender = useRerender();
36
37
  const adaptable = props.context.__adaptable;
37
38
  const { actionButtons, actionColumn } = adaptable.api.internalApi.getActionButtonsAndActionColumn(props.colDef);
38
39
  if (!actionColumn || !actionButtons.length) {
39
40
  return null;
40
41
  }
41
- // TODO: see why types do not match
42
- if (adaptable.api.gridApi.isGroupRowNode(props.node) && !actionColumn.includeGroupedRows) {
42
+ const isGroupedRow = adaptable.api.gridApi.isGroupRowNode(props.node);
43
+ const isSummaryRow = adaptable.api.gridApi.isSummaryNode(props.node);
44
+ let shouldRender = true;
45
+ if (isGroupedRow) {
46
+ if ((_a = actionColumn.rowScope) === null || _a === void 0 ? void 0 : _a.ExcludeGroupRows) {
47
+ shouldRender = false;
48
+ }
49
+ }
50
+ else if (isSummaryRow) {
51
+ if ((_b = actionColumn.rowScope) === null || _b === void 0 ? void 0 : _b.ExcludeSummaryRows) {
52
+ shouldRender = false;
53
+ }
54
+ }
55
+ else {
56
+ if ((_c = actionColumn.rowScope) === null || _c === void 0 ? void 0 : _c.ExcludeDataRows) {
57
+ shouldRender = false;
58
+ }
59
+ }
60
+ if (!shouldRender) {
43
61
  return null;
44
62
  }
45
63
  const pkValue = adaptable.getPrimaryKeyValueFromRowNode(props.node, props.api);
@@ -58,6 +76,7 @@ export const ReactActionColumnRenderer = (props) => {
58
76
  export class ActionColumnRenderer {
59
77
  // gets called once before the renderer is used
60
78
  init(params) {
79
+ var _a, _b, _c;
61
80
  const adaptable = params.context.__adaptable;
62
81
  const { actionButtons, actionColumn } = adaptable.api.internalApi.getActionButtonsAndActionColumn(params.colDef);
63
82
  if (!actionColumn || !actionButtons.length) {
@@ -66,8 +85,25 @@ export class ActionColumnRenderer {
66
85
  // create the cell
67
86
  this.eGui = document.createElement('div');
68
87
  this.eGui.className = 'ab-ActionColumn';
69
- // if its a group node then only show if set to do so
70
- if (adaptable.api.gridApi.isGroupRowNode(params.node) && !actionColumn.includeGroupedRows) {
88
+ const isGroupedRow = adaptable.api.gridApi.isGroupRowNode(params.node);
89
+ const isSummaryRow = adaptable.api.gridApi.isSummaryNode(params.node);
90
+ let shouldRender = true;
91
+ if (isGroupedRow) {
92
+ if ((_a = actionColumn.rowScope) === null || _a === void 0 ? void 0 : _a.ExcludeGroupRows) {
93
+ shouldRender = false;
94
+ }
95
+ }
96
+ else if (isSummaryRow) {
97
+ if ((_b = actionColumn.rowScope) === null || _b === void 0 ? void 0 : _b.ExcludeSummaryRows) {
98
+ shouldRender = false;
99
+ }
100
+ }
101
+ else {
102
+ if ((_c = actionColumn.rowScope) === null || _c === void 0 ? void 0 : _c.ExcludeDataRows) {
103
+ shouldRender = false;
104
+ }
105
+ }
106
+ if (!shouldRender) {
71
107
  this.eGui.innerHTML = '';
72
108
  return;
73
109
  }
@@ -7,6 +7,7 @@ import { EmitterCallback } from '../Utilities/Emitter';
7
7
  import { AdaptablePlugin } from '../AdaptableOptions/AdaptablePlugin';
8
8
  import { AgGridAdapter } from './AgGridAdapter';
9
9
  import { IDataService } from '../Utilities/Services/Interface/IDataService';
10
+ import { AdaptableState } from '../PredefinedConfig/AdaptableState';
10
11
  import { IAdaptableStore } from '../Redux/Store/Interface/IAdaptableStore';
11
12
  import { ICalculatedColumnExpressionService } from '../Utilities/Services/Interface/ICalculatedColumnExpressionService';
12
13
  import { IEntitlementService } from '../Utilities/Services/Interface/IEntitlementService';
@@ -34,6 +35,7 @@ interface AdaptableInitInternalConfig<TData = any> {
34
35
  adaptableOptions: AdaptableOptions<TData>;
35
36
  gridOptions: GridOptions<TData>;
36
37
  modules?: Module[];
38
+ isDetailGrid?: boolean;
37
39
  /**
38
40
  * Adaptable init hook for rendering the React/Angular AG Grid component
39
41
  */
@@ -52,8 +54,14 @@ export declare class AdaptableAgGrid implements IAdaptable {
52
54
  hasAutogeneratedPrimaryKey: boolean;
53
55
  hasAdaptableToolPanel: boolean;
54
56
  private initWithLazyData;
57
+ /**
58
+ * once layouts are properly handled with the new aggrid methods & events
59
+ * we can remove this hack
60
+ */
61
+ private previousAgGridLayoutState;
55
62
  _rawAdaptableOptions: AdaptableOptions;
56
63
  adaptableOptions: AdaptableOptions;
64
+ _isDetailGrid: boolean;
57
65
  agGridOptionsService: AgGridOptionsService;
58
66
  agGridAdapter: AgGridAdapter;
59
67
  agGridColumnAdapter: AgGridColumnAdapter;
@@ -127,8 +135,10 @@ export declare class AdaptableAgGrid implements IAdaptable {
127
135
  */
128
136
  static _initInternal(config: AdaptableInitInternalConfig): Promise<AdaptableApi>;
129
137
  private _initAdaptableAgGrid;
138
+ normalizeAdaptableState(state: AdaptableState, gridOptions: GridOptions): AdaptableState;
130
139
  private normaliseLayoutState;
131
140
  private normaliseToolPanelState;
141
+ refreshQuickFilter(): void;
132
142
  applyColumnFiltering(): void;
133
143
  applyGridFiltering(): void;
134
144
  private refreshColDefs;
@@ -136,6 +146,7 @@ export declare class AdaptableAgGrid implements IAdaptable {
136
146
  hideQuickFilter(): void;
137
147
  private normalizeAdaptableOptions;
138
148
  private setInitialGridOptions;
149
+ private isDetailGrid;
139
150
  /**
140
151
  * Either initializes the AG Grid instance or delegates it to the framework wrappers (React/Anglar)
141
152
  */
@@ -148,10 +159,13 @@ export declare class AdaptableAgGrid implements IAdaptable {
148
159
  getAdaptableContainerElement(): HTMLElement | null;
149
160
  refreshSelectedCellsState(): SelectedCellInfo | undefined;
150
161
  refreshSelectedRowsState(): SelectedRowInfo | undefined;
151
- isGridSelectable(): boolean;
162
+ isGridRowSelectable(): boolean;
163
+ isGridRangeSelectable(): boolean;
152
164
  private initAdaptableStore;
153
165
  private mapAdaptableStateToAgGridState;
154
166
  private addGridEventListeners;
167
+ private shouldAutoSizeLayout;
168
+ private autoSizeLayoutIfNeeded;
155
169
  private performAudit;
156
170
  forPlugins(callback: (plugin: AdaptablePlugin) => any): void;
157
171
  getPluginProperty(pluginId: string, propertyName: string, ...args: any): any;
@@ -175,7 +189,9 @@ export declare class AdaptableAgGrid implements IAdaptable {
175
189
  getDisplayValueFromRawValue(rowNode: IRowNode, columnId: string, rawValue: any): string | undefined;
176
190
  private getCleanValue;
177
191
  getNormalisedValueFromRawValue(rawValue: any, column: AdaptableColumn): string | number | boolean | Date | unknown;
178
- updateColumnModelAndRefreshGrid(): void;
192
+ updateColumnModelAndRefreshGrid(config?: {
193
+ skipColDefsRefresh?: boolean;
194
+ }): void;
179
195
  redrawBody(): void;
180
196
  refreshHeader(): void;
181
197
  redrawRows(rowNodes?: IRowNode[]): void;
@@ -272,7 +288,7 @@ export declare class AdaptableAgGrid implements IAdaptable {
272
288
  private getAgGridLightThemeName;
273
289
  applyAdaptableTheme(theme: AdaptableTheme | string): void;
274
290
  setRowGroupColumns(columnIds: string[]): void;
275
- getAgGridAllGridColumns(): Column<any>[];
291
+ getAllGridColumns(): Column<any>[];
276
292
  clearRowGroupColumns(): void;
277
293
  expandAllRowGroups(): void;
278
294
  closeAllRowGroups(): void;
@@ -288,20 +304,13 @@ export declare class AdaptableAgGrid implements IAdaptable {
288
304
  canExportToExcel(): boolean;
289
305
  exportToExcel(reportData: ReportData, fileName: string): void;
290
306
  exportVisualDataToExcel(): void;
307
+ private processRowGroupForExcelExport;
308
+ private processCellForExcelExport;
291
309
  isQuickFilterAvailable(): boolean;
292
310
  private hasFloatingFilterOnAtLeastOneColumn;
293
311
  getChartRef(chartId: string): ChartRef;
294
312
  setLayout(layout?: Layout): void;
295
313
  private getActiveAdaptableAggFuncForCol;
296
- /**
297
- * Setting layout works by modifing the column state.
298
- * The column state is based on the current existing columns.
299
- * At this point the column groups do not exist, and the widths from layout are not applied.
300
- *
301
- * After the col sate is applied and the column groups are created we need
302
- * to apply the state again to update the widths of the group columns.
303
- */
304
- private applyGroupColumnWidth;
305
314
  private onRowDataChanged;
306
315
  private onCellDataChanged;
307
316
  private isUndoChange;