@adaptabletools/adaptable-cjs 23.0.4 → 23.0.5-canary.1

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 (515) hide show
  1. package/agGrid.js +0 -31
  2. package/index.css +0 -64
  3. package/index.js +0 -31
  4. package/package.json +1 -1
  5. package/src/AdaptableInterfaces/IAdaptable.d.ts +0 -2
  6. package/src/AdaptableOptions/AdaptablePlugin.js +1 -9
  7. package/src/AdaptableOptions/DefaultAdaptableOptions.js +3 -39
  8. package/src/AdaptableOptions/SettingsPanelOptions.d.ts +44 -16
  9. package/src/AdaptableState/Aggregations/only.js +0 -11
  10. package/src/AdaptableState/Aggregations/weightedAverage.d.ts +0 -1
  11. package/src/AdaptableState/Aggregations/weightedAverage.js +3 -30
  12. package/src/AdaptableState/Common/AdaptableColumn.js +0 -1
  13. package/src/AdaptableState/Common/AdaptableForm.js +0 -49
  14. package/src/AdaptableState/Common/AdaptableFormatPresets.js +0 -13
  15. package/src/AdaptableState/Common/AdaptablePredicate.js +3 -125
  16. package/src/AdaptableState/Common/AggregationColumns.js +0 -10
  17. package/src/AdaptableState/Common/Enums.js +0 -3
  18. package/src/AdaptableState/Common/Menu.js +1 -7
  19. package/src/AdaptableState/Common/MenuItem.js +0 -2
  20. package/src/AdaptableState/Common/Types.js +2 -5
  21. package/src/AdaptableState/StatusBarState.js +0 -3
  22. package/src/AdaptableState/StyledColumns/BadgeStyle.js +0 -1
  23. package/src/AdaptableState/StyledColumns/Common/BarStyleProperties.js +0 -4
  24. package/src/AdaptableState/StyledColumns/Common/CellTextOptions.js +0 -5
  25. package/src/AdaptableState/StyledColumns/Common/NumericStyledColumn.js +0 -8
  26. package/src/AdaptableState/Uuid.js +0 -1
  27. package/src/Api/Implementation/AdaptableApiImpl.js +0 -4
  28. package/src/Api/Implementation/AlertApiImpl.js +0 -21
  29. package/src/Api/Implementation/ApiBase.js +0 -24
  30. package/src/Api/Implementation/CalculatedColumnApiImpl.js +0 -1
  31. package/src/Api/Implementation/ChartingApiImpl.js +0 -3
  32. package/src/Api/Implementation/ColumnApiImpl.js +1 -15
  33. package/src/Api/Implementation/ColumnFilterApiImpl.js +0 -9
  34. package/src/Api/Implementation/ColumnScopeApiImpl.js +0 -21
  35. package/src/Api/Implementation/DashboardApiImpl.js +0 -1
  36. package/src/Api/Implementation/EntitlementApiImpl.js +0 -1
  37. package/src/Api/Implementation/ExportApiImpl.js +0 -10
  38. package/src/Api/Implementation/ExpressionApiImpl.js +0 -1
  39. package/src/Api/Implementation/FormatColumnApiImpl.js +0 -3
  40. package/src/Api/Implementation/FreeTextColumnApiImpl.js +0 -2
  41. package/src/Api/Implementation/GridApiImpl.js +1 -22
  42. package/src/Api/Implementation/GridFilterApiImpl.js +0 -2
  43. package/src/Api/Implementation/LayoutApiImpl.js +0 -18
  44. package/src/Api/Implementation/LayoutHelpers.js +0 -16
  45. package/src/Api/Implementation/NamedQueryApiImpl.js +0 -1
  46. package/src/Api/Implementation/PredicateApiImpl.js +0 -5
  47. package/src/Api/Implementation/RowFormApiImpl.js +0 -2
  48. package/src/Api/Implementation/StateApiImpl.js +0 -7
  49. package/src/Api/Implementation/SystemStatusApiImpl.js +0 -2
  50. package/src/Api/Implementation/TeamSharingApiImpl.js +0 -3
  51. package/src/Api/Implementation/UserInterfaceApiImpl.js +0 -1
  52. package/src/Api/Internal/ActionColumnInternalApi.js +0 -1
  53. package/src/Api/Internal/AdaptableInternalApi.d.ts +0 -2
  54. package/src/Api/Internal/AdaptableInternalApi.js +1 -39
  55. package/src/Api/Internal/AlertInternalApi.js +1 -102
  56. package/src/Api/Internal/CalculatedColumnInternalApi.js +0 -17
  57. package/src/Api/Internal/ChartingInternalApi.js +0 -1
  58. package/src/Api/Internal/ColumnFilterInternalApi.js +0 -52
  59. package/src/Api/Internal/ColumnInternalApi.js +0 -32
  60. package/src/Api/Internal/CustomSortInternalApi.js +0 -5
  61. package/src/Api/Internal/DashboardInternalApi.js +0 -23
  62. package/src/Api/Internal/DataImportInternalApi.js +0 -1
  63. package/src/Api/Internal/EventInternalApi.js +0 -2
  64. package/src/Api/Internal/ExportInternalApi.js +1 -16
  65. package/src/Api/Internal/ExpressionInternalApi.js +0 -23
  66. package/src/Api/Internal/Fdc3InternalApi.js +0 -9
  67. package/src/Api/Internal/FlashingCellInternalApi.js +0 -5
  68. package/src/Api/Internal/FormatColumnInternalApi.js +5 -107
  69. package/src/Api/Internal/FreeTextColumnInternalApi.js +0 -8
  70. package/src/Api/Internal/GridFilterInternalApi.js +0 -3
  71. package/src/Api/Internal/GridInternalApi.js +0 -37
  72. package/src/Api/Internal/LayoutInternalApi.js +0 -18
  73. package/src/Api/Internal/NamedQueryInternalApi.js +0 -9
  74. package/src/Api/Internal/PredicateInternalApi.js +0 -23
  75. package/src/Api/Internal/RowFormInternalApi.js +0 -18
  76. package/src/Api/Internal/StateInternalApi.js +0 -25
  77. package/src/Api/Internal/StyledColumnInternalApi.js +0 -62
  78. package/src/Api/Internal/TeamSharingInternalApi.js +0 -9
  79. package/src/Redux/ActionsReducers/AlertRedux.js +0 -24
  80. package/src/Redux/ActionsReducers/ApplicationRedux.js +0 -9
  81. package/src/Redux/ActionsReducers/BulkUpdateRedux.js +0 -6
  82. package/src/Redux/ActionsReducers/CalculatedColumnRedux.js +1 -16
  83. package/src/Redux/ActionsReducers/ChartingRedux.js +0 -24
  84. package/src/Redux/ActionsReducers/CommentsRedux.js +0 -24
  85. package/src/Redux/ActionsReducers/CustomSortRedux.js +0 -24
  86. package/src/Redux/ActionsReducers/DashboardRedux.js +0 -33
  87. package/src/Redux/ActionsReducers/ExportRedux.js +0 -36
  88. package/src/Redux/ActionsReducers/FlashingCellRedux.js +0 -24
  89. package/src/Redux/ActionsReducers/FormatColumnRedux.js +0 -36
  90. package/src/Redux/ActionsReducers/FreeTextColumnRedux.js +1 -20
  91. package/src/Redux/ActionsReducers/InternalRedux.js +0 -42
  92. package/src/Redux/ActionsReducers/LayoutRedux.js +1 -67
  93. package/src/Redux/ActionsReducers/NamedQueryRedux.js +0 -15
  94. package/src/Redux/ActionsReducers/NoteRedux.js +0 -14
  95. package/src/Redux/ActionsReducers/PluginsRedux.js +0 -3
  96. package/src/Redux/ActionsReducers/PlusMinusRedux.js +0 -34
  97. package/src/Redux/ActionsReducers/PopupRedux.js +2 -6
  98. package/src/Redux/ActionsReducers/QuickSearchRedux.js +0 -15
  99. package/src/Redux/ActionsReducers/ShortcutRedux.js +0 -24
  100. package/src/Redux/ActionsReducers/SmartEditRedux.js +0 -6
  101. package/src/Redux/ActionsReducers/StatusBarRedux.js +0 -6
  102. package/src/Redux/ActionsReducers/StyledColumnRedux.js +0 -27
  103. package/src/Redux/ActionsReducers/SystemStatusRedux.js +0 -6
  104. package/src/Redux/ActionsReducers/TeamSharingRedux.js +0 -1
  105. package/src/Redux/ActionsReducers/ThemeRedux.js +0 -26
  106. package/src/Redux/ActionsReducers/ToolPanelRedux.js +0 -22
  107. package/src/Redux/ActionsReducers/UserInterfaceRedux.js +0 -3
  108. package/src/Redux/ActionsReducers/utils.js +0 -6
  109. package/src/Redux/Store/AdaptableReduxLocalStorageEngine.js +0 -1
  110. package/src/Redux/Store/AdaptableReduxMerger.js +0 -25
  111. package/src/Redux/Store/AdaptableStore.js +5 -301
  112. package/src/Strategy/AdaptableModuleBase.js +0 -35
  113. package/src/Strategy/AlertModule.js +0 -9
  114. package/src/Strategy/CellSummaryModule.js +0 -12
  115. package/src/Strategy/ChartingModule.js +0 -1
  116. package/src/Strategy/ColumnFilterModule.js +1 -11
  117. package/src/Strategy/CommentModule.js +0 -2
  118. package/src/Strategy/DashboardModule.js +0 -4
  119. package/src/Strategy/ExportModule.js +0 -1
  120. package/src/Strategy/FlashingCellModule.js +0 -8
  121. package/src/Strategy/FormatColumnModule.js +0 -3
  122. package/src/Strategy/FreeTextColumnModule.js +0 -3
  123. package/src/Strategy/LayoutModule.js +0 -26
  124. package/src/Strategy/NoteModule.js +0 -3
  125. package/src/Strategy/PlusMinusModule.js +0 -3
  126. package/src/Strategy/SettingsPanelModule.js +0 -1
  127. package/src/Strategy/ShortcutModule.js +0 -1
  128. package/src/Strategy/SmartEditModule.js +0 -5
  129. package/src/Strategy/StatusBarModule.js +0 -7
  130. package/src/Strategy/StyledColumnModule.js +1 -16
  131. package/src/Strategy/TeamSharingModule.js +0 -9
  132. package/src/Strategy/Utilities/Layout/columnsSummaryHelpers.js +0 -5
  133. package/src/Utilities/Constants/DocumentationLinkConstants.js +0 -1
  134. package/src/Utilities/Constants/GeneralConstants.js +0 -10
  135. package/src/Utilities/Constants/ObjectDefaultConstants.js +0 -3
  136. package/src/Utilities/Constants/ReduxConstants.js +4 -8
  137. package/src/Utilities/Emitter.js +0 -9
  138. package/src/Utilities/ExpressionFunctions/aggregatedBooleanExpressionFunctions.js +0 -8
  139. package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.js +0 -15
  140. package/src/Utilities/ExpressionFunctions/booleanExpressionFunctions.js +0 -3
  141. package/src/Utilities/ExpressionFunctions/deepMap.js +0 -16
  142. package/src/Utilities/ExpressionFunctions/expressionFunctionUtils.js +0 -9
  143. package/src/Utilities/ExpressionFunctions/observableExpressionFunctions.js +7 -78
  144. package/src/Utilities/ExpressionFunctions/scalarAggregationHelper.js +0 -9
  145. package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.js +2 -16
  146. package/src/Utilities/Extensions/ArrayExtensions.js +1 -63
  147. package/src/Utilities/Extensions/NumberExtensions.js +0 -27
  148. package/src/Utilities/Extensions/ObjectExtensions.js +0 -36
  149. package/src/Utilities/Extensions/StringExtensions.js +0 -27
  150. package/src/Utilities/Helpers/ActionColumnHelper.js +0 -4
  151. package/src/Utilities/Helpers/AdaptableHelper.js +0 -8
  152. package/src/Utilities/Helpers/DateHelper.js +0 -10
  153. package/src/Utilities/Helpers/DisplayFormatHelper.js +0 -8
  154. package/src/Utilities/Helpers/Helper.js +3 -9
  155. package/src/Utilities/Helpers/PlusMinusHelper.js +0 -20
  156. package/src/Utilities/Helpers/QuickSearchHelper.js +0 -5
  157. package/src/Utilities/Helpers/Scheduling/CronExpression.js +0 -43
  158. package/src/Utilities/Helpers/Scheduling/ScheduledReportHelper.js +0 -4
  159. package/src/Utilities/Helpers/SettingsPanelHelper.js +40 -4
  160. package/src/Utilities/Helpers/StyleHelper.js +0 -56
  161. package/src/Utilities/Helpers/StyledColumns/BarStylesHelper.js +0 -46
  162. package/src/Utilities/Helpers/StyledColumns/GradientStyleHelper.js +0 -38
  163. package/src/Utilities/Helpers/StyledColumns/IconStyleHelper.js +0 -39
  164. package/src/Utilities/Helpers/StyledColumns/PercentBarStyleHelper.js +0 -1
  165. package/src/Utilities/Helpers/StyledColumns/SparklineStyleHelper.js +0 -5
  166. package/src/Utilities/Helpers/StyledColumns/StyledColumnHelper.js +0 -37
  167. package/src/Utilities/Helpers/TimingHelper.js +0 -13
  168. package/src/Utilities/ObjectFactory.js +2 -4
  169. package/src/Utilities/Services/AggregatedScalarLiveValue.js +0 -7
  170. package/src/Utilities/Services/AlertService.js +0 -1
  171. package/src/Utilities/Services/AnnotationsService.js +0 -22
  172. package/src/Utilities/Services/CalculatedColumnExpressionService.js +0 -8
  173. package/src/Utilities/Services/ChartingService.js +0 -9
  174. package/src/Utilities/Services/DataService.js +0 -11
  175. package/src/Utilities/Services/Fdc3Service.js +0 -3
  176. package/src/Utilities/Services/FlashingCellService.js +0 -6
  177. package/src/Utilities/Services/ModuleService.js +0 -8
  178. package/src/Utilities/Services/QueryLanguageService.js +2 -25
  179. package/src/Utilities/Services/RowFormService.js +0 -1
  180. package/src/Utilities/Services/RowSummaryService.js +1 -20
  181. package/src/Utilities/Services/TeamSharingService.js +0 -15
  182. package/src/Utilities/Services/ThemeService.js +0 -7
  183. package/src/Utilities/Services/ValidationService.js +0 -21
  184. package/src/Utilities/createAgStatusPanelComponent.js +0 -3
  185. package/src/Utilities/getExpressionViewItems.js +0 -2
  186. package/src/Utilities/getObjectTagsViewItems.js +0 -1
  187. package/src/Utilities/getScrollbarSize.js +0 -1
  188. package/src/Utilities/logDeprecation.js +0 -3
  189. package/src/Utilities/resolveContainerElement.js +0 -21
  190. package/src/Utilities/runIfNotResolvedIn.js +0 -7
  191. package/src/Utilities/sortColumnStateForVisibleColumns.js +2 -12
  192. package/src/Utilities/waitForTimeout.js +0 -1
  193. package/src/Utilities/wizardSelection.js +0 -2
  194. package/src/View/AdaptablePopover/index.js +1 -1
  195. package/src/View/AdaptableView.js +1 -5
  196. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ColumnsList.js +0 -4
  197. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationWizard.js +0 -23
  198. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/EntitlementsForm.js +0 -2
  199. package/src/View/AdaptableWizardView/Wizard.js +0 -12
  200. package/src/View/AdaptableWizardView/helper.js +0 -11
  201. package/src/View/Alert/ActiveAlertsPanel.js +0 -2
  202. package/src/View/Alert/AlertStatusSubPanel.js +0 -8
  203. package/src/View/Alert/Utilities/getAlertType.js +0 -7
  204. package/src/View/Alert/Utilities/getDefaultAlertDefinition.js +0 -5
  205. package/src/View/Alert/Utilities/mapAlertDefinition.js +0 -3
  206. package/src/View/Alert/Wizard/AlertWizard.js +0 -2
  207. package/src/View/Alert/Wizard/isValidAlertRules.js +0 -1
  208. package/src/View/BulkUpdate/BulkUpdatePopup.js +0 -1
  209. package/src/View/CalculatedColumn/Wizard/CalculatedColumnSettingsWizardSection.js +1 -3
  210. package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.js +0 -1
  211. package/src/View/CalculatedColumn/utils.d.ts +1 -1
  212. package/src/View/CellSummary/CellSummaryPopup.js +0 -3
  213. package/src/View/CellSummary/CellSummaryStatusBarSubPanelPopover.js +1 -7
  214. package/src/View/Charting/EditChartButton.js +1 -4
  215. package/src/View/Charting/ShowChartButton.js +0 -3
  216. package/src/View/Charting/useAgChartState.js +0 -5
  217. package/src/View/Charting/useChartingElements.js +0 -4
  218. package/src/View/Charting/useExternalChartState.js +0 -6
  219. package/src/View/ColumnInfo/ColumnInfo.js +7 -17
  220. package/src/View/Comments/CommentsEditor.js +1 -16
  221. package/src/View/Components/AdaptableButton/AdaptableButtonComponent.js +0 -1
  222. package/src/View/Components/AdaptableButton/AdaptableButtonView.js +0 -3
  223. package/src/View/Components/AdaptableDateInput/index.js +2 -9
  224. package/src/View/Components/AdaptableIconComponent/index.js +0 -4
  225. package/src/View/Components/AdaptableIconSelector/index.js +0 -3
  226. package/src/View/Components/AdaptableInput/index.js +0 -2
  227. package/src/View/Components/Badge/index.js +0 -8
  228. package/src/View/Components/Buttons/ButtonNewPage.js +1 -2
  229. package/src/View/Components/CellPopup/index.js +1 -2
  230. package/src/View/Components/ColumnFilter/AdaptableColumnFilter.js +0 -4
  231. package/src/View/Components/ColumnFilter/AdaptableFloatingFilter.js +0 -4
  232. package/src/View/Components/ColumnFilter/ColumnFilter.js +3 -46
  233. package/src/View/Components/ColumnFilter/ColumnFilterWindow.js +0 -2
  234. package/src/View/Components/ColumnFilter/FloatingFilter.js +1 -20
  235. package/src/View/Components/ColumnFilter/components/ColumnFilterInput.js +2 -16
  236. package/src/View/Components/ColumnFilter/components/ColumnFilterInputList.js +1 -4
  237. package/src/View/Components/ColumnFilter/components/FloatingFilterInputList.js +1 -6
  238. package/src/View/Components/ColumnFilter/components/FloatingFilterValues.js +0 -20
  239. package/src/View/Components/ColumnFilter/useAdaptableFilterWrapper.js +0 -5
  240. package/src/View/Components/ColumnFilter/utils.js +2 -9
  241. package/src/View/Components/EntityRulesEditor/EntityRulePredicatesEditor/EntityRulePredicateEditor.js +0 -2
  242. package/src/View/Components/EntityRulesEditor/EntityRulePredicatesEditor/EntityRulePredicatesEditor.js +0 -1
  243. package/src/View/Components/EntityRulesEditor/index.js +1 -11
  244. package/src/View/Components/ExternalRenderer.js +1 -3
  245. package/src/View/Components/FilterForm/ListBoxFilterForm.js +1 -52
  246. package/src/View/Components/ModuleValueSelector/index.js +0 -2
  247. package/src/View/Components/Panels/PanelWithImage.js +1 -5
  248. package/src/View/Components/Panels/PanelWithRow.js +0 -3
  249. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopup.js +0 -6
  250. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupBody.js +0 -3
  251. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupModuleView.js +0 -6
  252. package/src/View/Components/Popups/AdaptablePopup/PopupPanel.js +1 -2
  253. package/src/View/Components/Popups/AdaptablePopup/useMenuItems.js +0 -1
  254. package/src/View/Components/Popups/AdaptablePopupAlert.js +0 -3
  255. package/src/View/Components/Popups/AdaptableToaster.js +0 -2
  256. package/src/View/Components/Popups/WindowPopups/WindowPopups.js +0 -8
  257. package/src/View/Components/RangesComponent.js +0 -57
  258. package/src/View/Components/Selectors/BulkUpdateValueSelector.js +0 -3
  259. package/src/View/Components/Selectors/PermittedValuesSelector.js +1 -6
  260. package/src/View/Components/ToolPanel/AdaptableToolPanel.js +1 -18
  261. package/src/View/Components/ToolPanel/ToolPanelPopupSections.js +0 -4
  262. package/src/View/Components/ToolPanel/ToolPanelWrapper.js +1 -4
  263. package/src/View/Components/ValueSelector/index.js +0 -4
  264. package/src/View/Components/wizardColumnListStyles.js +0 -5
  265. package/src/View/Dashboard/CustomToolbar.js +1 -25
  266. package/src/View/Dashboard/PinnedToolbarsSelector.js +0 -1
  267. package/src/View/DataImport/DataImportWizard/DataImportWizard.js +1 -22
  268. package/src/View/DataImport/DataImportWizard/sections/DataPreview.js +0 -1
  269. package/src/View/DataImport/systemFileHandlers.js +1 -1
  270. package/src/View/FlashingCell/Wizard/isValidFlashingCellRules.js +0 -1
  271. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +0 -27
  272. package/src/View/FormatColumn/Wizard/FormatColumnPreview.js +0 -1
  273. package/src/View/FormatColumn/Wizard/FormatColumnScopeWizardSection.js +0 -7
  274. package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +0 -12
  275. package/src/View/FormatColumn/Wizard/FormatColumnWizard.js +0 -10
  276. package/src/View/GridFilter/GridFilterPopup.js +0 -1
  277. package/src/View/GridFilter/useGridFilterExpressionEditor.js +0 -2
  278. package/src/View/GridInfo/GridInfoPopup/GridInfoPopup.js +1 -31
  279. package/src/View/Layout/LayoutViewPanel.js +0 -2
  280. package/src/View/Layout/PivotDetailsPopoup.js +0 -2
  281. package/src/View/Layout/TransposedPopup.js +0 -7
  282. package/src/View/Layout/Wizard/LayoutWizard.js +1 -6
  283. package/src/View/Layout/Wizard/sections/AggregationsSection.js +0 -2
  284. package/src/View/Layout/Wizard/sections/ColumnsSection.js +1 -32
  285. package/src/View/Layout/Wizard/sections/RowSummarySection.js +0 -3
  286. package/src/View/Layout/Wizard/sections/columnLayoutHelpers.js +0 -2
  287. package/src/View/Layout/Wizard/sections/layoutWizardColumns.js +0 -4
  288. package/src/View/Note/NotePopup.js +0 -1
  289. package/src/View/QuickSearch/QuickSearchPopup.js +0 -1
  290. package/src/View/StatusBar/AdaptableStatusBar.js +0 -4
  291. package/src/View/StatusBar/StatusBarPanel.js +0 -8
  292. package/src/View/StatusBar/StatusBarPopup.js +0 -2
  293. package/src/View/StyledColumn/Wizard/BadgePillStyleEditor.js +0 -11
  294. package/src/View/StyledColumn/Wizard/StyledColumnSliceStyleEditors.js +0 -28
  295. package/src/View/StyledColumn/Wizard/StyledColumnSparklineSettingsSection.js +0 -13
  296. package/src/View/StyledColumn/Wizard/StyledColumnWizard.js +1 -25
  297. package/src/View/StyledColumn/Wizard/StyledColumnWizardBulletSection.js +0 -26
  298. package/src/View/StyledColumn/Wizard/StyledColumnWizardGradientSection.js +0 -3
  299. package/src/View/StyledColumn/Wizard/StyledColumnWizardIconSection.js +0 -40
  300. package/src/View/StyledColumn/Wizard/StyledColumnWizardRangeBarSection.js +0 -55
  301. package/src/View/StyledColumn/Wizard/StyledColumnWizardRatingSection.js +0 -15
  302. package/src/View/StyledColumn/Wizard/StyledColumnWizardScopeSection.js +0 -21
  303. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/BarStyleCellTextPreview.js +0 -10
  304. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/GradientSummaryPreview.js +0 -5
  305. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarStylePreview.js +0 -4
  306. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBadgePreview.js +0 -5
  307. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBulletPreview.js +0 -3
  308. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnChartListPreviews.js +0 -13
  309. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnRangeBarPreview.js +0 -1
  310. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnRatingPreview.js +0 -1
  311. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnSparklinePreview.js +0 -1
  312. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardRangesSection.js +0 -13
  313. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardStyleSection.js +1 -13
  314. package/src/View/StyledColumn/Wizard/StyledColumnWizardTypeSection.js +0 -21
  315. package/src/View/SystemStatus/SystemStatusPopup.js +0 -1
  316. package/src/View/TeamSharing/SharedEntityObjectView.js +0 -1
  317. package/src/View/Theme/ThemeSelector.js +0 -1
  318. package/src/View/UIHelper.js +0 -6
  319. package/src/View/UIInterfaces.js +0 -1
  320. package/src/View/Wizard/CollapsibleWizardCard.js +1 -8
  321. package/src/View/Wizard/OnePageWizards.js +2 -9
  322. package/src/View/Wizard/SummaryColorTag.js +0 -1
  323. package/src/View/Wizard/useKeyboardNavigation.js +1 -3
  324. package/src/agGrid/Adaptable.js +0 -12
  325. package/src/agGrid/AdaptableAgGrid.d.ts +0 -2
  326. package/src/agGrid/AdaptableAgGrid.js +3 -482
  327. package/src/agGrid/AdaptableFilterHandler.js +0 -5
  328. package/src/agGrid/AdaptableLogger.js +0 -6
  329. package/src/agGrid/AgGridAdapter.js +3 -90
  330. package/src/agGrid/AgGridColumnAdapter.js +6 -168
  331. package/src/agGrid/AgGridExportAdapter.js +4 -106
  332. package/src/agGrid/AgGridFilterAdapter.js +0 -5
  333. package/src/agGrid/AgGridFloatingFilterAdapter.js +0 -10
  334. package/src/agGrid/AgGridMenuAdapter.js +0 -143
  335. package/src/agGrid/AgGridModulesAdapter.js +0 -2
  336. package/src/agGrid/AgGridOptionsService.js +0 -2
  337. package/src/agGrid/AgGridThemeAdapter.js +0 -7
  338. package/src/agGrid/agGridDataTypeDefinitions.js +0 -8
  339. package/src/agGrid/cellRenderers/BadgeRenderer.js +0 -10
  340. package/src/agGrid/cellRenderers/BulletChartRenderer.js +1 -96
  341. package/src/agGrid/cellRenderers/IconRenderer.js +0 -55
  342. package/src/agGrid/cellRenderers/PercentBarRenderer.js +0 -51
  343. package/src/agGrid/cellRenderers/RangeBarRenderer.js +1 -50
  344. package/src/agGrid/cellRenderers/RatingRenderer.js +0 -40
  345. package/src/agGrid/editors/AdaptableDateEditor/index.js +0 -18
  346. package/src/agGrid/editors/AdaptableNumberEditor/InternalAdaptableNumberEditor.js +0 -3
  347. package/src/agGrid/editors/AdaptableNumberEditor/index.js +0 -11
  348. package/src/agGrid/editors/AdaptablePercentageEditor/index.js +0 -9
  349. package/src/agGrid/index.js +0 -6
  350. package/src/components/AdaptableFormComponent/AdaptableFormComponent.js +1 -73
  351. package/src/components/CodeBlock/index.d.ts +0 -1
  352. package/src/components/CodeBlock/index.js +2 -3
  353. package/src/components/ColorPicker/ColorPicker.js +0 -6
  354. package/src/components/Combobox/VirtualizedList.js +0 -5
  355. package/src/components/Combobox/index.js +5 -63
  356. package/src/components/Dashboard/Dashboard.js +1 -4
  357. package/src/components/Datepicker/index.js +2 -97
  358. package/src/components/DragAndDropContext/TabList.js +2 -6
  359. package/src/components/Drawer/index.js +0 -7
  360. package/src/components/Dropdown/index.js +0 -1
  361. package/src/components/DropdownButton/index.js +0 -1
  362. package/src/components/ExpressionEditor/BaseEditorInput.js +1 -16
  363. package/src/components/ExpressionEditor/EditorButton.js +0 -1
  364. package/src/components/ExpressionEditor/EditorInput.js +1 -7
  365. package/src/components/ExpressionEditor/EditorInputWithWhereClause.js +0 -1
  366. package/src/components/ExpressionEditor/ExpressionPreview.js +4 -14
  367. package/src/components/ExpressionEditor/NamedQueryContext.js +0 -1
  368. package/src/components/ExpressionEditor/QueryBuilder/QueryBuilderInputs.js +1 -6
  369. package/src/components/ExpressionEditor/QueryBuilder/QueryPredicateBuilder.js +0 -12
  370. package/src/components/ExpressionEditor/QueryBuilder/utils.js +0 -4
  371. package/src/components/ExpressionEditor/index.js +5 -14
  372. package/src/components/Icon/index.js +0 -2
  373. package/src/components/Input/NumberInput.js +0 -10
  374. package/src/components/Modal/Backdrop.js +0 -1
  375. package/src/components/OverlayTrigger/Overlay.js +0 -1
  376. package/src/components/OverlayTrigger/index.js +3 -15
  377. package/src/components/ProgressIndicator/ProgressIndicator.js +3 -16
  378. package/src/components/ResizeObserver/index.js +0 -7
  379. package/src/components/SimpleButton/index.js +2 -16
  380. package/src/components/Tabs/index.js +0 -3
  381. package/src/components/Tag/Tag.js +0 -1
  382. package/src/components/Tag/columnScopeTagHelpers.js +0 -2
  383. package/src/components/Textarea/index.js +1 -8
  384. package/src/components/Toggle/Toggle.js +1 -5
  385. package/src/components/Toggle/ToggleGroup.js +1 -3
  386. package/src/components/ToggleButton/index.js +1 -3
  387. package/src/components/Tree/TreeDropdown/index.js +2 -130
  388. package/src/components/Tree/treeUtils.js +0 -4
  389. package/src/components/WindowModal/WindowModal.js +1 -14
  390. package/src/components/WindowModal/useStacking.js +0 -7
  391. package/src/components/icons/bullet-chart.js +0 -4
  392. package/src/components/icons/icon-style.js +0 -4
  393. package/src/components/icons/index.js +26 -36
  394. package/src/components/icons/range-bar.js +0 -5
  395. package/src/components/icons/star.js +0 -1
  396. package/src/components/twUtils.js +3 -12
  397. package/src/components/ui/calendar.js +1 -9
  398. package/src/components/ui/combobox.js +0 -4
  399. package/src/components/utils/captureTabNavigation/getFocusableChildren.js +0 -1
  400. package/src/components/utils/useDraggable.js +0 -4
  401. package/src/components/utils/useProperty.js +0 -18
  402. package/src/devTools/index.js +0 -1
  403. package/src/env.js +2 -2
  404. package/src/layout-manager/src/LMEmitter.js +0 -5
  405. package/src/layout-manager/src/destructurePivotColumnId.js +0 -19
  406. package/src/layout-manager/src/index.js +2 -182
  407. package/src/layout-manager/src/isLayoutEqual.js +0 -1
  408. package/src/layout-manager/src/isPivotColumnTotal.js +0 -2
  409. package/src/layout-manager/src/normalizeLayoutModel.js +0 -27
  410. package/src/layout-manager/src/simplifyLayoutModel.js +0 -11
  411. package/src/layout-manager/src/sortColumnIdsByOrder.js +2 -12
  412. package/src/lib/utils.js +0 -1
  413. package/src/migration/AdaptableUpgradeHelper.js +0 -2
  414. package/src/migration/VersionUpgrade17.js +0 -33
  415. package/src/migration/VersionUpgrade20.js +1 -21
  416. package/src/migration/VersionUpgrade21.js +0 -3
  417. package/src/migration/VersionUpgrade22.js +0 -11
  418. package/src/migration/VersionUpgrade23.js +0 -73
  419. package/src/parser/src/evaluator.js +0 -1
  420. package/src/parser/src/index.js +0 -1
  421. package/src/parser/src/parser.js +4 -103
  422. package/src/parser/src/predicate/mapExpressionToQlPredicate.js +0 -5
  423. package/src/parser/src/predicate/mapQlPredicateToExpression.js +0 -2
  424. package/src/parser/src/tokenizer.js +0 -2
  425. package/src/parser/src/utils.js +0 -1
  426. package/src/renderReactRoot.js +0 -12
  427. package/src/setupDevTools.js +0 -6
  428. package/src/twMerge.js +0 -1
  429. package/src/types.d.ts +1 -1
  430. package/src/types.js +0 -2
  431. package/tsconfig.cjs.tsbuildinfo +1 -1
  432. package/src/AdaptableState/Common/NamedObject.d.ts +0 -10
  433. package/src/AdaptableState/Common/NamedObject.js +0 -2
  434. package/src/Utilities/ExpressionFunctions/groupingMap.d.ts +0 -35
  435. package/src/Utilities/ExpressionFunctions/groupingMap.js +0 -103
  436. package/src/Utilities/Interface/AdaptableToolPanelContext.d.ts +0 -4
  437. package/src/Utilities/Interface/AdaptableToolPanelContext.js +0 -2
  438. package/src/Utilities/Services/Interface/IMetamodelService.d.ts +0 -20
  439. package/src/Utilities/Services/Interface/IMetamodelService.js +0 -2
  440. package/src/Utilities/Services/MetamodelService.d.ts +0 -17
  441. package/src/Utilities/Services/MetamodelService.js +0 -167
  442. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/AdaptableOptionsForm.d.ts +0 -6
  443. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/AdaptableOptionsForm.js +0 -104
  444. package/src/View/Components/Buttons/EntityListActionButtons.d.ts +0 -38
  445. package/src/View/Components/Buttons/EntityListActionButtons.js +0 -47
  446. package/src/View/Components/ColumnFilter/components/ColumnFilterMenu.d.ts +0 -12
  447. package/src/View/Components/ColumnFilter/components/ColumnFilterMenu.js +0 -72
  448. package/src/View/Components/EntityRowItem.d.ts +0 -7
  449. package/src/View/Components/EntityRowItem.js +0 -12
  450. package/src/View/Components/FilterForm/getDefaultColumnFilterPredicate.d.ts +0 -3
  451. package/src/View/Components/FilterForm/getDefaultColumnFilterPredicate.js +0 -9
  452. package/src/View/Components/ModuleProfile.d.ts +0 -8
  453. package/src/View/Components/ModuleProfile.js +0 -15
  454. package/src/View/Components/ModuleSummary/ModuleDetail.d.ts +0 -23
  455. package/src/View/Components/ModuleSummary/ModuleDetail.js +0 -20
  456. package/src/View/Components/ModuleSummary/ModuleHeader.d.ts +0 -15
  457. package/src/View/Components/ModuleSummary/ModuleHeader.js +0 -20
  458. package/src/View/Components/ModuleSummary/SummaryRowItem.d.ts +0 -7
  459. package/src/View/Components/ModuleSummary/SummaryRowItem.js +0 -17
  460. package/src/View/Components/SharedProps/ModuleSummaryProps.d.ts +0 -9
  461. package/src/View/Components/SharedProps/ModuleSummaryProps.js +0 -2
  462. package/src/View/Components/SharedProps/ToolPanelModuleViewPopupProps.d.ts +0 -13
  463. package/src/View/Components/SharedProps/ToolPanelModuleViewPopupProps.js +0 -2
  464. package/src/View/Components/SharedProps/ToolbarModuleViewPopupProps.d.ts +0 -14
  465. package/src/View/Components/SharedProps/ToolbarModuleViewPopupProps.js +0 -2
  466. package/src/View/Components/StyleVisualItem.d.ts +0 -9
  467. package/src/View/Components/StyleVisualItem.js +0 -45
  468. package/src/View/Components/WizardSummaryPage.d.ts +0 -7
  469. package/src/View/Components/WizardSummaryPage.js +0 -22
  470. package/src/components/Accordion.d.ts +0 -7
  471. package/src/components/Accordion.js +0 -38
  472. package/src/components/FlexWithFooter.d.ts +0 -9
  473. package/src/components/FlexWithFooter.js +0 -15
  474. package/src/components/NotifyResize/index.d.ts +0 -9
  475. package/src/components/NotifyResize/index.js +0 -38
  476. package/src/components/PopupWithFooter.d.ts +0 -14
  477. package/src/components/PopupWithFooter.js +0 -15
  478. package/src/components/SelectableList/index.d.ts +0 -15
  479. package/src/components/SelectableList/index.js +0 -100
  480. package/src/components/SizedContainer/index.d.ts +0 -17
  481. package/src/components/SizedContainer/index.js +0 -23
  482. package/src/components/Table/index.d.ts +0 -4
  483. package/src/components/Table/index.js +0 -9
  484. package/src/components/WizardPanel/index.d.ts +0 -9
  485. package/src/components/WizardPanel/index.js +0 -10
  486. package/src/components/icons/align-justify.d.ts +0 -3
  487. package/src/components/icons/align-justify.js +0 -6
  488. package/src/components/icons/column-info.d.ts +0 -3
  489. package/src/components/icons/column-info.js +0 -6
  490. package/src/components/icons/gradient-column.d.ts +0 -3
  491. package/src/components/icons/gradient-column.js +0 -6
  492. package/src/components/icons/invalid.d.ts +0 -3
  493. package/src/components/icons/invalid.js +0 -6
  494. package/src/components/icons/logout copy.d.ts +0 -3
  495. package/src/components/icons/logout copy.js +0 -6
  496. package/src/components/icons/smart-edit.d.ts +0 -3
  497. package/src/components/icons/smart-edit.js +0 -6
  498. package/src/components/icons/team-share.d.ts +0 -3
  499. package/src/components/icons/team-share.js +0 -6
  500. package/src/components/icons/unchecked.d.ts +0 -3
  501. package/src/components/icons/unchecked.js +0 -6
  502. package/src/components/icons/user-filter.d.ts +0 -3
  503. package/src/components/icons/user-filter.js +0 -6
  504. package/src/components/utils/useContainerScrollObserver/index.d.ts +0 -6
  505. package/src/components/utils/useContainerScrollObserver/index.js +0 -83
  506. package/src/components/utils/useGlobalEvent.d.ts +0 -1
  507. package/src/components/utils/useGlobalEvent.js +0 -12
  508. package/src/components/utils/useLatest.d.ts +0 -1
  509. package/src/components/utils/useLatest.js +0 -10
  510. package/src/components/utils/usePropState.d.ts +0 -2
  511. package/src/components/utils/usePropState.js +0 -11
  512. package/src/metamodel/adaptable-metamodel-model.d.ts +0 -26
  513. package/src/metamodel/adaptable-metamodel-model.js +0 -2
  514. package/src/metamodel/adaptable.metamodel.d.ts +0 -6244
  515. package/src/metamodel/adaptable.metamodel.js +0 -1
