@adaptabletools/adaptable 12.0.0-canary.2 → 12.0.0-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 (431) hide show
  1. package/base.css +41 -14
  2. package/bundle.cjs.js +159 -142
  3. package/index.css +49 -14
  4. package/package.json +3 -3
  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/AlertOptions.d.ts +5 -9
  10. package/src/AdaptableOptions/ColumnOptions.d.ts +4 -0
  11. package/src/AdaptableOptions/DashboardOptions.d.ts +1 -5
  12. package/src/AdaptableOptions/DataChangeHistoryOptions.d.ts +19 -4
  13. package/src/AdaptableOptions/EditOptions.d.ts +8 -62
  14. package/src/AdaptableOptions/FinancePluginOptions.d.ts +3 -3
  15. package/src/AdaptableOptions/GeneralOptions.d.ts +7 -0
  16. package/src/AdaptableOptions/LayoutOptions.d.ts +6 -1
  17. package/src/AdaptableOptions/SettingsPanelOptions.d.ts +2 -0
  18. package/src/AdaptableOptions/StateOptions.d.ts +10 -0
  19. package/src/AdaptableOptions/ToolPanelOptions.d.ts +1 -5
  20. package/src/AdaptableOptions/UserInterfaceOptions.d.ts +2 -112
  21. package/src/Api/ActionApi.d.ts +24 -0
  22. package/src/Api/{Events/RowFormSubmitted.js → ActionApi.js} +0 -0
  23. package/src/Api/AdaptableApi.d.ts +5 -0
  24. package/src/Api/AlertApi.d.ts +3 -3
  25. package/src/Api/ConfigApi.d.ts +1 -1
  26. package/src/Api/EventApi.d.ts +9 -9
  27. package/src/Api/Events/ActionRowSubmitted.d.ts +34 -0
  28. package/src/Api/Events/ActionRowSubmitted.js +2 -0
  29. package/src/Api/GridApi.d.ts +0 -14
  30. package/src/Api/Implementation/ActionApiImpl.d.ts +8 -0
  31. package/src/Api/Implementation/ActionApiImpl.js +56 -0
  32. package/src/Api/Implementation/AdaptableApiImpl.d.ts +2 -0
  33. package/src/Api/Implementation/AdaptableApiImpl.js +2 -0
  34. package/src/Api/Implementation/AlertApiImpl.d.ts +3 -3
  35. package/src/Api/Implementation/ApiBase.d.ts +2 -1
  36. package/src/Api/Implementation/ApiBase.js +3 -0
  37. package/src/Api/Implementation/ColumnApiImpl.js +2 -2
  38. package/src/Api/Implementation/ConfigApiImpl.d.ts +1 -1
  39. package/src/Api/Implementation/GridApiImpl.d.ts +0 -3
  40. package/src/Api/Implementation/GridApiImpl.js +0 -44
  41. package/src/Api/Implementation/InternalApiImpl.d.ts +3 -3
  42. package/src/Api/Implementation/SmartEditApiImpl.d.ts +1 -1
  43. package/src/Api/Implementation/SmartEditApiImpl.js +2 -1
  44. package/src/Api/Implementation/StatusBarApiImpl.d.ts +4 -3
  45. package/src/Api/Implementation/StatusBarApiImpl.js +2 -2
  46. package/src/Api/Implementation/TeamSharingApiImpl.js +2 -1
  47. package/src/Api/Implementation/UserInterfaceApiImpl.d.ts +1 -2
  48. package/src/Api/Implementation/UserInterfaceApiImpl.js +0 -4
  49. package/src/Api/SmartEditApi.d.ts +1 -1
  50. package/src/Api/StatusBarApi.d.ts +10 -3
  51. package/src/Api/UserInterfaceApi.d.ts +1 -5
  52. package/src/PredefinedConfig/AlertState.d.ts +4 -4
  53. package/src/PredefinedConfig/Common/AdaptableAlert.js +4 -2
  54. package/src/PredefinedConfig/Common/AdaptableColumn.js +2 -1
  55. package/src/PredefinedConfig/Common/AdaptableForm.d.ts +1 -1
  56. package/src/PredefinedConfig/Common/AdaptableIcon.d.ts +24 -18
  57. package/src/PredefinedConfig/Common/AdaptablePredicate.d.ts +2 -4
  58. package/src/PredefinedConfig/Common/AdaptablePredicate.js +38 -36
  59. package/src/PredefinedConfig/Common/AdaptableQuery.js +2 -1
  60. package/src/PredefinedConfig/Common/FormContext.d.ts +3 -0
  61. package/src/PredefinedConfig/Common/Menu.d.ts +3 -3
  62. package/src/PredefinedConfig/Common/Types.d.ts +1 -1
  63. package/src/PredefinedConfig/StatusBarState.d.ts +5 -2
  64. package/src/PredefinedConfig/Uuid.js +2 -1
  65. package/src/Redux/ActionsReducers/AlertRedux.js +16 -8
  66. package/src/Redux/ActionsReducers/ApplicationRedux.js +8 -4
  67. package/src/Redux/ActionsReducers/BulkUpdateRedux.js +6 -3
  68. package/src/Redux/ActionsReducers/CalculatedColumnRedux.js +10 -5
  69. package/src/Redux/ActionsReducers/CellSummaryRedux.js +2 -1
  70. package/src/Redux/ActionsReducers/ConditionalStyleRedux.js +14 -7
  71. package/src/Redux/ActionsReducers/CustomSortRedux.js +14 -7
  72. package/src/Redux/ActionsReducers/DashboardRedux.js +24 -12
  73. package/src/Redux/ActionsReducers/ExportRedux.js +16 -8
  74. package/src/Redux/ActionsReducers/FlashingCellRedux.js +16 -8
  75. package/src/Redux/ActionsReducers/FormatColumnRedux.js +14 -7
  76. package/src/Redux/ActionsReducers/FreeTextColumnRedux.js +14 -7
  77. package/src/Redux/ActionsReducers/GridRedux.js +38 -19
  78. package/src/Redux/ActionsReducers/LayoutRedux.js +30 -15
  79. package/src/Redux/ActionsReducers/PluginsRedux.js +4 -2
  80. package/src/Redux/ActionsReducers/PlusMinusRedux.js +16 -8
  81. package/src/Redux/ActionsReducers/PopupRedux.js +37 -19
  82. package/src/Redux/ActionsReducers/QueryRedux.js +12 -6
  83. package/src/Redux/ActionsReducers/QuickSearchRedux.js +8 -4
  84. package/src/Redux/ActionsReducers/ScheduleRedux.js +58 -29
  85. package/src/Redux/ActionsReducers/ShortcutRedux.js +14 -7
  86. package/src/Redux/ActionsReducers/SmartEditRedux.js +6 -3
  87. package/src/Redux/ActionsReducers/StatusBarRedux.js +10 -5
  88. package/src/Redux/ActionsReducers/SystemRedux.js +103 -51
  89. package/src/Redux/ActionsReducers/SystemStatusRedux.js +4 -2
  90. package/src/Redux/ActionsReducers/TeamSharingRedux.js +22 -11
  91. package/src/Redux/ActionsReducers/ThemeRedux.js +10 -5
  92. package/src/Redux/ActionsReducers/ToolPanelRedux.js +16 -8
  93. package/src/Redux/DeadRedux.js +16 -8
  94. package/src/Redux/Store/AdaptableReduxMerger.js +2 -1
  95. package/src/Redux/Store/AdaptableStore.js +10 -2
  96. package/src/Strategy/AlertModule.d.ts +2 -18
  97. package/src/Strategy/AlertModule.js +2 -1
  98. package/src/Strategy/ConditionalStyleModule.d.ts +2 -10
  99. package/src/Strategy/DashboardModule.js +3 -1
  100. package/src/Strategy/DataChangeHistoryModule.d.ts +2 -8
  101. package/src/Strategy/DataSetModule.d.ts +2 -13
  102. package/src/Strategy/ExportModule.d.ts +2 -13
  103. package/src/Strategy/ExportModule.js +1 -1
  104. package/src/Strategy/FilterModule.d.ts +2 -14
  105. package/src/Strategy/FilterModule.js +1 -1
  106. package/src/Strategy/FlashingCellModule.d.ts +2 -9
  107. package/src/Strategy/GridInfoModule.js +6 -2
  108. package/src/Strategy/LayoutModule.d.ts +2 -17
  109. package/src/Strategy/LayoutModule.js +6 -3
  110. package/src/Strategy/PlusMinusModule.d.ts +2 -9
  111. package/src/Strategy/QuickSearchModule.d.ts +2 -7
  112. package/src/Strategy/ScheduleModule.d.ts +2 -13
  113. package/src/Strategy/ShortcutModule.d.ts +2 -9
  114. package/src/Strategy/StatusBarModule.js +2 -2
  115. package/src/Strategy/SystemStatusModule.d.ts +2 -7
  116. package/src/Strategy/ThemeModule.d.ts +2 -8
  117. package/src/Strategy/Utilities/getAlertBehaviourViewItems.js +2 -1
  118. package/src/Strategy/Utilities/getAlertPreviewViewItems.js +2 -1
  119. package/src/Strategy/Utilities/getCustomSortColumnViewItems.js +2 -1
  120. package/src/Strategy/Utilities/getCustomSortSortOrderViewItems.js +2 -1
  121. package/src/Strategy/Utilities/getExportColumnsViewItems.js +2 -1
  122. package/src/Strategy/Utilities/getExportRowsViewItems.js +2 -1
  123. package/src/Strategy/Utilities/getExpressionViewItems.js +2 -1
  124. package/src/Strategy/Utilities/getFlashingCellDurationViewItems.js +2 -1
  125. package/src/Strategy/Utilities/getFlashingCellStyleViewItems.d.ts +2 -6
  126. package/src/Strategy/Utilities/getFlashingCellStyleViewItems.js +2 -1
  127. package/src/Strategy/Utilities/getFlashingTargetViewItems.js +2 -1
  128. package/src/Strategy/Utilities/getFormatColumnSettingsViewItems.js +2 -1
  129. package/src/Strategy/Utilities/getFormatColumnStyleViewItems.js +2 -1
  130. package/src/Strategy/Utilities/getObjectTagsViewItems.js +2 -1
  131. package/src/Strategy/Utilities/getRuleViewItems.js +2 -1
  132. package/src/Strategy/Utilities/getScopeViewItems.js +2 -1
  133. package/src/Strategy/Utilities/getShortcutSettingsViewItems.js +2 -1
  134. package/src/Strategy/Utilities/getStyleViewItems.js +2 -1
  135. package/src/Utilities/Constants/DocumentationLinkConstants.d.ts +1 -0
  136. package/src/Utilities/Constants/DocumentationLinkConstants.js +2 -1
  137. package/src/Utilities/Constants/GeneralConstants.js +2 -1
  138. package/src/Utilities/Defaults/DefaultAdaptableOptions.js +21 -13
  139. package/src/Utilities/ExpressionFunctions/dateUtils.js +2 -1
  140. package/src/Utilities/ExpressionFunctions/expressionFunctionUtils.js +20 -10
  141. package/src/Utilities/Extensions/TypeExtensions.d.ts +30 -0
  142. package/src/Utilities/Helpers/AdaptableHelper.d.ts +1 -3
  143. package/src/Utilities/Helpers/AdaptableHelper.js +6 -16
  144. package/src/Utilities/Helpers/DateHelper.d.ts +27 -0
  145. package/src/Utilities/Helpers/DateHelper.js +43 -6
  146. package/src/Utilities/Helpers/Helper.js +2 -1
  147. package/src/Utilities/Helpers/LoggingHelper.js +2 -1
  148. package/src/Utilities/Helpers/StyleHelper.js +8 -4
  149. package/src/Utilities/MenuItem.d.ts +4 -3
  150. package/src/Utilities/MenuItem.js +9 -3
  151. package/src/Utilities/ObjectFactory.js +1 -0
  152. package/src/Utilities/Services/Interface/IMetamodelService.d.ts +1 -0
  153. package/src/Utilities/Services/Interface/IRowEditService.d.ts +3 -3
  154. package/src/Utilities/Services/MetamodelService.d.ts +7 -1
  155. package/src/Utilities/Services/MetamodelService.js +82 -6
  156. package/src/Utilities/Services/ModuleService.js +3 -1
  157. package/src/Utilities/Services/RowEditService.d.ts +6 -6
  158. package/src/Utilities/Services/RowEditService.js +24 -25
  159. package/src/Utilities/isAdaptableObject.js +2 -1
  160. package/src/Utilities/isMacLike.js +2 -1
  161. package/src/Utilities/license/decode.js +1 -1
  162. package/src/Utilities/reorder.js +2 -1
  163. package/src/Utilities/runIfNotResolvedIn.js +2 -1
  164. package/src/Utilities/waitForCondition.d.ts +1 -1
  165. package/src/Utilities/waitForCondition.js +2 -1
  166. package/src/View/AdaptableContext.js +2 -1
  167. package/src/View/AdaptableView.js +2 -1
  168. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationWizard.d.ts +13 -1
  169. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationWizard.js +13 -10
  170. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationWizardColumnsStep.js +2 -1
  171. package/src/View/AdaptableWizardView/Utils.js +2 -1
  172. package/src/View/AdaptableWizardView/Wizard.js +4 -2
  173. package/src/View/AdaptableWizardView/helper.js +6 -3
  174. package/src/View/Alert/ActiveAlertsPanel.js +2 -1
  175. package/src/View/Alert/AlertEmptyView.js +2 -1
  176. package/src/View/Alert/AlertStatusSubPanel.js +2 -1
  177. package/src/View/Alert/Utilities/getAlertButtonStyle.js +2 -1
  178. package/src/View/Alert/Wizard/AlertBehaviourWizardSection.js +4 -2
  179. package/src/View/Alert/Wizard/AlertButtonsEditor.d.ts +3 -3
  180. package/src/View/Alert/Wizard/AlertButtonsEditor.js +2 -1
  181. package/src/View/Alert/Wizard/AlertDisplayWizardSection.js +6 -3
  182. package/src/View/Alert/Wizard/AlertRulesWizardSection.js +4 -2
  183. package/src/View/Alert/Wizard/AlertScopeWizardSection.js +2 -1
  184. package/src/View/Alert/Wizard/AlertWizard.js +2 -1
  185. package/src/View/Alert/Wizard/BaseAlertRulesWizardSection.js +2 -1
  186. package/src/View/Alert/Wizard/BaseAlertScopeWizardSection.js +4 -2
  187. package/src/View/Alert/Wizard/isValidAlertRules.js +2 -1
  188. package/src/View/CalculatedColumn/CalculatedColumnSummary.d.ts +1 -1
  189. package/src/View/CalculatedColumn/Utilities/getCalculatedColumnSettingTags.js +2 -1
  190. package/src/View/CalculatedColumn/Wizard/CalculatedColumnExpressionWizardSection.js +6 -3
  191. package/src/View/CalculatedColumn/Wizard/CalculatedColumnSettingsWizardSection.js +6 -3
  192. package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.js +2 -1
  193. package/src/View/CellSummary/CellSummaryPopover.js +2 -1
  194. package/src/View/CellSummary/CellSummaryStatusBarSubPanelPopover.js +2 -1
  195. package/src/View/CellSummary/CellSummaryStatusPanel.js +2 -1
  196. package/src/View/ColorPicker.d.ts +5 -1
  197. package/src/View/Components/AdaptableDateInput/index.d.ts +1 -1
  198. package/src/View/Components/AdaptableDateInput/index.js +11 -11
  199. package/src/View/Components/AdaptableInput/index.d.ts +2 -2
  200. package/src/View/Components/AdaptableObjectList/AdaptableObjectCompactList.js +4 -2
  201. package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +4 -2
  202. package/src/View/Components/Buttons/ButtonClone.js +2 -1
  203. package/src/View/Components/Buttons/ButtonDelete.d.ts +1 -1
  204. package/src/View/Components/Buttons/ButtonEdit.js +2 -1
  205. package/src/View/Components/Buttons/ButtonNew.js +2 -1
  206. package/src/View/Components/ColumnSelector/index.js +2 -1
  207. package/src/View/Components/EntityRulesEditor/index.js +6 -3
  208. package/src/View/Components/ExpressionWizard.js +2 -1
  209. package/src/View/Components/ExternalRenderer.js +2 -1
  210. package/src/View/Components/FilterForm/FilterForm.js +2 -1
  211. package/src/View/Components/FilterForm/ListBoxFilterForm.js +2 -1
  212. package/src/View/Components/FilterForm/ListBoxMenu.js +2 -2
  213. package/src/View/Components/FilterForm/QuickFilterForm.js +5 -3
  214. package/src/View/Components/FilterForm/getDefaultColumnFilterPredicate.d.ts +1 -1
  215. package/src/View/Components/FilterForm/getDefaultColumnFilterPredicate.js +2 -1
  216. package/src/View/Components/Forms/AdaptableFormControlTextClear.d.ts +1 -2
  217. package/src/View/Components/ListBox/DualListBoxEditor.js +2 -1
  218. package/src/View/Components/ModuleValueSelector/index.js +2 -1
  219. package/src/View/Components/NewScopeComponent.js +6 -3
  220. package/src/View/Components/Panels/PanelFooter.js +2 -1
  221. package/src/View/Components/Panels/PanelWithImage.d.ts +1 -429
  222. package/src/View/Components/Panels/PanelWithImage.js +2 -0
  223. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopup.js +2 -1
  224. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupBody.js +2 -1
  225. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupDialog.js +2 -1
  226. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupModuleView.js +2 -1
  227. package/src/View/Components/Popups/AdaptablePopup/CustomSettingsPanelView.js +2 -1
  228. package/src/View/Components/Popups/AdaptablePopup/Navigation.js +5 -5
  229. package/src/View/Components/Popups/AdaptablePopup/PopupContext.js +2 -1
  230. package/src/View/Components/Popups/AdaptablePopup/PopupPanel.js +2 -1
  231. package/src/View/Components/Popups/AdaptablePopup/TopBar.js +6 -5
  232. package/src/View/Components/Popups/AdaptablePopup/useMenuItems.js +2 -1
  233. package/src/View/Components/Popups/AdaptablePopupAlert.js +4 -4
  234. package/src/View/Components/Popups/AdaptablePopupPrompt.js +2 -1
  235. package/src/View/Components/Popups/AdaptablePopupTeamSharing.js +2 -1
  236. package/src/View/Components/Popups/AdaptableToaster.js +2 -1
  237. package/src/View/Components/Popups/FormPopups/FormPopups.js +4 -2
  238. package/src/View/Components/Popups/Utilities.js +8 -4
  239. package/src/View/Components/Popups/WindowPopups/WindowPopups.js +2 -1
  240. package/src/View/Components/Selectors/ColumnSelector.js +2 -1
  241. package/src/View/Components/TagValueSelector/index.js +4 -2
  242. package/src/View/Components/ToolPanel/AdaptableToolPanel.d.ts +1 -1
  243. package/src/View/Components/ToolPanel/AdaptableToolPanel.js +5 -1
  244. package/src/View/Components/ToolPanel/CustomToolPanelContent.js +2 -1
  245. package/src/View/Components/ToolPanel/ToolPanelPopup.d.ts +1 -1
  246. package/src/View/Components/ToolPanel/ToolPanelPopup.js +1 -1
  247. package/src/View/Components/ToolPanel/ToolPanelWrapper.js +2 -1
  248. package/src/View/Components/WizardSummaryPage.js +2 -1
  249. package/src/View/ConditionalStyle/Wizard/ConditionalStyleScopeWizardSection.js +2 -1
  250. package/src/View/ConditionalStyle/Wizard/ConditionalStyleSettingsWizardSettings.js +4 -2
  251. package/src/View/ConditionalStyle/Wizard/ConditionalStyleStyleWizardSection.js +2 -1
  252. package/src/View/ConditionalStyle/Wizard/ConditionalStyleWizard.js +2 -1
  253. package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.js +6 -3
  254. package/src/View/CustomSort/Wizard/CustomSortValuesWizardSection.js +6 -3
  255. package/src/View/CustomSort/Wizard/CustomSortWizard.js +2 -1
  256. package/src/View/Dashboard/CustomDashboardButton.js +2 -1
  257. package/src/View/Dashboard/CustomToolbarWrapper.js +2 -1
  258. package/src/View/Dashboard/Dashboard.d.ts +1 -1
  259. package/src/View/Dashboard/Dashboard.js +4 -3
  260. package/src/View/Dashboard/DashboardPopup.js +1 -1
  261. package/src/View/Dashboard/ModuleToolbarWrapper.js +2 -1
  262. package/src/View/DataChangeHistory/DataChangeHistoryGrid.d.ts +7 -0
  263. package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +6 -6
  264. package/src/View/DataChangeHistory/DataChangeHistoryStatusBarContent.js +2 -1
  265. package/src/View/DataChangeHistory/DataChangeHistoryViewPanel.js +2 -1
  266. package/src/View/DataChangeHistory/buildActionColumnButton.d.ts +2 -2
  267. package/src/View/DataChangeHistory/buildActionColumnButton.js +13 -9
  268. package/src/View/DataSet/DataSetSelector.js +2 -1
  269. package/src/View/DataSet/DataSetStatusPanelPopover.js +2 -1
  270. package/src/View/DataSet/DataSetViewPanel.d.ts +1 -1
  271. package/src/View/Export/ExportSelector.js +2 -1
  272. package/src/View/Export/ExportViewPanel.d.ts +1 -1
  273. package/src/View/Export/ReportExportDropdown.js +2 -1
  274. package/src/View/Export/Wizard/NewReportWizard.js +4 -2
  275. package/src/View/Export/Wizard/ReportColumnsWizardSection.js +6 -3
  276. package/src/View/Export/Wizard/ReportNameWizardSection.js +6 -3
  277. package/src/View/Export/Wizard/ReportRowsWizardSection.js +6 -3
  278. package/src/View/Filter/ActiveFiltersPanel.js +2 -1
  279. package/src/View/Filter/FilterStatusBarSubPanelPopover.js +2 -1
  280. package/src/View/Filter/FilterSummary.d.ts +1 -1
  281. package/src/View/Filter/FilterViewPanel.d.ts +1 -1
  282. package/src/View/FlashingCell/FlashingCellStyle.js +2 -1
  283. package/src/View/FlashingCell/Wizard/FlashingCellRulesWizardSection.js +4 -2
  284. package/src/View/FlashingCell/Wizard/FlashingCellScopeWizardSection.js +2 -1
  285. package/src/View/FlashingCell/Wizard/FlashingCellSettingsWizardSection.js +10 -5
  286. package/src/View/FlashingCell/Wizard/FlashingCellStyleWizardSection.js +6 -3
  287. package/src/View/FlashingCell/Wizard/FlashingCellWizard.js +2 -1
  288. package/src/View/FlashingCell/Wizard/isValidFlashingCellRules.js +2 -1
  289. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +8 -4
  290. package/src/View/FormatColumn/Wizard/FormatColumnScopeWizardSection.js +4 -2
  291. package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +4 -2
  292. package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.js +4 -2
  293. package/src/View/FreeTextColumn/Wizard/FreeTextColumnSettingsWizardSection.js +6 -3
  294. package/src/View/FreeTextColumn/Wizard/FreeTextColumnWizard.js +2 -1
  295. package/src/View/GridInfo/AdaptableObjectsSummary.js +2 -1
  296. package/src/View/GridInfo/AdaptableOptionsComponent.js +2 -1
  297. package/src/View/GridInfo/GridInfoPopup.js +5 -5
  298. package/src/View/KeyHint.js +2 -1
  299. package/src/View/Layout/EditCurrentLayoutButton.js +2 -1
  300. package/src/View/Layout/LayoutCloneButton.js +2 -1
  301. package/src/View/Layout/LayoutEditorStandalonePopup.js +2 -1
  302. package/src/View/Layout/LayoutPopup.d.ts +1 -1
  303. package/src/View/Layout/LayoutRadioSelector.js +2 -1
  304. package/src/View/Layout/LayoutStatusBarSubPanelPopover.js +2 -1
  305. package/src/View/Layout/LayoutViewPanel.d.ts +1 -1
  306. package/src/View/Layout/Wizard/LayoutEditor/ColumnLabels.js +2 -1
  307. package/src/View/Layout/Wizard/LayoutEditor/ColumnList.js +2 -1
  308. package/src/View/Layout/Wizard/LayoutEditor/ColumnSortList.js +2 -1
  309. package/src/View/Layout/Wizard/LayoutEditor/PivotList.js +2 -1
  310. package/src/View/Layout/Wizard/LayoutEditor/RowGroupsList.js +2 -1
  311. package/src/View/Layout/Wizard/LayoutEditor/getItemStyle.js +2 -1
  312. package/src/View/Layout/Wizard/LayoutEditor/reducer.js +4 -2
  313. package/src/View/Layout/Wizard/LayoutEditor/utils.js +2 -1
  314. package/src/View/License/LicenseWatermark.js +1 -1
  315. package/src/View/PlusMinus/Wizard/PlusMinusScopeWizardSection.js +2 -1
  316. package/src/View/PlusMinus/Wizard/PlusMinusSettingsWizardSection.js +6 -3
  317. package/src/View/PlusMinus/Wizard/PlusMinusWizard.js +2 -1
  318. package/src/View/Query/EditCurrentQueryButton.js +2 -1
  319. package/src/View/Query/ExpandedQueryPopup.js +2 -1
  320. package/src/View/Query/QueryViewPanel.d.ts +1 -1
  321. package/src/View/Query/Wizard/NamedQueryExpressionWizardSection.js +6 -3
  322. package/src/View/Query/Wizard/NamedQuerySettingsWizardSection.js +6 -3
  323. package/src/View/QuickSearch/QuickSearchStatusBarContent.js +2 -1
  324. package/src/View/QuickSearch/QuickSearchViewPanel.d.ts +1 -1
  325. package/src/View/QuickSearch/useQuickSearchDebounced.js +2 -1
  326. package/src/View/Schedule/Wizard/ScheduleScheduleSummary.js +2 -1
  327. package/src/View/Schedule/Wizard/ScheduleScheduleWizard.js +4 -2
  328. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsGlue42.js +2 -1
  329. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsIPushPull.js +2 -1
  330. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsOpenFin.js +2 -1
  331. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReminder.js +2 -1
  332. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReport.js +2 -1
  333. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsSummary.js +4 -2
  334. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsWizard.js +2 -1
  335. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/isSettingsValid.js +2 -1
  336. package/src/View/Schedule/Wizard/ScheduleWizard.js +2 -1
  337. package/src/View/Shortcut/Wizard/ShortcutScopeWizardSection.js +2 -1
  338. package/src/View/Shortcut/Wizard/ShortcutSettingsWizard.js +6 -3
  339. package/src/View/Shortcut/Wizard/ShortcutWizard.js +2 -1
  340. package/src/View/SpecialColumnSettingsWizardStep.js +2 -1
  341. package/src/View/StateManagement/StateManagementPopup.js +2 -1
  342. package/src/View/StateManagement/StateManagementViewPanel.js +2 -1
  343. package/src/View/StateManagement/components/ClearButton.js +2 -1
  344. package/src/View/StateManagement/components/ExportDropdown.js +2 -1
  345. package/src/View/StateManagement/components/LoadButton.js +2 -1
  346. package/src/View/StateManagement/handleExportState.js +2 -1
  347. package/src/View/StatusBar/AdaptableStatusBar.js +2 -1
  348. package/src/View/StatusBar/StatusBarPanel.js +2 -1
  349. package/src/View/StatusBar/StatusBarPopup.js +5 -4
  350. package/src/View/SystemStatus/SystemStatusStatusBarContent.js +2 -1
  351. package/src/View/SystemStatus/SystemStatusViewPanel.d.ts +1 -1
  352. package/src/View/SystemStatus/Utilities/getStatusItemStyle.js +2 -1
  353. package/src/View/Theme/ThemeStatusPanelPopover.js +2 -1
  354. package/src/View/UIHelper.d.ts +2 -0
  355. package/src/View/UIHelper.js +12 -11
  356. package/src/View/Wizard/AdaptableWizard.js +2 -1
  357. package/src/View/Wizard/ObjectTagsWizardSection.js +4 -2
  358. package/src/View/Wizard/OnePageAdaptableWizard.js +10 -5
  359. package/src/View/Wizard/OnePageWizards.js +8 -4
  360. package/src/View/Wizard/useKeyboardNavigation.js +2 -1
  361. package/src/View/renderWithAdaptableContext.js +2 -1
  362. package/src/agGrid/ActionColumnRenderer.d.ts +1 -1
  363. package/src/agGrid/ActionColumnRenderer.js +1 -1
  364. package/src/agGrid/Adaptable.js +31 -28
  365. package/src/agGrid/CheckboxRenderer.js +2 -1
  366. package/src/agGrid/FilterWrapper.js +2 -1
  367. package/src/agGrid/FloatingFilterWrapper.js +2 -1
  368. package/src/agGrid/PercentBarRenderer.js +2 -1
  369. package/src/agGrid/agGridHelper.js +3 -1
  370. package/src/agGrid/agGridMenuHelper.js +13 -10
  371. package/src/agGrid/createAgStatusPanelComponent.js +2 -1
  372. package/src/components/AdaptableFormComponent/AdaptableFormComponent.js +8 -5
  373. package/src/components/AdaptableIconComponent/index.d.ts +10 -0
  374. package/src/components/AdaptableIconComponent/index.js +40 -0
  375. package/src/components/CheckBox/index.js +2 -1
  376. package/src/components/CodeBlock/index.js +2 -1
  377. package/src/components/Dashboard/DashboardManager.js +1 -1
  378. package/src/components/Datepicker/Caption.js +1 -1
  379. package/src/components/Datepicker/DatepickerContext.js +2 -1
  380. package/src/components/Datepicker/index.d.ts +1 -1
  381. package/src/components/DragAndDropContext/ModuleManager.d.ts +1 -0
  382. package/src/components/DragAndDropContext/ModuleManager.js +5 -4
  383. package/src/components/DragAndDropContext/UnusedPanel.d.ts +3 -2
  384. package/src/components/DragAndDropContext/UnusedPanel.js +14 -12
  385. package/src/components/EllipsisContainer/index.js +4 -2
  386. package/src/components/ExpressionEditor/EditorContext.js +2 -1
  387. package/src/components/ExpressionEditor/ExpressionFunctionDocumentation.js +2 -1
  388. package/src/components/ExpressionEditor/NamedQueryContext.js +3 -1
  389. package/src/components/FileDroppable/index.js +2 -1
  390. package/src/components/FormLayout/index.js +2 -1
  391. package/src/components/Input/index.d.ts +1 -1
  392. package/src/components/List/ListGroupItem/index.d.ts +2 -4
  393. package/src/components/Loader/Loader.js +4 -2
  394. package/src/components/Logo/index.js +2 -1
  395. package/src/components/Modal/Backdrop.js +2 -1
  396. package/src/components/Modal/index.js +2 -1
  397. package/src/components/OverlayTrigger/Overlay.js +2 -1
  398. package/src/components/OverlayTrigger/index.js +2 -1
  399. package/src/components/OverlayTrigger/utils.js +6 -3
  400. package/src/components/PopupWithFooter.d.ts +1 -1
  401. package/src/components/ProgressIndicator/ProgressIndicator.js +2 -1
  402. package/src/components/Radio/index.js +4 -2
  403. package/src/components/ResizeObserver/getResizeObserverObject.js +2 -1
  404. package/src/components/ResizeObserver/index.js +6 -3
  405. package/src/components/SelectList.js +2 -1
  406. package/src/components/SelectableList/index.js +2 -1
  407. package/src/components/SimpleButton/index.d.ts +2 -1
  408. package/src/components/SimpleButton/index.js +19 -6
  409. package/src/components/StylePreview.js +2 -1
  410. package/src/components/Tabs/index.js +6 -3
  411. package/src/components/Textarea/index.d.ts +5 -1
  412. package/src/components/ToggleButton/index.js +2 -1
  413. package/src/components/WindowModal/WindowModal.js +2 -1
  414. package/src/components/WindowModal/useStacking.js +2 -1
  415. package/src/components/icons/DefaultIcon.js +2 -1
  416. package/src/components/icons/index.d.ts +3 -1
  417. package/src/components/icons/index.js +10 -2
  418. package/src/components/utils/useContainerScrollObserver/index.js +2 -1
  419. package/src/components/utils/useGlobalEvent.js +2 -1
  420. package/src/components/utils/useLatest.js +2 -1
  421. package/src/components/utils/useRerender.js +2 -1
  422. package/src/components/utils/uuid.js +2 -1
  423. package/src/metamodel/adaptable-metamodel-model.d.ts +1 -1
  424. package/src/metamodel/adaptable.metamodel.d.ts +211 -101
  425. package/src/metamodel/adaptable.metamodel.js +1 -12874
  426. package/src/types.d.ts +7 -5
  427. package/version.d.ts +1 -1
  428. package/version.js +1 -1
  429. package/src/Api/Events/RowFormSubmitted.d.ts +0 -19
  430. package/src/components/ApplicationIcon.d.ts +0 -6
  431. package/src/components/ApplicationIcon.js +0 -13
