@adaptabletools/adaptable 12.0.0-canary.3 → 12.0.0-canary.6

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 (441) hide show
  1. package/base.css +26 -0
  2. package/bundle.cjs.js +102 -99
  3. package/index.css +34 -0
  4. package/package.json +2 -2
  5. package/publishTimestamp.d.ts +1 -1
  6. package/publishTimestamp.js +1 -1
  7. package/src/AdaptableOptions/ActionOptions.d.ts +181 -1
  8. package/src/AdaptableOptions/AdaptableOptions.d.ts +5 -0
  9. package/src/AdaptableOptions/ColumnOptions.d.ts +4 -0
  10. package/src/AdaptableOptions/DataChangeHistoryOptions.d.ts +17 -2
  11. package/src/AdaptableOptions/EditOptions.d.ts +7 -80
  12. package/src/AdaptableOptions/FinancePluginOptions.d.ts +3 -3
  13. package/src/AdaptableOptions/LayoutOptions.d.ts +11 -6
  14. package/src/AdaptableOptions/SettingsPanelOptions.d.ts +2 -0
  15. package/src/AdaptableOptions/StateOptions.d.ts +10 -0
  16. package/src/AdaptableOptions/UserInterfaceOptions.d.ts +2 -112
  17. package/src/Api/ActionApi.d.ts +24 -0
  18. package/src/Api/{Events/RowFormSubmitted.js → ActionApi.js} +0 -0
  19. package/src/Api/AdaptableApi.d.ts +5 -0
  20. package/src/Api/ConfigApi.d.ts +1 -1
  21. package/src/Api/EventApi.d.ts +9 -9
  22. package/src/Api/Events/ActionRowSubmitted.d.ts +58 -0
  23. package/src/Api/Events/ActionRowSubmitted.js +2 -0
  24. package/src/Api/GridApi.d.ts +0 -14
  25. package/src/Api/Implementation/ActionApiImpl.d.ts +8 -0
  26. package/src/Api/Implementation/ActionApiImpl.js +56 -0
  27. package/src/Api/Implementation/AdaptableApiImpl.d.ts +2 -0
  28. package/src/Api/Implementation/AdaptableApiImpl.js +2 -0
  29. package/src/Api/Implementation/AlertApiImpl.d.ts +2 -4
  30. package/src/Api/Implementation/AlertApiImpl.js +2 -3
  31. package/src/Api/Implementation/ApiBase.d.ts +13 -1
  32. package/src/Api/Implementation/ApiBase.js +10 -0
  33. package/src/Api/Implementation/ColumnApiImpl.js +2 -2
  34. package/src/Api/Implementation/ConditionalStyleApiImpl.d.ts +2 -4
  35. package/src/Api/Implementation/ConditionalStyleApiImpl.js +2 -3
  36. package/src/Api/Implementation/ConfigApiImpl.d.ts +1 -1
  37. package/src/Api/Implementation/CustomSortApiImpl.d.ts +2 -4
  38. package/src/Api/Implementation/CustomSortApiImpl.js +2 -3
  39. package/src/Api/Implementation/FlashingCellApiImpl.d.ts +2 -4
  40. package/src/Api/Implementation/FlashingCellApiImpl.js +2 -3
  41. package/src/Api/Implementation/FormatColumnApiImpl.d.ts +2 -4
  42. package/src/Api/Implementation/FormatColumnApiImpl.js +2 -3
  43. package/src/Api/Implementation/GridApiImpl.d.ts +0 -3
  44. package/src/Api/Implementation/GridApiImpl.js +0 -44
  45. package/src/Api/Implementation/InternalApiImpl.d.ts +1 -1
  46. package/src/Api/Implementation/InternalApiImpl.js +5 -4
  47. package/src/Api/Implementation/LayoutApiImpl.d.ts +0 -2
  48. package/src/Api/Implementation/LayoutApiImpl.js +0 -6
  49. package/src/Api/Implementation/PlusMinusApiImpl.d.ts +2 -4
  50. package/src/Api/Implementation/PlusMinusApiImpl.js +2 -3
  51. package/src/Api/Implementation/ScheduleApiImpl.d.ts +6 -16
  52. package/src/Api/Implementation/ScheduleApiImpl.js +10 -16
  53. package/src/Api/Implementation/ShortcutApiImpl.d.ts +2 -4
  54. package/src/Api/Implementation/ShortcutApiImpl.js +2 -3
  55. package/src/Api/Implementation/SmartEditApiImpl.d.ts +1 -1
  56. package/src/Api/Implementation/SmartEditApiImpl.js +2 -1
  57. package/src/Api/Implementation/StatusBarApiImpl.d.ts +4 -3
  58. package/src/Api/Implementation/StatusBarApiImpl.js +2 -2
  59. package/src/Api/Implementation/TeamSharingApiImpl.js +2 -1
  60. package/src/Api/Implementation/UserInterfaceApiImpl.d.ts +1 -2
  61. package/src/Api/Implementation/UserInterfaceApiImpl.js +0 -4
  62. package/src/Api/InternalApi.d.ts +1 -1
  63. package/src/Api/LayoutApi.d.ts +1 -6
  64. package/src/Api/SmartEditApi.d.ts +1 -1
  65. package/src/Api/StatusBarApi.d.ts +10 -3
  66. package/src/Api/UserInterfaceApi.d.ts +1 -5
  67. package/src/PredefinedConfig/Common/AdaptableAlert.js +4 -2
  68. package/src/PredefinedConfig/Common/AdaptableColumn.js +2 -1
  69. package/src/PredefinedConfig/Common/AdaptableForm.d.ts +1 -1
  70. package/src/PredefinedConfig/Common/AdaptableIcon.d.ts +24 -18
  71. package/src/PredefinedConfig/Common/AdaptablePredicate.d.ts +2 -4
  72. package/src/PredefinedConfig/Common/AdaptablePredicate.js +38 -36
  73. package/src/PredefinedConfig/Common/AdaptableQuery.js +2 -1
  74. package/src/PredefinedConfig/Common/Menu.d.ts +3 -3
  75. package/src/PredefinedConfig/Common/Types.d.ts +1 -1
  76. package/src/PredefinedConfig/StatusBarState.d.ts +5 -2
  77. package/src/PredefinedConfig/Uuid.js +2 -1
  78. package/src/Redux/ActionsReducers/AlertRedux.js +16 -8
  79. package/src/Redux/ActionsReducers/ApplicationRedux.js +8 -4
  80. package/src/Redux/ActionsReducers/BulkUpdateRedux.js +6 -3
  81. package/src/Redux/ActionsReducers/CalculatedColumnRedux.js +10 -5
  82. package/src/Redux/ActionsReducers/CellSummaryRedux.js +2 -1
  83. package/src/Redux/ActionsReducers/ConditionalStyleRedux.js +14 -7
  84. package/src/Redux/ActionsReducers/CustomSortRedux.js +14 -7
  85. package/src/Redux/ActionsReducers/DashboardRedux.js +24 -12
  86. package/src/Redux/ActionsReducers/ExportRedux.js +16 -8
  87. package/src/Redux/ActionsReducers/FlashingCellRedux.js +16 -8
  88. package/src/Redux/ActionsReducers/FormatColumnRedux.js +14 -7
  89. package/src/Redux/ActionsReducers/FreeTextColumnRedux.js +14 -7
  90. package/src/Redux/ActionsReducers/GridRedux.js +38 -19
  91. package/src/Redux/ActionsReducers/LayoutRedux.js +30 -15
  92. package/src/Redux/ActionsReducers/PluginsRedux.js +4 -2
  93. package/src/Redux/ActionsReducers/PlusMinusRedux.js +16 -8
  94. package/src/Redux/ActionsReducers/PopupRedux.js +37 -19
  95. package/src/Redux/ActionsReducers/QueryRedux.js +12 -6
  96. package/src/Redux/ActionsReducers/QuickSearchRedux.js +8 -4
  97. package/src/Redux/ActionsReducers/ScheduleRedux.js +58 -29
  98. package/src/Redux/ActionsReducers/ShortcutRedux.js +14 -7
  99. package/src/Redux/ActionsReducers/SmartEditRedux.js +6 -3
  100. package/src/Redux/ActionsReducers/StatusBarRedux.js +10 -5
  101. package/src/Redux/ActionsReducers/SystemRedux.js +103 -51
  102. package/src/Redux/ActionsReducers/SystemStatusRedux.js +4 -2
  103. package/src/Redux/ActionsReducers/TeamSharingRedux.js +22 -11
  104. package/src/Redux/ActionsReducers/ThemeRedux.js +10 -5
  105. package/src/Redux/ActionsReducers/ToolPanelRedux.js +16 -8
  106. package/src/Redux/DeadRedux.js +16 -8
  107. package/src/Redux/Store/AdaptableReduxMerger.js +2 -1
  108. package/src/Redux/Store/AdaptableStore.js +7 -2
  109. package/src/Strategy/AlertModule.d.ts +2 -18
  110. package/src/Strategy/AlertModule.js +2 -1
  111. package/src/Strategy/ConditionalStyleModule.d.ts +2 -10
  112. package/src/Strategy/DashboardModule.js +3 -1
  113. package/src/Strategy/DataChangeHistoryModule.d.ts +2 -8
  114. package/src/Strategy/DataSetModule.d.ts +2 -13
  115. package/src/Strategy/ExportModule.d.ts +2 -13
  116. package/src/Strategy/ExportModule.js +1 -1
  117. package/src/Strategy/FilterModule.d.ts +2 -14
  118. package/src/Strategy/FilterModule.js +1 -1
  119. package/src/Strategy/FlashingCellModule.d.ts +2 -9
  120. package/src/Strategy/GridInfoModule.js +6 -2
  121. package/src/Strategy/Interface/IModule.d.ts +2 -1
  122. package/src/Strategy/LayoutModule.d.ts +3 -17
  123. package/src/Strategy/LayoutModule.js +57 -4
  124. package/src/Strategy/PlusMinusModule.d.ts +2 -9
  125. package/src/Strategy/QuickSearchModule.d.ts +2 -7
  126. package/src/Strategy/ScheduleModule.d.ts +2 -13
  127. package/src/Strategy/ShortcutModule.d.ts +2 -9
  128. package/src/Strategy/StatusBarModule.js +2 -2
  129. package/src/Strategy/SystemStatusModule.d.ts +2 -7
  130. package/src/Strategy/ThemeModule.d.ts +2 -8
  131. package/src/Strategy/Utilities/getAlertBehaviourViewItems.js +2 -1
  132. package/src/Strategy/Utilities/getAlertPreviewViewItems.js +2 -1
  133. package/src/Strategy/Utilities/getCustomSortColumnViewItems.js +2 -1
  134. package/src/Strategy/Utilities/getCustomSortSortOrderViewItems.js +2 -1
  135. package/src/Strategy/Utilities/getExportColumnsViewItems.js +2 -1
  136. package/src/Strategy/Utilities/getExportRowsViewItems.js +2 -1
  137. package/src/Strategy/Utilities/getExpressionViewItems.js +2 -1
  138. package/src/Strategy/Utilities/getFlashingCellDurationViewItems.js +2 -1
  139. package/src/Strategy/Utilities/getFlashingCellStyleViewItems.d.ts +2 -6
  140. package/src/Strategy/Utilities/getFlashingCellStyleViewItems.js +2 -1
  141. package/src/Strategy/Utilities/getFlashingTargetViewItems.js +2 -1
  142. package/src/Strategy/Utilities/getFormatColumnSettingsViewItems.js +2 -1
  143. package/src/Strategy/Utilities/getFormatColumnStyleViewItems.js +2 -1
  144. package/src/Strategy/Utilities/getObjectTagsViewItems.js +2 -1
  145. package/src/Strategy/Utilities/getRuleViewItems.js +2 -1
  146. package/src/Strategy/Utilities/getScopeViewItems.js +2 -1
  147. package/src/Strategy/Utilities/getShortcutSettingsViewItems.js +2 -1
  148. package/src/Strategy/Utilities/getStyleViewItems.js +2 -1
  149. package/src/Utilities/Constants/DocumentationLinkConstants.d.ts +1 -0
  150. package/src/Utilities/Constants/DocumentationLinkConstants.js +2 -1
  151. package/src/Utilities/Constants/GeneralConstants.js +2 -1
  152. package/src/Utilities/Defaults/DefaultAdaptableOptions.js +21 -13
  153. package/src/Utilities/ExpressionFunctions/dateUtils.js +2 -1
  154. package/src/Utilities/ExpressionFunctions/expressionFunctionUtils.js +20 -10
  155. package/src/Utilities/Extensions/TypeExtensions.d.ts +30 -0
  156. package/src/Utilities/Helpers/AdaptableHelper.d.ts +1 -3
  157. package/src/Utilities/Helpers/AdaptableHelper.js +6 -16
  158. package/src/Utilities/Helpers/DateHelper.d.ts +27 -0
  159. package/src/Utilities/Helpers/DateHelper.js +43 -6
  160. package/src/Utilities/Helpers/Helper.js +2 -1
  161. package/src/Utilities/Helpers/LoggingHelper.js +2 -1
  162. package/src/Utilities/Helpers/StyleHelper.js +8 -4
  163. package/src/Utilities/MenuItem.d.ts +4 -3
  164. package/src/Utilities/MenuItem.js +9 -3
  165. package/src/Utilities/ObjectFactory.js +1 -0
  166. package/src/Utilities/Services/Interface/IMetamodelService.d.ts +1 -0
  167. package/src/Utilities/Services/Interface/IRowEditService.d.ts +3 -3
  168. package/src/Utilities/Services/MetamodelService.d.ts +7 -1
  169. package/src/Utilities/Services/MetamodelService.js +82 -6
  170. package/src/Utilities/Services/ModuleService.js +3 -1
  171. package/src/Utilities/Services/RowEditService.d.ts +6 -6
  172. package/src/Utilities/Services/RowEditService.js +24 -25
  173. package/src/Utilities/isAdaptableObject.js +2 -1
  174. package/src/Utilities/isMacLike.js +2 -1
  175. package/src/Utilities/license/decode.js +1 -1
  176. package/src/Utilities/reorder.js +2 -1
  177. package/src/Utilities/runIfNotResolvedIn.js +2 -1
  178. package/src/Utilities/waitForCondition.d.ts +1 -1
  179. package/src/Utilities/waitForCondition.js +2 -1
  180. package/src/View/AdaptableContext.js +2 -1
  181. package/src/View/AdaptableView.js +2 -1
  182. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationWizard.js +12 -9
  183. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationWizardColumnsStep.js +2 -1
  184. package/src/View/AdaptableWizardView/Utils.js +2 -1
  185. package/src/View/AdaptableWizardView/Wizard.js +4 -2
  186. package/src/View/AdaptableWizardView/helper.js +6 -3
  187. package/src/View/Alert/ActiveAlertsPanel.js +2 -1
  188. package/src/View/Alert/AlertEmptyView.js +2 -1
  189. package/src/View/Alert/AlertStatusSubPanel.js +2 -1
  190. package/src/View/Alert/Utilities/getAlertButtonStyle.js +2 -1
  191. package/src/View/Alert/Wizard/AlertBehaviourWizardSection.js +4 -2
  192. package/src/View/Alert/Wizard/AlertButtonsEditor.js +2 -1
  193. package/src/View/Alert/Wizard/AlertDisplayWizardSection.js +6 -3
  194. package/src/View/Alert/Wizard/AlertRulesWizardSection.js +4 -2
  195. package/src/View/Alert/Wizard/AlertScopeWizardSection.js +2 -1
  196. package/src/View/Alert/Wizard/AlertWizard.js +2 -1
  197. package/src/View/Alert/Wizard/BaseAlertRulesWizardSection.js +2 -1
  198. package/src/View/Alert/Wizard/BaseAlertScopeWizardSection.js +4 -2
  199. package/src/View/Alert/Wizard/isValidAlertRules.js +2 -1
  200. package/src/View/CalculatedColumn/CalculatedColumnSummary.d.ts +1 -1
  201. package/src/View/CalculatedColumn/Utilities/getCalculatedColumnSettingTags.js +2 -1
  202. package/src/View/CalculatedColumn/Wizard/CalculatedColumnExpressionWizardSection.js +6 -3
  203. package/src/View/CalculatedColumn/Wizard/CalculatedColumnSettingsWizardSection.js +6 -3
  204. package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.js +2 -1
  205. package/src/View/CellSummary/CellSummaryPopover.js +2 -1
  206. package/src/View/CellSummary/CellSummaryStatusBarSubPanelPopover.js +2 -1
  207. package/src/View/CellSummary/CellSummaryStatusPanel.js +2 -1
  208. package/src/View/ColorPicker.d.ts +5 -1
  209. package/src/View/Components/AdaptableDateInput/index.d.ts +1 -1
  210. package/src/View/Components/AdaptableDateInput/index.js +11 -11
  211. package/src/View/Components/AdaptableInput/index.d.ts +2 -2
  212. package/src/View/Components/AdaptableObjectList/AdaptableObjectCompactList.js +4 -2
  213. package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +4 -2
  214. package/src/View/Components/Buttons/ButtonClone.js +2 -1
  215. package/src/View/Components/Buttons/ButtonDelete.d.ts +1 -1
  216. package/src/View/Components/Buttons/ButtonEdit.js +2 -1
  217. package/src/View/Components/Buttons/ButtonNew.js +2 -1
  218. package/src/View/Components/ColumnSelector/index.js +2 -1
  219. package/src/View/Components/EntityRulesEditor/index.js +6 -3
  220. package/src/View/Components/ExpressionWizard.js +2 -1
  221. package/src/View/Components/ExternalRenderer.js +2 -1
  222. package/src/View/Components/FilterForm/FilterForm.js +2 -1
  223. package/src/View/Components/FilterForm/ListBoxFilterForm.js +2 -1
  224. package/src/View/Components/FilterForm/ListBoxMenu.js +2 -2
  225. package/src/View/Components/FilterForm/QuickFilterForm.js +5 -3
  226. package/src/View/Components/FilterForm/getDefaultColumnFilterPredicate.d.ts +1 -1
  227. package/src/View/Components/FilterForm/getDefaultColumnFilterPredicate.js +2 -1
  228. package/src/View/Components/Forms/AdaptableFormControlTextClear.d.ts +1 -2
  229. package/src/View/Components/ListBox/DualListBoxEditor.js +2 -1
  230. package/src/View/Components/ModuleValueSelector/index.js +2 -1
  231. package/src/View/Components/NewScopeComponent.js +6 -3
  232. package/src/View/Components/Panels/PanelFooter.js +2 -1
  233. package/src/View/Components/Panels/PanelWithImage.d.ts +1 -429
  234. package/src/View/Components/Panels/PanelWithImage.js +2 -0
  235. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopup.js +2 -1
  236. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupBody.js +2 -1
  237. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupDialog.js +2 -1
  238. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupModuleView.js +2 -1
  239. package/src/View/Components/Popups/AdaptablePopup/CustomSettingsPanelView.js +2 -1
  240. package/src/View/Components/Popups/AdaptablePopup/Navigation.js +5 -5
  241. package/src/View/Components/Popups/AdaptablePopup/PopupContext.js +2 -1
  242. package/src/View/Components/Popups/AdaptablePopup/PopupPanel.js +2 -1
  243. package/src/View/Components/Popups/AdaptablePopup/TopBar.js +6 -5
  244. package/src/View/Components/Popups/AdaptablePopup/useMenuItems.js +2 -1
  245. package/src/View/Components/Popups/AdaptablePopupAlert.js +4 -4
  246. package/src/View/Components/Popups/AdaptablePopupPrompt.js +2 -1
  247. package/src/View/Components/Popups/AdaptablePopupTeamSharing.js +2 -1
  248. package/src/View/Components/Popups/AdaptableToaster.js +2 -1
  249. package/src/View/Components/Popups/FormPopups/FormPopups.js +4 -2
  250. package/src/View/Components/Popups/Utilities.js +8 -4
  251. package/src/View/Components/Popups/WindowPopups/WindowPopups.js +2 -1
  252. package/src/View/Components/Selectors/ColumnSelector.js +2 -1
  253. package/src/View/Components/TagValueSelector/index.js +4 -2
  254. package/src/View/Components/ToolPanel/AdaptableToolPanel.d.ts +1 -1
  255. package/src/View/Components/ToolPanel/AdaptableToolPanel.js +5 -1
  256. package/src/View/Components/ToolPanel/CustomToolPanelContent.js +2 -1
  257. package/src/View/Components/ToolPanel/ToolPanelPopup.d.ts +1 -1
  258. package/src/View/Components/ToolPanel/ToolPanelPopup.js +1 -1
  259. package/src/View/Components/ToolPanel/ToolPanelWrapper.js +2 -1
  260. package/src/View/Components/WizardSummaryPage.js +2 -1
  261. package/src/View/ConditionalStyle/Wizard/ConditionalStyleScopeWizardSection.js +2 -1
  262. package/src/View/ConditionalStyle/Wizard/ConditionalStyleSettingsWizardSettings.js +4 -2
  263. package/src/View/ConditionalStyle/Wizard/ConditionalStyleStyleWizardSection.js +2 -1
  264. package/src/View/ConditionalStyle/Wizard/ConditionalStyleWizard.js +2 -1
  265. package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.js +6 -3
  266. package/src/View/CustomSort/Wizard/CustomSortValuesWizardSection.js +6 -3
  267. package/src/View/CustomSort/Wizard/CustomSortWizard.js +2 -1
  268. package/src/View/Dashboard/CustomDashboardButton.js +2 -1
  269. package/src/View/Dashboard/CustomToolbarWrapper.js +2 -1
  270. package/src/View/Dashboard/Dashboard.d.ts +1 -1
  271. package/src/View/Dashboard/Dashboard.js +4 -3
  272. package/src/View/Dashboard/DashboardPopup.js +1 -1
  273. package/src/View/Dashboard/ModuleToolbarWrapper.js +2 -1
  274. package/src/View/DataChangeHistory/DataChangeHistoryGrid.d.ts +7 -0
  275. package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +6 -6
  276. package/src/View/DataChangeHistory/DataChangeHistoryStatusBarContent.js +2 -1
  277. package/src/View/DataChangeHistory/DataChangeHistoryViewPanel.js +2 -1
  278. package/src/View/DataChangeHistory/buildActionColumnButton.js +13 -9
  279. package/src/View/DataSet/DataSetSelector.js +2 -1
  280. package/src/View/DataSet/DataSetStatusPanelPopover.js +2 -1
  281. package/src/View/DataSet/DataSetViewPanel.d.ts +1 -1
  282. package/src/View/Export/ExportSelector.js +2 -1
  283. package/src/View/Export/ExportViewPanel.d.ts +1 -1
  284. package/src/View/Export/ReportExportDropdown.js +2 -1
  285. package/src/View/Export/Wizard/NewReportWizard.js +4 -2
  286. package/src/View/Export/Wizard/ReportColumnsWizardSection.js +6 -3
  287. package/src/View/Export/Wizard/ReportNameWizardSection.js +6 -3
  288. package/src/View/Export/Wizard/ReportRowsWizardSection.js +6 -3
  289. package/src/View/Filter/ActiveFiltersPanel.js +2 -1
  290. package/src/View/Filter/FilterStatusBarSubPanelPopover.js +2 -1
  291. package/src/View/Filter/FilterSummary.d.ts +1 -1
  292. package/src/View/Filter/FilterViewPanel.d.ts +1 -1
  293. package/src/View/FlashingCell/FlashingCellStyle.js +2 -1
  294. package/src/View/FlashingCell/Wizard/FlashingCellRulesWizardSection.js +4 -2
  295. package/src/View/FlashingCell/Wizard/FlashingCellScopeWizardSection.js +2 -1
  296. package/src/View/FlashingCell/Wizard/FlashingCellSettingsWizardSection.js +10 -5
  297. package/src/View/FlashingCell/Wizard/FlashingCellStyleWizardSection.js +6 -3
  298. package/src/View/FlashingCell/Wizard/FlashingCellWizard.js +2 -1
  299. package/src/View/FlashingCell/Wizard/isValidFlashingCellRules.js +2 -1
  300. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +8 -4
  301. package/src/View/FormatColumn/Wizard/FormatColumnScopeWizardSection.js +4 -2
  302. package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +4 -2
  303. package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.js +4 -2
  304. package/src/View/FreeTextColumn/Wizard/FreeTextColumnSettingsWizardSection.js +6 -3
  305. package/src/View/FreeTextColumn/Wizard/FreeTextColumnWizard.js +2 -1
  306. package/src/View/GridInfo/AdaptableObjectsSummary.js +2 -1
  307. package/src/View/GridInfo/AdaptableOptionsComponent.js +2 -1
  308. package/src/View/GridInfo/GridInfoPopup.js +6 -4
  309. package/src/View/KeyHint.js +2 -1
  310. package/src/View/Layout/EditCurrentLayoutButton.js +2 -1
  311. package/src/View/Layout/LayoutCloneButton.js +2 -1
  312. package/src/View/Layout/LayoutEditorStandalonePopup.js +2 -1
  313. package/src/View/Layout/LayoutPopup.d.ts +1 -1
  314. package/src/View/Layout/LayoutRadioSelector.js +2 -1
  315. package/src/View/Layout/LayoutStatusBarSubPanelPopover.js +2 -1
  316. package/src/View/Layout/LayoutViewPanel.d.ts +1 -1
  317. package/src/View/Layout/Wizard/LayoutEditor/ColumnLabels.js +2 -1
  318. package/src/View/Layout/Wizard/LayoutEditor/ColumnList.js +2 -1
  319. package/src/View/Layout/Wizard/LayoutEditor/ColumnSortList.js +2 -1
  320. package/src/View/Layout/Wizard/LayoutEditor/PivotList.js +2 -1
  321. package/src/View/Layout/Wizard/LayoutEditor/RowGroupsList.js +2 -1
  322. package/src/View/Layout/Wizard/LayoutEditor/getItemStyle.js +2 -1
  323. package/src/View/Layout/Wizard/LayoutEditor/reducer.js +4 -2
  324. package/src/View/Layout/Wizard/LayoutEditor/utils.js +2 -1
  325. package/src/View/License/LicenseWatermark.js +1 -1
  326. package/src/View/PlusMinus/Wizard/PlusMinusScopeWizardSection.js +2 -1
  327. package/src/View/PlusMinus/Wizard/PlusMinusSettingsWizardSection.js +6 -3
  328. package/src/View/PlusMinus/Wizard/PlusMinusWizard.js +2 -1
  329. package/src/View/Query/EditCurrentQueryButton.js +2 -1
  330. package/src/View/Query/ExpandedQueryPopup.js +2 -1
  331. package/src/View/Query/QueryViewPanel.d.ts +1 -1
  332. package/src/View/Query/Wizard/NamedQueryExpressionWizardSection.js +6 -3
  333. package/src/View/Query/Wizard/NamedQuerySettingsWizardSection.js +6 -3
  334. package/src/View/QuickSearch/QuickSearchStatusBarContent.js +2 -1
  335. package/src/View/QuickSearch/QuickSearchViewPanel.d.ts +1 -1
  336. package/src/View/QuickSearch/useQuickSearchDebounced.js +2 -1
  337. package/src/View/Schedule/Wizard/ScheduleScheduleSummary.js +2 -1
  338. package/src/View/Schedule/Wizard/ScheduleScheduleWizard.js +4 -2
  339. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsGlue42.js +2 -1
  340. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsIPushPull.js +2 -1
  341. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsOpenFin.js +2 -1
  342. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReminder.js +2 -1
  343. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReport.js +2 -1
  344. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsSummary.js +4 -2
  345. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsWizard.js +2 -1
  346. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/isSettingsValid.js +2 -1
  347. package/src/View/Schedule/Wizard/ScheduleWizard.js +2 -1
  348. package/src/View/Shortcut/Wizard/ShortcutScopeWizardSection.js +2 -1
  349. package/src/View/Shortcut/Wizard/ShortcutSettingsWizard.js +6 -3
  350. package/src/View/Shortcut/Wizard/ShortcutWizard.js +2 -1
  351. package/src/View/SpecialColumnSettingsWizardStep.js +2 -1
  352. package/src/View/StateManagement/StateManagementPopup.js +2 -1
  353. package/src/View/StateManagement/StateManagementViewPanel.js +2 -1
  354. package/src/View/StateManagement/components/ClearButton.js +2 -1
  355. package/src/View/StateManagement/components/ExportDropdown.js +2 -1
  356. package/src/View/StateManagement/components/LoadButton.js +2 -1
  357. package/src/View/StateManagement/handleExportState.js +2 -1
  358. package/src/View/StatusBar/AdaptableStatusBar.js +2 -1
  359. package/src/View/StatusBar/StatusBarPanel.js +2 -1
  360. package/src/View/StatusBar/StatusBarPopup.js +5 -4
  361. package/src/View/SystemStatus/SystemStatusStatusBarContent.js +2 -1
  362. package/src/View/SystemStatus/SystemStatusViewPanel.d.ts +1 -1
  363. package/src/View/SystemStatus/Utilities/getStatusItemStyle.js +2 -1
  364. package/src/View/Theme/ThemeStatusPanelPopover.js +2 -1
  365. package/src/View/UIHelper.d.ts +2 -0
  366. package/src/View/UIHelper.js +12 -11
  367. package/src/View/Wizard/AdaptableWizard.js +2 -1
  368. package/src/View/Wizard/ObjectTagsWizardSection.js +4 -2
  369. package/src/View/Wizard/OnePageAdaptableWizard.js +10 -5
  370. package/src/View/Wizard/OnePageWizards.js +8 -4
  371. package/src/View/Wizard/useKeyboardNavigation.js +2 -1
  372. package/src/View/renderWithAdaptableContext.js +2 -1
  373. package/src/agGrid/ActionColumnRenderer.d.ts +1 -1
  374. package/src/agGrid/ActionColumnRenderer.js +1 -1
  375. package/src/agGrid/Adaptable.js +31 -28
  376. package/src/agGrid/CheckboxRenderer.js +2 -1
  377. package/src/agGrid/FilterWrapper.js +2 -1
  378. package/src/agGrid/FloatingFilterWrapper.js +2 -1
  379. package/src/agGrid/PercentBarRenderer.js +2 -1
  380. package/src/agGrid/agGridHelper.js +3 -1
  381. package/src/agGrid/agGridMenuHelper.js +13 -10
  382. package/src/agGrid/createAgStatusPanelComponent.js +2 -1
  383. package/src/components/AdaptableFormComponent/AdaptableFormComponent.js +8 -5
  384. package/src/components/AdaptableIconComponent/index.d.ts +10 -0
  385. package/src/components/AdaptableIconComponent/index.js +40 -0
  386. package/src/components/CheckBox/index.js +2 -1
  387. package/src/components/CodeBlock/index.js +2 -1
  388. package/src/components/Dashboard/DashboardManager.js +1 -1
  389. package/src/components/Datepicker/DatepickerContext.js +2 -1
  390. package/src/components/Datepicker/index.d.ts +1 -1
  391. package/src/components/DragAndDropContext/ModuleManager.d.ts +1 -0
  392. package/src/components/DragAndDropContext/ModuleManager.js +5 -4
  393. package/src/components/DragAndDropContext/UnusedPanel.d.ts +3 -2
  394. package/src/components/DragAndDropContext/UnusedPanel.js +14 -12
  395. package/src/components/EllipsisContainer/index.js +4 -2
  396. package/src/components/ExpressionEditor/EditorContext.js +2 -1
  397. package/src/components/ExpressionEditor/ExpressionFunctionDocumentation.js +2 -1
  398. package/src/components/ExpressionEditor/NamedQueryContext.js +3 -1
  399. package/src/components/FileDroppable/index.js +2 -1
  400. package/src/components/FormLayout/index.js +2 -1
  401. package/src/components/Input/index.d.ts +1 -1
  402. package/src/components/List/ListGroupItem/index.d.ts +2 -4
  403. package/src/components/Loader/Loader.js +4 -2
  404. package/src/components/Logo/index.js +2 -1
  405. package/src/components/Modal/Backdrop.js +2 -1
  406. package/src/components/Modal/index.js +2 -1
  407. package/src/components/OverlayTrigger/Overlay.js +2 -1
  408. package/src/components/OverlayTrigger/index.js +2 -1
  409. package/src/components/OverlayTrigger/utils.js +6 -3
  410. package/src/components/PopupWithFooter.d.ts +1 -1
  411. package/src/components/ProgressIndicator/ProgressIndicator.js +2 -1
  412. package/src/components/Radio/index.js +4 -2
  413. package/src/components/ResizeObserver/getResizeObserverObject.js +2 -1
  414. package/src/components/ResizeObserver/index.js +6 -3
  415. package/src/components/SelectList.js +2 -1
  416. package/src/components/SelectableList/index.js +2 -1
  417. package/src/components/SimpleButton/index.d.ts +2 -1
  418. package/src/components/SimpleButton/index.js +19 -6
  419. package/src/components/StylePreview.js +2 -1
  420. package/src/components/Tabs/index.js +6 -3
  421. package/src/components/Textarea/index.d.ts +5 -1
  422. package/src/components/ToggleButton/index.js +2 -1
  423. package/src/components/WindowModal/WindowModal.js +2 -1
  424. package/src/components/WindowModal/useStacking.js +2 -1
  425. package/src/components/icons/DefaultIcon.js +2 -1
  426. package/src/components/icons/index.d.ts +3 -1
  427. package/src/components/icons/index.js +10 -2
  428. package/src/components/utils/useContainerScrollObserver/index.js +2 -1
  429. package/src/components/utils/useGlobalEvent.js +2 -1
  430. package/src/components/utils/useLatest.js +2 -1
  431. package/src/components/utils/useRerender.js +2 -1
  432. package/src/components/utils/uuid.js +2 -1
  433. package/src/metamodel/adaptable-metamodel-model.d.ts +1 -1
  434. package/src/metamodel/adaptable.metamodel.d.ts +219 -112
  435. package/src/metamodel/adaptable.metamodel.js +1 -12958
  436. package/src/types.d.ts +8 -5
  437. package/version.d.ts +1 -1
  438. package/version.js +1 -1
  439. package/src/Api/Events/RowFormSubmitted.d.ts +0 -34
  440. package/src/components/ApplicationIcon.d.ts +0 -6
  441. package/src/components/ApplicationIcon.js +0 -13
