@adaptabletools/adaptable 18.0.0-canary.3 → 18.0.0-canary.31

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 (482) hide show
  1. package/agGrid.d.ts +4 -21
  2. package/agGrid.js +9 -26
  3. package/base.css +27 -21
  4. package/base.css.map +1 -1
  5. package/index.css +108 -88
  6. package/index.css.map +1 -1
  7. package/package.json +4 -5
  8. package/src/AdaptableInterfaces/IAdaptable.d.ts +61 -109
  9. package/src/AdaptableOptions/ActionColumnOptions.d.ts +3 -2
  10. package/src/AdaptableOptions/AdaptableFrameworkComponent.d.ts +3 -0
  11. package/src/AdaptableOptions/AdaptableOptions.d.ts +7 -7
  12. package/src/AdaptableOptions/AdaptablePlugin.d.ts +2 -0
  13. package/src/AdaptableOptions/AdaptablePlugin.js +2 -0
  14. package/src/AdaptableOptions/ColumnFilterOptions.d.ts +11 -4
  15. package/src/AdaptableOptions/ColumnOptions.d.ts +9 -4
  16. package/src/AdaptableOptions/CommentOptions.d.ts +39 -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/MenuOptions.d.ts +11 -71
  22. package/src/AdaptableOptions/MenuOptions.js +1 -99
  23. package/src/AdaptableOptions/NoteOptions.d.ts +25 -0
  24. package/src/AdaptableOptions/PredicateOptions.d.ts +2 -2
  25. package/src/AdaptableOptions/StateOptions.d.ts +6 -0
  26. package/src/AdaptableOptions/UserInterfaceOptions.d.ts +19 -2
  27. package/src/Api/AdaptableApi.d.ts +9 -4
  28. package/src/Api/BulkUpdateApi.d.ts +0 -5
  29. package/src/Api/ColumnApi.d.ts +13 -0
  30. package/src/Api/CommentApi.d.ts +20 -22
  31. package/src/Api/ConfigApi.d.ts +4 -5
  32. package/src/Api/EventApi.d.ts +7 -9
  33. package/src/Api/Events/AdaptableReady.d.ts +3 -3
  34. package/src/Api/Events/CommentChanged.d.ts +11 -0
  35. package/src/Api/Events/GridDataChanged.d.ts +4 -4
  36. package/src/Api/FlashingCellApi.d.ts +2 -2
  37. package/src/Api/GridApi.d.ts +42 -14
  38. package/src/Api/Implementation/ActionColumnApiImpl.d.ts +2 -0
  39. package/src/Api/Implementation/ActionColumnApiImpl.js +30 -0
  40. package/src/Api/Implementation/ActionRowApiImpl.js +3 -7
  41. package/src/Api/Implementation/AdaptableApiImpl.d.ts +3 -2
  42. package/src/Api/Implementation/AdaptableApiImpl.js +5 -2
  43. package/src/Api/Implementation/AlertApiImpl.js +5 -10
  44. package/src/Api/Implementation/ApiBase.d.ts +5 -3
  45. package/src/Api/Implementation/ApiBase.js +8 -2
  46. package/src/Api/Implementation/BulkUpdateApiImpl.d.ts +0 -1
  47. package/src/Api/Implementation/BulkUpdateApiImpl.js +0 -4
  48. package/src/Api/Implementation/CalendarApiImpl.js +1 -6
  49. package/src/Api/Implementation/CellSummaryApiImpl.d.ts +0 -5
  50. package/src/Api/Implementation/CellSummaryApiImpl.js +2 -23
  51. package/src/Api/Implementation/ChartingApiImpl.js +3 -3
  52. package/src/Api/Implementation/ColumnApiImpl.d.ts +5 -0
  53. package/src/Api/Implementation/ColumnApiImpl.js +45 -15
  54. package/src/Api/Implementation/ColumnFilterApiImpl.js +7 -7
  55. package/src/Api/Implementation/CommentsApiImpl.d.ts +8 -5
  56. package/src/Api/Implementation/CommentsApiImpl.js +12 -6
  57. package/src/Api/Implementation/ConfigApiImpl.d.ts +2 -2
  58. package/src/Api/Implementation/ConfigApiImpl.js +34 -30
  59. package/src/Api/Implementation/DashboardApiImpl.js +1 -6
  60. package/src/Api/Implementation/ExportApiImpl.js +5 -10
  61. package/src/Api/Implementation/ExpressionApiImpl.js +14 -19
  62. package/src/Api/Implementation/Fdc3ApiImpl.js +1 -1
  63. package/src/Api/Implementation/FlashingCellApiImpl.d.ts +2 -2
  64. package/src/Api/Implementation/FlashingCellApiImpl.js +3 -8
  65. package/src/Api/Implementation/FormatColumnApiImpl.js +4 -4
  66. package/src/Api/Implementation/FreeTextColumnApiImpl.js +1 -1
  67. package/src/Api/Implementation/GridApiImpl.d.ts +10 -3
  68. package/src/Api/Implementation/GridApiImpl.js +78 -23
  69. package/src/Api/Implementation/LayoutApiImpl.d.ts +4 -7
  70. package/src/Api/Implementation/LayoutApiImpl.js +19 -13
  71. package/src/Api/Implementation/NoteApiImpl.d.ts +18 -0
  72. package/src/Api/Implementation/NoteApiImpl.js +40 -0
  73. package/src/Api/Implementation/OptionsApiImpl.d.ts +4 -4
  74. package/src/Api/Implementation/OptionsApiImpl.js +4 -4
  75. package/src/Api/Implementation/PredicateApiImpl.js +2 -2
  76. package/src/Api/Implementation/ScheduleApiImpl.js +6 -6
  77. package/src/Api/Implementation/ScopeApiImpl.d.ts +26 -24
  78. package/src/Api/Implementation/ScopeApiImpl.js +64 -18
  79. package/src/Api/Implementation/StatusBarApiImpl.d.ts +0 -1
  80. package/src/Api/Implementation/StatusBarApiImpl.js +0 -3
  81. package/src/Api/Implementation/TeamSharingApiImpl.js +3 -15
  82. package/src/Api/Implementation/ThemeApiImpl.js +2 -7
  83. package/src/Api/Implementation/ToolPanelApiImpl.js +6 -6
  84. package/src/Api/Implementation/UserInterfaceApiImpl.d.ts +14 -8
  85. package/src/Api/Implementation/UserInterfaceApiImpl.js +30 -25
  86. package/src/Api/Internal/ActionRowInternalApi.d.ts +6 -1
  87. package/src/Api/Internal/ActionRowInternalApi.js +117 -38
  88. package/src/Api/Internal/AdaptableInternalApi.d.ts +6 -8
  89. package/src/Api/Internal/AdaptableInternalApi.js +25 -37
  90. package/src/Api/Internal/AlertInternalApi.d.ts +2 -2
  91. package/src/Api/Internal/AlertInternalApi.js +4 -17
  92. package/src/Api/Internal/CalculatedColumnInternalApi.d.ts +2 -0
  93. package/src/Api/Internal/CalculatedColumnInternalApi.js +78 -14
  94. package/src/Api/Internal/ChartingInternalApi.js +13 -13
  95. package/src/Api/Internal/ColumnFilterInternalApi.d.ts +2 -0
  96. package/src/Api/Internal/ColumnFilterInternalApi.js +35 -31
  97. package/src/Api/Internal/ColumnInternalApi.d.ts +6 -1
  98. package/src/Api/Internal/ColumnInternalApi.js +19 -1
  99. package/src/Api/Internal/CommentsInternalApi.d.ts +4 -0
  100. package/src/Api/Internal/CommentsInternalApi.js +14 -0
  101. package/src/Api/Internal/CustomSortInternalApi.d.ts +3 -2
  102. package/src/Api/Internal/CustomSortInternalApi.js +33 -2
  103. package/src/Api/Internal/DashboardInternalApi.js +5 -11
  104. package/src/Api/Internal/DataImportInternalApi.js +3 -9
  105. package/src/Api/Internal/DataSetInternalApi.js +3 -8
  106. package/src/Api/Internal/ExportInternalApi.d.ts +2 -1
  107. package/src/Api/Internal/ExportInternalApi.js +8 -5
  108. package/src/Api/Internal/ExpressionInternalApi.js +2 -12
  109. package/src/Api/Internal/Fdc3InternalApi.js +3 -12
  110. package/src/Api/Internal/FormatColumnInternalApi.d.ts +3 -6
  111. package/src/Api/Internal/FormatColumnInternalApi.js +39 -30
  112. package/src/Api/Internal/FreeTextColumnInternalApi.d.ts +2 -0
  113. package/src/Api/Internal/FreeTextColumnInternalApi.js +61 -1
  114. package/src/Api/Internal/GridFilterInternalApi.d.ts +5 -0
  115. package/src/Api/Internal/GridFilterInternalApi.js +9 -9
  116. package/src/Api/Internal/GridInternalApi.d.ts +23 -3
  117. package/src/Api/Internal/GridInternalApi.js +151 -44
  118. package/src/Api/Internal/LayoutInternalApi.d.ts +2 -0
  119. package/src/Api/Internal/LayoutInternalApi.js +26 -19
  120. package/src/Api/Internal/NoteInternalApi.d.ts +4 -0
  121. package/src/Api/Internal/NoteInternalApi.js +14 -0
  122. package/src/Api/Internal/PredicateInternalApi.d.ts +6 -6
  123. package/src/Api/Internal/PredicateInternalApi.js +5 -40
  124. package/src/Api/Internal/ScheduleInternalApi.js +1 -6
  125. package/src/Api/Internal/StyledColumnInternalApi.d.ts +2 -2
  126. package/src/Api/Internal/StyledColumnInternalApi.js +8 -9
  127. package/src/Api/Internal/SystemStatusInternalApi.js +1 -7
  128. package/src/Api/Internal/TeamSharingInternalApi.js +3 -8
  129. package/src/Api/Internal/ThemeInternalApi.js +1 -1
  130. package/src/Api/Internal/UserInterfaceInternalApi.js +1 -1
  131. package/src/Api/InteropioPluginApi.d.ts +2 -2
  132. package/src/Api/LayoutApi.d.ts +17 -9
  133. package/src/Api/NoteApi.d.ts +48 -0
  134. package/src/Api/OptionsApi.d.ts +8 -8
  135. package/src/Api/ScopeApi.d.ts +34 -24
  136. package/src/Api/UserInterfaceApi.d.ts +15 -13
  137. package/src/EnvVars.d.ts +3 -0
  138. package/src/EnvVars.js +4 -0
  139. package/src/PredefinedConfig/AdaptableState.d.ts +2 -2
  140. package/src/PredefinedConfig/AlertState.d.ts +2 -2
  141. package/src/PredefinedConfig/CommentState.d.ts +27 -23
  142. package/src/PredefinedConfig/Common/AdaptableColumn.d.ts +4 -0
  143. package/src/PredefinedConfig/Common/AdaptableIcon.d.ts +1 -1
  144. package/src/PredefinedConfig/Common/AdaptableObject.d.ts +4 -4
  145. package/src/PredefinedConfig/Common/AdaptablePredicate.d.ts +2 -2
  146. package/src/PredefinedConfig/Common/AggregationColumns.d.ts +1 -0
  147. package/src/PredefinedConfig/Common/AggregationColumns.js +3 -0
  148. package/src/PredefinedConfig/Common/CellSummary.d.ts +5 -14
  149. package/src/PredefinedConfig/Common/{AdaptableScope.d.ts → ColumnScope.d.ts} +4 -1
  150. package/src/PredefinedConfig/Common/DataUpdateConfig.d.ts +4 -0
  151. package/src/PredefinedConfig/Common/Enums.d.ts +4 -1
  152. package/src/PredefinedConfig/Common/Enums.js +3 -0
  153. package/src/PredefinedConfig/Common/Fdc3Intent.d.ts +2 -2
  154. package/src/PredefinedConfig/Common/Menu.d.ts +15 -1
  155. package/src/PredefinedConfig/Common/Menu.js +116 -1
  156. package/src/PredefinedConfig/Common/RowScope.d.ts +17 -0
  157. package/src/PredefinedConfig/Common/RowSummary.d.ts +21 -0
  158. package/src/PredefinedConfig/Common/RowSummary.js +17 -0
  159. package/src/PredefinedConfig/Common/TransposeConfig.d.ts +30 -0
  160. package/src/PredefinedConfig/Common/Types.d.ts +4 -4
  161. package/src/PredefinedConfig/Common/Types.js +4 -1
  162. package/src/PredefinedConfig/ExportState.d.ts +2 -2
  163. package/src/PredefinedConfig/FlashingCellState.d.ts +2 -2
  164. package/src/PredefinedConfig/FormatColumnState.d.ts +9 -5
  165. package/src/PredefinedConfig/LayoutState.d.ts +5 -0
  166. package/src/PredefinedConfig/{NotesState.d.ts → NoteState.d.ts} +12 -22
  167. package/src/PredefinedConfig/NoteState.js +1 -0
  168. package/src/PredefinedConfig/PlusMinusState.d.ts +2 -2
  169. package/src/PredefinedConfig/PopupState.d.ts +1 -2
  170. package/src/PredefinedConfig/PredefinedConfig.d.ts +3 -3
  171. package/src/PredefinedConfig/Selection/GridCell.d.ts +13 -0
  172. package/src/PredefinedConfig/ShortcutState.d.ts +2 -2
  173. package/src/PredefinedConfig/StyledColumnState.d.ts +5 -5
  174. package/src/PredefinedConfig/SystemState.d.ts +12 -4
  175. package/src/Redux/ActionsReducers/CommentsRedux.d.ts +0 -4
  176. package/src/Redux/ActionsReducers/CommentsRedux.js +0 -34
  177. package/src/Redux/ActionsReducers/LayoutRedux.d.ts +9 -0
  178. package/src/Redux/ActionsReducers/LayoutRedux.js +32 -10
  179. package/src/Redux/ActionsReducers/NoteRedux.d.ts +38 -0
  180. package/src/Redux/ActionsReducers/{NotesRedux.js → NoteRedux.js} +29 -28
  181. package/src/Redux/ActionsReducers/PopupRedux.d.ts +5 -13
  182. package/src/Redux/ActionsReducers/PopupRedux.js +0 -19
  183. package/src/Redux/ActionsReducers/SystemRedux.d.ts +15 -4
  184. package/src/Redux/ActionsReducers/SystemRedux.js +24 -9
  185. package/src/Redux/Store/AdaptableStore.d.ts +4 -6
  186. package/src/Redux/Store/AdaptableStore.js +70 -80
  187. package/src/Redux/Store/Interface/IAdaptableStore.d.ts +8 -2
  188. package/src/Strategy/AdaptableModuleBase.d.ts +11 -12
  189. package/src/Strategy/AdaptableModuleBase.js +17 -23
  190. package/src/Strategy/AlertModule.d.ts +2 -3
  191. package/src/Strategy/AlertModule.js +4 -57
  192. package/src/Strategy/BulkUpdateModule.d.ts +1 -1
  193. package/src/Strategy/BulkUpdateModule.js +2 -1
  194. package/src/Strategy/CalculatedColumnModule.d.ts +4 -5
  195. package/src/Strategy/CalculatedColumnModule.js +8 -28
  196. package/src/Strategy/CellSummaryModule.d.ts +10 -8
  197. package/src/Strategy/CellSummaryModule.js +85 -70
  198. package/src/Strategy/ChartingModule.d.ts +0 -1
  199. package/src/Strategy/ChartingModule.js +2 -22
  200. package/src/Strategy/ColumnFilterModule.d.ts +3 -4
  201. package/src/Strategy/ColumnFilterModule.js +37 -121
  202. package/src/Strategy/ColumnInfoModule.d.ts +2 -2
  203. package/src/Strategy/ColumnInfoModule.js +6 -4
  204. package/src/Strategy/CommentModule.d.ts +11 -0
  205. package/src/Strategy/CommentModule.js +70 -0
  206. package/src/Strategy/CustomSortModule.d.ts +1 -1
  207. package/src/Strategy/CustomSortModule.js +4 -3
  208. package/src/Strategy/DashboardModule.d.ts +3 -4
  209. package/src/Strategy/DashboardModule.js +11 -28
  210. package/src/Strategy/DataChangeHistoryModule.d.ts +1 -0
  211. package/src/Strategy/DataChangeHistoryModule.js +3 -1
  212. package/src/Strategy/DataImportModule.d.ts +4 -4
  213. package/src/Strategy/DataImportModule.js +8 -8
  214. package/src/Strategy/DataSetModule.d.ts +1 -1
  215. package/src/Strategy/DataSetModule.js +1 -1
  216. package/src/Strategy/ExportModule.d.ts +1 -2
  217. package/src/Strategy/ExportModule.js +39 -42
  218. package/src/Strategy/Fdc3Module.d.ts +1 -1
  219. package/src/Strategy/Fdc3Module.js +3 -13
  220. package/src/Strategy/FlashingCellModule.d.ts +3 -4
  221. package/src/Strategy/FlashingCellModule.js +8 -21
  222. package/src/Strategy/FormatColumnModule.d.ts +1 -3
  223. package/src/Strategy/FormatColumnModule.js +27 -91
  224. package/src/Strategy/FreeTextColumnModule.d.ts +1 -2
  225. package/src/Strategy/FreeTextColumnModule.js +2 -32
  226. package/src/Strategy/GridFilterModule.d.ts +0 -1
  227. package/src/Strategy/GridFilterModule.js +0 -37
  228. package/src/Strategy/GridInfoModule.d.ts +2 -2
  229. package/src/Strategy/GridInfoModule.js +5 -3
  230. package/src/Strategy/Interface/IModule.d.ts +3 -4
  231. package/src/Strategy/LayoutModule.d.ts +5 -6
  232. package/src/Strategy/LayoutModule.js +77 -122
  233. package/src/Strategy/NamedQueryModule.d.ts +0 -1
  234. package/src/Strategy/NamedQueryModule.js +0 -19
  235. package/src/Strategy/{NotesModule.d.ts → NoteModule.d.ts} +3 -3
  236. package/src/Strategy/NoteModule.js +55 -0
  237. package/src/Strategy/PlusMinusModule.d.ts +2 -2
  238. package/src/Strategy/PlusMinusModule.js +3 -3
  239. package/src/Strategy/ScheduleModule.d.ts +1 -1
  240. package/src/Strategy/ScheduleModule.js +1 -1
  241. package/src/Strategy/SettingsPanelModule.d.ts +3 -3
  242. package/src/Strategy/SettingsPanelModule.js +6 -6
  243. package/src/Strategy/ShortcutModule.d.ts +1 -1
  244. package/src/Strategy/ShortcutModule.js +1 -1
  245. package/src/Strategy/SmartEditModule.d.ts +1 -1
  246. package/src/Strategy/SmartEditModule.js +2 -1
  247. package/src/Strategy/StyledColumnModule.d.ts +2 -2
  248. package/src/Strategy/StyledColumnModule.js +47 -40
  249. package/src/Strategy/SystemStatusModule.d.ts +2 -2
  250. package/src/Strategy/SystemStatusModule.js +4 -3
  251. package/src/Strategy/TeamSharingModule.d.ts +1 -0
  252. package/src/Strategy/TeamSharingModule.js +5 -5
  253. package/src/Strategy/ToolPanelModule.d.ts +0 -1
  254. package/src/Strategy/ToolPanelModule.js +0 -23
  255. package/src/Strategy/Utilities/FormatColumn/getFormatColumnSettingsViewItems.js +4 -2
  256. package/src/Strategy/Utilities/getScopeViewItems.d.ts +2 -2
  257. package/src/Strategy/Utilities/getScopeViewItems.js +3 -0
  258. package/src/Utilities/Constants/DocumentationLinkConstants.js +1 -1
  259. package/src/Utilities/Constants/GeneralConstants.d.ts +2 -0
  260. package/src/Utilities/Constants/GeneralConstants.js +2 -0
  261. package/src/Utilities/Constants/ModuleConstants.d.ts +6 -6
  262. package/src/Utilities/Constants/ModuleConstants.js +6 -6
  263. package/src/Utilities/Defaults/DefaultSettingsPanel.js +7 -6
  264. package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.d.ts +3 -2
  265. package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.js +433 -3
  266. package/src/Utilities/ExpressionFunctions/observableExpressionFunctions.js +3 -3
  267. package/src/Utilities/ExpressionFunctions/scalarAggregationHelper.js +1 -1
  268. package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.d.ts +1 -1
  269. package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.js +15 -0
  270. package/src/Utilities/Extensions/ArrayExtensions.d.ts +2 -0
  271. package/src/Utilities/Extensions/ArrayExtensions.js +4 -0
  272. package/src/Utilities/Helpers/AdaptableHelper.d.ts +3 -4
  273. package/src/Utilities/Helpers/AdaptableHelper.js +19 -58
  274. package/src/Utilities/Helpers/Helper.d.ts +2 -0
  275. package/src/Utilities/Helpers/Helper.js +4 -0
  276. package/src/Utilities/Interface/MessagePopups.d.ts +0 -3
  277. package/src/Utilities/MenuItem.d.ts +7 -4
  278. package/src/Utilities/MenuItem.js +6 -3
  279. package/src/Utilities/ObjectFactory.d.ts +3 -3
  280. package/src/Utilities/ObjectFactory.js +7 -25
  281. package/src/Utilities/Services/AggregatedScalarLiveValue.d.ts +4 -2
  282. package/src/Utilities/Services/AggregatedScalarLiveValue.js +26 -19
  283. package/src/Utilities/Services/CellPopupService.js +2 -3
  284. package/src/Utilities/Services/Interface/IQueryLanguageService.d.ts +1 -1
  285. package/src/Utilities/Services/Interface/IReportService.d.ts +1 -4
  286. package/src/Utilities/Services/LicenseService/index.d.ts +3 -0
  287. package/src/Utilities/Services/LicenseService/index.js +1 -181
  288. package/src/Utilities/Services/MetamodelService.d.ts +1 -1
  289. package/src/Utilities/Services/MetamodelService.js +6 -3
  290. package/src/Utilities/Services/ModuleService.js +6 -2
  291. package/src/Utilities/Services/QueryLanguageService.d.ts +1 -1
  292. package/src/Utilities/Services/QueryLanguageService.js +4 -3
  293. package/src/Utilities/Services/ReportService.d.ts +7 -5
  294. package/src/Utilities/Services/ReportService.js +243 -24
  295. package/src/Utilities/Services/RowEditService.d.ts +3 -2
  296. package/src/Utilities/Services/RowEditService.js +3 -1
  297. package/src/Utilities/Services/RowSummaryService.d.ts +22 -0
  298. package/src/Utilities/Services/RowSummaryService.js +141 -0
  299. package/src/Utilities/adaptableQlUtils.d.ts +2 -0
  300. package/src/Utilities/adaptableQlUtils.js +14 -0
  301. package/src/Utilities/license/decode.js +1 -65
  302. package/src/Utilities/license/hashing.js +1 -43
  303. package/src/View/AdaptableView.js +1 -3
  304. package/src/View/AdaptableViewFactory.js +2 -2
  305. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationWizard.js +2 -2
  306. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UIOptionsStatusbarForm.js +1 -1
  307. package/src/View/Alert/Utilities/getAvailablePredicates.d.ts +2 -2
  308. package/src/View/Alert/Utilities/getDefaultAlertDefinition.d.ts +1 -1
  309. package/src/View/BulkUpdate/BulkUpdatePopup.js +1 -1
  310. package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.d.ts +1 -1
  311. package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.js +3 -3
  312. package/src/View/CalculatedColumn/utils.d.ts +1 -1
  313. package/src/View/CellSummary/CellSummaryPopup.js +1 -1
  314. package/src/View/Comments/CommentsEditor.js +28 -17
  315. package/src/View/Comments/CommentsPopup.js +25 -13
  316. package/src/View/Components/AdaptableDateInput/index.d.ts +1 -1
  317. package/src/View/Components/AdaptableInput/AdaptableDateInlineInput.d.ts +5 -0
  318. package/src/View/Components/AdaptableInput/AdaptableDateInlineInput.js +42 -0
  319. package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +5 -2
  320. package/src/View/Components/CellPopup/index.d.ts +1 -0
  321. package/src/View/Components/CellPopup/index.js +6 -3
  322. package/src/View/Components/EntityRulesEditor/EntityRulePredicatesEditor/EntityRulePredicatesEditor.d.ts +3 -3
  323. package/src/View/Components/EntityRulesEditor/index.d.ts +3 -3
  324. package/src/View/Components/FilterForm/FilterForm.js +20 -12
  325. package/src/View/Components/FilterForm/QuickFilterForm.js +15 -8
  326. package/src/View/Components/FilterForm/QuickFilterValues.js +39 -23
  327. package/src/View/Components/NewScopeComponent.d.ts +5 -5
  328. package/src/View/Components/NewScopeComponent.js +34 -1
  329. package/src/View/Components/Popups/AdaptableLoadingScreen.d.ts +6 -5
  330. package/src/View/Components/Popups/AdaptableLoadingScreen.js +19 -9
  331. package/src/View/Components/Popups/AdaptablePopup/useMenuItems.js +9 -1
  332. package/src/View/Components/Popups/AdaptableToaster.js +1 -1
  333. package/src/View/Components/Popups/GridCellPopup/GridCellPopup.js +7 -7
  334. package/src/View/Components/Popups/WindowPopups/windowFactory.d.ts +1 -0
  335. package/src/View/Components/Popups/WindowPopups/windowFactory.js +3 -0
  336. package/src/View/Components/RangesComponent.d.ts +2 -2
  337. package/src/View/Components/Selectors/PermittedValuesSelector.js +2 -2
  338. package/src/View/Components/SharedProps/WizardScopeState.d.ts +2 -2
  339. package/src/View/Components/ValueSelector/index.d.ts +1 -0
  340. package/src/View/Components/ValueSelector/index.js +2 -2
  341. package/src/View/CustomSort/CustomSortSummary.js +1 -1
  342. package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +12 -10
  343. package/src/View/DataImport/DataImportWizard/DataImportWizard.js +1 -1
  344. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.d.ts +2 -2
  345. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +19 -6
  346. package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +27 -12
  347. package/src/View/FreeTextColumn/FreeTextColumnSummary.js +1 -1
  348. package/src/View/FreeTextColumn/Wizard/FreeTextColumnWizard.js +3 -1
  349. package/src/View/GridFilter/GridFilterViewPanel.js +9 -5
  350. package/src/View/GridFilter/useGridFilterExpressionEditor.js +1 -1
  351. package/src/View/GridInfo/GridInfoPopup/GridInfoPopup.js +2 -3
  352. package/src/View/Layout/LayoutViewPanel.js +2 -1
  353. package/src/View/Layout/TransposedPopup.d.ts +3 -0
  354. package/src/View/Layout/TransposedPopup.js +195 -0
  355. package/src/View/Layout/Wizard/LayoutWizard.js +38 -3
  356. package/src/View/Layout/Wizard/sections/ColumnsSection.js +1 -1
  357. package/src/View/Layout/Wizard/sections/FilterSection.js +1 -1
  358. package/src/View/Layout/Wizard/sections/RowGroupingSection.js +17 -1
  359. package/src/View/Layout/Wizard/sections/RowSummarySection.d.ts +9 -0
  360. package/src/View/Layout/Wizard/sections/RowSummarySection.js +174 -0
  361. package/src/View/License/LicenseWatermark.js +1 -61
  362. package/src/View/Note/NotePopup.d.ts +2 -0
  363. package/src/View/{Notes/NotesPopup.js → Note/NotePopup.js} +20 -17
  364. package/src/View/SpecialColumnSettingsWizardStep.js +4 -4
  365. package/src/View/StyledColumn/Wizard/StyledColumnWizard.js +1 -1
  366. package/src/View/StyledColumn/Wizard/StyledColumnWizardSettingsSection.js +38 -14
  367. package/src/View/Theme/ThemeSelector.js +3 -3
  368. package/src/agGrid/ActionColumnRenderer.js +48 -10
  369. package/src/agGrid/Adaptable.d.ts +3 -455
  370. package/src/agGrid/Adaptable.js +8 -5292
  371. package/src/agGrid/AdaptableAgGrid.d.ts +346 -0
  372. package/src/agGrid/AdaptableAgGrid.js +3910 -0
  373. package/src/agGrid/AdaptableLogger.js +77 -11
  374. package/src/agGrid/AgGridAdapter.d.ts +64 -0
  375. package/src/agGrid/AgGridAdapter.js +589 -0
  376. package/src/agGrid/AgGridColumnAdapter.d.ts +54 -0
  377. package/src/agGrid/AgGridColumnAdapter.js +795 -0
  378. package/src/agGrid/AgGridMenuAdapter.d.ts +44 -0
  379. package/src/agGrid/AgGridMenuAdapter.js +600 -0
  380. package/src/agGrid/AgGridOptionsService.d.ts +15 -0
  381. package/src/agGrid/AgGridOptionsService.js +76 -0
  382. package/src/agGrid/BadgeRenderer.d.ts +2 -2
  383. package/src/agGrid/BadgeRenderer.js +26 -12
  384. package/src/agGrid/CheckboxRenderer.js +1 -1
  385. package/src/agGrid/FilterWrapper.d.ts +2 -2
  386. package/src/agGrid/FilterWrapper.js +1 -1
  387. package/src/agGrid/PercentBarRenderer.js +2 -1
  388. package/src/agGrid/attachAddaptableColumnTypes.d.ts +12 -12
  389. package/src/agGrid/buildSortedColumnStateForLayout.d.ts +7 -0
  390. package/src/agGrid/buildSortedColumnStateForLayout.js +120 -0
  391. package/src/agGrid/defaultAdaptableOptions.d.ts +3 -0
  392. package/src/{Utilities/Defaults/DefaultAdaptableOptions.js → agGrid/defaultAdaptableOptions.js} +71 -18
  393. package/src/agGrid/editors/AdaptableDateEditor/index.d.ts +1 -1
  394. package/src/agGrid/editors/AdaptableDateEditor/index.js +3 -3
  395. package/src/agGrid/editors/AdaptableNumberEditor/index.d.ts +2 -2
  396. package/src/agGrid/editors/AdaptableNumberEditor/index.js +2 -2
  397. package/src/agGrid/sortColumnStateForVisibleColumns.d.ts +12 -0
  398. package/src/agGrid/sortColumnStateForVisibleColumns.js +46 -0
  399. package/src/agGrid/weightedAverage.d.ts +0 -2
  400. package/src/agGrid/weightedAverage.js +0 -54
  401. package/src/components/CheckBox/index.js +1 -1
  402. package/src/components/ColorPicker/ColorPicker.d.ts +1 -1
  403. package/src/components/Datepicker/index.d.ts +1 -1
  404. package/src/components/Datepicker/index.js +10 -2
  405. package/src/components/ExpressionEditor/QueryBuilder/QueryPredicateBuilder.js +2 -1
  406. package/src/components/ExpressionEditor/QueryBuilder/utils.d.ts +0 -1
  407. package/src/components/ExpressionEditor/QueryBuilder/utils.js +1 -14
  408. package/src/components/InfiniteTable/index.js +2 -2
  409. package/src/components/Input/index.d.ts +1 -2
  410. package/src/components/List/ListGroupItem/index.d.ts +1 -1
  411. package/src/components/Modal/index.d.ts +1 -0
  412. package/src/components/Modal/index.js +4 -3
  413. package/src/components/ProgressIndicator/ProgressIndicator.js +15 -6
  414. package/src/components/Select/Select.d.ts +3 -1
  415. package/src/components/Select/Select.js +4 -2
  416. package/src/components/Textarea/index.d.ts +2 -2
  417. package/src/components/icons/copy.d.ts +3 -0
  418. package/src/components/icons/copy.js +4 -0
  419. package/src/components/icons/filter-off.d.ts +3 -0
  420. package/src/components/icons/filter-off.js +4 -0
  421. package/src/components/icons/grid-info.d.ts +3 -0
  422. package/src/components/icons/grid-info.js +4 -0
  423. package/src/components/icons/index.js +14 -0
  424. package/src/components/icons/note.js +2 -2
  425. package/src/components/icons/rows.d.ts +3 -0
  426. package/src/components/icons/rows.js +4 -0
  427. package/src/components/icons/select-all.d.ts +3 -0
  428. package/src/components/icons/select-all.js +4 -0
  429. package/src/components/icons/select-fwd.d.ts +3 -0
  430. package/src/components/icons/select-fwd.js +4 -0
  431. package/src/components/icons/select-off.d.ts +3 -0
  432. package/src/components/icons/select-off.js +4 -0
  433. package/src/env.js +2 -2
  434. package/src/metamodel/adaptable.metamodel.d.ts +222 -73
  435. package/src/metamodel/adaptable.metamodel.js +1 -9313
  436. package/src/migration/AdaptableUpgradeHelper.d.ts +38 -0
  437. package/src/migration/AdaptableUpgradeHelper.js +48 -0
  438. package/src/migration/VersionUpgrade.d.ts +8 -0
  439. package/src/migration/VersionUpgrade.js +11 -0
  440. package/src/migration/VersionUpgrade17.d.ts +18 -0
  441. package/src/migration/VersionUpgrade17.js +342 -0
  442. package/src/migration/VersionUpgrade18.d.ts +5 -0
  443. package/src/migration/VersionUpgrade18.js +6 -0
  444. package/src/parser/src/parser.js +576 -553
  445. package/src/parser/src/predicate/mapExpressionToQlPredicate.js +1 -1
  446. package/src/parser/src/predicate/mapQlPredicateToExpression.js +3 -4
  447. package/src/parser/src/types.d.ts +7 -2
  448. package/src/parser/src/types.js +1 -2
  449. package/src/types.d.ts +29 -21
  450. package/tsconfig.esm.tsbuildinfo +1 -1
  451. package/src/AdaptableOptions/CommentsOptions.d.ts +0 -28
  452. package/src/AdaptableOptions/NotesOptions.d.ts +0 -16
  453. package/src/Api/Events/CommentsChangedInfo.d.ts +0 -5
  454. package/src/Api/Implementation/NotesApiImpl.d.ts +0 -16
  455. package/src/Api/Implementation/NotesApiImpl.js +0 -39
  456. package/src/Api/NotesApi.d.ts +0 -48
  457. package/src/PredefinedConfig/CellAddress.d.ts +0 -13
  458. package/src/PredefinedConfig/CellAddress.js +0 -4
  459. package/src/Redux/ActionsReducers/NotesRedux.d.ts +0 -39
  460. package/src/Strategy/CommentsModule.d.ts +0 -16
  461. package/src/Strategy/CommentsModule.js +0 -77
  462. package/src/Strategy/NotesModule.js +0 -57
  463. package/src/Utilities/Defaults/DefaultAdaptableOptions.d.ts +0 -2
  464. package/src/Utilities/Services/Interface/IRowEditService.d.ts +0 -3
  465. package/src/View/Components/ScopeComponent.d.ts +0 -24
  466. package/src/View/Components/ScopeComponent.js +0 -133
  467. package/src/View/Export/Wizard/ReportScopeWizard.d.ts +0 -17
  468. package/src/View/Export/Wizard/ReportScopeWizard.js +0 -47
  469. package/src/View/Notes/NotesPopup.d.ts +0 -2
  470. package/src/agGrid/agGridHelper.d.ts +0 -57
  471. package/src/agGrid/agGridHelper.js +0 -686
  472. package/src/agGrid/agGridMenuHelper.d.ts +0 -46
  473. package/src/agGrid/agGridMenuHelper.js +0 -668
  474. /package/src/AdaptableOptions/{CommentsOptions.js → CommentOptions.js} +0 -0
  475. /package/src/AdaptableOptions/{NotesOptions.js → NoteOptions.js} +0 -0
  476. /package/src/Api/Events/{CommentsChangedInfo.js → CommentChanged.js} +0 -0
  477. /package/src/Api/{NotesApi.js → NoteApi.js} +0 -0
  478. /package/src/PredefinedConfig/Common/{AdaptableScope.js → ColumnScope.js} +0 -0
  479. /package/src/PredefinedConfig/{NotesState.js → Common/RowScope.js} +0 -0
  480. /package/src/{Utilities/Services/Interface/IRowEditService.js → PredefinedConfig/Common/TransposeConfig.js} +0 -0
  481. /package/src/View/{Notes → Note}/NoteEditor.d.ts +0 -0
  482. /package/src/View/{Notes → Note}/NoteEditor.js +0 -0