@@ -9,18 +9,21 @@ const toNumber_1 = tslib_1.__importDefault(require("lodash/toNumber"));
9
9
  const evaluator_1 = require("../../parser/src/evaluator");
10
10
  // string functions may be case (in)sensitive, see internalApi.isTextComparisonCaseSensitive()
11
11
  // if case is insensitive, we convert ALL involved strings to lower case
12
- exports.getStringValues = (context, ...stringArguments) => {
12
+ const getStringValues = (context, ...stringArguments) => {
13
13
  return exports.isTextSearchCaseInsensitive(context)
14
14
  ? stringArguments.map((string) => string.toLowerCase())
15
15
  : stringArguments;
16
16
  };
17
- exports.getStringValue = (context, stringArgument) => {
17
+ exports.getStringValues = getStringValues;
18
+ const getStringValue = (context, stringArgument) => {
18
19
  return exports.isTextSearchCaseInsensitive(context) ? stringArgument.toLowerCase() : stringArgument;
19
20
  };
20
- exports.isTextSearchCaseInsensitive = (context) => !context.api.internalApi.isTextComparisonCaseSensitive();
21
+ exports.getStringValue = getStringValue;
22
+ const isTextSearchCaseInsensitive = (context) => !context.api.internalApi.isTextComparisonCaseSensitive();
23
+ exports.isTextSearchCaseInsensitive = isTextSearchCaseInsensitive;
21
24
  // returns an observable which filters the source$ emissions and emits only if the CellDataChangedInfo relates to the given column
22
25
  // optionally, if a filter function (where clause) is provided, it is also evaluated
23
- exports.getDataChangeLog$ = (context, columnNameFilter) => {
26
+ const getDataChangeLog$ = (context, columnNameFilter) => {
24
27
  let dataChangeLog$ = context.api.internalApi.getDataService().dataChangeLog$;
25
28
  // filter only the given column changes
26
29
  dataChangeLog$ = dataChangeLog$.pipe(operators_1.filter((dataChangeLog) => dataChangeLog.column.columnId === columnNameFilter));
@@ -30,7 +33,8 @@ exports.getDataChangeLog$ = (context, columnNameFilter) => {
30
33
  }
31
34
  return dataChangeLog$;
32
35
  };
33
- exports.handleWhereFunction = (args, context) => {
36
+ exports.getDataChangeLog$ = getDataChangeLog$;
37
+ const handleWhereFunction = (args, context) => {
34
38
  const reactiveExpressionNode = args[0];
35
39
  const whereClauseExpressionNode = args[1];
36
40
  const filterFn = (rowNode) => {
@@ -49,10 +53,12 @@ exports.handleWhereFunction = (args, context) => {
49
53
  filterFn,
50
54
  });
51
55
  };
52
- exports.extractColumnParameter = (consumingFunctionName, args) => {
56
+ exports.handleWhereFunction = handleWhereFunction;
57
+ const extractColumnParameter = (consumingFunctionName, args) => {
53
58
  return exports.extractParameter(consumingFunctionName, 'config', ['COL'], args);
54
59
  };
55
- exports.extractParameter = (consumingFunctionName, allowedType, allowedOperands, args, isOptional) => {
60
+ exports.extractColumnParameter = extractColumnParameter;
61
+ const extractParameter = (consumingFunctionName, allowedType, allowedOperands, args, isOptional) => {
56
62
  const result = args.filter((arg) => (arg === null || arg === void 0 ? void 0 : arg.type) === allowedType && allowedOperands.includes(arg === null || arg === void 0 ? void 0 : arg.name));
57
63
  if (isOptional && !result.length) {
58
64
  return;
@@ -65,7 +71,8 @@ exports.extractParameter = (consumingFunctionName, allowedType, allowedOperands,
65
71
  }
66
72
  return result[0];
67
73
  };
68
- exports.handleColumnFunction = (args, context) => {
74
+ exports.extractParameter = extractParameter;
75
+ const handleColumnFunction = (args, context) => {
69
76
  if (StringExtensions_1.default.IsNullOrEmpty(args[0])) {
70
77
  throw new ExpressionEvaluationError_1.ExpressionEvaluationError('COL', `no column name is provided`);
71
78
  }
@@ -77,16 +84,19 @@ exports.handleColumnFunction = (args, context) => {
77
84
  };
78
85
  return result;
79
86
  };
80
- exports.getNumericValue = (input) => {
87
+ exports.handleColumnFunction = handleColumnFunction;
88
+ const getNumericValue = (input) => {
81
89
  const numericValue = toNumber_1.default(input);
82
90
  return isNaN(numericValue) ? 0 : numericValue;
83
91
  };
84
- exports.validateColumnType = (columnId, validColumnTypes, consumingFunction, api) => {
92
+ exports.getNumericValue = getNumericValue;
93
+ const validateColumnType = (columnId, validColumnTypes, consumingFunction, api) => {
85
94
  const columnType = api.columnApi.getColumnDataTypeFromColumnId(columnId);
86
95
  if (!validColumnTypes.some((validType) => validType === columnType)) {
87
96
  throw new ExpressionEvaluationError_1.ExpressionEvaluationError(consumingFunction, `expects a column of type ${validColumnTypes.join(' or ')}`);
88
97
  }
89
98
  };
99
+ exports.validateColumnType = validateColumnType;
90
100
  const validateColumnId = (columnId, api) => {
91
101
  const column = api.columnApi.getColumnFromId(columnId);
92
102
  if (!column) {
@@ -43,4 +43,34 @@ export declare type RequireAtLeastOne<T, Keys extends keyof T = keyof T> = Pick<
43
43
  }[Keys];
44
44
  /** Similar to the builtin Extract, but checks the filter strictly */
45
45
  export declare type StrictExtract<T, U extends Partial<T>> = Extract<T, U>;
46
+ /**
47
+ * DeepRequired
48
+ *
49
+ * from https://github.com/piotrwitek/utility-types
50
+ *
51
+ * @desc Required that works for deeply nested structure
52
+ * @example
53
+ * // Expect: {
54
+ * // first: {
55
+ * // second: {
56
+ * // name: string;
57
+ * // };
58
+ * // };
59
+ * // }
60
+ * type NestedProps = {
61
+ * first?: {
62
+ * second?: {
63
+ * name?: string;
64
+ * };
65
+ * };
66
+ * };
67
+ * type RequiredNestedProps = DeepRequired<NestedProps>;
68
+ */
69
+ export declare type DeepRequired<T> = T extends (...args: any[]) => any ? T : T extends any[] ? _DeepRequiredArray<T[number]> : T extends object ? _DeepRequiredObject<T> : T;
70
+ export interface _DeepRequiredArray<T> extends Array<DeepRequired<NonUndefined<T>>> {
71
+ }
72
+ export declare type _DeepRequiredObject<T> = {
73
+ [P in keyof T]-?: DeepRequired<NonUndefined<T[P]>>;
74
+ };
75
+ export declare type NonUndefined<A> = A extends undefined ? never : A;
46
76
  export {};
@@ -9,15 +9,13 @@ export declare function initPredefinedConfigWithUuids(predefinedConfig: Predefin
9
9
  export declare function checkValidPrimaryKey(adaptable: IAdaptable): boolean;
10
10
  export declare function AdaptableObjectExistsInState(array: AdaptableObject[], itemToCheck: AdaptableObject): boolean;
11
11
  export declare function getAppropriateAccessLevel(adaptableObject: AdaptableObject, moduleAccessLevel: AccessLevel): AccessLevel;
12
- export declare function checkAdaptableOptions(adaptableOptions: AdaptableOptions): void;
13
12
  export declare function runAdaptableComparerFunction(columnId: string, columnValues: any[], adaptable: IAdaptable): AdaptableComparerFunction;
14
13
  export declare function addAdaptableObjectUuidAndSource(adaptableObject: AdaptableObject): AdaptableObject;
15
14
  export declare const AdaptableHelper: {
16
- assignadaptableOptions: typeof assignAdaptableOptions;
15
+ assignAdaptableOptions: typeof assignAdaptableOptions;
17
16
  initPredefinedConfigWithUuids: typeof initPredefinedConfigWithUuids;
18
17
  checkValidPrimaryKey: typeof checkValidPrimaryKey;
19
18
  AdaptableObjectExistsInState: typeof AdaptableObjectExistsInState;
20
- checkAdaptableOptions: typeof checkAdaptableOptions;
21
19
  runAdaptableComparerFunction: typeof runAdaptableComparerFunction;
22
20
  getAppropriateAccessLevel: typeof getAppropriateAccessLevel;
23
21
  addUuidAndSource: typeof addAdaptableObjectUuidAndSource;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AdaptableHelper = exports.addAdaptableObjectUuidAndSource = exports.runAdaptableComparerFunction = exports.checkAdaptableOptions = exports.getAppropriateAccessLevel = exports.AdaptableObjectExistsInState = exports.checkValidPrimaryKey = exports.initPredefinedConfigWithUuids = exports.assignAdaptableOptions = void 0;
3
+ exports.AdaptableHelper = exports.addAdaptableObjectUuidAndSource = exports.runAdaptableComparerFunction = exports.getAppropriateAccessLevel = exports.AdaptableObjectExistsInState = exports.checkValidPrimaryKey = exports.initPredefinedConfigWithUuids = exports.assignAdaptableOptions = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const cloneDeepWith_1 = tslib_1.__importDefault(require("lodash/cloneDeepWith"));
6
6
  const isPlainObject_1 = tslib_1.__importDefault(require("lodash/isPlainObject"));
@@ -10,7 +10,8 @@ const DefaultAdaptableOptions_1 = require("../Defaults/DefaultAdaptableOptions")
10
10
  function assignAdaptableOptions(adaptableOptions) {
11
11
  var _a;
12
12
  const returnedAdaptableOptions = Object.assign({}, DefaultAdaptableOptions_1.DefaultAdaptableOptions, adaptableOptions);
13
- returnedAdaptableOptions.adaptableStateKey = (_a = returnedAdaptableOptions.adaptableStateKey) !== null && _a !== void 0 ? _a : returnedAdaptableOptions.adaptableId;
13
+ returnedAdaptableOptions.adaptableStateKey =
14
+ (_a = returnedAdaptableOptions.adaptableStateKey) !== null && _a !== void 0 ? _a : returnedAdaptableOptions.adaptableId;
14
15
  returnedAdaptableOptions.adaptableQLOptions = Object.assign({}, DefaultAdaptableOptions_1.DefaultAdaptableOptions.adaptableQLOptions, adaptableOptions.adaptableQLOptions);
15
16
  returnedAdaptableOptions.columnOptions = Object.assign({}, DefaultAdaptableOptions_1.DefaultAdaptableOptions.columnOptions, adaptableOptions.columnOptions);
16
17
  returnedAdaptableOptions.adaptableQLOptions.expressionOptions = Object.assign({}, DefaultAdaptableOptions_1.DefaultAdaptableOptions.adaptableQLOptions.expressionOptions, returnedAdaptableOptions.adaptableQLOptions.expressionOptions);
@@ -21,13 +22,13 @@ function assignAdaptableOptions(adaptableOptions) {
21
22
  returnedAdaptableOptions.entitlementOptions = Object.assign({}, DefaultAdaptableOptions_1.DefaultAdaptableOptions.entitlementOptions, adaptableOptions.entitlementOptions);
22
23
  returnedAdaptableOptions.dashboardOptions = Object.assign({}, DefaultAdaptableOptions_1.DefaultAdaptableOptions.dashboardOptions, adaptableOptions.dashboardOptions);
23
24
  returnedAdaptableOptions.editOptions = Object.assign({}, DefaultAdaptableOptions_1.DefaultAdaptableOptions.editOptions, adaptableOptions.editOptions);
24
- returnedAdaptableOptions.editOptions.rowFormOptions = Object.assign({}, DefaultAdaptableOptions_1.DefaultAdaptableOptions.editOptions.rowFormOptions, returnedAdaptableOptions.editOptions.rowFormOptions);
25
+ returnedAdaptableOptions.actionOptions = Object.assign({}, DefaultAdaptableOptions_1.DefaultAdaptableOptions.actionOptions, adaptableOptions.actionOptions);
26
+ returnedAdaptableOptions.actionOptions.actionRowFormOptions = Object.assign({}, DefaultAdaptableOptions_1.DefaultAdaptableOptions.actionOptions.actionRowFormOptions, returnedAdaptableOptions.actionOptions.actionRowFormOptions);
25
27
  returnedAdaptableOptions.containerOptions = Object.assign({}, DefaultAdaptableOptions_1.DefaultAdaptableOptions.containerOptions, adaptableOptions.containerOptions);
26
28
  returnedAdaptableOptions.generalOptions = Object.assign({}, DefaultAdaptableOptions_1.DefaultAdaptableOptions.generalOptions, adaptableOptions.generalOptions);
27
29
  returnedAdaptableOptions.searchOptions = Object.assign({}, DefaultAdaptableOptions_1.DefaultAdaptableOptions.searchOptions, adaptableOptions.searchOptions);
28
30
  returnedAdaptableOptions.filterOptions = Object.assign({}, DefaultAdaptableOptions_1.DefaultAdaptableOptions.filterOptions, adaptableOptions.filterOptions);
29
31
  returnedAdaptableOptions.userInterfaceOptions = Object.assign({}, DefaultAdaptableOptions_1.DefaultAdaptableOptions.userInterfaceOptions, adaptableOptions.userInterfaceOptions);
30
- returnedAdaptableOptions.userInterfaceOptions.actionOptions = Object.assign({}, DefaultAdaptableOptions_1.DefaultAdaptableOptions.userInterfaceOptions.actionOptions, returnedAdaptableOptions.userInterfaceOptions.actionOptions);
31
32
  returnedAdaptableOptions.userInterfaceOptions.dateInputOptions = Object.assign({}, DefaultAdaptableOptions_1.DefaultAdaptableOptions.userInterfaceOptions.dateInputOptions, returnedAdaptableOptions.userInterfaceOptions.dateInputOptions);
32
33
  returnedAdaptableOptions.menuOptions = Object.assign({}, DefaultAdaptableOptions_1.DefaultAdaptableOptions.menuOptions, adaptableOptions.menuOptions);
33
34
  returnedAdaptableOptions.stateOptions = Object.assign({}, DefaultAdaptableOptions_1.DefaultAdaptableOptions.stateOptions, adaptableOptions.stateOptions);
@@ -97,16 +98,6 @@ function getAppropriateAccessLevel(adaptableObject, moduleAccessLevel) {
97
98
  return moduleAccessLevel;
98
99
  }
99
100
  exports.getAppropriateAccessLevel = getAppropriateAccessLevel;
100
- // perform any checks that are necessary here
101
- // for now just adaptableId
102
- function checkAdaptableOptions(adaptableOptions) {
103
- if (adaptableOptions.adaptableId) {
104
- if (adaptableOptions.adaptableId.includes('.')) {
105
- LoggingHelper_1.ConsoleLogWarning("The 'adaptableId' property in adaptableOptions should not include a '.'. We strongly recommend that you remove this.");
106
- }
107
- }
108
- }
109
- exports.checkAdaptableOptions = checkAdaptableOptions;
110
101
  function runAdaptableComparerFunction(columnId, columnValues, adaptable) {
111
102
  return function compareItemsOfCustomSort(valueA, valueB, nodeA, nodeB) {
112
103
  let firstElementValueString = nodeA
@@ -148,11 +139,10 @@ function addAdaptableObjectUuidAndSource(adaptableObject) {
148
139
  }
149
140
  exports.addAdaptableObjectUuidAndSource = addAdaptableObjectUuidAndSource;
150
141
  exports.AdaptableHelper = {
151
- assignadaptableOptions: assignAdaptableOptions,
142
+ assignAdaptableOptions,
152
143
  initPredefinedConfigWithUuids,
153
144
  checkValidPrimaryKey,
154
145
  AdaptableObjectExistsInState,
155
- checkAdaptableOptions,
156
146
  runAdaptableComparerFunction,
157
147
  getAppropriateAccessLevel,
158
148
  addUuidAndSource: addAdaptableObjectUuidAndSource,
@@ -8,3 +8,30 @@ export declare const isValueValidDate: (data: any) => boolean;
8
8
  export declare const dateToISO: (date: Date | number | string) => string;
9
9
  export declare const parseToISO: (date: string | Date | number, dateFormat?: string) => string;
10
10
  export declare const parseDateValue: (dateValue: string | Date | number, dateFormat?: string) => Date | undefined;
11
+ /**
12
+ * Creates a date with the same day/month/year/hour with the current timezone.
13
+ * '2022-06-01T17:00:00.000Z' => '2022-06-01T17:00:00.000+03:00' // RO time
14
+ *
15
+ * new Date() always creates the date using the current timezone.
16
+ * To compare two dates, they need to be in the same timezone.
17
+ *
18
+ * @param date Date
19
+ */
20
+ export declare const utcDateToSameDateInLocale: (date: Date) => Date;
21
+ /**
22
+ * To make sure selected/input date is correct and in the current time-zone.
23
+
24
+ *
25
+ * '2022-06-14' is considered to be '2022-06-13 00:00:00.
26
+ * And when date object is created it uses the current timezone.
27
+ *
28
+ * '2022-06-14' => Mon Jun 13 2022 20:00:00 GMT-0400 (Eastern Daylight Time)
29
+ *
30
+ * @param stringDate date string
31
+ */
32
+ export declare const parseFilterInputDate: (stringDate: string) => Date;
33
+ /**
34
+ * Used to parse the date from rowDate inside date predicates.
35
+ * The date is parsed in moved to local timezone.
36
+ */
37
+ export declare const parseFilterValueDate: (value: any) => Date;
@@ -1,34 +1,38 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parseDateValue = exports.parseToISO = exports.dateToISO = exports.isValueValidDate = exports.isValidDate = void 0;
3
+ exports.parseFilterValueDate = exports.parseFilterInputDate = exports.utcDateToSameDateInLocale = exports.parseDateValue = exports.parseToISO = exports.dateToISO = exports.isValueValidDate = exports.isValidDate = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const parseISO_1 = tslib_1.__importDefault(require("date-fns/parseISO"));
6
6
  const parse_1 = tslib_1.__importDefault(require("date-fns/parse"));
7
7
  const LoggingHelper_1 = require("./LoggingHelper");
8
8
  const FormatHelper_1 = require("./FormatHelper");
9
- exports.isValidDate = (date) => {
9
+ const isValidDate = (date) => {
10
10
  return date instanceof Date && !isNaN(date.getTime());
11
11
  };
12
+ exports.isValidDate = isValidDate;
12
13
  /**
13
14
  * Checks if the data contains a value that represents a valid date.
14
15
  *
15
16
  * @param data any kind of data
16
17
  */
17
- exports.isValueValidDate = (data) => {
18
+ const isValueValidDate = (data) => {
18
19
  if (!data || typeof data === 'boolean') {
19
20
  return false;
20
21
  }
21
22
  const date = new Date(data);
22
23
  return !isNaN(date.getTime());
23
24
  };
24
- exports.dateToISO = (date) => {
25
+ exports.isValueValidDate = isValueValidDate;
26
+ const dateToISO = (date) => {
25
27
  return FormatHelper_1.DateFormatter(date, { Pattern: 'yyyy-MM-dd' });
26
28
  };
27
- exports.parseToISO = (date, dateFormat) => {
29
+ exports.dateToISO = dateToISO;
30
+ const parseToISO = (date, dateFormat) => {
28
31
  const dateInstance = exports.parseDateValue(date, dateFormat);
29
32
  return exports.isValidDate(dateInstance) ? exports.dateToISO(dateInstance) : '';
30
33
  };
31
- exports.parseDateValue = (dateValue, dateFormat) => {
34
+ exports.parseToISO = parseToISO;
35
+ const parseDateValue = (dateValue, dateFormat) => {
32
36
  if (dateValue == undefined) {
33
37
  return undefined;
34
38
  }
@@ -58,3 +62,36 @@ exports.parseDateValue = (dateValue, dateFormat) => {
58
62
  }
59
63
  return dateInstance;
60
64
  };
65
+ exports.parseDateValue = parseDateValue;
66
+ /**
67
+ * Creates a date with the same day/month/year/hour with the current timezone.
68
+ * '2022-06-01T17:00:00.000Z' => '2022-06-01T17:00:00.000+03:00' // RO time
69
+ *
70
+ * new Date() always creates the date using the current timezone.
71
+ * To compare two dates, they need to be in the same timezone.
72
+ *
73
+ * @param date Date
74
+ */
75
+ const utcDateToSameDateInLocale = (date) => {
76
+ return new Date(date.getTime() + date.getTimezoneOffset() * 60 * 1000);
77
+ };
78
+ exports.utcDateToSameDateInLocale = utcDateToSameDateInLocale;
79
+ /**
80
+ * To make sure selected/input date is correct and in the current time-zone.
81
+
82
+ *
83
+ * '2022-06-14' is considered to be '2022-06-13 00:00:00.
84
+ * And when date object is created it uses the current timezone.
85
+ *
86
+ * '2022-06-14' => Mon Jun 13 2022 20:00:00 GMT-0400 (Eastern Daylight Time)
87
+ *
88
+ * @param stringDate date string
89
+ */
90
+ const parseFilterInputDate = (stringDate) => exports.utcDateToSameDateInLocale(new Date(stringDate));
91
+ exports.parseFilterInputDate = parseFilterInputDate;
92
+ /**
93
+ * Used to parse the date from rowDate inside date predicates.
94
+ * The date is parsed in moved to local timezone.
95
+ */
96
+ const parseFilterValueDate = (value) => exports.utcDateToSameDateInLocale(exports.parseDateValue(value));
97
+ exports.parseFilterValueDate = parseFilterValueDate;
@@ -22,7 +22,7 @@ function cloneObject(obj) {
22
22
  return JSON.parse(JSON.stringify(obj));
23
23
  }
24
24
  exports.cloneObject = cloneObject;
25
- exports.arrayToKeyMap = (arr) => {
25
+ const arrayToKeyMap = (arr) => {
26
26
  const defaultAccumulator = {};
27
27
  if (!arr || !Array.isArray(arr)) {
28
28
  return defaultAccumulator;
@@ -32,6 +32,7 @@ exports.arrayToKeyMap = (arr) => {
32
32
  return acc;
33
33
  }, defaultAccumulator);
34
34
  };
35
+ exports.arrayToKeyMap = arrayToKeyMap;
35
36
  // converts an array (or an array of arrays) to CSV
36
37
  function convertArrayToCsv(array, separator = " ' ") {
37
38
  let csvContent = '';
@@ -22,7 +22,7 @@ function ConsoleLogByMessageType(message, messageType, ...optionalParams) {
22
22
  }
23
23
  }
24
24
  exports.ConsoleLogByMessageType = ConsoleLogByMessageType;
25
- exports.getLoggingFunctions = (channel) => {
25
+ const getLoggingFunctions = (channel) => {
26
26
  const prefix = channel ? `${channel}:` : '';
27
27
  const info = exports.log.extend(`${prefix}info`);
28
28
  info.log = console.info.bind(console);
@@ -71,6 +71,7 @@ exports.getLoggingFunctions = (channel) => {
71
71
  LogAdaptableInfo,
72
72
  };
73
73
  };
74
+ exports.getLoggingFunctions = getLoggingFunctions;
74
75
  function ConsoleLogWarning(message, ...optionalParams) {
75
76
  if (ArrayExtensions_1.ArrayExtensions.IsNotNullOrEmpty(optionalParams)) {
76
77
  console.warn(message, optionalParams);
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getVariableColor = exports.toStyle = exports.convertCSSAbsoluteFontSizeToPt = exports.convertAdaptableStyleToCSS = void 0;
4
4
  const EnumExtensions_1 = require("../Extensions/EnumExtensions");
5
- exports.convertAdaptableStyleToCSS = (style) => {
5
+ const convertAdaptableStyleToCSS = (style) => {
6
6
  let result = {};
7
7
  if (style.BackColor !== undefined && style.BackColor !== null) {
8
8
  result.backgroundColor = style.BackColor;
@@ -25,8 +25,9 @@ exports.convertAdaptableStyleToCSS = (style) => {
25
25
  // assertion added to comply with the ag-Grid types
26
26
  return result;
27
27
  };
28
+ exports.convertAdaptableStyleToCSS = convertAdaptableStyleToCSS;
28
29
  // based on http://jerekdain.com/fontconversion.html
29
- exports.convertCSSAbsoluteFontSizeToPt = (fontSize) => {
30
+ const convertCSSAbsoluteFontSizeToPt = (fontSize) => {
30
31
  switch (fontSize) {
31
32
  case 'x-large':
32
33
  return 18;
@@ -42,10 +43,12 @@ exports.convertCSSAbsoluteFontSizeToPt = (fontSize) => {
42
43
  return 12;
43
44
  }
44
45
  };
45
- exports.toStyle = (style) => {
46
+ exports.convertCSSAbsoluteFontSizeToPt = convertCSSAbsoluteFontSizeToPt;
47
+ const toStyle = (style) => {
46
48
  return Object.assign(Object.assign({}, exports.convertAdaptableStyleToCSS(style !== null && style !== void 0 ? style : {})), { borderWidth: (style === null || style === void 0 ? void 0 : style.BorderColor) ? 2 : 0, borderStyle: 'solid' });
47
49
  };
48
- exports.getVariableColor = (variable) => {
50
+ exports.toStyle = toStyle;
51
+ const getVariableColor = (variable) => {
49
52
  var _a;
50
53
  const isVariable = (_a = variable === null || variable === void 0 ? void 0 : variable.startsWith) === null || _a === void 0 ? void 0 : _a.call(variable, 'var(');
51
54
  if (!isVariable) {
@@ -57,3 +60,4 @@ exports.getVariableColor = (variable) => {
57
60
  }
58
61
  return getComputedStyle(document.documentElement).getPropertyValue(match[1]).trim();
59
62
  };
63
+ exports.getVariableColor = getVariableColor;
@@ -2,13 +2,14 @@ import * as Redux from 'redux';
2
2
  import { ModuleParams } from '../View/Components/SharedProps/ModuleViewPopupProps';
3
3
  import { AdaptableMenuItem } from '../PredefinedConfig/Common/Menu';
4
4
  import { AdaptableModule } from '../PredefinedConfig/Common/Types';
5
+ import { AdaptableIcon } from '../PredefinedConfig/Common/AdaptableIcon';
5
6
  export declare class MenuItemDoReduxAction implements AdaptableMenuItem {
6
7
  constructor(label: string, module: AdaptableModule, reduxAction: Redux.Action, icon: string, isVisible: boolean);
7
8
  reduxAction: Redux.Action;
8
9
  label: string;
9
10
  module: AdaptableModule;
10
11
  isVisible: boolean;
11
- icon: string;
12
+ icon: AdaptableIcon;
12
13
  }
13
14
  export declare class MenuItemDoClickFunction implements AdaptableMenuItem {
14
15
  constructor(label: string, module: AdaptableModule, clickFunction: () => void, icon: string, isVisible: boolean);
@@ -16,7 +17,7 @@ export declare class MenuItemDoClickFunction implements AdaptableMenuItem {
16
17
  label: string;
17
18
  module: AdaptableModule;
18
19
  isVisible: boolean;
19
- icon: string;
20
+ icon: AdaptableIcon;
20
21
  }
21
22
  export declare class MenuItemShowPopup implements AdaptableMenuItem {
22
23
  constructor(label: string, module: AdaptableModule, componentName: string, icon: string, isVisible: boolean, popupParams?: ModuleParams);
@@ -24,5 +25,5 @@ export declare class MenuItemShowPopup implements AdaptableMenuItem {
24
25
  label: string;
25
26
  module: AdaptableModule;
26
27
  isVisible: boolean;
27
- icon: string;
28
+ icon: AdaptableIcon;
28
29
  }
@@ -9,7 +9,9 @@ class MenuItemDoReduxAction {
9
9
  this.label = label;
10
10
  this.module = module;
11
11
  this.isVisible = isVisible;
12
- this.icon = icon;
12
+ this.icon = {
13
+ name: icon,
14
+ };
13
15
  this.reduxAction = reduxAction;
14
16
  }
15
17
  }
@@ -19,7 +21,9 @@ class MenuItemDoClickFunction {
19
21
  this.label = label;
20
22
  this.module = module;
21
23
  this.isVisible = isVisible;
22
- this.icon = icon;
24
+ this.icon = {
25
+ name: icon,
26
+ };
23
27
  this.onClick = clickFunction;
24
28
  }
25
29
  }
@@ -30,7 +34,9 @@ class MenuItemShowPopup {
30
34
  this.label = label;
31
35
  this.module = module;
32
36
  this.isVisible = isVisible;
33
- this.icon = icon;
37
+ this.icon = {
38
+ name: icon,
39
+ };
34
40
  this.reduxAction = PopupRedux.PopupShowScreen(module, componentName, popupParams);
35
41
  }
36
42
  }
@@ -375,6 +375,7 @@ function CreateToastOptions(notificationsOptions, { onClose, containerId }) {
375
375
  transition: transition,
376
376
  draggablePercent: 75,
377
377
  onClose,
378
+ // progress: undefined,
378
379
  };
379
380
  return toastProps;
380
381
  }
@@ -11,4 +11,5 @@ export interface GridInfoOption {
11
11
  }
12
12
  export interface IMetamodelService extends IAdaptableService {
13
13
  getGridInfoOptions(): GridInfoOptions;
14
+ validateAdaptableOptionsValues(): void;
14
15
  }
@@ -1,8 +1,8 @@
1
1
  import { RowNode } from '@ag-grid-community/all-modules';
2
2
  import { IAdaptableService } from './IAdaptableService';
3
3
  import { AdaptableForm } from '../../../PredefinedConfig/Common/AdaptableForm';
4
- import { CreateRowFormContext, EditRowFormContext } from '../../../AdaptableOptions/EditOptions';
4
+ import { CreateActionRowContext, EditActionRowContext } from '../../../AdaptableOptions/ActionOptions';
5
5
  export interface IRowEditService extends IAdaptableService {
6
- buildRowEditForm(rowNode: RowNode): AdaptableForm<EditRowFormContext>;
7
- buildRowCreateForm(clonedRowNode?: RowNode): AdaptableForm<CreateRowFormContext>;
6
+ buildRowEditForm(rowNode: RowNode): AdaptableForm<EditActionRowContext>;
7
+ buildRowCreateForm(clonedRowNode?: RowNode): AdaptableForm<CreateActionRowContext>;
8
8
  }
@@ -5,7 +5,13 @@ export declare class MetamodelService implements IMetamodelService {
5
5
  private gridInfoOptions;
6
6
  constructor(adaptableApi: AdaptableApi);
7
7
  getGridInfoOptions(): GridInfoOptions;
8
+ validateAdaptableOptionsValues(): void;
9
+ private validateOptionsObject;
10
+ private getExpectedOptionsValueType;
8
11
  private buildGridInfoOptions;
9
12
  private mapGridInfoContainerItems;
10
- destroy(): void;
13
+ private getAdaptableOptionsDefaultValues;
14
+ private getAdaptableMetamodel;
15
+ private getAdaptableOptionsMetamodel;
16
+ private getAdaptableOptions;
11
17
  }
@@ -3,6 +3,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MetamodelService = void 0;
4
4
  const adaptable_metamodel_1 = require("../../metamodel/adaptable.metamodel");
5
5
  const DefaultAdaptableOptions_1 = require("../Defaults/DefaultAdaptableOptions");
6
+ const LoggingHelper_1 = require("../Helpers/LoggingHelper");
7
+ const DocumentationLinkConstants_1 = require("../Constants/DocumentationLinkConstants");
8
+ const supportedMetamodelTypes = [
9
+ 'string',
10
+ 'number',
11
+ 'boolean',
12
+ 'array',
13
+ 'function',
14
+ 'REFERENCE',
15
+ ];
6
16
  class MetamodelService {
7
17
  constructor(adaptableApi) {
8
18
  this.adaptableApi = adaptableApi;
@@ -13,17 +23,72 @@ class MetamodelService {
13
23
  getGridInfoOptions() {
14
24
  return this.gridInfoOptions;
15
25
  }
26
+ validateAdaptableOptionsValues() {
27
+ var _a;
28
+ LoggingHelper_1.LogAdaptableInfo('Validating Adaptable Options...');
29
+ const adaptableOptionsValues = this.getAdaptableOptions();
30
+ const adaptableOptionsMetamodel = this.getAdaptableOptionsMetamodel();
31
+ const adaptableOptionsDefaultValues = this.getAdaptableOptionsDefaultValues();
32
+ if ((_a = adaptableOptionsValues.adaptableId) === null || _a === void 0 ? void 0 : _a.includes('.')) {
33
+ LoggingHelper_1.ConsoleLogWarning("The 'AdaptableOptions.adaptableId' property should NOT include a '.' character. We strongly recommend to remove it to avoid unexpected AdapTable behavior.");
34
+ }
35
+ const validationErrors = [];
36
+ this.validateOptionsObject(validationErrors, 'AdaptableOptions', adaptableOptionsValues, adaptableOptionsMetamodel, adaptableOptionsDefaultValues);
37
+ if (validationErrors.length) {
38
+ LoggingHelper_1.LogAdaptableWarning([
39
+ 'AdaptableOptions validation errors:',
40
+ '\n',
41
+ ...validationErrors,
42
+ '\n',
43
+ `See AdaptableOptions documentation at ${DocumentationLinkConstants_1.AdaptableOptionsDocsLink} for details`,
44
+ ].join('\n'));
45
+ }
46
+ }
47
+ validateOptionsObject(validationErrors, optionsObjectName, optionsObject, optionsObjectMetamodel, optionsObjectDefaultValues) {
48
+ Object.entries(optionsObject).forEach(([optionKey, optionValue]) => {
49
+ const optionMetamodel = optionsObjectMetamodel.properties.find((metamodelProperty) => metamodelProperty.name === optionKey);
50
+ if (!optionMetamodel) {
51
+ validationErrors.push(`${optionsObjectName}.${optionKey} (value=${optionValue}) :: unknown/unsupported property, will be ignored`);
52
+ return;
53
+ }
54
+ // let's try to validate the type of the provided value
55
+ const expectedOptionsValueType = this.getExpectedOptionsValueType(optionMetamodel);
56
+ const providedOptionsValueType = Array.isArray(optionValue) ? 'array' : typeof optionValue;
57
+ if (!expectedOptionsValueType) {
58
+ return;
59
+ }
60
+ // if it's a REFERENCE, we try to go (recursively) deeper
61
+ if (expectedOptionsValueType === 'REFERENCE') {
62
+ const referenceObjectName = optionMetamodel.reference;
63
+ const referenceObject = optionsObject[optionKey];
64
+ const referenceObjectMetamodel = this.getAdaptableMetamodel()[referenceObjectName];
65
+ if (referenceObject && (referenceObjectMetamodel === null || referenceObjectMetamodel === void 0 ? void 0 : referenceObjectMetamodel.kind) === 'Interface') {
66
+ this.validateOptionsObject(validationErrors, referenceObjectName, referenceObject, referenceObjectMetamodel, optionsObjectDefaultValues === null || optionsObjectDefaultValues === void 0 ? void 0 : optionsObjectDefaultValues[optionKey]);
67
+ }
68
+ }
69
+ else if (supportedMetamodelTypes.includes(providedOptionsValueType) &&
70
+ providedOptionsValueType !== expectedOptionsValueType) {
71
+ validationErrors.push(`${optionsObjectName}.${optionKey} (value=${optionValue}) :: wrong type (${providedOptionsValueType}), expected ${expectedOptionsValueType}`);
72
+ }
73
+ });
74
+ }
75
+ getExpectedOptionsValueType(metamodelProperty) {
76
+ const metamodelPropertyKind = metamodelProperty.kind;
77
+ if (supportedMetamodelTypes.includes(metamodelPropertyKind)) {
78
+ return metamodelPropertyKind;
79
+ }
80
+ }
16
81
  buildGridInfoOptions() {
17
82
  const gridInfoOptions = new Map();
18
- const adaptableMetamodel = adaptable_metamodel_1.ADAPTABLE_METAMODEL;
19
- const adaptableOptionsMetamodel = adaptableMetamodel['AdaptableOptions'];
20
- const adaptableOptionsValues = this.adaptableApi.internalApi.getAdaptableOptions();
21
- const adaptableOptionsDefaultValues = DefaultAdaptableOptions_1.DefaultAdaptableOptions;
83
+ const adaptableMetamodel = this.getAdaptableMetamodel();
84
+ const adaptableOptionsMetamodel = this.getAdaptableOptionsMetamodel();
85
+ const adaptableOptionsValues = this.getAdaptableOptions();
86
+ const adaptableOptionsDefaultValues = this.getAdaptableOptionsDefaultValues();
22
87
  if (!adaptableOptionsMetamodel) {
23
88
  // should never happen
24
89
  return gridInfoOptions;
25
90
  }
26
- // root-level properties are grouped in a syntethic 'Base Options' container
91
+ // root-level properties are grouped in a synthetic 'Base Options' container
27
92
  const baseOptionsItems = this.mapGridInfoContainerItems(adaptableOptionsMetamodel, adaptableOptionsValues, adaptableOptionsDefaultValues);
28
93
  gridInfoOptions.set('baseOptions', {
29
94
  containerLabel: 'Base Options',
@@ -65,6 +130,17 @@ class MetamodelService {
65
130
  };
66
131
  });
67
132
  }
68
- destroy() { }
133
+ getAdaptableOptionsDefaultValues() {
134
+ return DefaultAdaptableOptions_1.DefaultAdaptableOptions;
135
+ }
136
+ getAdaptableMetamodel() {
137
+ return adaptable_metamodel_1.ADAPTABLE_METAMODEL;
138
+ }
139
+ getAdaptableOptionsMetamodel() {
140
+ return this.getAdaptableMetamodel()['AdaptableOptions'];
141
+ }
142
+ getAdaptableOptions() {
143
+ return this.adaptableApi.internalApi.getAdaptableOptions();
144
+ }
69
145
  }
70
146
  exports.MetamodelService = MetamodelService;
@@ -94,7 +94,7 @@ class ModuleService {
94
94
  case 'Dashboard':
95
95
  return learnUrl + 'ui-dashboard';
96
96
  case 'DataSet':
97
- return learnUrl + 'handbook-data-sources';
97
+ return learnUrl + 'handbook-data-sets';
98
98
  case 'DataChangeHistory':
99
99
  return learnUrl + 'handbook-monitoring#data-change-history';
100
100
  case 'Export':
@@ -125,6 +125,8 @@ class ModuleService {
125
125
  return learnUrl + 'handbook-editing#smart-edit';
126
126
  case 'StateManagement':
127
127
  return learnUrl + 'dev-guide-adaptable-state';
128
+ case 'StatusBar':
129
+ return learnUrl + 'ui-status-bar';
128
130
  case 'SystemStatus':
129
131
  return learnUrl + 'handbook-notifying';
130
132
  case 'TeamSharing':