@adaptabletools/adaptable 10.0.4-canary.4 → 10.0.4-canary.5

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 (421) hide show
  1. package/LICENSE.md +1 -1
  2. package/agGrid.d.ts +2 -2
  3. package/base.css +202 -33
  4. package/bundle.cjs.js +100 -97
  5. package/index.css +243 -33
  6. package/package.json +3 -2
  7. package/publishTimestamp.d.ts +1 -1
  8. package/publishTimestamp.js +1 -1
  9. package/src/AdaptableInterfaces/IAdaptable.d.ts +3 -3
  10. package/src/AdaptableOptions/AdaptableOptions.d.ts +7 -2
  11. package/src/AdaptableOptions/DashboardOptions.d.ts +2 -2
  12. package/src/AdaptableOptions/DataChangeHistoryOptions.d.ts +2 -2
  13. package/src/AdaptableOptions/EditOptions.d.ts +2 -2
  14. package/src/AdaptableOptions/ExportOptions.d.ts +1 -1
  15. package/src/AdaptableOptions/FilterOptions.d.ts +2 -2
  16. package/src/AdaptableOptions/FinancePluginOptions.d.ts +1 -1
  17. package/src/AdaptableOptions/MenuOptions.d.ts +1 -1
  18. package/src/AdaptableOptions/NotificationsOptions.d.ts +4 -3
  19. package/src/AdaptableOptions/SettingsPanelOptions.d.ts +75 -0
  20. package/src/{Api/Events/FlashingAlertFired.js → AdaptableOptions/SettingsPanelOptions.js} +0 -0
  21. package/src/AdaptableOptions/UserInterfaceOptions.d.ts +29 -0
  22. package/src/Api/AdaptableApi.d.ts +3 -1
  23. package/src/Api/AlertApi.d.ts +4 -79
  24. package/src/Api/DataChangeHistoryApi.d.ts +4 -0
  25. package/src/Api/EventApi.d.ts +8 -8
  26. package/src/Api/Events/AdaptableReady.d.ts +2 -2
  27. package/src/Api/Events/FlashingCellDisplayed.d.ts +11 -0
  28. package/src/{PredefinedConfig/Common/AdaptableFlashingAlert.js → Api/Events/FlashingCellDisplayed.js} +0 -0
  29. package/src/Api/Events/GridDataChanged.d.ts +3 -1
  30. package/src/Api/FlashingCellApi.d.ts +78 -0
  31. package/src/Api/FlashingCellApi.js +2 -0
  32. package/src/Api/GridApi.d.ts +28 -5
  33. package/src/Api/Implementation/AdaptableApiImpl.d.ts +2 -0
  34. package/src/Api/Implementation/AdaptableApiImpl.js +2 -0
  35. package/src/Api/Implementation/AlertApiImpl.d.ts +8 -22
  36. package/src/Api/Implementation/AlertApiImpl.js +40 -107
  37. package/src/Api/Implementation/ConfigApiImpl.js +0 -5
  38. package/src/Api/Implementation/DataChangeHistoryApiImpl.d.ts +1 -0
  39. package/src/Api/Implementation/DataChangeHistoryApiImpl.js +5 -0
  40. package/src/Api/Implementation/FlashingCellApiImpl.d.ts +20 -0
  41. package/src/Api/Implementation/FlashingCellApiImpl.js +96 -0
  42. package/src/Api/Implementation/GridApiImpl.d.ts +13 -8
  43. package/src/Api/Implementation/GridApiImpl.js +39 -17
  44. package/src/Api/Implementation/InternalApiImpl.d.ts +2 -2
  45. package/src/Api/Implementation/InternalApiImpl.js +5 -4
  46. package/src/Api/Implementation/LayoutApiImpl.js +12 -0
  47. package/src/Api/Implementation/ScheduleApiImpl.js +5 -5
  48. package/src/Api/Implementation/SmartEditApiImpl.d.ts +1 -1
  49. package/src/Api/Implementation/SystemStatusApiImpl.js +1 -1
  50. package/src/Api/Implementation/ToolPanelApiImpl.js +2 -2
  51. package/src/Api/InternalApi.d.ts +4 -4
  52. package/src/Api/SmartEditApi.d.ts +4 -4
  53. package/src/PredefinedConfig/AdaptableState.d.ts +2 -0
  54. package/src/PredefinedConfig/AlertState.d.ts +13 -54
  55. package/src/PredefinedConfig/Common/AdaptableColumn.d.ts +4 -0
  56. package/src/PredefinedConfig/Common/AdaptableComparerFunction.d.ts +2 -2
  57. package/src/PredefinedConfig/Common/{AdaptableFlashingAlert.d.ts → AdaptableFlashingCell.d.ts} +6 -6
  58. package/src/PredefinedConfig/Common/AdaptableFlashingCell.js +2 -0
  59. package/src/PredefinedConfig/Common/CellHighlightInfo.d.ts +14 -3
  60. package/src/PredefinedConfig/Common/CellSummary.d.ts +2 -2
  61. package/src/PredefinedConfig/Common/Menu.d.ts +2 -2
  62. package/src/PredefinedConfig/Common/Schedule.d.ts +4 -14
  63. package/src/PredefinedConfig/Common/Schedule.js +0 -14
  64. package/src/PredefinedConfig/Common/Types.d.ts +4 -3
  65. package/src/PredefinedConfig/CustomSortState.d.ts +1 -1
  66. package/src/PredefinedConfig/DashboardState.d.ts +3 -2
  67. package/src/PredefinedConfig/FlashingCellState.d.ts +70 -0
  68. package/src/PredefinedConfig/FlashingCellState.js +2 -0
  69. package/src/PredefinedConfig/FreeTextColumnState.d.ts +2 -2
  70. package/src/PredefinedConfig/LayoutState.d.ts +1 -1
  71. package/src/PredefinedConfig/PredefinedConfig.d.ts +2 -0
  72. package/src/PredefinedConfig/ScheduleState.d.ts +1 -5
  73. package/src/PredefinedConfig/ShortcutState.d.ts +1 -1
  74. package/src/PredefinedConfig/SystemState.d.ts +17 -4
  75. package/src/Redux/ActionsReducers/AlertRedux.d.ts +3 -38
  76. package/src/Redux/ActionsReducers/AlertRedux.js +9 -68
  77. package/src/Redux/ActionsReducers/DashboardRedux.js +1 -1
  78. package/src/Redux/ActionsReducers/FlashingCellRedux.d.ts +55 -0
  79. package/src/Redux/ActionsReducers/FlashingCellRedux.js +100 -0
  80. package/src/Redux/ActionsReducers/PopupRedux.d.ts +1 -1
  81. package/src/Redux/ActionsReducers/SystemRedux.d.ts +34 -13
  82. package/src/Redux/ActionsReducers/SystemRedux.js +94 -40
  83. package/src/Redux/ActionsReducers/ToolPanelRedux.js +2 -1
  84. package/src/Redux/Store/AdaptableStore.js +80 -45
  85. package/src/Strategy/AlertModule.d.ts +14 -5
  86. package/src/Strategy/AlertModule.js +40 -123
  87. package/src/Strategy/CalculatedColumnModule.d.ts +28 -0
  88. package/src/Strategy/CalculatedColumnModule.js +29 -0
  89. package/src/Strategy/ConditionalStyleModule.d.ts +12 -0
  90. package/src/Strategy/ConditionalStyleModule.js +28 -0
  91. package/src/Strategy/CustomSortModule.d.ts +12 -1
  92. package/src/Strategy/CustomSortModule.js +26 -0
  93. package/src/Strategy/DashboardModule.d.ts +0 -1
  94. package/src/Strategy/DashboardModule.js +1 -7
  95. package/src/Strategy/DataChangeHistoryModule.js +1 -1
  96. package/src/Strategy/DataSourceModule.d.ts +9 -1
  97. package/src/Strategy/DataSourceModule.js +28 -0
  98. package/src/Strategy/ExportModule.d.ts +12 -0
  99. package/src/Strategy/ExportModule.js +43 -0
  100. package/src/Strategy/FilterModule.d.ts +8 -1
  101. package/src/Strategy/FilterModule.js +27 -0
  102. package/src/Strategy/FlashingCellModule.d.ts +33 -0
  103. package/src/Strategy/FlashingCellModule.js +219 -0
  104. package/src/Strategy/FormatColumnModule.d.ts +11 -1
  105. package/src/Strategy/FormatColumnModule.js +35 -0
  106. package/src/Strategy/FreeTextColumnModule.d.ts +9 -1
  107. package/src/Strategy/FreeTextColumnModule.js +45 -0
  108. package/src/Strategy/GridInfoModule.js +58 -36
  109. package/src/Strategy/Interface/IModule.d.ts +70 -0
  110. package/src/Strategy/PlusMinusModule.d.ts +11 -0
  111. package/src/Strategy/PlusMinusModule.js +34 -0
  112. package/src/Strategy/QueryModule.d.ts +20 -0
  113. package/src/Strategy/QueryModule.js +27 -0
  114. package/src/Strategy/ScheduleModule.d.ts +17 -1
  115. package/src/Strategy/ScheduleModule.js +148 -2
  116. package/src/Strategy/SetingsPanelModule.d.ts +10 -0
  117. package/src/Strategy/SetingsPanelModule.js +24 -0
  118. package/src/Strategy/ShortcutModule.d.ts +11 -0
  119. package/src/Strategy/ShortcutModule.js +22 -0
  120. package/src/Strategy/ToolPanelModule.js +1 -1
  121. package/src/Strategy/Utilities/getAlertBehaviourViewItems.d.ts +8 -0
  122. package/src/Strategy/Utilities/getAlertBehaviourViewItems.js +15 -0
  123. package/src/Strategy/Utilities/getAlertPreviewViewItems.d.ts +4 -0
  124. package/src/Strategy/Utilities/getAlertPreviewViewItems.js +19 -0
  125. package/src/Strategy/Utilities/getCustomSortColumnViewItems.d.ts +5 -0
  126. package/src/Strategy/Utilities/getCustomSortColumnViewItems.js +9 -0
  127. package/src/Strategy/Utilities/getCustomSortSortOrderViewItems.d.ts +5 -0
  128. package/src/Strategy/Utilities/getCustomSortSortOrderViewItems.js +9 -0
  129. package/src/Strategy/Utilities/getExportColumnsViewItems.d.ts +3 -0
  130. package/src/Strategy/Utilities/getExportColumnsViewItems.js +22 -0
  131. package/src/Strategy/Utilities/getExportRowsViewItems.d.ts +5 -0
  132. package/src/Strategy/Utilities/getExportRowsViewItems.js +26 -0
  133. package/src/Strategy/Utilities/getExpressionViewItems.d.ts +5 -0
  134. package/src/Strategy/Utilities/getExpressionViewItems.js +9 -0
  135. package/src/Strategy/Utilities/getFlashingCellDurationViewItems.d.ts +5 -0
  136. package/src/Strategy/Utilities/getFlashingCellDurationViewItems.js +9 -0
  137. package/src/Strategy/Utilities/getFlashingCellStyleViewItems.d.ts +5 -0
  138. package/src/Strategy/Utilities/getFlashingCellStyleViewItems.js +10 -0
  139. package/src/Strategy/Utilities/getFormatColumnSettingsViewItems.d.ts +5 -0
  140. package/src/Strategy/Utilities/getFormatColumnSettingsViewItems.js +15 -0
  141. package/src/Strategy/Utilities/getRuleViewItems.d.ts +6 -0
  142. package/src/Strategy/Utilities/getRuleViewItems.js +15 -0
  143. package/src/Strategy/Utilities/getScopeViewItems.d.ts +3 -0
  144. package/src/Strategy/Utilities/getScopeViewItems.js +20 -0
  145. package/src/Strategy/Utilities/getShortcutSettingsViewItems.d.ts +5 -0
  146. package/src/Strategy/Utilities/getShortcutSettingsViewItems.js +15 -0
  147. package/src/Strategy/Utilities/getStyleViewItems.d.ts +2 -0
  148. package/src/Strategy/Utilities/getStyleViewItems.js +15 -0
  149. package/src/Utilities/Constants/ModuleConstants.d.ts +2 -0
  150. package/src/Utilities/Constants/ModuleConstants.js +3 -1
  151. package/src/Utilities/Defaults/DefaultAdaptableOptions.js +11 -4
  152. package/src/Utilities/Defaults/DefaultSettingsPanel.d.ts +6 -0
  153. package/src/Utilities/Defaults/DefaultSettingsPanel.js +35 -0
  154. package/src/Utilities/Extensions/ArrayExtensions.js +1 -1
  155. package/src/Utilities/Helpers/AdaptableHelper.js +2 -1
  156. package/src/Utilities/Helpers/StyleHelper.d.ts +4 -0
  157. package/src/Utilities/Helpers/StyleHelper.js +4 -1
  158. package/src/Utilities/MenuItem.d.ts +1 -1
  159. package/src/Utilities/MenuItem.js +2 -2
  160. package/src/Utilities/ObjectFactory.d.ts +6 -7
  161. package/src/Utilities/ObjectFactory.js +13 -20
  162. package/src/Utilities/Services/AlertService.d.ts +3 -3
  163. package/src/Utilities/Services/AlertService.js +11 -17
  164. package/src/Utilities/Services/EntitlementService.d.ts +1 -0
  165. package/src/Utilities/Services/EntitlementService.js +8 -0
  166. package/src/Utilities/Services/Interface/IAlertService.d.ts +3 -7
  167. package/src/Utilities/Services/Interface/IEntitlementService.d.ts +1 -0
  168. package/src/Utilities/Services/ModuleService.js +6 -6
  169. package/src/Utilities/Services/TeamSharingService.js +3 -4
  170. package/src/View/AdaptableView.js +2 -2
  171. package/src/View/AdaptableViewFactory.js +0 -26
  172. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationForm.js +10 -10
  173. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/index.js +6 -6
  174. package/src/View/AdaptableWizardView/index.js +1 -1
  175. package/src/View/Alert/AlertEmptyView.d.ts +5 -0
  176. package/src/View/Alert/AlertEmptyView.js +16 -0
  177. package/src/View/Alert/Wizard/AlertBehaviourWizardSection.d.ts +2 -1
  178. package/src/View/Alert/Wizard/AlertBehaviourWizardSection.js +10 -5
  179. package/src/View/Alert/Wizard/AlertDisplayWizardSection.d.ts +8 -1
  180. package/src/View/Alert/Wizard/AlertDisplayWizardSection.js +6 -7
  181. package/src/View/Alert/Wizard/AlertRulesWizardSection.js +4 -6
  182. package/src/View/Alert/Wizard/AlertWizard.js +17 -3
  183. package/src/View/Alert/Wizard/BaseAlertRulesWizardSection.d.ts +4 -2
  184. package/src/View/Alert/Wizard/BaseAlertRulesWizardSection.js +1 -1
  185. package/src/View/Alert/Wizard/BaseAlertScopeWizardSection.d.ts +5 -4
  186. package/src/View/Alert/Wizard/BaseAlertScopeWizardSection.js +2 -2
  187. package/src/View/Alert/Wizard/isValidAlertRules.d.ts +2 -3
  188. package/src/View/BulkUpdate/BulkUpdatePopup.js +1 -1
  189. package/src/View/CalculatedColumn/Utilities/getCalculatedColumnSettingTags.d.ts +2 -0
  190. package/src/View/CalculatedColumn/Utilities/getCalculatedColumnSettingTags.js +17 -0
  191. package/src/View/CalculatedColumn/Wizard/CalculatedColumnSettingsWizardSection.js +6 -16
  192. package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.js +18 -2
  193. package/src/View/CellSummary/CellSummaryPopup.js +2 -2
  194. package/src/View/ColorPicker.d.ts +1 -1
  195. package/src/View/Components/AdaptableDateInput/index.d.ts +1 -1
  196. package/src/View/Components/AdaptableInput/index.d.ts +1 -1
  197. package/src/View/Components/AdaptableObjectList/AdaptableObjectList.d.ts +14 -0
  198. package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +82 -0
  199. package/src/View/Components/AdaptableObjectList/index.d.ts +1 -0
  200. package/src/View/Components/AdaptableObjectList/index.js +5 -0
  201. package/src/View/Components/Buttons/ButtonDelete.d.ts +1 -1
  202. package/src/View/Components/Buttons/ButtonDelete.js +3 -2
  203. package/src/View/Components/Buttons/ButtonEdit.d.ts +1 -3
  204. package/src/View/Components/Buttons/ButtonEdit.js +4 -6
  205. package/src/View/Components/Buttons/ButtonShare.js +3 -2
  206. package/src/View/Components/Buttons/EntityListActionButtons.js +1 -1
  207. package/src/View/Components/Buttons/{SuspendToggleButton.d.ts → SuspendToggleButton/SuspendToggleButton.d.ts} +5 -3
  208. package/src/View/Components/Buttons/SuspendToggleButton/SuspendToggleButton.js +19 -0
  209. package/src/View/Components/Buttons/SuspendToggleButton/index.d.ts +1 -0
  210. package/src/View/Components/Buttons/SuspendToggleButton/index.js +4 -0
  211. package/src/View/Components/ExternalRenderer.d.ts +14 -0
  212. package/src/View/Components/ExternalRenderer.js +32 -0
  213. package/src/View/Components/FilterForm/QuickFilterForm.js +8 -3
  214. package/src/View/Components/FilterForm/getDefaultColumnFilterPredicate.d.ts +1 -1
  215. package/src/View/Components/Forms/AdaptableFormControlTextClear.d.ts +1 -1
  216. package/src/View/Components/Panels/PanelWithImage.d.ts +4 -4
  217. package/src/View/Components/Panels/PanelWithImage.js +2 -2
  218. package/src/View/Components/Popups/AdaptableChart.js +1 -1
  219. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopup.d.ts +20 -0
  220. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopup.js +119 -0
  221. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupBody.d.ts +15 -0
  222. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupBody.js +35 -0
  223. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupModuleView.d.ts +9 -0
  224. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupModuleView.js +67 -0
  225. package/src/View/Components/Popups/AdaptablePopup/CustomSettingsPanelView.d.ts +6 -0
  226. package/src/View/Components/Popups/AdaptablePopup/CustomSettingsPanelView.js +9 -0
  227. package/src/View/Components/Popups/AdaptablePopup/Navigation.d.ts +13 -0
  228. package/src/View/Components/Popups/AdaptablePopup/Navigation.js +63 -0
  229. package/src/View/Components/Popups/{PopupContext.d.ts → AdaptablePopup/PopupContext.d.ts} +0 -0
  230. package/src/View/Components/Popups/{PopupContext.js → AdaptablePopup/PopupContext.js} +0 -0
  231. package/src/View/Components/Popups/AdaptablePopup/PopupPanel.d.ts +10 -0
  232. package/src/View/Components/Popups/AdaptablePopup/PopupPanel.js +22 -0
  233. package/src/View/Components/Popups/AdaptablePopup/TopBar.d.ts +7 -0
  234. package/src/View/Components/Popups/AdaptablePopup/TopBar.js +29 -0
  235. package/src/View/Components/Popups/AdaptablePopup/Utilities.d.ts +15 -0
  236. package/src/View/Components/Popups/AdaptablePopup/Utilities.js +28 -0
  237. package/src/View/Components/Popups/AdaptablePopup/index.d.ts +1 -0
  238. package/src/View/Components/Popups/AdaptablePopup/index.js +5 -0
  239. package/src/View/Components/ToolPanel/ToolPanelPopup.js +4 -3
  240. package/src/View/Components/ValueSelector/index.js +4 -4
  241. package/src/View/ConditionalStyle/Wizard/ConditionalStyleWizard.d.ts +2 -2
  242. package/src/View/ConditionalStyle/Wizard/ConditionalStyleWizard.js +19 -5
  243. package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.js +3 -4
  244. package/src/View/CustomSort/Wizard/CustomSortWizard.js +18 -3
  245. package/src/View/Dashboard/Dashboard.d.ts +0 -1
  246. package/src/View/Dashboard/Dashboard.js +21 -68
  247. package/src/View/Dashboard/DashboardPopup.d.ts +6 -2
  248. package/src/View/Dashboard/DashboardPopup.js +30 -8
  249. package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +3 -4
  250. package/src/View/DataChangeHistory/DataChangeHistoryPopup.js +3 -3
  251. package/src/View/DataSource/Wizard/DataSourceSettingsSummary.js +3 -3
  252. package/src/View/DataSource/Wizard/DataSourceWizard.d.ts +1 -2
  253. package/src/View/DataSource/Wizard/DataSourceWizard.js +17 -2
  254. package/src/View/Export/ReportExportDropdown.d.ts +5 -0
  255. package/src/View/Export/ReportExportDropdown.js +37 -0
  256. package/src/View/Export/Wizard/NewReportWizard.js +15 -2
  257. package/src/View/Export/Wizard/ReportNameWizardSection.js +2 -1
  258. package/src/View/Export/Wizard/ReportRowsWizardSection.js +2 -2
  259. package/src/View/FlashingCell/FlashingCellStyle.d.ts +7 -0
  260. package/src/View/FlashingCell/FlashingCellStyle.js +20 -0
  261. package/src/View/{Alert/Wizard/FlashingAlertWizard/FlashingAlertDurationWizardSection.d.ts → FlashingCell/Wizard/FlashingCellDurationWizardSection.d.ts} +4 -4
  262. package/src/View/{Alert/Wizard/FlashingAlertWizard/FlashingAlertDurationWizardSection.js → FlashingCell/Wizard/FlashingCellDurationWizardSection.js} +6 -6
  263. package/src/View/{Alert/Wizard/FlashingAlertWizard/FlashingAlertRulesWizardSection.d.ts → FlashingCell/Wizard/FlashingCellRulesWizardSection.d.ts} +3 -3
  264. package/src/View/{Alert/Wizard/FlashingAlertWizard/FlashingAlertRulesWizardSection.js → FlashingCell/Wizard/FlashingCellRulesWizardSection.js} +10 -10
  265. package/src/View/{Alert/Wizard/FlashingAlertWizard/FlashingAlertScopeWizardSection.d.ts → FlashingCell/Wizard/FlashingCellScopeWizardSection.d.ts} +1 -2
  266. package/src/View/{Alert/Wizard/FlashingAlertWizard/FlashingAlertScopeWizardSection.js → FlashingCell/Wizard/FlashingCellScopeWizardSection.js} +1 -1
  267. package/src/View/FlashingCell/Wizard/FlashingCellStyleWizardSection.d.ts +15 -0
  268. package/src/View/{Alert/Wizard/FlashingAlertWizard/FlashingAlertStyleWizardSection.js → FlashingCell/Wizard/FlashingCellStyleWizardSection.js} +17 -16
  269. package/src/View/FlashingCell/Wizard/FlashingCellWizard.d.ts +6 -0
  270. package/src/View/FlashingCell/Wizard/FlashingCellWizard.js +99 -0
  271. package/src/View/FlashingCell/Wizard/isValidFlashingCellRules.d.ts +3 -0
  272. package/src/View/FlashingCell/Wizard/isValidFlashingCellRules.js +30 -0
  273. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.d.ts +1 -0
  274. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +18 -14
  275. package/src/View/FormatColumn/Wizard/FormatColumnScopeWizardSection.js +2 -2
  276. package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +4 -4
  277. package/src/View/FormatColumn/Wizard/FormatColumnWizard.js +17 -2
  278. package/src/View/FreeTextColumn/Wizard/FreeTextColumnSettingsWizardSection.d.ts +1 -0
  279. package/src/View/FreeTextColumn/Wizard/FreeTextColumnSettingsWizardSection.js +7 -7
  280. package/src/View/FreeTextColumn/Wizard/FreeTextColumnWizard.js +18 -5
  281. package/src/View/GridInfo/AdaptableOptionsComponent.js +2 -2
  282. package/src/View/GridInfo/GridInfoPopup.d.ts +2 -1
  283. package/src/View/GridInfo/GridInfoPopup.js +21 -16
  284. package/src/View/GridInfo/GridOptionsComponent.js +1 -1
  285. package/src/View/Layout/LayoutPopup.js +4 -6
  286. package/src/View/Layout/Wizard/LayoutEditor/ColumnList.js +3 -1
  287. package/src/View/Layout/Wizard/LayoutEditor/index.js +5 -2
  288. package/src/View/PlusMinus/Wizard/PlusMinusSettingsWizardSection.js +2 -2
  289. package/src/View/PlusMinus/Wizard/PlusMinusWizard.d.ts +1 -2
  290. package/src/View/PlusMinus/Wizard/PlusMinusWizard.js +18 -4
  291. package/src/View/Query/Wizard/NamedQueryExpressionWizardSection.js +2 -2
  292. package/src/View/Query/Wizard/NamedQuerySettingsWizardSection.js +2 -2
  293. package/src/View/Query/Wizard/NamedQueryWizard.js +14 -2
  294. package/src/View/QuickSearch/QuickSearchPopup.js +2 -2
  295. package/src/View/Schedule/Wizard/ScheduleScheduleSummary.js +2 -2
  296. package/src/View/Schedule/Wizard/ScheduleScheduleWizard.js +7 -8
  297. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsOpenFin.js +1 -1
  298. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReminder.js +9 -9
  299. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsSummary.d.ts +5 -0
  300. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsSummary.js +59 -48
  301. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/isSettingsValid.js +9 -9
  302. package/src/View/Schedule/Wizard/ScheduleWizard.d.ts +1 -2
  303. package/src/View/Schedule/Wizard/ScheduleWizard.js +75 -2
  304. package/src/View/Shortcut/Wizard/ShortcutSettingsWizard.js +6 -6
  305. package/src/View/Shortcut/Wizard/ShortcutWizard.d.ts +1 -2
  306. package/src/View/Shortcut/Wizard/ShortcutWizard.js +31 -4
  307. package/src/View/SmartEdit/SmartEditPopup.js +2 -2
  308. package/src/View/StateManagement/StateManagementPopup.js +16 -15
  309. package/src/View/SystemStatus/SystemStatusPopup.js +3 -3
  310. package/src/View/TeamSharing/TeamSharingPopup.js +2 -2
  311. package/src/View/Theme/ThemePopup.js +5 -7
  312. package/src/View/UIHelper.d.ts +3 -1
  313. package/src/View/UIHelper.js +35 -16
  314. package/src/View/Wizard/Interface/IAdaptableWizard.d.ts +5 -0
  315. package/src/View/Wizard/OnePageAdaptableWizard.d.ts +2 -0
  316. package/src/View/Wizard/OnePageAdaptableWizard.js +10 -2
  317. package/src/agGrid/Adaptable.d.ts +14 -6
  318. package/src/agGrid/Adaptable.js +194 -57
  319. package/src/agGrid/agGridHelper.d.ts +1 -0
  320. package/src/agGrid/agGridHelper.js +14 -2
  321. package/src/components/ApplicationIcon.d.ts +5 -0
  322. package/src/components/ApplicationIcon.js +13 -0
  323. package/src/components/Dashboard/DashboardManager.js +1 -1
  324. package/src/components/Datepicker/index.d.ts +1 -1
  325. package/src/components/Dialog/index.d.ts +4 -1
  326. package/src/components/Dialog/index.js +10 -3
  327. package/src/components/DropdownButton/index.d.ts +1 -0
  328. package/src/components/DropdownButton/index.js +2 -2
  329. package/src/components/EllipsisContainer/index.js +1 -1
  330. package/src/components/EmptyContent/index.js +2 -1
  331. package/src/components/Input/index.d.ts +1 -1
  332. package/src/components/List/ListGroupItem/index.d.ts +1 -1
  333. package/src/components/PopupWithFooter.d.ts +1 -1
  334. package/src/components/PopupWithFooter.js +2 -7
  335. package/src/components/StylePreview.d.ts +8 -0
  336. package/src/components/StylePreview.js +11 -0
  337. package/src/components/Tag/Tag.d.ts +3 -0
  338. package/src/components/Tag/Tag.js +11 -0
  339. package/src/components/Tag/index.d.ts +1 -0
  340. package/src/components/Tag/index.js +5 -0
  341. package/src/components/Textarea/index.d.ts +1 -1
  342. package/src/components/ToggleButton/index.d.ts +1 -0
  343. package/src/components/ToggleButton/index.js +8 -4
  344. package/src/components/WindowModal/WindowModal.d.ts +23 -0
  345. package/src/components/WindowModal/WindowModal.js +87 -0
  346. package/src/components/WindowModal/index.d.ts +1 -0
  347. package/src/components/WindowModal/index.js +4 -0
  348. package/src/components/icons/index.js +4 -0
  349. package/src/components/icons/menu.d.ts +3 -0
  350. package/src/components/icons/menu.js +7 -0
  351. package/src/components/icons/state-management.js +1 -1
  352. package/src/components/icons/tool-panel.d.ts +3 -0
  353. package/src/components/icons/tool-panel.js +7 -0
  354. package/src/components/utils/useDraggable.d.ts +3 -1
  355. package/src/components/utils/useDraggable.js +14 -2
  356. package/src/metamodel/adaptable.metamodel.d.ts +53 -32
  357. package/src/metamodel/adaptable.metamodel.js +216 -197
  358. package/src/types.d.ts +8 -6
  359. package/version.d.ts +1 -1
  360. package/version.js +1 -1
  361. package/src/Api/Events/FlashingAlertFired.d.ts +0 -11
  362. package/src/View/Alert/AlertPopup.d.ts +0 -42
  363. package/src/View/Alert/AlertPopup.js +0 -205
  364. package/src/View/Alert/FlashingAlertEntityRow.d.ts +0 -7
  365. package/src/View/Alert/FlashingAlertEntityRow.js +0 -22
  366. package/src/View/Alert/Wizard/FlashingAlertWizard/FlashingAlertStyleWizardSection.d.ts +0 -10
  367. package/src/View/Alert/Wizard/FlashingAlertWizard/FlashingAlertWizard.d.ts +0 -6
  368. package/src/View/Alert/Wizard/FlashingAlertWizard/FlashingAlertWizard.js +0 -89
  369. package/src/View/CalculatedColumn/CalculatedColumnEntityRow.d.ts +0 -9
  370. package/src/View/CalculatedColumn/CalculatedColumnEntityRow.js +0 -28
  371. package/src/View/CalculatedColumn/CalculatedColumnPopup.d.ts +0 -25
  372. package/src/View/CalculatedColumn/CalculatedColumnPopup.js +0 -117
  373. package/src/View/Components/Buttons/SuspendToggleButton.js +0 -17
  374. package/src/View/Components/Popups/AdaptablePopup.d.ts +0 -23
  375. package/src/View/Components/Popups/AdaptablePopup.js +0 -59
  376. package/src/View/ConditionalStyle/ConditionalStyleEntityRow.d.ts +0 -5
  377. package/src/View/ConditionalStyle/ConditionalStyleEntityRow.js +0 -26
  378. package/src/View/ConditionalStyle/ConditionalStylePopup.d.ts +0 -30
  379. package/src/View/ConditionalStyle/ConditionalStylePopup.js +0 -144
  380. package/src/View/CustomSort/CustomSortEntityRow.d.ts +0 -12
  381. package/src/View/CustomSort/CustomSortEntityRow.js +0 -32
  382. package/src/View/CustomSort/CustomSortPopup.d.ts +0 -27
  383. package/src/View/CustomSort/CustomSortPopup.js +0 -138
  384. package/src/View/DataSource/DataSourceEntityRow.d.ts +0 -12
  385. package/src/View/DataSource/DataSourceEntityRow.js +0 -29
  386. package/src/View/DataSource/DataSourcePopup.d.ts +0 -28
  387. package/src/View/DataSource/DataSourcePopup.js +0 -97
  388. package/src/View/Export/ExportPopup.d.ts +0 -34
  389. package/src/View/Export/ExportPopup.js +0 -139
  390. package/src/View/Export/ReportEntityRow.d.ts +0 -10
  391. package/src/View/Export/ReportEntityRow.js +0 -49
  392. package/src/View/Export/Wizard/ReportWizard.d.ts +0 -7
  393. package/src/View/Export/Wizard/ReportWizard.js +0 -50
  394. package/src/View/Filter/FilterEntityRow.d.ts +0 -12
  395. package/src/View/Filter/FilterEntityRow.js +0 -20
  396. package/src/View/Filter/FilterPopup.d.ts +0 -20
  397. package/src/View/Filter/FilterPopup.js +0 -50
  398. package/src/View/FormatColumn/FormatColumnEntityRow.d.ts +0 -9
  399. package/src/View/FormatColumn/FormatColumnEntityRow.js +0 -103
  400. package/src/View/FormatColumn/FormatColumnPopup.d.ts +0 -27
  401. package/src/View/FormatColumn/FormatColumnPopup.js +0 -133
  402. package/src/View/FreeTextColumn/FreeTextColumnEntityRow.d.ts +0 -5
  403. package/src/View/FreeTextColumn/FreeTextColumnEntityRow.js +0 -31
  404. package/src/View/FreeTextColumn/FreeTextColumnPopup.d.ts +0 -25
  405. package/src/View/FreeTextColumn/FreeTextColumnPopup.js +0 -118
  406. package/src/View/PlusMinus/PlusMinusEntityRow.d.ts +0 -9
  407. package/src/View/PlusMinus/PlusMinusEntityRow.js +0 -24
  408. package/src/View/PlusMinus/PlusMinusPopup.d.ts +0 -30
  409. package/src/View/PlusMinus/PlusMinusPopup.js +0 -124
  410. package/src/View/Query/NamedQueryEntityRow.d.ts +0 -8
  411. package/src/View/Query/NamedQueryEntityRow.js +0 -21
  412. package/src/View/Query/QueryPopup.d.ts +0 -28
  413. package/src/View/Query/QueryPopup.js +0 -114
  414. package/src/View/Schedule/ScheduleEntityRow.d.ts +0 -5
  415. package/src/View/Schedule/ScheduleEntityRow.js +0 -58
  416. package/src/View/Schedule/SchedulePopup.d.ts +0 -58
  417. package/src/View/Schedule/SchedulePopup.js +0 -317
  418. package/src/View/Shortcut/ShortcutEntityRow.d.ts +0 -17
  419. package/src/View/Shortcut/ShortcutEntityRow.js +0 -47
  420. package/src/View/Shortcut/ShortcutPopup.d.ts +0 -30
  421. package/src/View/Shortcut/ShortcutPopup.js +0 -121
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExternalRenderer = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const React = tslib_1.__importStar(require("react"));
6
+ const AdaptableContext_1 = require("../AdaptableContext");
7
+ exports.ExternalRenderer = (_a) => {
8
+ var { render, frameworkComponent, componentName = 'N/A' } = _a, rest = tslib_1.__rest(_a, ["render", "frameworkComponent", "componentName"]);
9
+ const ref = React.useRef();
10
+ const adaptable = AdaptableContext_1.useAdaptable();
11
+ const [contentsHTML, setContentsHTML] = React.useState('');
12
+ React.useLayoutEffect(() => {
13
+ const node = ref.current;
14
+ const adaptableApi = adaptable.api;
15
+ if (render) {
16
+ const html = render({ visible: true, node, adaptableApi });
17
+ setContentsHTML(html);
18
+ }
19
+ else if (frameworkComponent) {
20
+ adaptableApi.internalApi.createFrameworkComponent(node, frameworkComponent, 'toolbar');
21
+ }
22
+ return () => {
23
+ if (render) {
24
+ render({ visible: false, node, adaptableApi });
25
+ }
26
+ else if (frameworkComponent) {
27
+ adaptableApi.internalApi.destroyFrameworkComponent(node, frameworkComponent, componentName);
28
+ }
29
+ };
30
+ }, []);
31
+ return React.createElement("div", Object.assign({}, rest, { dangerouslySetInnerHTML: { __html: contentsHTML }, ref: ref }));
32
+ };
@@ -106,12 +106,14 @@ class QuickFilterFormComponent extends React.Component {
106
106
  hideEvent = 'blur';
107
107
  }