@@ -0,0 +1,24 @@
1
+ import { ActionColumn } from '../../types';
2
+ /**
3
+ * A large range of column-related functions in AdapTable
4
+ */
5
+ export interface ActionApi {
6
+ /**
7
+ * Retrieves any Action Columns (provided in User Interface Options)
8
+ */
9
+ getAllActionColumn(): ActionColumn[];
10
+ /**
11
+ * Open edit dialog for row with the given primary key value
12
+ * @param primaryKey - the primary key of the edited row
13
+ */
14
+ displayEditActionRow(primaryKey: any): void;
15
+ /**
16
+ * Open create dialog for a new row
17
+ */
18
+ displayCreateActionRow(): void;
19
+ /**
20
+ * Open create dialog for cloning an existing row
21
+ * @param clonedRowNodePrimaryKey - the primary key of the duplicated row
22
+ */
23
+ displayCloneActionRow(clonedRowNodePrimaryKey?: any): void;
24
+ }
@@ -29,6 +29,7 @@ import { QueryApi } from './QueryApi';
29
29
  import { QueryLanguageApi } from './QueryLanguageApi';
30
30
  import { TeamSharingApi } from './TeamSharingApi';
31
31
  import { ColumnApi } from './ColumnApi';
32
+ import { ActionApi } from './ActionApi';
32
33
  import { ApplicationApi } from './ApplicationApi';