@@ -3,10 +3,11 @@ import { useSelector } from 'react-redux';
3
3
  import { DataSource, InfiniteTable } from '../../components/InfiniteTable';
4
4
  import Panel from '../../components/Panel';
5
5
  import { Box, Flex } from 'rebass';
6
- import { formatDate } from '../../Utilities/ExpressionFunctions/dateUtils';
6
+ import dateFnsFormat from 'date-fns/format';
7
7
  import { useAdaptable } from '../AdaptableContext';
8
8
  import { PopupPanel } from '../Components/Popups/AdaptablePopup/PopupPanel';
9
9
  import { AdaptableButtonComponent } from '../Components/AdaptableButton';
10
+ import { DEFAULT_DATE_FORMAT_PATTERN_WITH_TIME } from '../../Utilities/Constants/GeneralConstants';
10
11
  const tableDOMProps = {
11
12
  style: {
12
13
  minHeight: 160,
@@ -14,7 +15,10 @@ const tableDOMProps = {
14
15
  },
15
16
  };
16
17
  const CellComments = (props) => {
18
+ var _a;
17
19
  const adaptable = useAdaptable();
20
+ const dateFormat = (_a = adaptable.api.optionsApi.getCommentOptions().dateFormat) !== null && _a !== void 0 ? _a : DEFAULT_DATE_FORMAT_PATTERN_WITH_TIME;
21
+ const isReadOnlyModule = adaptable.api.entitlementApi.getEntitlementAccessLevelForModule('Comment') === 'ReadOnly';
18
22
  const columnsMap = React.useMemo(() => {
19
23
  const columns = {
20
24
  author: {
@@ -26,11 +30,11 @@ const CellComments = (props) => {
26
30
  field: 'Timestamp',
27
31
  maxWidth: 150,
28
32
  valueGetter: (params) => {
29
- return formatDate(params.data.Timestamp, 'MM.DD.YYYY HH:mm');
33
+ return dateFnsFormat(params.data.Timestamp, dateFormat);
30
34
  },
31
35
  },
32
- message: {
33
- header: 'Message',
36
+ text: {
37
+ header: 'Text',
34
38
  field: 'Value',
35
39
  defaultFlex: 3,
36
40
  },
@@ -38,17 +42,25 @@ const CellComments = (props) => {
38
42
  return columns;
39
43
  }, []);
40
44
  const cellValue = adaptable.api.gridApi.getCellDisplayValue(props.commentThread.PrimaryKeyValue, props.commentThread.ColumnId);
45
+ const primaryKeyHeader = React.useMemo(() => {
46
+ const primaryKey = adaptable.api.optionsApi.getPrimaryKey();
47
+ return adaptable.api.columnApi.getFriendlyNameForColumnId(primaryKey);
48
+ }, []);
41
49
  const columnFriendlyName = adaptable.api.columnApi.getFriendlyNameForColumnId(props.commentThread.ColumnId);
42
50
  return (React.createElement(Panel, { mb: 2, header: React.createElement(Flex, { width: "100%", alignItems: "center" },
43
51
  React.createElement(Box, { mr: 2 },
44
- "Cell Value: ",
52
+ React.createElement("b", null, "Cell Value:"),
53
+ " ",
45
54
  cellValue),
46
55
  React.createElement(Box, { mr: 2 },
47
- "Primary Key: [",
48
- props.commentThread.PrimaryKeyValue,
49
- "]"),
56
+ React.createElement("b", null,
57
+ primaryKeyHeader,
58
+ ":"),
59
+ " ",
60
+ props.commentThread.PrimaryKeyValue),
50
61
  React.createElement(Box, null,
51
- "Column: ",
62
+ React.createElement("b", null, "Column:"),
63
+ " ",
52
64
  columnFriendlyName),
53
65
  React.createElement(Box, { flex: 1 }),
54
66
  React.createElement(AdaptableButtonComponent, { mr: 1, variant: "text", icon: "visibility-on", onClick: () => {
@@ -57,7 +69,7 @@ const CellComments = (props) => {
57
69
  PrimaryKeyValue: props.commentThread.PrimaryKeyValue,
58
70
  }, true);
59
71
  } }),
60
- React.createElement(AdaptableButtonComponent, { icon: "delete", variant: "text", onClick: () => {
72
+ React.createElement(AdaptableButtonComponent, { icon: "delete", disabled: isReadOnlyModule, variant: "text", onClick: () => {
61
73
  adaptable.api.commentApi.deleteCommentThread(props.commentThread);
62
74
  } })) },
63
75
  React.createElement(DataSource, { data: props.commentThread.Comments, primaryKey: "Uuid" },
@@ -72,11 +84,11 @@ const CellComments = (props) => {
72
84
  }, rowHeight: 30, columnHeaderHeight: 30, domProps: tableDOMProps, columns: columnsMap }))));
73
85
  };
74
86
  export const CommentsPopup = (props) => {
75
- const cellComments = useSelector((state) => {
87
+ const commentThreads = useSelector((state) => {
76
88
  return state.Comment.CommentThreads;
77
89
  });
78
- return (React.createElement(PopupPanel, { headerText: 'Comments', glyphicon: 'comments', infoLink: props.moduleInfo.HelpPage }, (cellComments !== null && cellComments !== void 0 ? cellComments : []).map((cellComments, index) => {
90
+ return (React.createElement(PopupPanel, { headerText: 'Comments', glyphicon: 'comments', infoLink: props.moduleInfo.HelpPage }, (commentThreads !== null && commentThreads !== void 0 ? commentThreads : []).map((commentThread, index) => {
79
91
  var _a;
80
- return React.createElement(CellComments, { key: (_a = cellComments === null || cellComments === void 0 ? void 0 : cellComments.Uuid) !== null && _a !== void 0 ? _a : index, commentThread: cellComments });
92
+ return React.createElement(CellComments, { key: (_a = commentThread === null || commentThread === void 0 ? void 0 : commentThread.Uuid) !== null && _a !== void 0 ? _a : index, commentThread: commentThread });
81
93
  })));
82
94
  };
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
2
  import { AdaptableInputProps } from '../AdaptableInput';
3
3
  export type AdaptableDateInputProps = AdaptableInputProps;
4
- declare const AdaptableDateInput: React.ForwardRefExoticComponent<Pick<import("../../../components/Input").InputProps, "children" | "size" | "name" | "tabIndex" | "color" | "style" | "cite" | "data" | "form" | "label" | "p" | "slot" | "span" | "summary" | "title" | "pattern" | "start" | "hidden" | "content" | "default" | "flex" | "wrap" | "open" | "padding" | "multiple" | "disabled" | "checked" | "download" | "list" | "order" | "target" | "src" | "className" | "onTransitionEnd" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "id" | "lang" | "placeholder" | "spellCheck" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEndCapture" | "opacity" | "value" | "key" | "sizes" | "variant" | "tx" | "as" | "css" | "m" | "margin" | "mt" | "marginTop" | "mr" | "marginRight" | "mb" | "marginBottom" | "ml" | "marginLeft" | "mx" | "marginX" | "my" | "marginY" | "pt" | "paddingTop" | "pr" | "paddingRight" | "pb" | "paddingBottom" | "pl" | "paddingLeft" | "px" | "paddingX" | "py" | "paddingY" | "width" | "height" | "minWidth" | "minHeight" | "maxWidth" | "maxHeight" | "display" | "verticalAlign" | "overflow" | "overflowX" | "overflowY" | "fontFamily" | "fontSize" | "fontWeight" | "lineHeight" | "letterSpacing" | "fontStyle" | "textAlign" | "bg" | "backgroundColor" | "alignItems" | "alignContent" | "justifyItems" | "justifyContent" | "flexWrap" | "flexDirection" | "flexGrow" | "flexShrink" | "flexBasis" | "justifySelf" | "alignSelf" | "sx" | "accept" | "acceptCharset" | "action" | "allowFullScreen" | "allowTransparency" | "alt" | "async" | "autoComplete" | "autoFocus" | "autoPlay" | "capture" | "cellPadding" | "cellSpacing" | "charSet" | "challenge" | "classID" | "cols" | "colSpan" | "controls" | "coords" | "crossOrigin" | "dateTime" | "defer" | "encType" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "frameBorder" | "headers" | "high" | "href" | "hrefLang" | "htmlFor" | "httpEquiv" | "integrity" | "keyParams" | "keyType" | "kind" | "loop" | "low" | "manifest" | "marginHeight" | "marginWidth" | "max" | "maxLength" | "media" | "mediaGroup" | "method" | "min" | "minLength" | "muted" | "nonce" | "noValidate" | "optimum" | "playsInline" | "poster" | "preload" | "readOnly" | "rel" | "required" | "reversed" | "rows" | "rowSpan" | "sandbox" | "scope" | "scoped" | "scrolling" | "seamless" | "selected" | "shape" | "srcDoc" | "srcLang" | "srcSet" | "step" | "type" | "useMap" | "wmode" | "placehoder"> & React.RefAttributes<HTMLInputElement>>;
4
+ declare const AdaptableDateInput: React.ForwardRefExoticComponent<Pick<import("../../../components/Input").InputProps, "children" | "size" | "name" | "tabIndex" | "color" | "style" | "cite" | "data" | "form" | "label" | "p" | "slot" | "span" | "summary" | "title" | "pattern" | "start" | "hidden" | "content" | "default" | "flex" | "wrap" | "open" | "padding" | "multiple" | "disabled" | "checked" | "download" | "list" | "order" | "target" | "rows" | "src" | "className" | "onTransitionEnd" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "id" | "lang" | "placeholder" | "spellCheck" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEndCapture" | "opacity" | "value" | "key" | "sizes" | "variant" | "tx" | "as" | "css" | "m" | "margin" | "mt" | "marginTop" | "mr" | "marginRight" | "mb" | "marginBottom" | "ml" | "marginLeft" | "mx" | "marginX" | "my" | "marginY" | "pt" | "paddingTop" | "pr" | "paddingRight" | "pb" | "paddingBottom" | "pl" | "paddingLeft" | "px" | "paddingX" | "py" | "paddingY" | "width" | "height" | "minWidth" | "minHeight" | "maxWidth" | "maxHeight" | "display" | "verticalAlign" | "overflow" | "overflowX" | "overflowY" | "fontFamily" | "fontSize" | "fontWeight" | "lineHeight" | "letterSpacing" | "fontStyle" | "textAlign" | "bg" | "backgroundColor" | "alignItems" | "alignContent" | "justifyItems" | "justifyContent" | "flexWrap" | "flexDirection" | "flexGrow" | "flexShrink" | "flexBasis" | "justifySelf" | "alignSelf" | "sx" | "accept" | "acceptCharset" | "action" | "allowFullScreen" | "allowTransparency" | "alt" | "async" | "autoComplete" | "autoFocus" | "autoPlay" | "capture" | "cellPadding" | "cellSpacing" | "charSet" | "challenge" | "classID" | "cols" | "colSpan" | "controls" | "coords" | "crossOrigin" | "dateTime" | "defer" | "encType" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "frameBorder" | "headers" | "high" | "href" | "hrefLang" | "htmlFor" | "httpEquiv" | "integrity" | "keyParams" | "keyType" | "kind" | "loop" | "low" | "manifest" | "marginHeight" | "marginWidth" | "max" | "maxLength" | "media" | "mediaGroup" | "method" | "min" | "minLength" | "muted" | "nonce" | "noValidate" | "optimum" | "playsInline" | "poster" | "preload" | "readOnly" | "rel" | "required" | "reversed" | "rowSpan" | "sandbox" | "scope" | "scoped" | "scrolling" | "seamless" | "selected" | "shape" | "srcDoc" | "srcLang" | "srcSet" | "step" | "type" | "useMap" | "wmode"> & React.RefAttributes<HTMLInputElement>>;
5
5
  export default AdaptableDateInput;
@@ -0,0 +1,5 @@
1
+ import * as React from 'react';
2
+ export declare const AdaptableDateInlineInput: React.ForwardRefExoticComponent<Pick<Omit<import("../../../components/Input").InputProps, "onChange" | "value"> & {
3
+ onChange: (value: string) => void;
4
+ value: string;
5
+ }, "children" | "size" | "name" | "tabIndex" | "color" | "style" | "cite" | "data" | "form" | "label" | "p" | "slot" | "span" | "summary" | "title" | "pattern" | "start" | "hidden" | "content" | "default" | "flex" | "wrap" | "open" | "padding" | "multiple" | "disabled" | "checked" | "download" | "list" | "order" | "target" | "rows" | "src" | "className" | "onTransitionEnd" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "id" | "lang" | "placeholder" | "spellCheck" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEndCapture" | "opacity" | "value" | "key" | "sizes" | "variant" | "tx" | "as" | "css" | "m" | "margin" | "mt" | "marginTop" | "mr" | "marginRight" | "mb" | "marginBottom" | "ml" | "marginLeft" | "mx" | "marginX" | "my" | "marginY" | "pt" | "paddingTop" | "pr" | "paddingRight" | "pb" | "paddingBottom" | "pl" | "paddingLeft" | "px" | "paddingX" | "py" | "paddingY" | "width" | "height" | "minWidth" | "minHeight" | "maxWidth" | "maxHeight" | "display" | "verticalAlign" | "overflow" | "overflowX" | "overflowY" | "fontFamily" | "fontSize" | "fontWeight" | "lineHeight" | "letterSpacing" | "fontStyle" | "textAlign" | "bg" | "backgroundColor" | "alignItems" | "alignContent" | "justifyItems" | "justifyContent" | "flexWrap" | "flexDirection" | "flexGrow" | "flexShrink" | "flexBasis" | "justifySelf" | "alignSelf" | "sx" | "accept" | "acceptCharset" | "action" | "allowFullScreen" | "allowTransparency" | "alt" | "async" | "autoComplete" | "autoFocus" | "autoPlay" | "capture" | "cellPadding" | "cellSpacing" | "charSet" | "challenge" | "classID" | "cols" | "colSpan" | "controls" | "coords" | "crossOrigin" | "dateTime" | "defer" | "encType" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "frameBorder" | "headers" | "high" | "href" | "hrefLang" | "htmlFor" | "httpEquiv" | "integrity" | "keyParams" | "keyType" | "kind" | "loop" | "low" | "manifest" | "marginHeight" | "marginWidth" | "max" | "maxLength" | "media" | "mediaGroup" | "method" | "min" | "minLength" | "muted" | "nonce" | "noValidate" | "optimum" | "playsInline" | "poster" | "preload" | "readOnly" | "rel" | "required" | "reversed" | "rowSpan" | "sandbox" | "scope" | "scoped" | "scrolling" | "seamless" | "selected" | "shape" | "srcDoc" | "srcLang" | "srcSet" | "step" | "type" | "useMap" | "wmode"> & React.RefAttributes<HTMLInputElement>>;
@@ -0,0 +1,42 @@
1
+ import * as React from 'react';
2
+ import { isValid, parse } from 'date-fns';
3
+ import { useState } from 'react';
4
+ import Input from '../../../components/Input';
5
+ import { useAdaptable } from '../../AdaptableContext';
6
+ export const AdaptableDateInlineInput = React.forwardRef((props, ref) => {
7
+ var _a;
8
+ const [hasFocus, setHasFocus] = useState(false);
9
+ const dateInputOptions = useAdaptable().adaptableOptions.userInterfaceOptions.dateInputOptions;
10
+ const dateProps = {
11
+ format: dateInputOptions.dateFormat,
12
+ locale: dateInputOptions.locale,
13
+ };
14
+ const [inputValue, setInputValue] = useState(() => {
15
+ return props.value;
16
+ });
17
+ React.useEffect(() => {
18
+ if (hasFocus) {
19
+ return;
20
+ }
21
+ setInputValue(props.value);
22
+ }, [props.value]);
23
+ const handleInputChange = (e) => {
24
+ setInputValue(e.currentTarget.value);
25
+ const date = parse(e.currentTarget.value, dateProps.format, new Date());
26
+ if (isValid(date)) {
27
+ props.onChange(e.currentTarget.value);
28
+ }
29
+ else {
30
+ props.onChange(undefined);
31
+ }
32
+ };
33
+ return (React.createElement(Input, Object.assign({}, props, { onFocus: (event) => {
34
+ var _a;
35
+ (_a = props.onFocus) === null || _a === void 0 ? void 0 : _a.call(props, event);
36
+ setHasFocus(true);
37
+ }, onBlur: (event) => {
38
+ var _a;
39
+ (_a = props.onBlur) === null || _a === void 0 ? void 0 : _a.call(props, event);
40
+ setHasFocus(false);
41
+ }, ref: ref, value: inputValue, onChange: (e) => handleInputChange(e), placeholder: (_a = props.placeholder) !== null && _a !== void 0 ? _a : dateProps.format, style: props.style, disabled: props.disabled })));
42
+ });
@@ -39,7 +39,7 @@ export const AdaptableObjectListItemView = (props) => {
39
39
  var _a;
40
40
  let labelEl = tag.label;
41
41
  if (typeof tag.label === 'function') {
42
- labelEl = React.createElement(tag.label, { data: props.abObject });
42
+ labelEl = React.createElement(tag.label, { key: index, data: props.abObject });
43
43
  }
44
44
  labelEl = labelEl !== null && labelEl !== void 0 ? labelEl : tag.name;
45
45
  return (React.createElement(Flex, { "data-name": tag.name, key: `${index}-${tag.name}`, mb: 2, className: `${baseClassName}__row` },
@@ -129,5 +129,8 @@ export const AdaptableObjectListItem = (props) => {
129
129
  };
130
130
  export const AdaptableObjectList = (props) => {
131
131
  var _a;
132
- return (React.createElement("ul", { className: LIST_BASE_CLASS_NAME }, (_a = props === null || props === void 0 ? void 0 : props.items) === null || _a === void 0 ? void 0 : _a.map((item) => (React.createElement(AdaptableObjectListItem, Object.assign({ key: item.abObject.Uuid, data: item, module: props.module }, props.itemProps))))));
132
+ return (React.createElement("ul", { className: LIST_BASE_CLASS_NAME }, (_a = props === null || props === void 0 ? void 0 : props.items) === null || _a === void 0 ? void 0 : _a.map((item, index) => {
133
+ var _a;
134
+ return (React.createElement(AdaptableObjectListItem, Object.assign({ key: (_a = item.abObject.Uuid) !== null && _a !== void 0 ? _a : index, data: item, module: props.module }, props.itemProps)));
135
+ })));
133
136
  };
@@ -3,6 +3,7 @@ export interface CellPopupProps {
3
3
  isOpen: boolean;
4
4
  columnId: string;
5
5
  primaryKeyValue: number | string;
6
+ className?: string;
6
7
  }
7
8
  export type CellPopupHandle = {
8
9
  refreshContent: () => void;
@@ -4,7 +4,7 @@ import { getRect } from '../../../components/OverlayTrigger/utils';
4
4
  import { useAdaptable } from '../../AdaptableContext';
5
5
  import { isBrowserDocumentAvailable } from '../../UIHelper';
6
6
  let portalElement;
7
- const ensurePortalElement = () => {
7
+ const ensurePortalElement = (className) => {
8
8
  if (!isBrowserDocumentAvailable()) {
9
9
  return;
10
10
  }
@@ -13,13 +13,16 @@ const ensurePortalElement = () => {
13
13
  }
14
14
  portalElement = document.createElement('div');
15
15
  portalElement.style.position = 'absolute';
16
- portalElement.style.zIndex = '999';
16
+ portalElement.style.zIndex = '4'; // under the context menu
17
17
  portalElement.style.top = '0px';
18
18
  portalElement.style.left = '0px';
19
+ if (className) {
20
+ portalElement.className = className;
21
+ }
19
22
  document.body.appendChild(portalElement);
20
23
  };
21
24
  export const CellPopup = React.forwardRef((props, ref) => {
22
- ensurePortalElement();
25
+ ensurePortalElement(props.className);
23
26
  const adaptable = useAdaptable();
24
27
  const { showOverlay, clearAll: clearAllOverlays, hideOverlay, portal, } = useOverlay({
25
28
  portalContainer: portalElement,
@@ -1,15 +1,15 @@
1
1
  import * as React from 'react';
2
- import { AdaptablePredicateDef, AdaptableScope } from '../../../../types';
2
+ import { AdaptablePredicateDef, ColumnScope } from '../../../../types';
3
3
  import { EntityRulesEditorProps, RuleType } from '../index';
4
4
  export interface EntityRulePredicatesEditorProps {
5
5
  descriptions: EntityRulesEditorProps<any>['descriptions'];
6
6
  data: {
7
7
  Rule: RuleType;
8
- Scope: AdaptableScope;
8
+ Scope: ColumnScope;
9
9
  };
10
10
  onChange: (data: {
11
11
  Rule: RuleType;
12
- Scope: AdaptableScope;
12
+ Scope: ColumnScope;
13
13
  }) => void;
14
14
  predicateDefs: AdaptablePredicateDef[];
15
15
  getPredicateDefsForColId?: (colId: string) => AdaptablePredicateDef[];
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { FlexProps } from 'rebass';
3
- import type { AdaptableColumnPredicate, AdaptableModule, AdaptablePredicateDef, AdaptableScope } from '../../../types';
3
+ import type { AdaptableColumnPredicate, AdaptableModule, AdaptablePredicateDef, ColumnScope } from '../../../types';
4
4
  import type { XOR } from '../../../Utilities/Extensions/TypeExtensions';
5
5
  import { AdaptableQuery } from '../../../PredefinedConfig/Common/AdaptableQuery';
6
6
  export type RuleType = XOR<{
@@ -30,7 +30,7 @@ export type EntityRulesEditorProps<T> = {
30
30
  };
31
31
  export declare const EntityRulesSummary: <T extends {
32
32
  Rule?: RuleType;
33
- Scope: AdaptableScope;
33
+ Scope: ColumnScope;
34
34
  }>(props: {
35
35
  data: T;
36
36
  renderPredicate: (content: string) => React.ReactNode;
@@ -38,5 +38,5 @@ export declare const EntityRulesSummary: <T extends {
38
38
  }) => JSX.Element;
39
39
  export declare const EntityRulesEditor: <T extends {
40
40
  Rule: RuleType;
41
- Scope: AdaptableScope;
41
+ Scope: ColumnScope;
42
42
  }>(props: EntityRulesEditorProps<T>) => JSX.Element;
@@ -14,12 +14,13 @@ import { ObjectFactory } from '../../../Utilities/ObjectFactory';
14
14
  import HelpBlock from '../../../components/HelpBlock';
15
15
  import { Flex } from 'rebass';
16
16
  import Radio from '../../../components/Radio';
17
- import Helper from '../../../Utilities/Helpers/Helper';
17
+ import Helper, { cloneObject } from '../../../Utilities/Helpers/Helper';
18
18
  import AdaptableInput from '../AdaptableInput';
19
19
  import { renderWithAdaptableContext } from '../../renderWithAdaptableContext';
20
20
  import { CheckBox } from '../../../components/CheckBox';
21
21
  import { runIfNotResolvedIn } from '../../../Utilities/runIfNotResolvedIn';
22
22
  import { getDefaultColumnFilterPredicate } from './getDefaultColumnFilterPredicate';
23
+ import { AdaptableDateInlineInput } from '../AdaptableInput/AdaptableDateInlineInput';
23
24
  const panelStyle = {
24
25
  width: '100%',
25
26
  minWidth: 150,
@@ -174,13 +175,20 @@ class FilterFormComponent extends React.Component {
174
175
  this.changeColumnPredicateInput(newCheckedValue, 0);
175
176
  } })));
176
177
  }
177
- return (_a = predicateDef.inputs) === null || _a === void 0 ? void 0 : _a.map((predicateInput, index) => (React.createElement(Flex, { key: index, flexDirection: "row" },
178
- React.createElement(AdaptableInput, { onMouseDown: (event) => {
179
- if (predicateInput.type === 'date') {
180
- // This prevents the ag-grid dropdown closing when a date is selected
181
- event.stopPropagation();
182
- }
183
- }, disabled: this.isFilterDisabled(), type: predicateInput.type, autoFocus: index === 0, value: filter.Predicate.Inputs[index], onChange: (e) => this.changeColumnPredicateInput(e.target.value, index), mb: 1, flex: 1, fontSize: 2 }))));
178
+ return (_a = predicateDef.inputs) === null || _a === void 0 ? void 0 : _a.map((predicateInput, index) => {
179
+ var _a, _b;
180
+ const showDatePicker = (_b = (_a = this.props.api.optionsApi) === null || _a === void 0 ? void 0 : _a.getColumnFilterOptions()) === null || _b === void 0 ? void 0 : _b.showDatePicker;
181
+ if (predicateInput.type === 'date' && !showDatePicker) {
182
+ return (React.createElement(AdaptableDateInlineInput, { value: filter.Predicate.Inputs[index], onChange: (value) => this.changeColumnPredicateInput(value, index) }));
183
+ }
184
+ return (React.createElement(Flex, { key: index, flexDirection: "row" },
185
+ React.createElement(AdaptableInput, { onMouseDown: (event) => {
186
+ if (predicateInput.type === 'date') {
187
+ // This prevents the ag-grid dropdown closing when a date is selected
188
+ event.stopPropagation();
189
+ }
190
+ }, disabled: this.isFilterDisabled(), type: predicateInput.type, autoFocus: index === 0, value: filter.Predicate.Inputs[index], onChange: (e) => this.changeColumnPredicateInput(e.target.value, index), mb: 1, flex: 1, fontSize: 2 })));
191
+ });
184
192
  }
185
193
  isFilterDisabled() {
186
194
  var _a;
@@ -255,12 +263,12 @@ class FilterFormComponent extends React.Component {
255
263
  }
256
264
  changeColumnPredicateInput(value, index) {
257
265
  const { editedColumnFilter } = this.state;
258
- editedColumnFilter.Predicate.Inputs[index] = value;
259
- this.setState({ editedColumnFilter });
266
+ const newEditedColumnFilter = cloneObject(editedColumnFilter);
267
+ newEditedColumnFilter.Predicate.Inputs[index] = value;
268
+ this.setState({ editedColumnFilter: newEditedColumnFilter });
260
269
  if (this.props.api.optionsApi.getColumnFilterOptions().autoApplyFilter) {
261
- this.props.onSetColumnFilter(editedColumnFilter);
270
+ this.props.onSetColumnFilter(newEditedColumnFilter);
262
271
  }
263
- // this.props.onSetColumnFilter(editedColumnFilter);
264
272
  }
265
273
  }
266
274
  function mapStateToProps(state, ownProps) {
@@ -15,6 +15,7 @@ import { getDefaultColumnFilterPredicate } from './getDefaultColumnFilterPredica
15
15
  import { isAdaptableIcon } from '../../../components/Icon';
16
16
  import { QuickFilterValues } from './QuickFilterValues';
17
17
  import { AdaptableIconComponent } from '../AdaptableIconComponent';
18
+ import { AdaptableDateInlineInput } from '../AdaptableInput/AdaptableDateInlineInput';
18
19
  class QuickFilterFormComponent extends React.Component {
19
20
  constructor(props) {
20
21
  super(props);
@@ -136,17 +137,23 @@ class QuickFilterFormComponent extends React.Component {
136
137
  } })));
137
138
  }
138
139
  return (_a = predicateDef === null || predicateDef === void 0 ? void 0 : predicateDef.inputs) === null || _a === void 0 ? void 0 : _a.map((predicateInput, index) => {
139
- var _a, _b;
140
+ var _a, _b, _c, _d, _e, _f;
141
+ const showDatePicker = (_b = (_a = this.props.api.optionsApi) === null || _a === void 0 ? void 0 : _a.getColumnFilterOptions()) === null || _b === void 0 ? void 0 : _b.showDatePicker;
142
+ const value = (_d = (_c = filter.Predicate.Inputs) === null || _c === void 0 ? void 0 : _c[index]) !== null && _d !== void 0 ? _d : '';
143
+ const onKeyDownCapture = (e) => {
144
+ if (e.nativeEvent.key === 'Escape') {
145
+ e.nativeEvent.preventDefault();
146
+ e.nativeEvent.stopPropagation();
147
+ this.clearFilter();
148
+ }
149
+ };
150
+ if (predicateInput.type === 'date' && !showDatePicker) {
151
+ return (React.createElement(AdaptableDateInlineInput, { value: value, key: index, onKeyDownCapture: onKeyDownCapture, onChange: (value) => this.changeColumnPredicateInput(value, index) }));
152
+ }
140
153
  return (React.createElement(AdaptableInput, { disabled: this.isFilterDisabled(), key: index, type: predicateInput.type === 'number' ? 'text' : predicateInput.type,
141
154
  // autoFocus has to be FALSE because if the input receives focus in the init phase,
142
155
  // it may scroll the AG Grid header viewport into view and de-synchronize it (relative to the content viewport)
143
- autoFocus: false, value: (_b = (_a = filter.Predicate.Inputs) === null || _a === void 0 ? void 0 : _a[index]) !== null && _b !== void 0 ? _b : '', onChange: (e) => this.changeColumnPredicateInput(e.target.value, index), onKeyDownCapture: (e) => {
144
- if (e.nativeEvent.key === 'Escape') {
145
- e.nativeEvent.preventDefault();
146
- e.nativeEvent.stopPropagation();
147
- this.clearFilter();
148
- }
149
- }, style: {
156
+ autoFocus: false, value: (_f = (_e = filter.Predicate.Inputs) === null || _e === void 0 ? void 0 : _e[index]) !== null && _f !== void 0 ? _f : '', onChange: (e) => this.changeColumnPredicateInput(e.target.value, index), onKeyDownCapture: onKeyDownCapture, style: {
150
157
  width: '100%',
151
158
  padding: 'var(--ab-space-1)',
152
159
  borderRadius: 0,
@@ -6,6 +6,7 @@ import { isSameDay } from 'date-fns';
6
6
  import OverlayTrigger from '../../../components/OverlayTrigger';
7
7
  import { Flex } from 'rebass';
8
8
  import { ListBoxFilterForm } from './ListBoxFilterForm';
9
+ import { Resizable } from 're-resizable';
9
10
  export const QuickFilterValues = (props) => {
10
11
  const { api } = props;
11
12
  const currentOverlayVisible = useRef(false);
@@ -135,33 +136,48 @@ export const QuickFilterValues = (props) => {
135
136
  }
136
137
  }, render: ({ targetWidth }) => {
137
138
  var _a;
138
- return (React.createElement(Flex, { onMouseEnter: () => {
139
- if (showEvent === 'click') {
140
- // For showEvent=mousenter this is not needed.
141
- // When mouseenter is triggered on the overlay, onShowFn is called, the overlay is no longer hidden.
142
- // But in this case because the trigger is click, another show is not triggered.
143
- // The hide event is added direcly on the element so it does not use the React event system.
144
- // But this event does, maybe beause it uses event delegation it is triggered to soon.
145
- requestAnimationFrame(() => {
146
- var _a;
147
- (_a = valuesDropdownRef.current) === null || _a === void 0 ? void 0 : _a.show();
148
- });
149
- }
150
- }, "data-name": "quick-filter-form", flexDirection: "column", style: {
139
+ return (React.createElement(Resizable, { style: {
151
140
  fontSize: 'var(--ab-font-size-2)',
152
141
  border: '1px solid var(--ab-color-primarydark)',
153
142
  background: 'var(--ab-color-defaultbackground)',
154
143
  zIndex: 1000,
155
- width: getPopoverWidth(targetWidth),
156
- } },
157
- React.createElement(Flex, { m: 2 },
158
- React.createElement(SimpleButton, { onClick: () => clearColumnFilter() }, "Clear Filter"),
159
- ((_a = api.optionsApi.getColumnFilterOptions()) === null || _a === void 0 ? void 0 : _a.autoApplyFilter) == false && (React.createElement(SimpleButton, { ml: 2, onClick: () => {
160
- if (transientColumnFilter) {
161
- props.updateColumnFilter(transientColumnFilter);
162
- }
163
- } }, "Apply Filter"))),
164
- React.createElement(ListBoxFilterForm, { disabled: props.isFilterDisabled, suppressClientSideFilter: quickFilterValues.suppressClientSideFilter, isLoading: isDistinctColumnValuesLoading, onFilterChange: handleFilterChange, currentColumn: props.currentColumn, columns: [], columnDistinctValues: quickFilterValues.values, dataType: props.currentColumn.dataType, uiSelectedColumnValues: props.columnFilter.Predicate.Inputs.filter((input) => input !== ''), useAgGridStyle: true, onColumnValueSelectedChange: (list) => onColumnValueSelectedChange(list) })));
144
+ }, enable: {
145
+ top: false,
146
+ right: true,
147
+ bottom: false,
148
+ left: false,
149
+ topRight: false,
150
+ bottomRight: false,
151
+ bottomLeft: false,
152
+ topLeft: false,
153
+ }, minWidth: getPopoverWidth(targetWidth) },
154
+ React.createElement(Flex, { onMouseEnter: () => {
155
+ if (showEvent === 'click') {
156
+ // For showEvent=mousenter this is not needed.
157
+ // When mouseenter is triggered on the overlay, onShowFn is called, the overlay is no longer hidden.
158
+ // But in this case because the trigger is click, another show is not triggered.
159
+ // The hide event is added direcly on the element so it does not use the React event system.
160
+ // But this event does, maybe beause it uses event delegation it is triggered to soon.
161
+ requestAnimationFrame(() => {
162
+ var _a;
163
+ (_a = valuesDropdownRef.current) === null || _a === void 0 ? void 0 : _a.show();
164
+ });
165
+ }
166
+ }, "data-name": "quick-filter-form", flexDirection: "column", style: {
167
+ // fontSize: 'var(--ab-font-size-2)',
168
+ // border: '1px solid var(--ab-color-primarydark)',
169
+ // background: 'var(--ab-color-defaultbackground)',
170
+ // zIndex: 1000,
171
+ // width: getPopoverWidth(targetWidth),
172
+ } },
173
+ React.createElement(Flex, { m: 2 },
174
+ React.createElement(SimpleButton, { onClick: () => clearColumnFilter() }, "Clear Filter"),
175
+ ((_a = api.optionsApi.getColumnFilterOptions()) === null || _a === void 0 ? void 0 : _a.autoApplyFilter) == false && (React.createElement(SimpleButton, { ml: 2, onClick: () => {
176
+ if (transientColumnFilter) {
177
+ props.updateColumnFilter(transientColumnFilter);
178
+ }
179
+ } }, "Apply Filter"))),
180
+ React.createElement(ListBoxFilterForm, { disabled: props.isFilterDisabled, suppressClientSideFilter: quickFilterValues.suppressClientSideFilter, isLoading: isDistinctColumnValuesLoading, onFilterChange: handleFilterChange, currentColumn: props.currentColumn, columns: [], columnDistinctValues: quickFilterValues.values, dataType: props.currentColumn.dataType, uiSelectedColumnValues: props.columnFilter.Predicate.Inputs.filter((input) => input !== ''), useAgGridStyle: true, onColumnValueSelectedChange: (list) => onColumnValueSelectedChange(list) }))));
165
181
  } },
166
182
  React.createElement(SimpleButton, { "data-name": 'Select Values', style: {
167
183
  flex: 1,
@@ -1,18 +1,18 @@
1
1
  import * as React from 'react';
2
- import { ScopeDataType, AdaptableScope } from '../../PredefinedConfig/Common/AdaptableScope';
2
+ import { ScopeDataType, ColumnScope } from '../../PredefinedConfig/Common/ColumnScope';
3
3
  import { AdaptableColumn } from '../../types';
4
4
  export declare const isScopeValid: ({ Scope }: {
5
- Scope: AdaptableScope;
5
+ Scope: ColumnScope;
6
6
  }) => string | true;
7
- export declare const renderScopeSummary: (scope: AdaptableScope, labels: {
7
+ export declare const renderScopeSummary: (scope: ColumnScope, labels: {
8
8
  scopeWholeRow: string;
9
9
  scopeColumns: string;
10
10
  scopeDataTypes: string;
11
11
  }) => JSX.Element;
12
12
  export interface NewScopeComponentProps extends React.ClassAttributes<any> {
13
- scope: AdaptableScope;
13
+ scope: ColumnScope;
14
14
  scopeColumns?: AdaptableColumn[];
15
- updateScope: (scope: AdaptableScope) => void;
15
+ updateScope: (scope: ColumnScope) => void;
16
16
  availableDataTypes?: ScopeDataType[];
17
17
  hideWholeRow?: boolean;
18
18
  style?: React.CSSProperties;
@@ -56,6 +56,7 @@ export const renderScopeSummary = (scope, labels) => {
56
56
  };
57
57
  const DATA_TYPES_OPTIONS = Object.values(DATA_TYPES_MAP);
58
58
  export const NewScopeComponent = (props) => {
59
+ var _a, _b;
59
60
  const { api } = useAdaptable();
60
61
  const { scopeApi, columnApi } = api;
61
62
  const [columnsSearchText, setColumnsSearchText] = useState('');
@@ -79,6 +80,9 @@ export const NewScopeComponent = (props) => {
79
80
  if (scopeApi.scopeHasDataType(props.scope)) {
80
81
  return 'DataType';
81
82
  }
83
+ if (scopeApi.scopeHasColumnType(props.scope)) {
84
+ return 'ColumnType';
85
+ }
82
86
  return undefined;
83
87
  };
84
88
  const onScopeSelectChanged = (value) => {
@@ -93,6 +97,11 @@ export const NewScopeComponent = (props) => {
93
97
  DataTypes: [],
94
98
  };
95
99
  }
100
+ else if (value == 'ColumnType') {
101
+ newScope = {
102
+ ColumnTypes: [],
103
+ };
104
+ }
96
105
  else {
97
106
  newScope = {
98
107
  All: true,
@@ -128,6 +137,10 @@ export const NewScopeComponent = (props) => {
128
137
  if (Array.isArray(props.availableDataTypes)) {
129
138
  dataTypeOptions = props.availableDataTypes.map((dataType) => DATA_TYPES_MAP[dataType]);
130
139
  }
140
+ const hasColumnTypes = React.useMemo(() => {
141
+ var _a;
142
+ return ((_a = api.columnApi.getColumnTypes()) === null || _a === void 0 ? void 0 : _a.length) > 0;
143
+ }, []);
131
144
  return (React.createElement(Tabs, { "data-name": 'scope-component', className: "ab-ScopeComponent", value: scopeChoice, style: Object.assign({ height: '100%' }, props.style), onValueChange: onScopeSelectChanged },
132
145
  props.hideWholeRow ? null : (React.createElement(Tabs.Tab, { value: "Row" },
133
146
  React.createElement(Radio, { margin: 0, checked: scopeChoice == 'All', tabIndex: -1 }, "All Columns"))),
@@ -135,6 +148,8 @@ export const NewScopeComponent = (props) => {
135
148
  React.createElement(Radio, { margin: 0, value: "Column", checked: scopeChoice == 'Column', tabIndex: -1 }, "Selected Columns"))),
136
149
  !props.disableDataTypes && (React.createElement(Tabs.Tab, { value: "DataType" },
137
150
  React.createElement(Radio, { margin: 0, value: "DataType", checked: scopeChoice == 'DataType', tabIndex: -1 }, "Data Types"))),
151
+ hasColumnTypes && (React.createElement(Tabs.Tab, { value: "ColumnType" },
152
+ React.createElement(Radio, { margin: 0, value: "ColumnType", checked: scopeChoice == 'ColumnType', tabIndex: -1 }, "Column Types"))),
138
153
  props.hideWholeRow ? null : (React.createElement(Tabs.Content, { value: "Row", style: { flex: 'none' }, "data-name": "row-scope" },
139
154
  React.createElement(Text, { padding: 2, pl: 0, fontSize: 2 }, props.descriptions.rowScope))),
140
155
  !props.disableColumns && (React.createElement(Tabs.Content, { value: "Column", style: { flex: 1, overflow: 'auto' }, "data-name": "column-scope", padding: 0 },
@@ -147,5 +162,23 @@ export const NewScopeComponent = (props) => {
147
162
  !props.disableDataTypes && (React.createElement(Tabs.Content, { value: "DataType", style: { flex: 'none' }, "data-name": "datatype-scope" },
148
163
  React.createElement(Box, null,
149
164
  props.descriptions.dataTypeScope && (React.createElement(Text, { p: 2, pl: 0, mb: 2, fontSize: 2 }, props.descriptions.dataTypeScope)),
150
- React.createElement(Flex, { flexDirection: "column" }, dataTypeOptions.map((dataTypeOption) => (React.createElement(CheckBox, { "data-name": "scope", "data-value": dataTypeOption.value, key: dataTypeOption.value, checked: dataTypesInScope && dataTypesInScope.includes(dataTypeOption.value), onChange: (checked) => onCheckBoxDataTypeChecked(checked, dataTypeOption.value) }, dataTypeOption.label)))))))));
165
+ React.createElement(Flex, { flexDirection: "column" }, dataTypeOptions.map((dataTypeOption) => (React.createElement(CheckBox, { "data-name": "scope", "data-value": dataTypeOption.value, key: dataTypeOption.value, checked: dataTypesInScope && dataTypesInScope.includes(dataTypeOption.value), onChange: (checked) => onCheckBoxDataTypeChecked(checked, dataTypeOption.value) }, dataTypeOption.label))))))),
166
+ hasColumnTypes && (React.createElement(Tabs.Content, { value: "ColumnType", style: { flex: 'none' }, "data-name": "column-type-scope" },
167
+ React.createElement(Box, null,
168
+ React.createElement(Flex, { flexDirection: "column" }, (_b = (_a = api.columnApi.getColumnTypes()) === null || _a === void 0 ? void 0 : _a.map) === null || _b === void 0 ? void 0 : _b.call(_a, (columnType) => {
169
+ var _a;
170
+ return (React.createElement(CheckBox, { "data-name": "scope", "data-value": columnType, key: columnType, checked: 'ColumnTypes' in props.scope && ((_a = props.scope.ColumnTypes) === null || _a === void 0 ? void 0 : _a.includes(columnType)), onChange: (checked) => {
171
+ let columnTypes = [].concat(props.scope.ColumnTypes);
172
+ if (checked) {
173
+ columnTypes.push(columnType);
174
+ }
175
+ else {
176
+ columnTypes = columnTypes.filter((ct) => ct !== columnType);
177
+ }
178
+ let newScope = {
179
+ ColumnTypes: columnTypes,
180
+ };
181
+ props.updateScope(newScope);
182
+ } }, columnType));
183
+ })))))));
151
184
  };