108
108
  let showQuickFilterDropdown = true;
109
- let hideQuickFilterDropdownFunction = this.props.api.internalApi.getAdaptableOptions().filterOptions.hideQuickFilterDropdown;
109
+ let hideQuickFilterDropdownFunction = this.props.api.internalApi.getAdaptableOptions()
110
+ .filterOptions.hideQuickFilterDropdown;
110
111
  if (hideQuickFilterDropdownFunction) {
111
112
  showQuickFilterDropdown = !hideQuickFilterDropdownFunction(this.props.currentColumn);
112
113
  }
113
114
  let showQuickFilterInput = true;
114
- let hideQuickFilterInputFunction = this.props.api.internalApi.getAdaptableOptions().filterOptions.hideQuickFilterInput;
115
+ let hideQuickFilterInputFunction = this.props.api.internalApi.getAdaptableOptions()
116
+ .filterOptions.hideQuickFilterInput;
115
117
  if (hideQuickFilterInputFunction) {
116
118
  showQuickFilterInput = !hideQuickFilterInputFunction(this.props.currentColumn);
117
119
  }
@@ -178,7 +180,10 @@ class QuickFilterFormComponent extends React.Component {
178
180
  }
179
181
  return (_a = predicateDef === null || predicateDef === void 0 ? void 0 : predicateDef.inputs) === null || _a === void 0 ? void 0 : _a.map((predicateInput, index) => {
180
182
  var _a, _b;
181
- return (React.createElement(AdaptableInput_1.default, { key: index, type: predicateInput.type === 'number' ? 'text' : predicateInput.type, autoFocus: index === 0, 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) => {
183
+ return (React.createElement(AdaptableInput_1.default, { key: index, type: predicateInput.type === 'number' ? 'text' : predicateInput.type,
184
+ // autoFocus has to be FALSE because if the input receives focus in the init phase,
185
+ // it may scroll the ag-grid header viewport into view and de-synchronize it (relative to the content viewport)
186
+ 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) => {
182
187
  if (e.nativeEvent.key === 'Escape') {
183
188
  e.nativeEvent.preventDefault();
184
189
  e.nativeEvent.stopPropagation();
@@ -1,3 +1,3 @@
1
1
  import { AdaptableColumn } from '../../../PredefinedConfig/Common/AdaptableColumn';
2
2
  import { SystemFilterPredicateId } from '../../../PredefinedConfig/FilterState';
3
- export declare const getDefaultColumnFilterPredicate: (column: AdaptableColumn, defaultColumnFilter: "After" | "Before" | "Blanks" | "NonBlanks" | "Equals" | "NotEquals" | "GreaterThan" | "LessThan" | "Positive" | "Negative" | "Zero" | "Between" | "NotBetween" | "Is" | "IsNot" | "Contains" | "NotContains" | "StartsWith" | "EndsWith" | "Regex" | "Today" | "Yesterday" | "Tomorrow" | "ThisWeek" | "ThisMonth" | "ThisQuarter" | "ThisYear" | "InPast" | "InFuture" | "On" | "NotOn" | "NextWorkDay" | "LastWorkDay" | "True" | "False" | "Values" | "InRange" | "BooleanToggle" | ((column: AdaptableColumn) => SystemFilterPredicateId)) => SystemFilterPredicateId;
3
+ export declare const getDefaultColumnFilterPredicate: (column: AdaptableColumn, defaultColumnFilter: "After" | "Before" | "Today" | "Yesterday" | "Tomorrow" | "Values" | "Blanks" | "NonBlanks" | "GreaterThan" | "LessThan" | "Positive" | "Negative" | "Zero" | "Equals" | "NotEquals" | "Between" | "NotBetween" | "Is" | "IsNot" | "Contains" | "NotContains" | "StartsWith" | "EndsWith" | "Regex" | "ThisWeek" | "ThisMonth" | "ThisQuarter" | "ThisYear" | "InPast" | "InFuture" | "On" | "NotOn" | "NextWorkDay" | "LastWorkDay" | "InRange" | "True" | "False" | "BooleanToggle" | ((column: AdaptableColumn) => SystemFilterPredicateId)) => SystemFilterPredicateId;
@@ -7,4 +7,4 @@ export declare type AdaptableFormControlTextClearProps = {
7
7
  autoFocus?: boolean;
8
8
  inputStyle?: CSSProperties;
9
9
  } & InputProps;
10
- export declare const AdaptableFormControlTextClear: React.ForwardRefExoticComponent<Pick<AdaptableFormControlTextClearProps, "max" | "required" | "default" | "high" | "low" | "disabled" | "start" | "open" | "media" | "hidden" | "cite" | "data" | "dir" | "form" | "label" | "p" | "slot" | "span" | "style" | "summary" | "title" | "pattern" | "async" | "defer" | "manifest" | "m" | "color" | "content" | "size" | "flex" | "wrap" | "padding" | "multiple" | "alignSelf" | "backgroundColor" | "fontSize" | "height" | "marginBottom" | "marginLeft" | "marginRight" | "marginTop" | "opacity" | "order" | "paddingBottom" | "paddingLeft" | "paddingRight" | "paddingTop" | "translate" | "width" | "margin" | "children" | "key" | "list" | "step" | "contextMenu" | "type" | "min" | "rows" | "colSpan" | "rowSpan" | "onClick" | "value" | "download" | "checked" | "name" | "className" | "id" | "lang" | "method" | "target" | "role" | "tabIndex" | "crossOrigin" | "href" | "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" | "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" | "onTransitionEnd" | "onTransitionEndCapture" | "classID" | "useMap" | "wmode" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "draggable" | "placeholder" | "spellCheck" | "radioGroup" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "as" | "hrefLang" | "integrity" | "rel" | "sizes" | "charSet" | "kind" | "src" | "srcLang" | "alt" | "coords" | "shape" | "autoPlay" | "controls" | "loop" | "mediaGroup" | "muted" | "playsInline" | "preload" | "autoFocus" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "dateTime" | "acceptCharset" | "action" | "autoComplete" | "encType" | "noValidate" | "allowFullScreen" | "allowTransparency" | "frameBorder" | "marginHeight" | "marginWidth" | "sandbox" | "scrolling" | "seamless" | "srcDoc" | "srcSet" | "accept" | "capture" | "maxLength" | "minLength" | "readOnly" | "htmlFor" | "httpEquiv" | "optimum" | "reversed" | "selected" | "nonce" | "scoped" | "cellPadding" | "cellSpacing" | "headers" | "scope" | "cols" | "poster" | "challenge" | "keyType" | "keyParams" | "mt" | "mb" | "ml" | "mr" | "my" | "marginY" | "mx" | "marginX" | "pt" | "pr" | "pb" | "pl" | "px" | "paddingX" | "py" | "paddingY" | "css" | "bg" | "focusOnClear" | "placehoder" | "OnTextChange" | "inputStyle"> & React.RefAttributes<any>>;
10
+ export declare const AdaptableFormControlTextClear: React.ForwardRefExoticComponent<Pick<AdaptableFormControlTextClearProps, "max" | "required" | "default" | "high" | "low" | "disabled" | "start" | "open" | "media" | "hidden" | "cite" | "data" | "dir" | "form" | "label" | "p" | "slot" | "span" | "style" | "summary" | "title" | "pattern" | "async" | "defer" | "manifest" | "m" | "color" | "content" | "size" | "flex" | "wrap" | "padding" | "multiple" | "alignSelf" | "backgroundColor" | "fontSize" | "height" | "marginBottom" | "marginLeft" | "marginRight" | "marginTop" | "opacity" | "order" | "paddingBottom" | "paddingLeft" | "paddingRight" | "paddingTop" | "translate" | "width" | "margin" | "children" | "key" | "list" | "step" | "contextMenu" | "type" | "min" | "rows" | "download" | "value" | "checked" | "onClick" | "colSpan" | "rowSpan" | "name" | "className" | "id" | "lang" | "method" | "target" | "role" | "tabIndex" | "crossOrigin" | "href" | "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" | "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" | "onTransitionEnd" | "onTransitionEndCapture" | "classID" | "useMap" | "wmode" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "draggable" | "placeholder" | "spellCheck" | "radioGroup" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "as" | "hrefLang" | "integrity" | "rel" | "sizes" | "charSet" | "kind" | "src" | "srcLang" | "alt" | "coords" | "shape" | "autoPlay" | "controls" | "loop" | "mediaGroup" | "muted" | "playsInline" | "preload" | "autoFocus" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "dateTime" | "acceptCharset" | "action" | "autoComplete" | "encType" | "noValidate" | "allowFullScreen" | "allowTransparency" | "frameBorder" | "marginHeight" | "marginWidth" | "sandbox" | "scrolling" | "seamless" | "srcDoc" | "srcSet" | "accept" | "capture" | "maxLength" | "minLength" | "readOnly" | "htmlFor" | "httpEquiv" | "optimum" | "reversed" | "selected" | "nonce" | "scoped" | "cellPadding" | "cellSpacing" | "headers" | "scope" | "cols" | "poster" | "challenge" | "keyType" | "keyParams" | "mt" | "mb" | "ml" | "mr" | "my" | "marginY" | "mx" | "marginX" | "pt" | "pr" | "pb" | "pl" | "px" | "paddingX" | "py" | "paddingY" | "css" | "bg" | "focusOnClear" | "placehoder" | "OnTextChange" | "inputStyle"> & React.RefAttributes<any>>;
@@ -89,12 +89,12 @@ export declare const PanelWithImage: React.ForwardRefExoticComponent<{
89
89
  type?: string;
90
90
  min?: string | number;
91
91
  rows?: number;
92
- colSpan?: number;
93
- rowSpan?: number;
94
- onClick?: ((event: React.MouseEvent<HTMLElement, MouseEvent>) => void) & ((event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void);
95
- value?: string | number | readonly string[];
96
92
  download?: any;
93
+ value?: string | number | readonly string[];
97
94
  checked?: boolean;
95
+ onClick?: ((event: React.MouseEvent<HTMLElement, MouseEvent>) => void) & ((event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void);
96
+ colSpan?: number;
97
+ rowSpan?: number;
98
98
  name?: string;
99
99
  className?: string;
100
100
  id?: string;
@@ -19,7 +19,7 @@ class PanelWithImageCmp extends React.Component {
19
19
  headerStyle.color = this.props.headerColor;
20
20
  headerStyle.fill = this.props.headerColor;
21
21
  }
22
- let headerRow = (React.createElement(rebass_1.Flex, { style: { flex: 1 } },
22
+ let headerRow = (React.createElement(rebass_1.Flex, { flex: 1 },
23
23
  React.createElement(rebass_1.Flex, { alignItems: "center" },
24
24
  React.createElement(rebass_1.Flex, { alignItems: "center", style: headerStyle },
25
25
  IconCmp ? React.createElement(IconCmp, null) : null,
@@ -34,7 +34,7 @@ class PanelWithImageCmp extends React.Component {
34
34
  ) }))),
35
35
  React.createElement(rebass_1.Box, { flex: 1 }),
36
36
  this.props.button && React.cloneElement(this.props.button))));
37
- return (React.createElement(Panel_1.default, { header: headerRow, variant: this.props.variant, style: this.props.style, bodyScroll: this.props.bodyScroll !== undefined ? this.props.bodyScroll : true, border: "none", borderRadius: this.props.borderRadius || 'none', bodyProps: Object.assign({ padding: 0 }, this.props.bodyProps) }, this.props.children));
37
+ return (React.createElement(Panel_1.default, { flex: this.props.flex, header: headerRow, variant: this.props.variant, style: this.props.style, bodyScroll: this.props.bodyScroll !== undefined ? this.props.bodyScroll : true, border: "none", borderRadius: this.props.borderRadius || 'none', bodyProps: Object.assign({ padding: 0 }, this.props.bodyProps) }, this.props.children));
38
38
  }
39
39
  }
40
40
  exports.PanelWithImage = styled_components_1.withTheme(PanelWithImageCmp);
@@ -34,7 +34,7 @@ class AdaptableChart extends React.Component {
34
34
  };
35
35
  let ChartCmp = AdaptableViewFactory_1.AdaptableViewFactory['ChartDisplayPopup'];
36
36
  const body = React.createElement(ChartCmp, Object.assign({}, commonProps));
37
- return this.props.showModal ? (React.createElement(AdaptablePopup_1.AdaptablePopup, { api: this.props.api, onHide: this.props.onClose, showModal: true, moduleParams: null, componentName: 'ChartDisplayPopup', componentModule: ModuleConstants.ChartModuleId }, body)) : this.state.isValidUserChartContainer ? (ReactDOM.createPortal(body, this.state.chartContainer)) : (body);
37
+ return this.props.showModal ? (React.createElement(AdaptablePopup_1.AdaptablePopup, { api: this.props.api, onHide: this.props.onClose, moduleParams: null, componentName: 'ChartDisplayPopup', componentModule: ModuleConstants.ChartModuleId }, body)) : this.state.isValidUserChartContainer ? (ReactDOM.createPortal(body, this.state.chartContainer)) : (body);
38
38
  }
39
39
  }
40
40
  exports.AdaptableChart = AdaptableChart;
@@ -0,0 +1,20 @@
1
+ import * as React from 'react';
2
+ import * as PopupRedux from '../../../../Redux/ActionsReducers/PopupRedux';
3
+ import { ModuleParams } from '../../SharedProps/ModuleViewPopupProps';
4
+ import { AdaptableModule } from '../../../../PredefinedConfig/Common/Types';
5
+ import { AdaptableApi } from '../../../../Api/AdaptableApi';
6
+ /**
7
+ * This is the main popup that we use - so all Module popups will appear here.
8
+ */
9
+ export interface AdaptablePopupProps {
10
+ componentName?: string;
11
+ componentModule: AdaptableModule;
12
+ onHide?: () => void;
13
+ api: AdaptableApi;
14
+ moduleParams: ModuleParams;
15
+ moduleProps?: {
16
+ [key: string]: any;
17
+ };
18
+ onClearParams?: () => PopupRedux.PopupClearParamAction;
19
+ }
20
+ export declare const AdaptablePopup: React.FunctionComponent<AdaptablePopupProps>;
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AdaptablePopup = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const React = tslib_1.__importStar(require("react"));
6
+ const rebass_1 = require("rebass");
7
+ const react_redux_1 = require("react-redux");
8
+ const PopupRedux = tslib_1.__importStar(require("../../../../Redux/ActionsReducers/PopupRedux"));
9
+ const GeneralConstants = tslib_1.__importStar(require("../../../../Utilities/Constants/GeneralConstants"));
10
+ const TopBar_1 = tslib_1.__importDefault(require("./TopBar"));
11
+ const join_1 = tslib_1.__importDefault(require("../../../../components/utils/join"));
12
+ const Navigation_1 = require("./Navigation");
13
+ const PopupContext_1 = tslib_1.__importDefault(require("./PopupContext"));
14
+ const AdaptablePopupBody_1 = require("./AdaptablePopupBody");
15
+ const Dialog_1 = tslib_1.__importDefault(require("../../../../components/Dialog"));
16
+ const SystemRedux_1 = require("../../../../Redux/ActionsReducers/SystemRedux");
17
+ const Utilities_1 = require("./Utilities");
18
+ const DefaultSettingsPanel_1 = require("../../../../Utilities/Defaults/DefaultSettingsPanel");
19
+ const AdaptableContext_1 = require("../../../AdaptableContext");
20
+ const CustomSettingsPanelView_1 = require("./CustomSettingsPanelView");
21
+ exports.AdaptablePopup = (props) => {
22
+ var _a, _b, _c, _d, _e;
23
+ const adaptable = AdaptableContext_1.useAdaptable();
24
+ const settingsPanelOptions = adaptable.adaptableOptions.settingsPanelOptions;
25
+ const dispatch = react_redux_1.useDispatch();
26
+ // Navigation
27
+ const allMenuItems = react_redux_1.useSelector((state) => { var _a; return (_a = state === null || state === void 0 ? void 0 : state.Grid) === null || _a === void 0 ? void 0 : _a.ModuleDropdownMenuItems; });
28
+ const menuItems = React.useMemo(() => {
29
+ var _a;
30
+ let navigationItems = (_a = settingsPanelOptions === null || settingsPanelOptions === void 0 ? void 0 : settingsPanelOptions.navigation) === null || _a === void 0 ? void 0 : _a.items;
31
+ if (!navigationItems) {
32
+ navigationItems = [...DefaultSettingsPanel_1.DEFAULT_NAVIGATION_ITEMS];
33
+ if (settingsPanelOptions.customSettingsPanels) {
34
+ navigationItems.push(...settingsPanelOptions.customSettingsPanels.map((panel) => panel.name));
35
+ }
36
+ }
37
+ const visibleItems = allMenuItems.filter((item) => item.module !== 'General' && !DefaultSettingsPanel_1.ACTION_POPUPS.includes(item.module) && item.isVisible);
38
+ return navigationItems
39
+ .map((moduleName) => {
40
+ var _a, _b;
41
+ if (moduleName === '-') {
42
+ return moduleName;
43
+ }
44
+ const customSettingsPanel = (_b = (_a = settingsPanelOptions === null || settingsPanelOptions === void 0 ? void 0 : settingsPanelOptions.customSettingsPanels) === null || _a === void 0 ? void 0 : _a.find) === null || _b === void 0 ? void 0 : _b.call(_a, (panel) => panel.name === moduleName);
45
+ let customPanelMenuItem = null;
46
+ if (customSettingsPanel) {
47
+ customPanelMenuItem = {
48
+ label: customSettingsPanel.name,
49
+ isVisible: true,
50
+ reduxAction: PopupRedux.PopupShowScreen(null, customSettingsPanel.name, null, {
51
+ isCustomSettingsPanel: true,
52
+ }),
53
+ };
54
+ }
55
+ return customPanelMenuItem || visibleItems.find((item) => item.module === moduleName);
56
+ })
57
+ .filter(Boolean);
58
+ }, [allMenuItems]);
59
+ const isCustomSettingsPanel = (_a = props.moduleProps) === null || _a === void 0 ? void 0 : _a.isCustomSettingsPanel;
60
+ const customSettingsPanel = isCustomSettingsPanel &&
61
+ settingsPanelOptions.customSettingsPanels.find((settingsPanel) => settingsPanel.name === props.componentName);
62
+ let componentModule = props.componentModule;
63
+ // When it is opened without specifying a module
64
+ const firstMenuItem = (_b = menuItems.find((menuItem) => menuItem !== '-')) === null || _b === void 0 ? void 0 : _b.module;
65
+ if (!customSettingsPanel && !props.componentModule && firstMenuItem !== 'General') {
66
+ componentModule = firstMenuItem;
67
+ }
68
+ const accessLevel = props.api.internalApi
69
+ .getEntitlementService()
70
+ .getEntitlementAccessLevelForModule(componentModule);
71
+ const module = props.api.internalApi.getModuleService().getModuleById(componentModule);
72
+ const moduleInfo = module === null || module === void 0 ? void 0 : module.moduleInfo;
73
+ // action popups + non-primary module popups
74
+ const isActionModule = DefaultSettingsPanel_1.ACTION_POPUPS.includes(moduleInfo === null || moduleInfo === void 0 ? void 0 : moduleInfo.ModuleName) ||
75
+ (props.componentName && props.componentName !== moduleInfo.Popup);
76
+ const baseClassName = 'ab-Adaptable-Popup';
77
+ const className = join_1.default(baseClassName, `${baseClassName}--${(_c = settingsPanelOptions.type) !== null && _c !== void 0 ? _c : 'window'}`, isActionModule ? `${baseClassName}--action-popup` : `${baseClassName}--settings-popup`);
78
+ const isWindowModal = settingsPanelOptions.type === 'window';
79
+ let style = { maxWidth: 1400, maxHeight: 1200 };
80
+ if (isWindowModal) {
81
+ style = { height: '100%' };
82
+ }
83
+ else if (isActionModule) {
84
+ style = { maxWidth: 800, maxHeight: 450 };
85
+ }
86
+ const settingsKey = isActionModule ? `action-${moduleInfo.FriendlyName}` : 'settings';
87
+ let popupSettings = react_redux_1.useSelector((state) => { var _a, _b; return (_b = (_a = state === null || state === void 0 ? void 0 : state.System) === null || _a === void 0 ? void 0 : _a.SettingsPanel) === null || _b === void 0 ? void 0 : _b[settingsKey]; });
88
+ if (!popupSettings) {
89
+ const size = isActionModule
90
+ ? Utilities_1.getActionPanelSize()
91
+ : (_d = settingsPanelOptions.size) !== null && _d !== void 0 ? _d : Utilities_1.getSettingsPanelSize();
92
+ popupSettings = {
93
+ size: size,
94
+ position: (_e = settingsPanelOptions.position) !== null && _e !== void 0 ? _e : Utilities_1.getMiddlePosition(size),
95
+ };
96
+ }
97
+ const handleWindowSettings = (settings) => {
98
+ dispatch(SystemRedux_1.SystemSettingsPanelSet(settingsKey, settings));
99
+ };
100
+ return (React.createElement(PopupContext_1.default.Provider, { value: {
101
+ hidePopup: () => {
102
+ if (props.onHide) {
103
+ props.onHide();
104
+ }
105
+ },
106
+ } },
107
+ React.createElement(Dialog_1.default, Object.assign({ windowModal: isWindowModal, fixed: false, windowModalProps: {
108
+ handleSelector: isActionModule
109
+ ? `.${baseClassName} .ab-Panel__header`
110
+ : '.ab-Adaptable-Popup__TopBar',
111
+ size: popupSettings.size,
112
+ position: popupSettings.position,
113
+ onChange: handleWindowSettings,
114
+ }, style: style, padding: 0, height: isWindowModal ? null : '90vh', width: isWindowModal ? null : '90vw', className: className, onDismiss: props.onHide, isOpen: true, showCloseButton: true }, props.moduleProps),
115
+ !isActionModule && (React.createElement(TopBar_1.default, { icon: settingsPanelOptions.icon }, settingsPanelOptions.title)),
116
+ React.createElement(rebass_1.Flex, { "data-name": props.componentName, flexDirection: "row", flex: "1 1 0", style: { minHeight: 0 }, className: accessLevel == 'ReadOnly' ? GeneralConstants.READ_ONLY_STYLE : '' },
117
+ !isActionModule && (React.createElement(Navigation_1.Navigation, { menuItems: menuItems, api: props.api, moduleInfo: moduleInfo, activeCustomSettingPanel: customSettingsPanel, customSettingsPanels: settingsPanelOptions.customSettingsPanels })),
118
+ React.createElement(rebass_1.Flex, { flex: 1, className: "ab-Adaptable-Popup__Body" }, isCustomSettingsPanel ? (React.createElement(CustomSettingsPanelView_1.CustomSettingsPanelView, { settingsPanel: customSettingsPanel })) : (React.createElement(AdaptablePopupBody_1.AdaptablePopupBody, { api: props.api, module: module, componentName: props.componentName, moduleParams: props.moduleParams, onClearParams: props.onClearParams, onHide: props.onHide })))))));
119
+ };
@@ -0,0 +1,15 @@
1
+ import * as React from 'react';
2
+ import { IModule } from '../../../../Strategy/Interface/IModule';
3
+ import { AdaptableApi } from '../../../../types';
4
+ import { ModuleParams } from '../../SharedProps/ModuleViewPopupProps';
5
+ import * as PopupRedux from '../../../../Redux/ActionsReducers/PopupRedux';
6
+ interface AdaptablePopupBodyProps {
7
+ module: IModule;
8
+ moduleParams: ModuleParams;
9
+ componentName: string;
10
+ onClearParams?: () => PopupRedux.PopupClearParamAction;
11
+ onHide?: () => void;
12
+ api: AdaptableApi;
13
+ }
14
+ export declare const AdaptablePopupBody: React.FunctionComponent<AdaptablePopupBodyProps>;
15
+ export {};
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AdaptablePopupBody = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const React = tslib_1.__importStar(require("react"));
6
+ const UIHelper_1 = require("../../../UIHelper");
7
+ const AdaptableViewFactory_1 = require("../../../AdaptableViewFactory");
8
+ const AdaptablePopupModuleView_1 = require("./AdaptablePopupModuleView");
9
+ exports.AdaptablePopupBody = (props) => {
10
+ var _a;
11
+ const modalContainer = UIHelper_1.UIHelper.getModalContainer(props.api.internalApi.getAdaptableOptions(), document);
12
+ const moduleName = props.module.moduleInfo.ModuleName;
13
+ const accessLevel = props.api.internalApi
14
+ .getEntitlementService()
15
+ .getEntitlementAccessLevelForModule(moduleName);
16
+ const moduleInfo = props.api.internalApi.getModuleService().getModuleInfoByModule(moduleName);
17
+ const moduleProps = {
18
+ popupParams: props.moduleParams,
19
+ onClearPopupParams: () => (props.onClearParams ? props.onClearParams() : null),
20
+ onClosePopup: () => {
21
+ if (props.onHide) {
22
+ props.onHide();
23
+ }
24
+ },
25
+ // show share button if TeamSharing is active & user has edit rights
26
+ teamSharingActivated: props.api.teamSharingApi.isTeamSharingActivated() &&
27
+ props.api.teamSharingApi.hasTeamSharingFullRights(),
28
+ modalContainer: modalContainer,
29
+ accessLevel: accessLevel,
30
+ api: props.api,
31
+ moduleInfo,
32
+ };
33
+ const BodyComponent = (AdaptableViewFactory_1.AdaptableViewFactory === null || AdaptableViewFactory_1.AdaptableViewFactory === void 0 ? void 0 : AdaptableViewFactory_1.AdaptableViewFactory[(_a = props === null || props === void 0 ? void 0 : props.componentName) !== null && _a !== void 0 ? _a : moduleInfo.Popup]) || AdaptablePopupModuleView_1.AdaptablePopupModuleView;
34
+ return React.createElement(BodyComponent, Object.assign({ module: props.module }, moduleProps));
35
+ };
@@ -0,0 +1,9 @@
1
+ import * as React from 'react';
2
+ import { AccessLevel, AdaptableApi } from '../../../../../types';
3
+ import { IModule } from '../../../../Strategy/Interface/IModule';
4
+ export interface AdaptablePopupModuleViewProps {
5
+ module: IModule;
6
+ api: AdaptableApi;
7
+ accessLevel: AccessLevel;
8
+ }
9
+ export declare const AdaptablePopupModuleView: React.FunctionComponent<AdaptablePopupModuleViewProps>;
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AdaptablePopupModuleView = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const React = tslib_1.__importStar(require("react"));
6
+ const react_redux_1 = require("react-redux");
7
+ const DropdownButton_1 = tslib_1.__importDefault(require("../../../../components/DropdownButton"));
8
+ const EmptyContent_1 = tslib_1.__importDefault(require("../../../../components/EmptyContent"));
9
+ const icons_1 = require("../../../../components/icons");
10
+ const AdaptableObjectList_1 = require("../../AdaptableObjectList");
11
+ const ButtonNew_1 = require("../../Buttons/ButtonNew");
12
+ const PopupPanel_1 = require("./PopupPanel");
13
+ exports.AdaptablePopupModuleView = (props) => {
14
+ var _a, _b, _c;
15
+ /**
16
+ * This triggers an render for each redux change.
17
+ * Not sure yet how to trigger this component to render when an item is edited.
18
+ */
19
+ react_redux_1.useSelector((state) => state);
20
+ const [isWizardOpen, setIsWizardOpen] = React.useState(false);
21
+ const [abObjectType, setAbObjectType] = React.useState(null);
22
+ const moduleInfo = props.module.moduleInfo;
23
+ const items = (_a = props.module) === null || _a === void 0 ? void 0 : _a.toViewAll();
24
+ const moduleViewProperties = props.module.getViewProperties();
25
+ const EditWizard = (_b = moduleViewProperties === null || moduleViewProperties === void 0 ? void 0 : moduleViewProperties.getEditWizard) === null || _b === void 0 ? void 0 : _b.call(moduleViewProperties);
26
+ const emptyView = moduleViewProperties.emptyView;
27
+ let emptyContent = null;
28
+ if (typeof emptyView === 'function') {
29
+ emptyContent = React.createElement(emptyView, { module: props.module });
30
+ }
31
+ else if (typeof emptyView === 'string') {
32
+ emptyContent = emptyView;
33
+ }
34
+ // Some modules do not have new button
35
+ // e.g. filter
36
+ let newButton = null;
37
+ if ((_c = moduleViewProperties === null || moduleViewProperties === void 0 ? void 0 : moduleViewProperties.abObjectTypes) === null || _c === void 0 ? void 0 : _c.length) {
38
+ const items = moduleViewProperties === null || moduleViewProperties === void 0 ? void 0 : moduleViewProperties.abObjectTypes.map((abObjctType) => {
39
+ var _a;
40
+ return {
41
+ disabled: (abObjctType === null || abObjctType === void 0 ? void 0 : abObjctType.accessLevel) === 'ReadOnly',
42
+ onClick: () => {
43
+ setAbObjectType(abObjctType);
44
+ setIsWizardOpen(true);
45
+ },
46
+ label: (_a = abObjctType.label) !== null && _a !== void 0 ? _a : abObjctType.name,
47
+ };
48
+ });
49
+ newButton = (React.createElement(DropdownButton_1.default, { tone: "accent", variant: "raised", columns: ['label'], items: items, tooltip: 'Create ' + moduleInfo.FriendlyName },
50
+ React.createElement(icons_1.Icon, { name: "plus" }),
51
+ " New"));
52
+ }
53
+ else if (EditWizard) {
54
+ newButton = (React.createElement(ButtonNew_1.ButtonNew, { onClick: () => setIsWizardOpen(true), tooltip: 'Create ' + moduleInfo.FriendlyName, accessLevel: props.accessLevel, style: {
55
+ color: 'var(--ab-color-text-on-add)',
56
+ fill: 'var(--ab-color-text-on-add)',
57
+ background: 'var(--ab-color-action-add)',
58
+ } }));
59
+ }
60
+ const handleWizardClose = () => {
61
+ setAbObjectType(null);
62
+ setIsWizardOpen(false);
63
+ };
64
+ return (React.createElement(PopupPanel_1.PopupPanel, { glyphicon: moduleInfo.Glyph, infoLink: moduleInfo.HelpPage, headerText: moduleInfo.FriendlyName, button: newButton },
65
+ (items === null || items === void 0 ? void 0 : items.length) ? (React.createElement(AdaptableObjectList_1.AdaptableObjectList, { module: props.module, items: items })) : (React.createElement(EmptyContent_1.default, null, emptyContent !== null && emptyContent !== void 0 ? emptyContent : `Click 'New' to create a new ${moduleInfo.FriendlyName}`)),
66
+ isWizardOpen && (React.createElement(EditWizard, { abObjectType: abObjectType, moduleInfo: moduleInfo, data: null, configEntities: null, onCloseWizard: handleWizardClose, onFinishWizard: handleWizardClose }))));
67
+ };
@@ -0,0 +1,6 @@
1
+ import * as React from 'react';
2
+ import { CustomSettingsPanel } from '../../../../AdaptableOptions/SettingsPanelOptions';
3
+ export interface CustomSettingsPanelProp {
4
+ settingsPanel: CustomSettingsPanel;
5
+ }
6
+ export declare const CustomSettingsPanelView: React.FunctionComponent<CustomSettingsPanelProp>;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CustomSettingsPanelView = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const React = tslib_1.__importStar(require("react"));
6
+ const ExternalRenderer_1 = require("../../ExternalRenderer");
7
+ exports.CustomSettingsPanelView = (props) => {
8
+ return (React.createElement(ExternalRenderer_1.ExternalRenderer, { render: props.settingsPanel.render, componentName: props.settingsPanel.name, frameworkComponent: props.settingsPanel.frameworkComponent }));
9
+ };
@@ -0,0 +1,13 @@
1
+ import * as React from 'react';
2
+ import { AdaptableApi, AdaptableMenuItem } from '../../../../../types';
3
+ import { CustomSettingsPanel } from '../../../../AdaptableOptions/SettingsPanelOptions';
4
+ import { ModuleInfo } from '../../../../Strategy/Interface/IModule';
5
+ interface NavigationProps {
6
+ api: AdaptableApi;
7
+ menuItems: (AdaptableMenuItem | '-')[];
8
+ moduleInfo?: ModuleInfo;
9
+ activeCustomSettingPanel?: CustomSettingsPanel;
10
+ customSettingsPanels?: CustomSettingsPanel[];
11
+ }
12
+ export declare const Navigation: React.FunctionComponent<NavigationProps>;
13
+ export {};
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Navigation = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const React = tslib_1.__importStar(require("react"));
6
+ const react_redux_1 = require("react-redux");
7
+ const ApplicationIcon_1 = require("../../../../components/ApplicationIcon");
8
+ const icons_1 = require("../../../../components/icons");
9
+ const join_1 = tslib_1.__importDefault(require("../../../../components/utils/join"));
10
+ const useGlobalEvent_1 = require("../../../../components/utils/useGlobalEvent");
11
+ exports.Navigation = (props) => {
12
+ var _a;
13
+ const dispatch = react_redux_1.useDispatch();
14
+ const handleKeyPress = React.useCallback((event) => {
15
+ if ((event.ctrlKey || event.metaKey) &&
16
+ (event.code === 'ArrowUp' || event.code === 'ArrowDown')) {
17
+ const isKeyUp = event.code === 'ArrowUp';
18
+ const currentIndex = props.menuItems.findIndex((item) => {
19
+ var _a, _b;
20
+ return item !== '-' &&
21
+ (item.module === ((_a = props === null || props === void 0 ? void 0 : props.moduleInfo) === null || _a === void 0 ? void 0 : _a.ModuleName) ||
22
+ // in case of custom panel
23
+ item.label === ((_b = props === null || props === void 0 ? void 0 : props.activeCustomSettingPanel) === null || _b === void 0 ? void 0 : _b.name));
24
+ });
25
+ let nextMenuItem = null;
26
+ if (isKeyUp) {
27
+ let candidate = props.menuItems[currentIndex - 1] !== '-'
28
+ ? props.menuItems[currentIndex - 1]
29
+ : props.menuItems[currentIndex - 2];
30
+ nextMenuItem = candidate ? candidate : props.menuItems[props.menuItems.length - 1];
31
+ }
32
+ else {
33
+ let candidate = props.menuItems[currentIndex + 1] !== '-'
34
+ ? props.menuItems[currentIndex + 1]
35
+ : props.menuItems[currentIndex + 2];
36
+ nextMenuItem = candidate ? candidate : props.menuItems[0];
37
+ }
38
+ if (nextMenuItem && nextMenuItem !== '-') {
39
+ dispatch(nextMenuItem.reduxAction);
40
+ }
41
+ }
42
+ }, [(_a = props.moduleInfo) === null || _a === void 0 ? void 0 : _a.ModuleName, props.menuItems]);
43
+ useGlobalEvent_1.useGlobalEvent('keydown', handleKeyPress);
44
+ return (React.createElement("nav", { className: "ab-Adaptable-Popup__Navigation" },
45
+ React.createElement("ul", { className: "ab-Adaptable-Popup__Navigation__List" }, props.menuItems.map((menuItem, index) => {
46
+ var _a, _b, _c, _d, _e, _f;
47
+ const baseClassName = 'ab-Adaptable-Popup__Navigation__List__Item';
48
+ if (menuItem === '-') {
49
+ return React.createElement("li", { key: `separator-${index}`, className: `${baseClassName}__Separator` });
50
+ }
51
+ const isActive = ((_a = props === null || props === void 0 ? void 0 : props.moduleInfo) === null || _a === void 0 ? void 0 : _a.ModuleName) === menuItem.module ||
52
+ menuItem.label === ((_b = props === null || props === void 0 ? void 0 : props.activeCustomSettingPanel) === null || _b === void 0 ? void 0 : _b.name);
53
+ const className = join_1.default(baseClassName, isActive && `${baseClassName}--active`);
54
+ let customIcon = (_f = (_e = (_d = (_c = props.customSettingsPanels) === null || _c === void 0 ? void 0 : _c.find) === null || _d === void 0 ? void 0 : _d.call(_c, (customSettingPanel) => customSettingPanel.name === menuItem.label)) === null || _e === void 0 ? void 0 : _e.icon) !== null && _f !== void 0 ? _f : null;
55
+ return (React.createElement("li", { className: className, key: menuItem.label },
56
+ React.createElement("button", { className: `${baseClassName}__Button`, onClick: () => {
57
+ dispatch(menuItem.reduxAction);
58
+ } },
59
+ menuItem.icon && (React.createElement(icons_1.Icon, { className: `${baseClassName}__Icon`, name: menuItem.icon })),
60
+ customIcon && React.createElement(ApplicationIcon_1.ApplicationIcon, { icon: customIcon }),
61
+ menuItem.label)));
62
+ }))));
63
+ };
@@ -0,0 +1,10 @@
1
+ import * as React from 'react';
2
+ export interface PanelWithButtonProps {
3
+ buttonClick?: () => void;
4
+ button?: React.ReactElement<any>;
5
+ headerText: string;
6
+ glyphicon?: string;
7
+ infoLink?: string;
8
+ infoLinkDisabled?: boolean;
9
+ }
10
+ export declare const PopupPanel: React.FunctionComponent<PanelWithButtonProps>;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PopupPanel = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const React = tslib_1.__importStar(require("react"));
6
+ const rebass_1 = require("rebass");
7
+ const ButtonInfo_1 = require("../../Buttons/ButtonInfo");
8
+ const Noop = () => React.createElement(React.Fragment, null);
9
+ exports.PopupPanel = (props) => {
10
+ const baseClassName = 'ab-Adaptable-Popup__Panel';
11
+ return (React.createElement(rebass_1.Flex, { flexDirection: "column", flex: "1 1 0", className: baseClassName, width: "100%" },
12
+ React.createElement("div", { className: `${baseClassName}__Header` },
13
+ React.createElement(rebass_1.Flex, { alignItems: "center" },
14
+ React.createElement(rebass_1.Box, { marginRight: 0, "data-name": "space-before" }),
15
+ React.createElement("div", { className: `${baseClassName}__Header__Title` }, props.headerText),
16
+ React.createElement(rebass_1.Box, { marginRight: 2, "data-name": "space-after" }),
17
+ props.infoLink != null && !props.infoLinkDisabled && (React.createElement(ButtonInfo_1.ButtonInfo, { iconSize: 24, onClick: () => window.open(props.infoLink, '_blank' // <- opens the link in a new tab or window.
18
+ ) }))),
19
+ React.createElement(rebass_1.Box, { style: { flex: 1 } }),
20
+ props.button),
21
+ React.createElement(rebass_1.Box, { className: `${baseClassName}__Body`, width: "100%", height: "100%", flex: 1 }, props.children)));
22
+ };
@@ -0,0 +1,7 @@
1
+ import * as React from 'react';
2
+ import { SettingsPanelOptions } from '../../../../AdaptableOptions/SettingsPanelOptions';
3
+ interface TopBarProps {
4
+ icon: SettingsPanelOptions['icon'];
5
+ }
6
+ export declare const TopBar: React.FunctionComponent<TopBarProps>;
7
+ export default TopBar;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TopBar = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const React = tslib_1.__importStar(require("react"));
6
+ const rebass_1 = require("rebass");
7
+ const ApplicationIcon_1 = require("../../../../components/ApplicationIcon");
8
+ const icons_1 = require("../../../../components/icons");
9
+ const AdaptableContext_1 = require("../../../AdaptableContext");
10
+ exports.TopBar = (props) => {
11
+ var _a;
12
+ const baseClassName = 'ab-Adaptable-Popup__TopBar';
13
+ const adaptable = AdaptableContext_1.useAdaptable();
14
+ const applicationIcon = (_a = adaptable.api.internalApi.getAdaptableOptions().userInterfaceOptions) === null || _a === void 0 ? void 0 : _a.applicationIcon;
15
+ let icon = React.createElement(React.Fragment, null);
16
+ if (props.icon === 'ConfigurationIcon') {
17
+ icon = React.createElement(icons_1.Icon, { className: `${baseClassName}__Icon`, name: "settings" });
18
+ }
19
+ else if (props.icon === 'ApplicationIcon' && applicationIcon) {
20
+ icon = React.createElement(ApplicationIcon_1.ApplicationIcon, { icon: applicationIcon });
21
+ }
22
+ else if (typeof props.icon === 'object' && props.icon.src) {
23
+ icon = React.createElement(ApplicationIcon_1.ApplicationIcon, { icon: props.icon });
24
+ }
25
+ return (React.createElement(rebass_1.Flex, { flex: 0, className: baseClassName },
26
+ icon,
27
+ React.createElement(rebass_1.Text, null, props.children)));
28
+ };
29
+ exports.default = exports.TopBar;