33
34
  import { ScopeApi } from './ScopeApi';
34
35
  import { PredicateApi } from './PredicateApi';
@@ -44,6 +45,10 @@ import { StatusBarApi } from './StatusBarApi';
44
45
  * Has a huge number of classes each dedicated to a specific AdapTable Module or functionality
45
46
  */
46
47
  export interface AdaptableApi {
48
+ /**
49
+ * Provides access to Action Rows and Columns
50
+ */
51
+ actionApi: ActionApi;
47
52
  /**
48
53
  * Provides access to the Alert Module
49
54
  */
@@ -33,7 +33,7 @@ export interface ConfigApi {
33
33
  */
34
34
  setAdaptableStateKey(adaptableStateKey: string, config?: {
35
35
  predefinedConfig: PredefinedConfig;
36
- }): PromiseLike<any>;
36
+ }): PromiseLike<void>;
37
37
  /**
38
38
  * Returns current Predefined Config
39
39
  */
@@ -14,7 +14,7 @@ import { AdaptableStateChangedInfo } from './Events/AdaptableStateChanged';
14
14
  import { FlashingCellDisplayedInfo } from './Events/FlashingCellDisplayed';
15
15
  import { GridDataChangedInfo } from './Events/GridDataChanged';
16
16
  import { TeamSharingEntityChangedInfo } from './Events/TeamSharingEntityChanged';