@@ -19,7 +19,6 @@ const calendar_1 = require("../ui/calendar");
19
19
  const input_group_1 = require("../ui/input-group");
20
20
  const NewSelect_1 = require("../NewSelect");
21
21
  const twUtils_1 = require("../twUtils");
22
- // ── Caption dropdown components (month/year) ──────────────────────────
23
22
  const onCaptionKeyDown = (e) => {
24
23
  if (e.key === 'Escape' || e.key === 'Enter') {
25
24
  e.stopPropagation();
@@ -40,15 +39,10 @@ const captionComponents = {
40
39
  YearsDropdown: DatepickerYearsDropdown,
41
40
  MonthsDropdown: DatepickerMonthsDropdown,
42
41
  };
43
- // ── Main component ────────────────────────────────────────────────────
44
42
  const END_MONTH = (0, date_fns_1.endOfYear)((0, date_fns_1.addYears)(new Date(), 10));
45
43
  const START_MONTH = (0, date_fns_1.startOfYear)((0, date_fns_1.addYears)(new Date(), -50));
46
44
  exports.Datepicker = React.forwardRef((props, ref) => {
47
- const { dateProps, disabled, style, className, placeholder, showWeekNumber, showOutsideDays, datepickerButtons, showClearButton, autoFocus,
48
- // openOnFocus,
49
- onHide, value: _value, defaultValue: _defaultValue, onChange: _onChange,
50
- // ...boxProps
51
- } = props;
45
+ const { dateProps, disabled, style, className, placeholder, showWeekNumber, showOutsideDays, datepickerButtons, showClearButton, autoFocus, onHide, value: _value, defaultValue: _defaultValue, onChange: _onChange, } = props;
52
46
  void _value;
53
47
  void _defaultValue;
54
48
  void _onChange;
@@ -67,14 +61,11 @@ exports.Datepicker = React.forwardRef((props, ref) => {
67
61
  setMonth(next ?? new Date());
68
62
  };
69
63
  const inputValue = (0, DisplayFormatHelper_1.DateFormatter)(value, { Pattern: dateProps.format }) ?? '';
70
- // ── DOM refs for focus ownership ────────────────────────────────
71
64
  const triggerRef = React.useRef(null);
72
65
  const popupRef = React.useRef(null);
73
66
  const isInsideDatepicker = React.useCallback((node) => {
74
67
  if (!node)
75
68
  return false;
76
- // Focus often lands on `body` briefly when a focused control unmounts (month nav).
77
- // Treat as "still in session" so we don't close before focus settles.
78
69
  if (node === document.body || node === document.documentElement) {
79
70
  return true;
80
71
  }
@@ -88,8 +79,6 @@ exports.Datepicker = React.forwardRef((props, ref) => {
88
79
  if (root === node || root.contains(node)) {
89
80
  return true;
90
81
  }
91
- // `popupRef` is on an inner div; Base UI may focus `PopoverPrimitive.Popup` / Positioner
92
- // (ancestors of `root`). Those must still count as inside the datepicker.
93
82
  if (node instanceof Element && root instanceof Element) {
94
83
  let p = root.parentElement;
95
84
  while (p) {
@@ -101,7 +90,6 @@ exports.Datepicker = React.forwardRef((props, ref) => {
101
90
  }
102
91
  return false;
103
92
  }, []);
104
- // ── Open / close ──────────────────────────────────────────────────
105
93
  const [open, setOpen] = (0, react_1.useState)(false);
106
94
  const closedAtRef = React.useRef(0);
107
95
  const tabFromOverlayRef = React.useRef(false);
@@ -118,9 +106,6 @@ exports.Datepicker = React.forwardRef((props, ref) => {
118
106
  onHide?.();
119
107
  }
120
108
  }, [datepickerContext, onHide]);
121
- // Only honour explicit, unambiguous close reasons.
122
- // focus-out / trigger-press are ignored — the document-level
123
- // focusin listener below handles blur-to-close reliably.
124
109
  const handleOpenChange = React.useCallback((next, eventDetails) => {
125
110
  if (next) {
126
111
  setPopoverOpen(true);
@@ -136,14 +121,11 @@ exports.Datepicker = React.forwardRef((props, ref) => {
136
121
  return;
137
122
  }
138
123
  }, [setPopoverOpen]);
139
- // Close when focus moves to something truly outside the datepicker (e.g. Tab away).
140
124
  (0, react_1.useEffect)(() => {
141
125
  if (!open)
142
126
  return;
143
127
  const onFocusIn = (e) => {
144
128
  const target = e.target;
145
- // When Tab was pressed inside the overlay and focus landed outside the
146
- // popup (even on the trigger), close so the user can Tab away freely.
147
129
  if (tabFromOverlayRef.current) {
148
130
  const popup = popupRef.current;
149
131
  if (popup && target && !popup.contains(target) && popup !== target) {
@@ -160,8 +142,6 @@ exports.Datepicker = React.forwardRef((props, ref) => {
160
142
  document.addEventListener('focusin', onFocusIn);
161
143
  return () => document.removeEventListener('focusin', onFocusIn);
162
144
  }, [open, isInsideDatepicker, setPopoverOpen]);
163
- // Move focus into the overlay when it opens (portal + positioner need a frame to settle).
164
- // Skip when autoFocus is set — the Calendar will focus a day cell itself.
165
145
  (0, react_1.useLayoutEffect)(() => {
166
146
  if (!open || disabled || autoFocus) {
167
147
  return;
@@ -171,7 +151,6 @@ exports.Datepicker = React.forwardRef((props, ref) => {
171
151
  });
172
152
  return () => cancelAnimationFrame(id);
173
153
  }, [open, disabled, autoFocus]);
174
- // ── Footer buttons ────────────────────────────────────────────────
175
154
  const clearValue = () => updateValue(undefined);
176
155
  const renderButton = (label, onClick) => ((0, jsx_runtime_1.jsx)(SimpleButton_1.default, { onClick: onClick, className: "twa:m-[2px]", children: label }));
177
156
  const todayDate = new Date();
@@ -187,68 +166,23 @@ exports.Datepicker = React.forwardRef((props, ref) => {
187
166
  '|': (0, jsx_runtime_1.jsx)("hr", { style: { width: '100%', height: 0, margin: 0, border: 'none' } }),
188
167
  };
189
168
  const footerButtons = datepickerButtons.map((buttonKey, index) => React.cloneElement(footerButtonsMap[buttonKey], { key: index }));
190
- // ── Inline buttons (clear / calendar icon) ────────────────────────
191
169
  const clearButton = showClearButton !== false ? ((0, jsx_runtime_1.jsx)(SimpleButton_1.default, { "data-name": "clear", variant: "text", tooltip: "Clear", iconSize: 20, className: "twa:p-0", icon: "close", onMouseDown: (e) => {
192
170
  e.preventDefault();
193
- // e.stopPropagation();
194
171
  clearValue();
195
172
  console.log('onMouseDown', e);
196
173
  }, onClick: (e) => {
197
174
  console.log('onClick', e);
198
175
  e.stopPropagation();
199
- // also clear on click, as the user may have "clicked" using enter
200
176
  clearValue();
201
- // and focus the input
202
177
  triggerRef.current?.firstChild?.focus();
203
178
  }, accessLevel: GeneralConstants_1.ACCESS_LEVEL_FULL })) : null;
204
179
  const calendarButton = ((0, jsx_runtime_1.jsx)(SimpleButton_1.default, { disabled: disabled, variant: "text", icon: "calendar", tooltip: "Date", iconSize: 20, className: "twa:p-0", type: "button" }));
205
- // ── Select-portal container (so month/year lists stay inside the popover) ──
206
180
  const [selectPortalRoot, setSelectPortalRoot] = React.useState(null);
207
- // Stable callback ref — avoids cleanup/re-call cycle that briefly nullifies popupRef.
208
181
  const popupRefCallback = React.useCallback((el) => {
209
182
  popupRef.current = el;
210
183
  setSelectPortalRoot(el);
211
184
  }, []);
212
- // ── Render ────────────────────────────────────────────────────────
213
- return ((0, jsx_runtime_1.jsxs)(popover_1.Popover, { open: open, onOpenChange: handleOpenChange, children: [(0, jsx_runtime_1.jsx)(popover_1.PopoverTrigger, { nativeButton: false, render:
214
- // <Flex
215
- // {...boxProps}
216
- // ref={triggerRef as React.Ref<HTMLDivElement>}
217
- // flexDirection="row"
218
- // alignItems="center"
219
- // style={{
220
- // borderRadius: style?.borderRadius,
221
- // width: style?.width,
222
- // maxWidth: style?.maxWidth,
223
- // border: style?.border,
224
- // }}
225
- // className={cn(
226
- // 'ab-Datepicker twa:focus-visible:outline-none twa:rounded-standard',
227
- // // targetOwn.focusWithinOutline,
228
- // // targetChildren.focusWithinOutline,
229
- // className
230
- // )}
231
- // // onMouseDown={() => {
232
- // // closedByTabOutRef.current = false;
233
- // // }}
234
- // // onFocusCapture={() => {
235
- // // if (closedByTabOutRef.current) {
236
- // // return;
237
- // // }
238
- // // if (!open && Date.now() - closedAtRef.current > 200) {
239
- // // setPopoverOpen(true);
240
- // // }
241
- // // }}
242
- // // onBlurCapture={(e: React.FocusEvent) => {
243
- // // if (closedByTabOutRef.current) {
244
- // // const related = e.relatedTarget as Node | null;
245
- // // if (!triggerRef.current?.contains(related)) {
246
- // // closedByTabOutRef.current = false;
247
- // // }
248
- // // }
249
- // // }}
250
- // />
251
- (0, jsx_runtime_1.jsxs)(input_group_1.InputGroup, { ref: triggerRef, style: {
185
+ return ((0, jsx_runtime_1.jsxs)(popover_1.Popover, { open: open, onOpenChange: handleOpenChange, children: [(0, jsx_runtime_1.jsx)(popover_1.PopoverTrigger, { nativeButton: false, render: (0, jsx_runtime_1.jsxs)(input_group_1.InputGroup, { ref: triggerRef, style: {
252
186
  borderRadius: style?.borderRadius,
253
187
  width: style?.width,
254
188
  maxWidth: style?.maxWidth,
@@ -259,34 +193,5 @@ exports.Datepicker = React.forwardRef((props, ref) => {
259
193
  updateValue(date);
260
194
  }
261
195
  }, className: "twa:h-auto twa:min-w-0 twa:outline-none twa:min-h-auto twa:py-0 twa:flex-1 twa:rounded-none twa:border-0 twa:bg-transparent twa:shadow-none twa:ring-0 twa:focus-visible:ring-0 twa:dark:bg-transparent", style: style, disabled: disabled }), (0, jsx_runtime_1.jsxs)(input_group_1.InputGroupAddon, { align: "inline-end", children: [inputValue ? clearButton : null, calendarButton] })] }) }), (0, jsx_runtime_1.jsx)(popover_1.PopoverContent, { className: "twa:w-auto twa:p-0", align: "start", sideOffset: 8, children: (0, jsx_runtime_1.jsx)("div", { ref: popupRefCallback, tabIndex: -1, role: "region", "aria-label": "Calendar", className: (0, utils_1.cn)('twa:relative twa:isolate twa:overflow-visible twa:outline-none twa:rounded-standard', twUtils_1.targetOwn.focusWithinOutline), onKeyDown: () => {
262
- // console.log('onKeyDown', e.key);
263
- // return;
264
- // if (e.key === 'Tab') {
265
- // tabFromOverlayRef.current = true;
266
- // requestAnimationFrame(() => {
267
- // tabFromOverlayRef.current = false;
268
- // });
269
- // }
270
- // if (
271
- // (e.key === 'Enter' || e.key === ' ') &&
272
- // e.target instanceof HTMLElement &&
273
- // e.target.tagName === 'BUTTON' &&
274
- // e.target.closest('nav')
275
- // ) {
276
- // const nav = e.target.closest('nav')!;
277
- // const buttons = nav.querySelectorAll('button');
278
- // const btnIndex = Array.from(buttons).indexOf(e.target as HTMLButtonElement);
279
- // if (btnIndex >= 0) {
280
- // requestAnimationFrame(() => {
281
- // requestAnimationFrame(() => {
282
- // const popup = popupRef.current;
283
- // if (!popup) return;
284
- // const newNav = popup.querySelector('nav');
285
- // const newBtn = newNav?.querySelectorAll('button')[btnIndex];
286
- // (newBtn as HTMLElement | undefined)?.focus({ preventScroll: true });
287
- // });
288
- // });
289
- // }
290
- // }
291
196
  }, children: (0, jsx_runtime_1.jsx)(DatepickerSelectPortalContext.Provider, { value: selectPortalRoot, children: (0, jsx_runtime_1.jsx)(calendar_1.Calendar, { fixedWeeks: true, autoFocus: !!autoFocus, showWeekNumber: showWeekNumber, showOutsideDays: showOutsideDays, mode: "single", captionLayout: "dropdown", month: month && !isNaN(month.getTime()) ? month : new Date(), selected: value, onMonthChange: setMonth, onSelect: updateValue, startMonth: START_MONTH, endMonth: END_MONTH, locale: dateProps.locale, components: captionComponents, footer: (0, jsx_runtime_1.jsx)(Flex_1.Flex, { justifyContent: "space-between", className: "twa:mt-2", flexWrap: 'wrap', children: footerButtons }) }) }) }) })] }));
292
197
  });
@@ -69,9 +69,7 @@ function ToolbarList({ toolbars, tabIndex, tabs, onTabsChange, onRemove, disable
69
69
  });
70
70
  return sources;
71
71
  }, [dragScope, unusedListIds, tabIndex, tabs]);
72
- return ((0, jsx_runtime_1.jsx)(dnd_1.DragList, { dragListId: scopedListId, orientation: orientation, acceptDropsFrom: [...acceptDropsFrom, scopedListId], onDragProxyMove: dnd_1.defaultDragProxyMove,
73
- // this is called when reordering inside the same list
74
- onDrop: (sortedIndexes) => {
72
+ return ((0, jsx_runtime_1.jsx)(dnd_1.DragList, { dragListId: scopedListId, orientation: orientation, acceptDropsFrom: [...acceptDropsFrom, scopedListId], onDragProxyMove: dnd_1.defaultDragProxyMove, onDrop: (sortedIndexes) => {
75
73
  const newItems = sortedIndexes.map((i) => toolbars[i]);
76
74
  onTabsChange(tabs.map((t, i) => (i === tabIndex ? { ...t, Items: newItems } : t)));
77
75
  }, shouldAcceptDrop: ({ dragItem, dragSourceListId }) => {
@@ -81,9 +79,7 @@ function ToolbarList({ toolbars, tabIndex, tabs, onTabsChange, onRemove, disable
81
79
  return true;
82
80
  }
83
81
  return !toolbars.includes(toolbarId);
84
- },
85
- // this is called when dropping an item from a different list
86
- onAcceptDrop: ({ dragItemId, dropIndex }) => {
82
+ }, onAcceptDrop: ({ dragItemId, dropIndex }) => {
87
83
  const toolbarId = (0, dragScope_1.unscopeDragId)(dragItemId);
88
84
  onTabsChange(tabs.map((tab, i) => {
89
85
  if (i !== tabIndex || tab.Items.includes(toolbarId)) {
@@ -10,24 +10,17 @@ const Drawer = (props) => {
10
10
  });
11
11
  const [show, setShow] = React.useState(props.open);
12
12
  React.useEffect(() => {
13
- // CLOSED -> OPEN
14
- // SHOW Element, with closed class
15
- // CHANGE class to opened
16
13
  if (!isOpen && props.open) {
17
14
  setShow(true);
18
15
  requestAnimationFrame(() => {
19
16
  setIsOpen(true);
20
17
  });
21
18
  }
22
- // OPEN -> CLOSED
23
- // CHANGE class to closed
24
- // HIDE Element, when animation is finsihed
25
19
  if (isOpen && !props.open) {
26
20
  setIsOpen(false);
27
21
  }
28
22
  }, [props.open]);
29
23
  const handleOnKeyDown = React.useCallback((event) => {
30
- // escape
31
24
  if (event.key === 'Escape') {
32
25
  props.onOpenChange?.(false);
33
26
  }
@@ -79,7 +79,6 @@ const Dropdown = (props) => {
79
79
  if (!selectedOption) {
80
80
  selectedText = placeholder;
81
81
  }
82
- //20 ... 20 16
83
82
  const renderClearButton = () => ((0, jsx_runtime_1.jsx)(SimpleButton_1.default, { variant: "text", icon: "close", tone: "none", tooltip: "Clear", iconSize: 20, ...clearButtonProps, className: (0, twMerge_1.twMerge)('twa:p-0 twa:mr-1 twa:z-10 twa:color-inherit', clearButtonProps?.className), style: {
84
83
  ...(clearButtonProps ? clearButtonProps.style : null),
85
84
  }, onClick: (e) => {
@@ -21,7 +21,6 @@ exports.NewDropdownButton = React.forwardRef((props, ref) => {
21
21
  ? item.tooltip.length
22
22
  : 0), 0);
23
23
  return ((0, jsx_runtime_1.jsxs)(dropdown_menu_1.DropdownMenu, { children: [tooltip ? (0, jsx_runtime_1.jsx)(NewTooltip_1.NewTooltip, { label: tooltip, children: trigger }) : trigger, (0, jsx_runtime_1.jsx)(dropdown_menu_1.DropdownMenuContent, { side: side, align: align, style: {
24
- // minWidth: `min(max(${maxLabelLength + 5}ch, calc(var(--ab-base-space) * 32)),80vw)`,
25
24
  width: `max(${maxLabelLength + (props.extraWidthChars ?? 3)}ch, calc(var(--ab-base-space) * 20), var(--anchor-width))`,
26
25
  }, children: items.map((item, index) => {
27
26
  if (item.separator) {
@@ -71,7 +71,6 @@ const FunctionsDropdown = ({ expressionFunctions, baseClassName }) => {
71
71
  const groupedFunctions = React.useMemo(() => {
72
72
  return Object.keys(expressionFunctions).reduce((acc, key) => {
73
73
  const functionDef = expressionFunctions[key];
74
- // filter
75
74
  if (currentFunctionCategory !== 'all' && functionDef.category !== currentFunctionCategory) {
76
75
  return acc;
77
76
  }
@@ -115,11 +114,6 @@ const FunctionsDropdown = ({ expressionFunctions, baseClassName }) => {
115
114
  setOverFunction(null);
116
115
  };
117
116
  const [searchInputValue, setSearchInputValue] = React.useState('');
118
- /**
119
- * Hide when:
120
- * - mouse leaves
121
- * - a function is inserted
122
- */
123
117
  return ((0, jsx_runtime_1.jsx)(OverlayTrigger_1.default, { ref: dropdownRef, showEvent: "mouseenter", hideEvent: "mouseleave", targetOffset: 5, render: () => ((0, jsx_runtime_1.jsxs)(Flex_1.Flex, { className: `${baseClassName}__dropdown-functions-list-wrapper twa:max-w-[60vw] twa:shadow-md twa:bg-background twa:text-foreground twa:text-3 twa:rounded-standard twa:p-3`, flexDirection: "column", onMouseLeave: () => hidePopup(), children: [(0, jsx_runtime_1.jsx)(Flex_1.Flex, { className: "twa:md:gap-3 twa:gap-2 twa:pb-2 twa:md:justify-between twa:justify-start twa:flex-wrap twa:border-b twa:border-primarydark/30 twa:mb-2", children: categoryOptions.map((option, index) => {
124
118
  return ((0, jsx_runtime_1.jsx)(Radio_1.default, { onFocus: (event) => {
125
119
  event.preventDefault();
@@ -133,7 +127,6 @@ const FunctionsDropdown = ({ expressionFunctions, baseClassName }) => {
133
127
  return (0, jsx_runtime_1.jsx)(React.Fragment, {}, groupName);
134
128
  }
135
129
  const getEditorButtonData = (functionName) => {
136
- // handle special cases
137
130
  if (functionName === 'CASE') {
138
131
  return `CASE <caseValue> WHEN <whenValue> THEN <thenValue> ELSE <defaultValue> END`;
139
132
  }
@@ -180,24 +173,20 @@ function BaseEditorInput(props) {
180
173
  if (!firstRowNode || !firstRowNode.data) {
181
174
  return {};
182
175
  }
183
- // clone the class instance to still keep the prototype methods
184
176
  return Object.assign(Object.create(Object.getPrototypeOf(firstRowNode)), firstRowNode);
185
177
  }, []);
186
178
  const scopeColumnId = (0, react_1.useMemo)(() => {
187
179
  return props.api.columnScopeApi.getAnyColumnIdForScope(props.columnScope);
188
180
  }, [props.columnScope]);
189
181
  try {
190
- // explicitly parsing & evaluating the expression because we need full control of the resulted AST
191
182
  const expr = parser.parse(props.value || '');
192
183
  try {
193
184
  testRowNode.data = testData;
194
- // Mock datachangedevent for change-based functions e.g. PERCENT_CHANGE
195
185
  const dataChangedEvent = {
196
186
  newValue: 100,
197
187
  oldValue: 150,
198
188
  };
199
189
  result = expr.evaluate({
200
- // we need a fully-fledged rowNode as Adaptable accesses internal methods of it
201
190
  node: testRowNode,
202
191
  functions: expressionFunctions,
203
192
  evaluateCustomQueryVariable: props.api.internalApi.getQueryLanguageService().evaluateCustomQueryVariable,
@@ -211,7 +200,6 @@ function BaseEditorInput(props) {
211
200
  evaluationError = err;
212
201
  }
213
202
  else {
214
- // unexpected error, pass it on to the enclosing handler
215
203
  throw err;
216
204
  }
217
205
  }
@@ -219,7 +207,6 @@ function BaseEditorInput(props) {
219
207
  selectedFunctionName = path[0] ? path[0].type : null;
220
208
  }
221
209
  catch (e) {
222
- // parse errors should have a hash, otherwise it's an unexpected runtime error
223
210
  const isParserException = !!e.hash;
224
211
  if (isParserException) {
225
212
  expressionError = buildParserExceptionMessage(e);
@@ -230,7 +217,6 @@ function BaseEditorInput(props) {
230
217
  }
231
218
  }
232
219
  (0, react_1.useEffect)(() => {
233
- // update selected function only for focused textareas (where cursor is present)
234
220
  if (cursor != undefined) {
235
221
  props.onSelectedFunctionChange(selectedFunctionName ? expressionFunctions[selectedFunctionName] : null);
236
222
  }
@@ -239,8 +225,7 @@ function BaseEditorInput(props) {
239
225
  .filter((editorButtonDef) => !!expressionFunctions[editorButtonDef.functionName])
240
226
  .map((editorButtonDef) => ((0, jsx_runtime_1.jsx)(EditorButton_1.default, { data: editorButtonDef.data, icon: editorButtonDef.icon, children: !editorButtonDef.icon && (editorButtonDef.text || editorButtonDef.functionName) }, `${editorButtonDef.functionName}-operator`)));
241
227
  const showDocumentationLink = props.api.internalApi.isDocumentationLinksDisplayed();
242
- return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)(Flex_1.Flex, { "data-name": "expression-toolbar", className: `${baseClassName} twa:py-2 twa:mb-2 twa:mt-2 twa:flex-wrap twa:w-full`, children: [(0, jsx_runtime_1.jsxs)(Flex_1.Flex, { className: "twa:flex-1 twa:ml-1 twa:flex-wrap", children: [(0, jsx_runtime_1.jsx)(FunctionsDropdown, { expressionFunctions: expressionFunctions, baseClassName: baseClassName }), operatorButtons] }), showDocumentationLink && ((0, jsx_runtime_1.jsx)(Flex_1.Flex, { alignItems: "flex-start", children: (0, jsx_runtime_1.jsx)(ButtonInfo_1.ButtonInfo, { className: "twa:mr-2", tooltip: 'Learn how to use the Expression Editor', onClick: () => window.open(DocumentationLinkConstants_1.ExpressionEditorDocsLink, '_blank') }) }))] }), (0, jsx_runtime_1.jsx)(Textarea_1.default, { "data-name": `expression-input-${type}`, ref: textAreaRefCallback, value: props.value || '', placeholder: props.placeholder || 'Create Query', disabled: props.disabled || false, className: (0, join_1.default)('ab-ExpressionEditor__textarea', // left for backwards compatibility
243
- `${baseClassName}__textarea`, 'twa:w-full twa:min-h-[100px] twa:p-2 twa:text-4 twa:resize-y twa:font-mono'), autoFocus: true, spellCheck: "false", onChange: (event) => {
228
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)(Flex_1.Flex, { "data-name": "expression-toolbar", className: `${baseClassName} twa:py-2 twa:mb-2 twa:mt-2 twa:flex-wrap twa:w-full`, children: [(0, jsx_runtime_1.jsxs)(Flex_1.Flex, { className: "twa:flex-1 twa:ml-1 twa:flex-wrap", children: [(0, jsx_runtime_1.jsx)(FunctionsDropdown, { expressionFunctions: expressionFunctions, baseClassName: baseClassName }), operatorButtons] }), showDocumentationLink && ((0, jsx_runtime_1.jsx)(Flex_1.Flex, { alignItems: "flex-start", children: (0, jsx_runtime_1.jsx)(ButtonInfo_1.ButtonInfo, { className: "twa:mr-2", tooltip: 'Learn how to use the Expression Editor', onClick: () => window.open(DocumentationLinkConstants_1.ExpressionEditorDocsLink, '_blank') }) }))] }), (0, jsx_runtime_1.jsx)(Textarea_1.default, { "data-name": `expression-input-${type}`, ref: textAreaRefCallback, value: props.value || '', placeholder: props.placeholder || 'Create Query', disabled: props.disabled || false, className: (0, join_1.default)('ab-ExpressionEditor__textarea', `${baseClassName}__textarea`, 'twa:w-full twa:min-h-[100px] twa:p-2 twa:text-4 twa:resize-y twa:font-mono'), autoFocus: true, spellCheck: "false", onChange: (event) => {
244
229
  props.onChange(event.target.value);
245
230
  }, style: style }), props.isFullExpression !== true && ((0, jsx_runtime_1.jsxs)(HelpBlock_1.default, { className: "twa:my-2 twa:p-2 twa:text-3", children: ["This Expression must resolve to a ", (0, jsx_runtime_1.jsx)("b", { children: "boolean " }), "(i.e. true / false) value"] })), expressionError && ((0, jsx_runtime_1.jsx)(ErrorBox_1.default, { className: "twa:mt-2 twa:whitespace-pre-wrap twa:w-full", children: expressionError })), evaluationError && ((0, jsx_runtime_1.jsx)(ErrorBox_1.default, { className: "twa:mt-2 twa:whitespace-pre-wrap", children: `${evaluationError.expressionFnName} ${evaluationError.message}` })), !props.hideResultPreview && result !== undefined && ((0, jsx_runtime_1.jsx)(Flex_1.Box, { className: `${baseClassName}__editor-feedback twa:mt-2 twa:p-2 twa:rounded-standard`, "data-name": "expression-editor-feedback", children: (0, jsx_runtime_1.jsxs)("pre", { className: "twa:whitespace-pre-wrap twa:m-0", children: ["Result (using test data):", ' ', (0, jsx_runtime_1.jsx)("b", { className: "twa:bg-accentlight twa:text-accent twa:rounded-full twa:p-1 twa:px-2", children: JSON.stringify(result) })] }) }))] }));
246
231
  }
@@ -11,7 +11,6 @@ function EditorButton(props) {
11
11
  const { textAreaRef } = (0, EditorContext_1.useExpressionEditor)();
12
12
  return ((0, jsx_runtime_1.jsx)(SimpleButton_1.default, { "data-name": 'operator-or-fn', variant: "text", draggable: true, onDragStart: (event) => {
13
13
  if (!dragImage) {
14
- // we want to lazy init the image since otherwise it fails in SSR environments if it is declared outside the cmp - ReferenceError: Image is not defined
15
14
  dragImage = new Image(0, 0);
16
15
  dragImage.src = DRAG_IMAGE_SRC;
17
16
  }
@@ -17,15 +17,10 @@ function EditorInput(props) {
17
17
  let filteredCollection = [];
18
18
  if (type === 'aggregatedScalar') {
19
19
  const excludeSet = new Set([
20
- // we cannot have a hardcodede set of functions,
21
- // we need to allow custom expressions
22
20
  ...aggregatedScalarExpressionFunctions_1.cumulativeAggregatedExpressionFunctions,
23
21
  ...aggregatedScalarExpressionFunctions_1.quantileAggregatedExpressionFunctions,
24
22
  ]);
25
- filteredCollection = Object.keys(availableAggregatedExpressionFunctions).filter((key) =>
26
- // need to allow standard ones
27
- aggregatedScalarExpressionFunctions_1.cumulativeAggregatedExpressionFunctions.includes(key) ||
28
- // and anything else that is not cumul or quantile
23
+ filteredCollection = Object.keys(availableAggregatedExpressionFunctions).filter((key) => aggregatedScalarExpressionFunctions_1.cumulativeAggregatedExpressionFunctions.includes(key) ||
29
24
  !excludeSet.has(key));
30
25
  }
31
26
  else {
@@ -50,7 +45,6 @@ function EditorInput(props) {
50
45
  ...moduleExpressionFunctions.scalarFunctions,
51
46
  };
52
47
  if (!props.columnScope) {
53
- // filter out $SCOPE function if no columnScope is provided
54
48
  booleanAndScalarFunctions = Object.keys(booleanAndScalarFunctions)
55
49
  .filter((key) => key !== '$SCOPE')
56
50
  .reduce((obj, key) => {
@@ -51,7 +51,6 @@ function EditorInputWithWhereClause(props) {
51
51
  return ((0, jsx_runtime_1.jsxs)(Flex_1.Flex, { flexDirection: "column", alignItems: "flex-start", children: [(0, jsx_runtime_1.jsx)(BaseEditorInput_1.BaseEditorInput, { type: 'main', value: reactiveValue || '', placeholder: `Create ${queryName}`, onChange: updateReactiveValue, onSelectedFunctionChange: setSelectedFunction, expressionFunctions: reactiveExpressionFns, editorButtons: props.type === 'observable' ? editorButtonsObservable_1.editorButtonsObservable : editorButtonsAggregatedBoolean_1.editorButtonsAggregatedBoolean, testData: props.testData, isFullExpression: true, hideResultPreview: true, api: props.api, style: { height: '75px' } }), (0, jsx_runtime_1.jsxs)(Flex_1.Box, { className: "twa:text-2 twa:mt-2 twa:pl-3", children: ["Add a ", (0, jsx_runtime_1.jsx)("i", { children: "WHERE" }), " Clause to narrow the scope of the Query"] }), (0, jsx_runtime_1.jsx)(CheckBox_1.CheckBox, { disabled: (0, StringExtensions_1.IsNullOrEmptyOrWhiteSpace)(reactiveValue), checked: showWhereClause, onChange: (checked) => {
52
52
  setShowWhereClause(checked);
53
53
  if (!checked) {
54
- // reset whereClause value if textarea is hidden
55
54
  updateWhereClauseValue(null);
56
55
  }
57
56
  }, className: "twa:pl-3 twa:items-center", children: "WHERE" }), showWhereClause && ((0, jsx_runtime_1.jsx)(BaseEditorInput_1.BaseEditorInput, { type: 'secondary', disabled: (0, StringExtensions_1.IsNullOrEmptyOrWhiteSpace)(reactiveValue), value: whereClauseValue || '', placeholder: `Create BooleanQuery which narrows down the scope of the ${queryName}`, onChange: updateWhereClauseValue, onSelectedFunctionChange: setSelectedFunction, expressionFunctions: whereClauseExpressionsFns, editorButtons: editorButtonsSearch_1.editorButtonsSearch, testData: props.testData, isFullExpression: true, hideResultPreview: true, api: props.api, style: { height: '75px' } }))] }));
@@ -12,20 +12,10 @@ const ExpressionPreview = (props) => {
12
12
  return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: adaptableApi.expressionApi.getAdaptableQueryExpression(props.query) });
13
13
  }
14
14
  const expressionWithFriendlyNames = adaptableApi.expressionApi.getAdaptableQueryExpressionWithColumnFriendlyNames(props.query);
15
- // '[Column Name] > 2' => ['[Column Name]', '>', '2']
16
- // not the prettiest
17
15
  const strWithMarkedGroupes = expressionWithFriendlyNames.replace(/\]/gi, '],').split(',');
18
- return (
19
- /**
20
- * The etra wrapper is neede because the tag has display inline-flex and makes the content inside <i> to be displayed on
21
- * multiple lines when the expression is too long.
22
- *
23
- * The div allows the text to flow normally.
24
- */
25
- ((0, jsx_runtime_1.jsx)("div", { children: strWithMarkedGroupes.map((part, index) => {
26
- const partEl = part.includes('[') ? (0, jsx_runtime_1.jsx)("i", { children: part.replace(/[\[\]]/g, '') }) : part;
27
- return (0, jsx_runtime_1.jsx)(React.Fragment, { children: partEl }, index);
28
- }) }))
29
- );
16
+ return ((0, jsx_runtime_1.jsx)("div", { children: strWithMarkedGroupes.map((part, index) => {
17
+ const partEl = part.includes('[') ? (0, jsx_runtime_1.jsx)("i", { children: part.replace(/[\[\]]/g, '') }) : part;
18
+ return (0, jsx_runtime_1.jsx)(React.Fragment, { children: partEl }, index);
19
+ }) }));
30
20
  };
31
21
  exports.ExpressionPreview = ExpressionPreview;
@@ -5,7 +5,6 @@ const react_1 = require("react");
5
5
  exports.NamedQueryContext = (0, react_1.createContext)({
6
6
  namedQuery: false,
7
7
  setNamedQuery: () => { },
8
- // hasValidNamedQueryName: () => false,
9
8
  });
10
9
  const useNamedQueryContext = () => {
11
10
  return (0, react_1.useContext)(exports.NamedQueryContext);
@@ -22,10 +22,7 @@ const NewSelect_1 = require("../../NewSelect");
22
22
  const PrimitiveColumnOrFieldSelector = (props) => {
23
23
  const adaptable = (0, AdaptableContext_1.useAdaptable)();
24
24
  const [type, setType] = react_1.default.useState(() => {
25
- return (
26
- // default to column
27
- (!props.fieldOrColumn || props.fieldOrColumn.includes('[') ? 'column' : 'field')
28
- );
25
+ return (!props.fieldOrColumn || props.fieldOrColumn.includes('[') ? 'column' : 'field');
29
26
  });
30
27
  const hasFields = react_1.default.useMemo(() => {
31
28
  return adaptable.api.expressionApi.internalApi.getAvailableFields()?.length > 0;
@@ -78,7 +75,6 @@ const PrimitiveValueInput = (props) => {
78
75
  });
79
76
  const handleTypeChange = (newType) => {
80
77
  if (type !== newType) {
81
- // need to reset value
82
78
  props.onChange(undefined);
83
79
  setType(newType);
84
80
  }
@@ -105,7 +101,6 @@ const PrimitiveValueInput = (props) => {
105
101
  props.onChange(event.target.value);
106
102
  } }));
107
103
  case 'date':
108
- // date format = 'DATE(2020-01-01)'
109
104
  const dateStr = typeof props.value === 'string' ? props.value.replace('DATE(', '').replace(')', '') : '';
110
105
  return ((0, jsx_runtime_1.jsx)(AdaptableInput_1.default, { ...common, type: "date", value: dateStr ?? '', onChange: (event) => {
111
106
  const stringified = `DATE("${event.target.value}")`;
@@ -57,7 +57,6 @@ const LogicalFunctionEditor = (props) => {
57
57
  if (typeof arg === 'object' &&
58
58
  'operator' in arg &&
59
59
  (0, predicate_1.isQlLogicalOperator)(arg.operator)) {
60
- // add as a child
61
60
  const newArg = {
62
61
  ...arg,
63
62
  args: [...arg.args, newPredicate],
@@ -70,7 +69,6 @@ const LogicalFunctionEditor = (props) => {
70
69
  });
71
70
  }
72
71
  else {
73
- // add as a sibling
74
72
  const prevArgs = [...props.predicate.args];
75
73
  prevArgs.splice(index + 1, 0, newPredicate);
76
74
  props.onChange({
@@ -175,16 +173,6 @@ const PrimitiveFunctionEditor = (props) => {
175
173
  }) })] }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:flex-1" }), (0, jsx_runtime_1.jsx)(QueryPredicateButtons, { ...props })] }));
176
174
  } }));
177
175
  };
178
- /**
179
- * Two types:
180
- * - combinatory operator
181
- * - can contain both expressons and combinators
182
- * [handle] [combinator-dropdown]
183
- * [children]
184
- *
185
- * - boolean function: ars do not contain other combinators
186
- * [handle] [column] [operator-dropdown] [...args] [delete-button] [plus-button]
187
- */
188
176
  const QueryPredicateBuilder = (props) => {
189
177
  if ((0, predicate_1.isQlLogicalOperator)(props.predicate.operator)) {
190
178
  return (0, jsx_runtime_1.jsx)(LogicalFunctionEditor, { ...props });
@@ -8,11 +8,8 @@ const ObjectExtensions_1 = require("../../../Utilities/Extensions/ObjectExtensio
8
8
  const booleanExpressions_1 = require("./booleanExpressions");
9
9
  const reorder = (predicate, from, to) => {
10
10
  const predicateCopy = (0, ObjectExtensions_1.deepClone)(predicate);
11
- // we start from the root so no need to traverse first level
12
11
  const [_, ...fromPath] = from.split('/');
13
12
  const [__, ...toPath] = to.split('/');
14
- // remove from old position and get the item
15
- // path = '0/1/2'
16
13
  let itemToMove = predicateCopy;
17
14
  let prev = null;
18
15
  for (const index of fromPath) {
@@ -20,7 +17,6 @@ const reorder = (predicate, from, to) => {
20
17
  itemToMove = itemToMove.args[parseInt(index)];
21
18
  }
22
19
  prev.args.splice(parseInt(fromPath[fromPath.length - 1]), 1);
23
- // find the parent into wich we want to insert the item
24
20
  let cursor = predicateCopy;
25
21
  let parent = null;
26
22
  for (const index of toPath) {
@@ -36,22 +36,15 @@ function ExpressionEditor(props) {
36
36
  const editorInput = type === 'observable' || type === 'aggregatedBoolean' ? ((0, jsx_runtime_1.jsx)(EditorInputWithWhereClause_1.default, { type: type, module: module, value: props.value, onChange: (value) => {
37
37
  setExpressionText(value);
38
38
  props.onChange(value);
39
- }, testData: props.initialData, api: props.api })) : (
40
- // 'boolean','scalar','aggregatedScalar'/'cumulativeAggregatedScalar'/'quantileAggregatedScalar'
41
- ((0, jsx_runtime_1.jsx)(
42
- EditorInput_1.default,
43
- { type: type, module: module, columnScope: props.columnScope, value: props.value, onChange: (value) => {
44
- setExpressionText(value);
45
- props.onChange(value);
46
- }, testData: props.initialData, isFullExpression: props.isFullExpression, api: props.api }
47
- )));
39
+ }, testData: props.initialData, api: props.api })) : ((0, jsx_runtime_1.jsx)(EditorInput_1.default, { type: type, module: module, columnScope: props.columnScope, value: props.value, onChange: (value) => {
40
+ setExpressionText(value);
41
+ props.onChange(value);
42
+ }, testData: props.initialData, isFullExpression: props.isFullExpression, api: props.api }));
48
43
  const adaptableFields = props.api.expressionApi.internalApi.getAvailableFields();
49
- // currently only boolean and scalar expressions support nested calculated columns (calc cols which reference other calc cols)
50
44
  const queryableColumns = type === 'scalar' || type === 'boolean' || type === 'aggregatedScalar'
51
45
  ? props.columns
52
46
  : props.columns.filter((c) => !c.isCalculatedColumn);
53
47
  const showDocumentationLinks = props.api.internalApi.isDocumentationLinksDisplayed();
54
- // @Bogdan i did this to be sure but i think we can get rid of this as the button does the same (and better IMO)
55
48
  const showNamedQueryStuff = false;
56
49
  const queryDocumentationLink = queryDocumentationLinks[type];
57
50
  const saveAsNamedQueryElement = allowSaveNamedQuery &&
@@ -79,9 +72,7 @@ function ExpressionEditor(props) {
79
72
  if (event.target.tagName === 'TEXTAREA') {
80
73
  textAreaRef.current = event.target;
81
74
  }
82
- }, children: (0, jsx_runtime_1.jsxs)(Flex_1.Flex, { className: "twa:flex-1 twa:text-2", flexDirection: "row", "data-name": "expression-editor", style: { minHeight: 0 }, children: [(0, jsx_runtime_1.jsxs)(Flex_1.Flex, { className: "twa:flex-1 twa:pr-2 twa:overflow-auto twa:min-h-0", "data-name": "expression-builder", flexDirection: "column", children: [editorInput, StringExtensions_1.default.IsNotNullOrEmpty(expressionText?.trim()) && ((0, jsx_runtime_1.jsx)(ExpressionFunctionDocumentation_1.ExpressionFunctionDocumentation, { expressionFunction: selectedFunction })),
83
- /* displayed for advanced queries (observable&Aggregation) to give the users a starting point */
84
- StringExtensions_1.default.IsNullOrEmpty(expressionText?.trim()) && renderQueryHints(type), showDocumentationLinks && ((0, jsx_runtime_1.jsxs)(HelpBlock_1.default, { "data-name": "query-documentation", className: "twa:my-2 twa:p-2 twa:text-3", children: [(0, jsx_runtime_1.jsx)(ButtonInfo_1.ButtonInfo, { className: "twa:mr-2", onClick: () => window.open(queryDocumentationLink, '_blank') }), "See documentation for more details and examples"] })), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:flex-1" }), showNamedQueryStuff && saveAsNamedQueryElement] }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: `${exports.baseClassName}__sidebar twa:pb-2 twa:px-2 twa:overflow-auto twa:h-full twa:w-[280px]`, "data-name": "expression-sidebar", children: (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:h-full twa:p-2 twa:rounded-standard twa:shadow-md twa:bg-background twa:text-foreground", children: (0, jsx_runtime_1.jsxs)(Tabs_1.Tabs, { className: "twa:h-full", children: [(0, jsx_runtime_1.jsx)(Tabs_1.Tabs.Tab, { value: "column", children: "Columns" }), (0, jsx_runtime_1.jsx)(Tabs_1.Tabs.Tab, { value: "field", children: "Fields" }), (0, jsx_runtime_1.jsx)(Tabs_1.Tabs.Tab, { value: "named-query", children: "Named Queries" }), (0, jsx_runtime_1.jsx)(Tabs_1.Tabs.Content, { className: "twa:flex-1 twa:h-full", children: (0, jsx_runtime_1.jsx)(DataTableEditor_1.DataTableEditor, { type: "column", dataFormatter: (value) => `[${value}]`, fields: queryableColumns.map((column) => ({
75
+ }, children: (0, jsx_runtime_1.jsxs)(Flex_1.Flex, { className: "twa:flex-1 twa:text-2", flexDirection: "row", "data-name": "expression-editor", style: { minHeight: 0 }, children: [(0, jsx_runtime_1.jsxs)(Flex_1.Flex, { className: "twa:flex-1 twa:pr-2 twa:overflow-auto twa:min-h-0", "data-name": "expression-builder", flexDirection: "column", children: [editorInput, StringExtensions_1.default.IsNotNullOrEmpty(expressionText?.trim()) && ((0, jsx_runtime_1.jsx)(ExpressionFunctionDocumentation_1.ExpressionFunctionDocumentation, { expressionFunction: selectedFunction })), StringExtensions_1.default.IsNullOrEmpty(expressionText?.trim()) && renderQueryHints(type), showDocumentationLinks && ((0, jsx_runtime_1.jsxs)(HelpBlock_1.default, { "data-name": "query-documentation", className: "twa:my-2 twa:p-2 twa:text-3", children: [(0, jsx_runtime_1.jsx)(ButtonInfo_1.ButtonInfo, { className: "twa:mr-2", onClick: () => window.open(queryDocumentationLink, '_blank') }), "See documentation for more details and examples"] })), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:flex-1" }), showNamedQueryStuff && saveAsNamedQueryElement] }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: `${exports.baseClassName}__sidebar twa:pb-2 twa:px-2 twa:overflow-auto twa:h-full twa:w-[280px]`, "data-name": "expression-sidebar", children: (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:h-full twa:p-2 twa:rounded-standard twa:shadow-md twa:bg-background twa:text-foreground", children: (0, jsx_runtime_1.jsxs)(Tabs_1.Tabs, { className: "twa:h-full", children: [(0, jsx_runtime_1.jsx)(Tabs_1.Tabs.Tab, { value: "column", children: "Columns" }), (0, jsx_runtime_1.jsx)(Tabs_1.Tabs.Tab, { value: "field", children: "Fields" }), (0, jsx_runtime_1.jsx)(Tabs_1.Tabs.Tab, { value: "named-query", children: "Named Queries" }), (0, jsx_runtime_1.jsx)(Tabs_1.Tabs.Content, { className: "twa:flex-1 twa:h-full", children: (0, jsx_runtime_1.jsx)(DataTableEditor_1.DataTableEditor, { type: "column", dataFormatter: (value) => `[${value}]`, fields: queryableColumns.map((column) => ({
85
76
  label: column.friendlyName,
86
77
  value: column.columnId,
87
78
  dataType: column.dataType,
@@ -25,8 +25,6 @@ const IconComponent = (props) => {
25
25
  }
26
26
  else {
27
27
  htmlElement = icon.element;
28
- // THe element neets to be cloned.
29
- // when it is used in more than one plce the element is removed from the DOM
30
28
  htmlElement = htmlElement.cloneNode(true);
31
29
  }
32
30
  divRef.current.insertAdjacentElement('afterend', htmlElement);
@@ -6,28 +6,19 @@ const jsx_runtime_1 = require("react/jsx-runtime");
6
6
  const React = tslib_1.__importStar(require("react"));
7
7
  const index_1 = tslib_1.__importStar(require("./index"));
8
8
  const join_1 = tslib_1.__importDefault(require("../utils/join"));
9
- /**
10
- * This component allows - and empty values as intermediery values
11
- * it calls change only with valid numeric values
12
- */
13
9
  exports.NumberInput = React.forwardRef((props, ref) => {
14
10
  const [value, setValue] = React.useState(() => {
15
- // awlays controlled
16
11
  return props.value ?? '';
17
12
  });
18
13
  const handleChange = React.useCallback((event) => {
19
14
  const { value } = event.target;
20
15
  let newVal = Number(value);
21
16
  if (value === '-' || value === '') {
22
- // we are saving invalid values so we allow values as empty string and '-'
23
- // there is a validation that prevents the
24
17
  newVal = value;
25
- // the value may be empty or negative
26
18
  setValue(value);
27
19
  }
28
20
  else if (!isNaN(newVal)) {
29
21
  setValue(value);
30
- // only set when a valid numer
31
22
  props.onChange(newVal);
32
23
  }
33
24
  }, [props.onChange]);
@@ -36,7 +27,6 @@ exports.NumberInput = React.forwardRef((props, ref) => {
36
27
  }, [props.value]);
37
28
  const handleBlur = React.useCallback((event) => {
38
29
  props?.onBlur?.(event);
39
- // show the prop value
40
30
  if (value !== props.value) {
41
31
  setValue(props.value);
42
32
  }
@@ -42,7 +42,6 @@ const updatePositionInStack = (id, data) => {
42
42
  ...data,
43
43
  };
44
44
  });
45
- // sort pairs in ascending order
46
45
  pairs.sort((p1, p2) => p1.timestamp - p2.timestamp);
47
46
  const last = pairs.pop();
48
47
  pairs.forEach((data) => {