17
- import { RowFormSubmittedInfo } from './Events/RowFormSubmitted';
17
+ import { ActionRowSubmittedInfo } from './Events/ActionRowSubmitted';
18
18
  import { DataSetChangedInfo } from './Events/DataSetChanged';
19
19
  /**
20
20
  * Responsible for publishing the many Events that AdapTable fires
@@ -196,18 +196,18 @@ export interface EventApi {
196
196
  */
197
197
  off(eventName: 'LiveDataChanged', callback: (liveDataChangedInfo: LiveDataChangedInfo) => void): void;
198
198
  /**
199
- * Event fired when a Row Form is submitted
199
+ * Event fired when an Action Row is submitted
200
200
  *
201
- * @param eventName RowFormSubmitted
202
- * @param callback RowFormSubmittedInfo
201
+ * @param eventName ActionRowSubmitted
202
+ * @param callback ActionRowSubmittedInfo
203
203
  */
204
- on(eventName: 'RowFormSubmitted', callback: (rowEditedFormInfo: RowFormSubmittedInfo) => void): () => void;
204
+ on(eventName: 'ActionRowSubmitted', callback: (actionRowSubmittedInfo: ActionRowSubmittedInfo) => void): () => void;
205
205
  /**
206
- * Unsubscribe from RowFormSubmitted
207
- * @param eventName RowFormSubmitted
206
+ * Unsubscribe from ActionRowSubmitted
207
+ * @param eventName ActionRowSubmitted
208
208
  * @param callback
209
209
  */
210
- off(eventName: 'RowFormSubmitted', callback: (rowEditedFormInfo: RowFormSubmittedInfo) => void): void;
210
+ off(eventName: 'ActionRowSubmitted', callback: (actionRowSubmittedInfo: ActionRowSubmittedInfo) => void): void;
211
211
  /**
212
212
  * Event fired when a DataSet is changed
213
213
  *
@@ -252,6 +252,6 @@ export interface EventApi {
252
252
  emitSync(eventName: 'DashboardChanged', data?: any): any[];
253
253
  emitSync(eventName: 'FlashingCellDisplayed', data?: any): any[];
254
254
  emitSync(eventName: 'AdaptableDestroy'): any[];
255
- emit(eventName: 'AdaptableReady' | 'AlertFired' | 'CheckboxColumnClicked' | 'CustomToolbarConfigured' | 'AdaptableStateChanged' | 'DashboardChanged' | 'CellChanged' | 'GridDataChanged' | 'LayoutChanged' | 'LiveDataChanged' | 'SearchChanged' | 'SelectionChanged' | 'SystemStatusMessageDisplayed' | 'TeamSharingEntityChanged' | 'ThemeChanged' | 'FDC3MessageSent' | 'RowFormSubmitted' | 'DataSetChanged', data?: any): Promise<any>;
255
+ emit(eventName: 'AdaptableReady' | 'AlertFired' | 'CheckboxColumnClicked' | 'CustomToolbarConfigured' | 'AdaptableStateChanged' | 'DashboardChanged' | 'CellChanged' | 'GridDataChanged' | 'LayoutChanged' | 'LiveDataChanged' | 'SearchChanged' | 'SelectionChanged' | 'SystemStatusMessageDisplayed' | 'TeamSharingEntityChanged' | 'ThemeChanged' | 'FDC3MessageSent' | 'ActionRowSubmitted' | 'DataSetChanged', data?: any): Promise<any>;
256
256
  destroy(): void;
257
257
  }
@@ -0,0 +1,58 @@
1
+ import { BaseEventInfo } from './BaseEventInfo';
2
+ import { AdaptableFormData } from '../../PredefinedConfig/Common/AdaptableForm';
3
+ import { RowNode } from '@ag-grid-community/all-modules';
4
+ /**
5
+ * Info passed into ActionRowSubmitted Event - can be `CreatedActionRowInfo` or `EditedActionRowInfo` or `DeletedActionRowInfo`
6
+ */
7
+ export declare type ActionRowSubmittedInfo = CreatedActionRowInfo | EditedActionRowInfo | DeletedActionRowInfo;
8
+ /**
9
+ * Type of Action Row - Created, Edited or Deleted
10
+ */
11
+ export declare type ActionRowType = 'rowCreated' | 'rowEdited' | 'rowDeleted';
12
+ /**
13
+ * Info passed into ActionRowSubmitted Event for Created Rows
14
+ */
15
+ export interface CreatedActionRowInfo extends BaseEventInfo {
16
+ /**
17
+ * Specifies its a Created Action Row
18
+ */
19
+ type: 'rowCreated';
20
+ /**
21
+ * Data entered in the Form
22
+ */
23
+ formData: AdaptableFormData;
24
+ /**
25
+ * Node being cloned
26
+ */
27
+ clonedRowNode?: RowNode;
28
+ }
29
+ /**
30
+ * Info passed into ActionRowSubmitted Event for Edited Rows
31
+ */
32
+ export interface EditedActionRowInfo extends BaseEventInfo {
33
+ /**
34
+ * Specifies its an Edited Action Row
35
+ */
36
+ type: 'rowEdited';
37
+ /**
38
+ * Data entered in the Form
39
+ */
40
+ formData: AdaptableFormData;
41
+ /**
42
+ * Node being edited
43
+ */
44
+ rowNode: RowNode;
45
+ }
46
+ /**
47
+ * Info passed into ActionRowSubmitted Event for Deleted Rows
48
+ */
49
+ export interface DeletedActionRowInfo extends BaseEventInfo {
50
+ /**
51
+ * Specifies its a Deleted Action Row
52
+ */
53
+ type: 'rowDeleted';
54
+ /**
55
+ * Node being deleted
56
+ */
57
+ rowNode: RowNode;
58
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -464,18 +464,4 @@ export interface GridApi {
464
464
  * Opens Settings Panel with Grid Info section selected and visible
465
465
  */
466
466
  showGridInfoPopup(): void;
467
- /**
468
- * Open edit dialog for row with the given primary key value
469
- * @param primaryKey - the primary key of the edited row
470
- */
471
- openEditRowForm(primaryKey: any): void;
472
- /**
473
- * Open create dialog for a new row
474
- */
475
- openCreateRowForm(): void;
476
- /**
477
- * Open create dialog for cloning an existing row
478
- * @param clonedRowNodePrimaryKey - the primary key of the duplicated row
479
- */
480
- openCloneRowForm(clonedRowNodePrimaryKey?: any): void;
481
467
  }
@@ -0,0 +1,8 @@
1
+ import { ActionApi, ActionColumn } from '../../../types';
2
+ import { ApiBase } from './ApiBase';
3
+ export declare class ActionApiImpl extends ApiBase implements ActionApi {
4
+ getAllActionColumn(): ActionColumn[];
5
+ displayEditActionRow(primaryKey: any): void;
6
+ displayCreateActionRow(duplicatedRowNodePrimaryKey?: any): void;
7
+ displayCloneActionRow(clonedRowNodePrimaryKey?: any): void;
8
+ }
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ActionApiImpl = void 0;
4
+ const PopupRedux_1 = require("../../Redux/ActionsReducers/PopupRedux");
5
+ const LoggingHelper_1 = require("../../Utilities/Helpers/LoggingHelper");
6
+ const ApiBase_1 = require("./ApiBase");
7
+ class ActionApiImpl extends ApiBase_1.ApiBase {
8
+ getAllActionColumn() {
9
+ var _a;
10
+ return (_a = this.getActionOptions().actionColumns) !== null && _a !== void 0 ? _a : [];
11
+ }
12
+ displayEditActionRow(primaryKey) {
13
+ const rowNode = this.adaptable.api.gridApi.getRowNodeForPrimaryKey(primaryKey);
14
+ if (!rowNode) {
15
+ LoggingHelper_1.LogAdaptableWarning(`Can NOT edit row: rowNode not found for primaryKey ${primaryKey}`);
16
+ }
17
+ const editForm = this.adaptable.api.internalApi
18
+ .getRowEditService()
19
+ .buildRowEditForm(rowNode);
20
+ this.dispatchAction(PopupRedux_1.PopupShowForm({
21
+ Id: 'edit_row_form',
22
+ Form: editForm,
23
+ // formProps are added to the formContext
24
+ FormProps: {
25
+ rowNode,
26
+ },
27
+ }));
28
+ }
29
+ displayCreateActionRow(duplicatedRowNodePrimaryKey) {
30
+ const createForm = this.adaptable.api.internalApi
31
+ .getRowEditService()
32
+ .buildRowCreateForm();
33
+ this.dispatchAction(PopupRedux_1.PopupShowForm({
34
+ Id: 'create_row_form',
35
+ Form: createForm,
36
+ }));
37
+ }
38
+ displayCloneActionRow(clonedRowNodePrimaryKey) {
39
+ const rowNode = this.adaptable.api.gridApi.getRowNodeForPrimaryKey(clonedRowNodePrimaryKey);
40
+ if (!rowNode) {
41
+ LoggingHelper_1.LogAdaptableWarning(`Can NOT clone row: rowNode not found for primaryKey ${clonedRowNodePrimaryKey}`);
42
+ }
43
+ const createForm = this.adaptable.api.internalApi
44
+ .getRowEditService()
45
+ .buildRowCreateForm(rowNode);
46
+ this.dispatchAction(PopupRedux_1.PopupShowForm({
47
+ Id: 'create_row_form',
48
+ Form: createForm,
49
+ // formProps are added to the formContext
50
+ FormProps: {
51
+ clonedRowNode: rowNode,
52
+ },
53
+ }));
54
+ }
55
+ }
56
+ exports.ActionApiImpl = ActionApiImpl;
@@ -38,8 +38,10 @@ import { DataChangeHistoryApi } from '../DataChangeHistoryApi';
38
38
  import { FlashingCellApi } from '../FlashingCellApi';
39
39
  import { ChartingApi } from '../ChartingApi';
40
40
  import { StatusBarApi } from '../StatusBarApi';
41
+ import { ActionApi } from '../../../types';
41
42
  export declare class AdaptableApiImpl implements AdaptableApi {
42
43
  protected adaptable: IAdaptable;
44
+ actionApi: ActionApi;
43
45
  applicationApi: ApplicationApi;
44
46
  alertApi: AlertApi;
45
47
  flashingCellApi: FlashingCellApi;
@@ -40,11 +40,13 @@ const QueryLanguageApiImpl_1 = require("./QueryLanguageApiImpl");
40
40
  const FlashingCellApiImpl_1 = require("./FlashingCellApiImpl");
41
41
  const ChartingApiImpl_1 = require("./ChartingApiImpl");
42
42
  const SettingsPanelApiImpl_1 = require("./SettingsPanelApiImpl");
43
+ const ActionApiImpl_1 = require("./ActionApiImpl");
43
44
  class AdaptableApiImpl {
44
45
  constructor(adaptable) {
45
46
  this.adaptable = adaptable;
46
47
  this.destroyed = false;
47
48
  this.adaptable = adaptable;
49
+ this.actionApi = new ActionApiImpl_1.ActionApiImpl(adaptable);
48
50
  this.applicationApi = new ApplicationApiImpl_1.ApplicationApiImpl(adaptable);
49
51
  this.alertApi = new AlertApiImpl_1.AlertApiImpl(adaptable);
50
52
  this.flashingCellApi = new FlashingCellApiImpl_1.FlashingCellApiImpl(adaptable);
@@ -1,4 +1,4 @@
1
- import { ApiBase } from './ApiBase';
1
+ import { ApiBase, LayoutAssociatedObjectLoadConfig } from './ApiBase';
2
2
  import { AlertApi } from '../AlertApi';
3
3
  import { AlertState, AlertDefinition, AlertProperties, AdaptableAlertAction, AlertButton } from '../../PredefinedConfig/AlertState';
4
4
  import { CellDataChangedInfo } from '../../PredefinedConfig/Common/CellDataChangedInfo';
@@ -12,9 +12,7 @@ import { GridDataChangedInfo } from '../Events/GridDataChanged';
12
12
  export declare class AlertApiImpl extends ApiBase implements AlertApi {
13
13
  getAlertState(): AlertState;
14
14
  getAdaptableFormByName(name: string): AdaptableForm<AlertFormContext> | undefined;
15
- getAlertDefinitions(config?: {
16
- includeLayoutNotAssociatedObjects?: boolean;
17
- }): AlertDefinition[];
15
+ getAlertDefinitions(config?: LayoutAssociatedObjectLoadConfig): AlertDefinition[];
18
16
  getAlertDefinitionById(id: AlertDefinition['Uuid']): AlertDefinition;
19
17
  getNonReactiveAlertDefinitions(): AlertDefinition[];
20
18
  getActiveNonReactiveAlertDefinitions(): AlertDefinition[];
@@ -21,9 +21,8 @@ class AlertApiImpl extends ApiBase_1.ApiBase {
21
21
  return (_a = alertForms.find((f) => f.name === name)) === null || _a === void 0 ? void 0 : _a.form;
22
22
  }
23
23
  getAlertDefinitions(config) {
24
- var _a, _b;
25
- return ((_b = (_a = this.getAlertState().AlertDefinitions) === null || _a === void 0 ? void 0 : _a.filter((alertDefinition) => (config === null || config === void 0 ? void 0 : config.includeLayoutNotAssociatedObjects) ||
26
- this.adaptable.api.internalApi.isObjectAvailableInLayout(alertDefinition, 'Alert'))) !== null && _b !== void 0 ? _b : []);
24
+ var _a;
25
+ return ((_a = this.handleLayoutAssociatedObjects(this.getAlertState().AlertDefinitions, 'Alert', config)) !== null && _a !== void 0 ? _a : []);
27
26
  }
28
27
  getAlertDefinitionById(id) {
29
28
  return this.getAlertDefinitions().find((alert) => (alert === null || alert === void 0 ? void 0 : alert.Uuid) === id);
@@ -7,7 +7,7 @@ import { ModuleInfo } from '../../Strategy/Interface/IModule';
7
7
  import { AdaptableOptions } from '../../AdaptableOptions/AdaptableOptions';
8
8
  import { AdaptableApi } from '../AdaptableApi';
9
9
  import { ExportOptions } from '../../AdaptableOptions/ExportOptions';
10
- import { ContainerOptions, DashboardOptions, EditOptions, FilterOptions, GeneralOptions, LayoutOptions, MenuOptions, SearchOptions, StateOptions, TeamSharingOptions, UserInterfaceOptions } from '../../types';
10
+ import { ActionOptions, ContainerOptions, DashboardOptions, EditOptions, FilterOptions, GeneralOptions, LayoutAssociatedObject, LayoutOptions, MenuOptions, SearchOptions, StateOptions, TeamSharingOptions, UserInterfaceOptions } from '../../types';
11
11
  import { NotificationsOptions } from '../../AdaptableOptions/NotificationsOptions';
12
12
  import { ToolPanelOptions } from '../../AdaptableOptions/ToolPanelOptions';
13
13
  import { ModuleParams } from '../../View/Components/SharedProps/ModuleViewPopupProps';
@@ -31,6 +31,10 @@ export declare abstract class ApiBase {
31
31
  */
32
32
  protected checkItemExists(item: any, name: string, type: string): boolean;
33
33
  protected checkArrayExists(array: any): boolean;
34
+ protected handleLayoutAssociatedObjects<T extends LayoutAssociatedObject>(associatedObjects: T[], module: AdaptableModule, config?: {
35
+ includeLayoutNotAssociatedObjects?: boolean;
36
+ associatedWithLayout?: string;
37
+ }): T[];
34
38
  /**
35
39
  * Base api Helper method that dispatches a *Redux Action* to the Store
36
40
  * @param action the Redux Action to be dispatched
@@ -46,6 +50,7 @@ export declare abstract class ApiBase {
46
50
  protected getModuleInfoByModuleId(module: AdaptableModule): ModuleInfo;
47
51
  protected showModulePopup(module: AdaptableModule, moduleParams?: ModuleParams): void;
48
52
  protected getOptions(): AdaptableOptions;
53
+ protected getActionOptions(): ActionOptions;
49
54
  protected getColumnOptions(): ColumnOptions;
50
55
  protected getContainerOptions(): ContainerOptions;
51
56
  protected getNotificationsOptions(): NotificationsOptions;
@@ -67,3 +72,10 @@ export declare abstract class ApiBase {
67
72
  protected getAdaptableApi(): AdaptableApi;
68
73
  destroy(): void;
69
74
  }
75
+ /**
76
+ * Configuration for API methods which load `LayoutAssociatedObject`
77
+ */
78
+ export interface LayoutAssociatedObjectLoadConfig {
79
+ includeLayoutNotAssociatedObjects?: boolean;
80
+ associatedWithLayout?: string;
81
+ }
@@ -37,6 +37,13 @@ class ApiBase {
37
37
  }
38
38
  return true;
39
39
  }
40
+ handleLayoutAssociatedObjects(associatedObjects = [], module, config) {
41
+ const associatedLayout = (config === null || config === void 0 ? void 0 : config.associatedWithLayout)
42
+ ? this.adaptable.api.layoutApi.getLayoutByName(config.associatedWithLayout)
43
+ : this.getAdaptableApi().layoutApi.getCurrentLayout();
44
+ return associatedObjects.filter((associatedObject) => (config === null || config === void 0 ? void 0 : config.includeLayoutNotAssociatedObjects) ||
45
+ this.adaptable.api.internalApi.isObjectAvailableInLayout(associatedObject, module, associatedLayout));
46
+ }
40
47
  /**
41
48
  * Base api Helper method that dispatches a *Redux Action* to the Store
42
49
  * @param action the Redux Action to be dispatched
@@ -74,6 +81,9 @@ class ApiBase {
74
81
  getOptions() {
75
82
  return this.adaptable.adaptableOptions;
76
83
  }
84
+ getActionOptions() {
85
+ return this.getOptions().actionOptions;
86
+ }
77
87
  getColumnOptions() {
78
88
  return this.getOptions().columnOptions;
79
89
  }
@@ -76,8 +76,8 @@ class ColumnApiImpl extends ApiBase_1.ApiBase {
76
76
  }
77
77
  isActionColumn(columnId) {
78
78
  var _a;
79
- return (((_a = this.adaptable.api.userInterfaceApi
80
- .getAllActionColumn()) === null || _a === void 0 ? void 0 : _a.find((cc) => cc.columnId == columnId)) != null);
79
+ return (((_a = this.adaptable.api.actionApi.getAllActionColumn()) === null || _a === void 0 ? void 0 : _a.find((cc) => cc.columnId == columnId)) !=
80
+ null);
81
81
  }
82
82
  isFormatNumericStyleColumn(column) {
83
83
  if (column) {
@@ -1,13 +1,11 @@
1
- import { ApiBase } from './ApiBase';
1
+ import { ApiBase, LayoutAssociatedObjectLoadConfig } from './ApiBase';
2
2
  import { ConditionalStyleApi } from '../ConditionalStyleApi';
3
3
  import { ConditionalStyleState, ConditionalStyle } from '../../PredefinedConfig/ConditionalStyleState';
4
4
  import { AdaptableColumn, AdaptableScope } from '../../types';
5
5
  import { AdaptablePredicateDef } from '../../PredefinedConfig/Common/AdaptablePredicate';
6
6
  export declare class ConditionalStyleApiImpl extends ApiBase implements ConditionalStyleApi {
7
7
  getConditionalStyleState(): ConditionalStyleState;
8
- getAllConditionalStyle(config?: {
9
- includeLayoutNotAssociatedObjects?: boolean;
10
- }): ConditionalStyle[];
8
+ getAllConditionalStyle(config?: LayoutAssociatedObjectLoadConfig): ConditionalStyle[];
11
9
  getAllActiveConditionalStyle(): ConditionalStyle[];
12
10
  getConditionalStyleById(id: ConditionalStyle['Uuid']): ConditionalStyle;
13
11
  getAllSuspendedConditionalStyle(): ConditionalStyle[];
@@ -10,9 +10,8 @@ class ConditionalStyleApiImpl extends ApiBase_1.ApiBase {
10
10
  return this.getAdaptableState().ConditionalStyle;
11
11
  }
12
12
  getAllConditionalStyle(config) {
13
- var _a, _b;
14
- return ((_b = (_a = this.getConditionalStyleState().ConditionalStyles) === null || _a === void 0 ? void 0 : _a.filter((conditionalStyle) => (config === null || config === void 0 ? void 0 : config.includeLayoutNotAssociatedObjects) ||
15
- this.adaptable.api.internalApi.isObjectAvailableInLayout(conditionalStyle, 'ConditionalStyle'))) !== null && _b !== void 0 ? _b : []);
13
+ var _a;
14
+ return ((_a = this.handleLayoutAssociatedObjects(this.getConditionalStyleState().ConditionalStyles, 'ConditionalStyle', config)) !== null && _a !== void 0 ? _a : []);
16
15
  }
17
16
  getAllActiveConditionalStyle() {
18
17
  return this.getAllConditionalStyle().filter((style) => !style.IsSuspended);
@@ -39,7 +39,7 @@ export declare class ConfigApiImpl extends ApiBase implements ConfigApi {
39
39
  setAdaptableStateKey(adaptableStateKey: string, config?: {
40
40
  predefinedConfig: PredefinedConfig;
41
41
  flushCurrentState?: boolean;
42
- }): Promise<any>;
42
+ }): Promise<void>;
43
43
  getDescriptionForModule(module: AdaptableModule): string;
44
44
  getHelpPageForModule(module: AdaptableModule): string;
45
45
  getUserStateByStateKey(stateKey: AdaptableStateKey, returnJson?: boolean): ConfigState | string;
@@ -1,11 +1,9 @@
1
- import { ApiBase } from './ApiBase';
1
+ import { ApiBase, LayoutAssociatedObjectLoadConfig } from './ApiBase';
2
2
  import { CustomSortApi } from '../CustomSortApi';
3
3
  import { CustomSortState, CustomSort } from '../../PredefinedConfig/CustomSortState';
4
4
  export declare class CustomSortApiImpl extends ApiBase implements CustomSortApi {
5
5
  getCustomSortState(): CustomSortState;
6
- getAllCustomSort(config?: {
7
- includeLayoutNotAssociatedObjects?: boolean;
8
- }): CustomSort[];
6
+ getAllCustomSort(config?: LayoutAssociatedObjectLoadConfig): CustomSort[];
9
7
  getCustomSortById(id: CustomSort['Uuid']): CustomSort;
10
8
  getAllActiveCustomSort(): CustomSort[];
11
9
  getAllSuspendedCustomSort(): CustomSort[];
@@ -10,9 +10,8 @@ class CustomSortApiImpl extends ApiBase_1.ApiBase {
10
10
  return this.getAdaptableState().CustomSort;
11
11
  }
12
12
  getAllCustomSort(config) {
13
- var _a, _b;
14
- return ((_b = (_a = this.getCustomSortState().CustomSorts) === null || _a === void 0 ? void 0 : _a.filter((customSort) => (config === null || config === void 0 ? void 0 : config.includeLayoutNotAssociatedObjects) ||
15
- this.adaptable.api.internalApi.isObjectAvailableInLayout(customSort, 'CustomSort'))) !== null && _b !== void 0 ? _b : []);
13
+ var _a;
14
+ return ((_a = this.handleLayoutAssociatedObjects(this.getCustomSortState().CustomSorts, 'CustomSort', config)) !== null && _a !== void 0 ? _a : []);
16
15
  }
17
16
  getCustomSortById(id) {
18
17
  return this.getAllCustomSort().find((customSort) => customSort.Uuid === id);
@@ -1,4 +1,4 @@
1
- import { ApiBase } from './ApiBase';
1
+ import { ApiBase, LayoutAssociatedObjectLoadConfig } from './ApiBase';
2
2
  import { AdaptableFlashingCell } from '../../PredefinedConfig/Common/AdaptableFlashingCell';
3
3
  import { FlashingCellApi } from '../FlashingCellApi';
4
4
  import { FlashingCellDefinition, FlashingCellState } from '../../PredefinedConfig/FlashingCellState';
@@ -6,9 +6,7 @@ import { AdaptablePredicateDef } from '../../PredefinedConfig/Common/AdaptablePr
6
6
  import { AdaptableScope } from '../../PredefinedConfig/Common/AdaptableScope';
7
7
  export declare class FlashingCellApiImpl extends ApiBase implements FlashingCellApi {
8
8
  getFlashingCellState(): FlashingCellState;
9
- getFlashingCellDefinitions(config?: {
10
- includeLayoutNotAssociatedObjects?: boolean;
11
- }): FlashingCellDefinition[];
9
+ getFlashingCellDefinitions(config?: LayoutAssociatedObjectLoadConfig): FlashingCellDefinition[];
12
10
  mergeFlashingCellDefinitionWithDefaults(flashingCellDefinition: FlashingCellDefinition): FlashingCellDefinition;
13
11
  getFlashingCellDefinitionById(id: FlashingCellDefinition['Uuid']): FlashingCellDefinition;
14
12
  getActiveFlashingCellDefinitions(): FlashingCellDefinition[];
@@ -10,9 +10,8 @@ class FlashingCellApiImpl extends ApiBase_1.ApiBase {
10
10
  return this.getAdaptableState().FlashingCell;
11
11
  }
12
12
  getFlashingCellDefinitions(config) {
13
- var _a, _b;
14
- const flashingCellDefinitions = (_b = (_a = this.getFlashingCellState().FlashingCellDefinitions) === null || _a === void 0 ? void 0 : _a.filter((flashingCellDefinition) => (config === null || config === void 0 ? void 0 : config.includeLayoutNotAssociatedObjects) ||
15
- this.adaptable.api.internalApi.isObjectAvailableInLayout(flashingCellDefinition, 'FlashingCell'))) !== null && _b !== void 0 ? _b : [];
13
+ var _a;
14
+ const flashingCellDefinitions = (_a = this.handleLayoutAssociatedObjects(this.getFlashingCellState().FlashingCellDefinitions, 'FlashingCell', config)) !== null && _a !== void 0 ? _a : [];
16
15
  return flashingCellDefinitions.map((flashingCellDefinition) => {
17
16
  return this.mergeFlashingCellDefinitionWithDefaults(flashingCellDefinition);
18
17
  });
@@ -1,5 +1,5 @@
1
1
  import { AdaptableStyle } from '../../PredefinedConfig/Common/AdaptableStyle';
2
- import { ApiBase } from './ApiBase';
2
+ import { ApiBase, LayoutAssociatedObjectLoadConfig } from './ApiBase';
3
3
  import { FormatColumnApi } from '../FormatColumnApi';
4
4
  import { FormatColumnState, FormatColumn, ColumnStyle, ColumnComparison } from '../../PredefinedConfig/FormatColumnState';
5
5
  import { AdaptableColumn } from '../../PredefinedConfig/Common/AdaptableColumn';
@@ -7,9 +7,7 @@ import { RowNode } from '@ag-grid-community/all-modules';
7
7
  import { AdaptableFormat } from '../../types';
8
8
  export declare class FormatColumnApiImpl extends ApiBase implements FormatColumnApi {
9
9
  getFormatColumnState(): FormatColumnState;
10
- getAllFormatColumn(config?: {
11
- includeLayoutNotAssociatedObjects?: boolean;
12
- }): FormatColumn[];
10
+ getAllFormatColumn(config?: LayoutAssociatedObjectLoadConfig): FormatColumn[];
13
11
  getFormatColumnById(id: FormatColumn['Uuid']): FormatColumn;
14
12
  getAllActiveFormatColumn(): FormatColumn[];
15
13
  getAllSuspendedFormatColumn(): FormatColumn[];
@@ -14,9 +14,8 @@ class FormatColumnApiImpl extends ApiBase_1.ApiBase {
14
14
  return this.getAdaptableState().FormatColumn;
15
15
  }
16
16
  getAllFormatColumn(config) {
17
- var _a, _b;
18
- return ((_b = (_a = this.getFormatColumnState().FormatColumns) === null || _a === void 0 ? void 0 : _a.filter((formatColumn) => (config === null || config === void 0 ? void 0 : config.includeLayoutNotAssociatedObjects) ||
19
- this.adaptable.api.internalApi.isObjectAvailableInLayout(formatColumn, 'FormatColumn'))) !== null && _b !== void 0 ? _b : []);
17
+ var _a;
18
+ return ((_a = this.handleLayoutAssociatedObjects(this.getFormatColumnState().FormatColumns, 'FormatColumn', config)) !== null && _a !== void 0 ? _a : []);
20
19
  }
21
20
  getFormatColumnById(id) {
22
21
  return this.getAllFormatColumn().find((formatColumn) => formatColumn.Uuid === id);
@@ -103,9 +103,6 @@ export declare class GridApiImpl extends ApiBase implements GridApi {
103
103
  refreshRowNode(rowNode: RowNode): void;
104
104
  refreshRowNodes(rowNodes: RowNode[]): void;
105
105
  areCellsEditable(gridCells: GridCell[]): boolean;
106
- openEditRowForm(primaryKey: any): void;
107
- openCreateRowForm(duplicatedRowNodePrimaryKey?: any): void;
108
- openCloneRowForm(clonedRowNodePrimaryKey?: any): void;
109
106
  getRowCount(): number;
110
107
  getVisibleRowCount(): number;
111
108
  getRowsInViewport(): RowNode[];
@@ -7,7 +7,6 @@ const GridRedux = tslib_1.__importStar(require("../../Redux/ActionsReducers/Grid
7
7
  const SystemRedux_1 = require("../../Redux/ActionsReducers/SystemRedux");
8
8
  const ModuleConstants = tslib_1.__importStar(require("../../Utilities/Constants/ModuleConstants"));
9
9
  const LoggingHelper_1 = require("../../Utilities/Helpers/LoggingHelper");
10
- const PopupRedux_1 = require("../../Redux/ActionsReducers/PopupRedux");
11
10
  class GridApiImpl extends ApiBase_1.ApiBase {
12
11
  getGridState() {
13
12
  return this.getAdaptableState().Grid;
@@ -373,49 +372,6 @@ class GridApiImpl extends ApiBase_1.ApiBase {
373
372
  }
374
373
  return true;
375
374
  }
376
- openEditRowForm(primaryKey) {
377
- const rowNode = this.adaptable.api.gridApi.getRowNodeForPrimaryKey(primaryKey);
378
- if (!rowNode) {
379
- LoggingHelper_1.LogAdaptableWarning(`Can NOT edit row: rowNode not found for primaryKey ${primaryKey}`);
380
- }
381
- const editForm = this.adaptable.api.internalApi
382
- .getRowEditService()
383
- .buildRowEditForm(rowNode);
384
- this.dispatchAction(PopupRedux_1.PopupShowForm({
385
- Id: 'edit_row_form',
386
- Form: editForm,
387
- // formProps are added to the formContext
388
- FormProps: {
389
- rowNode,
390
- },
391
- }));
392
- }
393
- openCreateRowForm(duplicatedRowNodePrimaryKey) {
394
- const createForm = this.adaptable.api.internalApi
395
- .getRowEditService()
396
- .buildRowCreateForm();
397
- this.dispatchAction(PopupRedux_1.PopupShowForm({
398
- Id: 'create_row_form',
399
- Form: createForm,
400
- }));
401
- }
402
- openCloneRowForm(clonedRowNodePrimaryKey) {
403
- const rowNode = this.adaptable.api.gridApi.getRowNodeForPrimaryKey(clonedRowNodePrimaryKey);
404
- if (!rowNode) {
405
- LoggingHelper_1.LogAdaptableWarning(`Can NOT clone row: rowNode not found for primaryKey ${clonedRowNodePrimaryKey}`);
406
- }
407
- const createForm = this.adaptable.api.internalApi
408
- .getRowEditService()
409
- .buildRowCreateForm(rowNode);
410
- this.dispatchAction(PopupRedux_1.PopupShowForm({
411
- Id: 'create_row_form',
412
- Form: createForm,
413
- // formProps are added to the formContext
414
- FormProps: {
415
- clonedRowNode: rowNode,
416
- },
417
- }));
418
- }
419
375
  getRowCount() {
420
376
  return this.adaptable.getRowCount();
421
377
  }
@@ -127,7 +127,7 @@ export declare class InternalApiImpl extends ApiBase implements InternalApi {
127
127
  hideProgressIndicator(): void;
128
128
  getCorrectEnglishVariant(wordToSpell: string): string;
129
129
  hasLayoutSpecificObjects(): boolean;
130
- isObjectAvailableInLayout(object: LayoutAssociatedObject, module: AdaptableModule): boolean;
130
+ isObjectAvailableInLayout(object: LayoutAssociatedObject, module: AdaptableModule, layout: Layout): boolean;
131
131
  showLayoutNotAssociatedObjects(): boolean;
132
132
  shouldDisplayTagSections(): boolean;
133
133
  getAvailableTags(): AdaptableObjectTag[] | undefined;
@@ -121,7 +121,7 @@ class InternalApiImpl extends ApiBase_1.ApiBase {
121
121
  ? toFlashingAlert(forPrimaryKey[columnId])
122
122
  : toFlashingAlert(forPrimaryKey[SystemRedux_1.FLASHING_CELL_ROW_KEY]);
123
123
  if ((adaptableFlashingCell === null || adaptableFlashingCell === void 0 ? void 0 : adaptableFlashingCell.flashingCellDefinition) &&
124
- !this.isObjectAvailableInLayout(adaptableFlashingCell.flashingCellDefinition, 'FlashingCell')) {
124
+ !this.isObjectAvailableInLayout(adaptableFlashingCell.flashingCellDefinition, 'FlashingCell', this.getAdaptableApi().layoutApi.getCurrentLayout())) {
125
125
  return;
126
126
  }
127
127
  return adaptableFlashingCell;
@@ -494,18 +494,19 @@ class InternalApiImpl extends ApiBase_1.ApiBase {
494
494
  }
495
495
  return false;
496
496
  }
497
- isObjectAvailableInLayout(object, module) {
497
+ isObjectAvailableInLayout(object, module, layout) {
498
+ var _a;
498
499
  if (!this.hasLayoutSpecificObjects()) {
499
500
  return true;
500
501
  }
501
502
  const layoutTagOptions = this.getAdaptableOptions().layoutOptions.layoutTagOptions;
502
503
  if ((layoutTagOptions === null || layoutTagOptions === void 0 ? void 0 : layoutTagOptions.autoCheckTagsForLayouts) == true) {
503
- return this.getAdaptableApi().layoutApi.isObjectAvailableInCurrentLayout(object);
504
+ return ArrayExtensions_1.default.IsNullOrEmpty(object.Tags) ? true : (_a = object.Tags) === null || _a === void 0 ? void 0 : _a.includes(layout.Name);
504
505
  }
505
506
  const context = {
506
507
  adaptableObject: object,
507
508
  module,
508
- layout: this.getAdaptableApi().layoutApi.getCurrentLayout(),
509
+ layout,
509
510
  adaptableApi: this.getAdaptableApi(),
510
511
  };
511
512
  return layoutTagOptions === null || layoutTagOptions === void 0 ? void 0 : layoutTagOptions.isObjectAvailableInLayout(context);