@adaptabletools/adaptable 11.0.0-canary.3 → 11.0.0-canary.7

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 (267) hide show
  1. package/agGrid.d.ts +5 -4
  2. package/agGrid.js +9 -7
  3. package/base.css +135 -69
  4. package/bundle.cjs.js +104 -99
  5. package/index.css +136 -69
  6. package/package.json +3 -3
  7. package/publishTimestamp.d.ts +1 -1
  8. package/publishTimestamp.js +1 -1
  9. package/src/AdaptableInterfaces/AdaptableNoCodeWizard.d.ts +7 -5
  10. package/src/AdaptableInterfaces/IAdaptable.d.ts +1 -0
  11. package/src/AdaptableOptions/AdaptableFrameworkComponent.d.ts +1 -3
  12. package/src/AdaptableOptions/AdaptableOptions.d.ts +14 -7
  13. package/src/AdaptableOptions/{QueryLanguageOptions.d.ts → AdaptableQLOptions.d.ts} +34 -9
  14. package/src/AdaptableOptions/{QueryLanguageOptions.js → AdaptableQLOptions.js} +0 -0
  15. package/src/AdaptableOptions/AlertOptions.d.ts +82 -0
  16. package/src/AdaptableOptions/AlertOptions.js +2 -0
  17. package/src/AdaptableOptions/ContainerOptions.d.ts +2 -2
  18. package/src/AdaptableOptions/FilterOptions.d.ts +1 -1
  19. package/src/AdaptableOptions/GeneralOptions.d.ts +0 -7
  20. package/src/AdaptableOptions/NotificationsOptions.d.ts +1 -78
  21. package/src/AdaptableOptions/SearchOptions.d.ts +0 -9
  22. package/src/AdaptableOptions/StateOptions.d.ts +9 -8
  23. package/src/AdaptableOptions/TeamSharingOptions.d.ts +2 -2
  24. package/src/AdaptableOptions/ToolPanelOptions.d.ts +0 -2
  25. package/src/AdaptableOptions/UserInterfaceOptions.d.ts +3 -3
  26. package/src/Api/AdaptableApi.d.ts +6 -0
  27. package/src/Api/AlertApi.d.ts +2 -3
  28. package/src/Api/CalculatedColumnApi.d.ts +2 -9
  29. package/src/Api/ColumnApi.d.ts +0 -4
  30. package/src/Api/EventApi.d.ts +8 -3
  31. package/src/Api/Events/GridDataChanged.d.ts +4 -2
  32. package/src/Api/Events/SystemStatusMessageDisplayed.d.ts +1 -1
  33. package/src/Api/FreeTextColumnApi.d.ts +0 -12
  34. package/src/Api/GridApi.d.ts +13 -2
  35. package/src/Api/IPushPullApi.d.ts +1 -1
  36. package/src/Api/Implementation/AdaptableApiImpl.d.ts +2 -1
  37. package/src/Api/Implementation/AdaptableApiImpl.js +2 -0
  38. package/src/Api/Implementation/AlertApiImpl.d.ts +1 -2
  39. package/src/Api/Implementation/AlertApiImpl.js +19 -10
  40. package/src/Api/Implementation/ApiBase.d.ts +5 -2
  41. package/src/Api/Implementation/ApiBase.js +8 -2
  42. package/src/Api/Implementation/CalculatedColumnApiImpl.js +3 -4
  43. package/src/Api/Implementation/ColumnApiImpl.d.ts +0 -1
  44. package/src/Api/Implementation/ColumnApiImpl.js +0 -5
  45. package/src/Api/Implementation/FreeTextColumnApiImpl.d.ts +0 -5
  46. package/src/Api/Implementation/FreeTextColumnApiImpl.js +0 -9
  47. package/src/Api/Implementation/GridApiImpl.d.ts +4 -1
  48. package/src/Api/Implementation/GridApiImpl.js +27 -4
  49. package/src/Api/Implementation/InternalApiImpl.d.ts +2 -3
  50. package/src/Api/Implementation/InternalApiImpl.js +7 -6
  51. package/src/Api/Implementation/LayoutApiImpl.d.ts +2 -0
  52. package/src/Api/Implementation/LayoutApiImpl.js +11 -0
  53. package/src/Api/Implementation/QueryApiImpl.js +4 -1
  54. package/src/Api/Implementation/QueryLanguageApiImpl.d.ts +4 -1
  55. package/src/Api/Implementation/QueryLanguageApiImpl.js +20 -8
  56. package/src/Api/Implementation/SettingsPanelApiImpl.d.ts +7 -0
  57. package/src/Api/Implementation/SettingsPanelApiImpl.js +15 -0
  58. package/src/Api/InternalApi.d.ts +2 -3
  59. package/src/Api/LayoutApi.d.ts +7 -0
  60. package/src/Api/OpenFinApi.d.ts +5 -0
  61. package/src/Api/PluginsApi.d.ts +29 -0
  62. package/src/Api/QueryApi.d.ts +2 -2
  63. package/src/Api/QueryLanguageApi.d.ts +23 -10
  64. package/src/Api/SettingsPanelApi.d.ts +16 -0
  65. package/src/Api/SettingsPanelApi.js +2 -0
  66. package/src/Api/UserInterfaceApi.d.ts +5 -2
  67. package/src/PredefinedConfig/AlertState.d.ts +8 -6
  68. package/src/PredefinedConfig/CalculatedColumnState.d.ts +8 -4
  69. package/src/PredefinedConfig/Common/AdaptableQuery.d.ts +7 -5
  70. package/src/PredefinedConfig/Common/AdaptableQuery.js +2 -6
  71. package/src/PredefinedConfig/Common/CellHighlightInfo.d.ts +1 -12
  72. package/src/PredefinedConfig/Common/Enums.d.ts +0 -1
  73. package/src/PredefinedConfig/Common/Enums.js +0 -2
  74. package/src/PredefinedConfig/Common/FDC3Context.d.ts +4 -12
  75. package/src/PredefinedConfig/Common/RowHighlightInfo.d.ts +15 -0
  76. package/src/PredefinedConfig/Common/RowHighlightInfo.js +2 -0
  77. package/src/PredefinedConfig/Common/SpecialColumnSettings.d.ts +1 -1
  78. package/src/PredefinedConfig/Common/Types.d.ts +3 -1
  79. package/src/PredefinedConfig/Common/Types.js +1 -0
  80. package/src/PredefinedConfig/CustomSortState.d.ts +0 -1
  81. package/src/PredefinedConfig/FlashingCellState.d.ts +3 -1
  82. package/src/PredefinedConfig/FreeTextColumnState.d.ts +1 -1
  83. package/src/PredefinedConfig/LayoutState.d.ts +0 -2
  84. package/src/PredefinedConfig/PredefinedConfig.d.ts +5 -2
  85. package/src/PredefinedConfig/Selection/GridCellRange.d.ts +3 -1
  86. package/src/PredefinedConfig/SystemState.d.ts +2 -1
  87. package/src/Redux/ActionsReducers/ApplicationRedux.js +9 -3
  88. package/src/Redux/ActionsReducers/FlashingCellRedux.js +4 -8
  89. package/src/Redux/ActionsReducers/GridRedux.js +3 -1
  90. package/src/Redux/ActionsReducers/PopupRedux.js +13 -3
  91. package/src/Redux/ActionsReducers/QuickSearchRedux.js +3 -1
  92. package/src/Redux/ActionsReducers/SystemRedux.d.ts +6 -5
  93. package/src/Redux/ActionsReducers/SystemRedux.js +16 -14
  94. package/src/Redux/ActionsReducers/ThemeRedux.js +3 -1
  95. package/src/Redux/Store/AdaptableReduxMerger.js +1 -1
  96. package/src/Redux/Store/AdaptableStore.js +34 -8
  97. package/src/Strategy/AlertModule.js +16 -6
  98. package/src/Strategy/CalculatedColumnModule.js +4 -4
  99. package/src/Strategy/ChartingModule.d.ts +3 -3
  100. package/src/Strategy/ChartingModule.js +2 -2
  101. package/src/Strategy/ConditionalStyleModule.js +4 -0
  102. package/src/Strategy/FlashingCellModule.js +4 -4
  103. package/src/Strategy/FreeTextColumnModule.d.ts +2 -2
  104. package/src/Strategy/FreeTextColumnModule.js +11 -0
  105. package/src/Strategy/LayoutModule.js +1 -6
  106. package/src/Strategy/{SetingsPanelModule.d.ts → SettingsPanelModule.d.ts} +0 -0
  107. package/src/Strategy/{SetingsPanelModule.js → SettingsPanelModule.js} +0 -0
  108. package/src/Strategy/ToolPanelModule.js +5 -3
  109. package/src/Strategy/Utilities/getAlertPreviewViewItems.js +1 -1
  110. package/src/Strategy/Utilities/getExpressionViewItems.d.ts +2 -2
  111. package/src/Strategy/Utilities/getExpressionViewItems.js +2 -1
  112. package/src/Strategy/Utilities/getFormatColumnSettingsViewItems.js +1 -1
  113. package/src/Strategy/Utilities/getRuleViewItems.d.ts +0 -1
  114. package/src/Strategy/Utilities/getRuleViewItems.js +1 -3
  115. package/src/Utilities/Constants/DocumentationLinkConstants.d.ts +2 -1
  116. package/src/Utilities/Constants/DocumentationLinkConstants.js +3 -2
  117. package/src/Utilities/Defaults/DefaultAdaptableOptions.js +23 -17
  118. package/src/Utilities/ExpressionFunctions/{aggregationExpressionFunctions.d.ts → aggregatedBooleanExpressionFunctions.d.ts} +1 -1
  119. package/src/Utilities/ExpressionFunctions/{aggregationExpressionFunctions.js → aggregatedBooleanExpressionFunctions.js} +4 -4
  120. package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.d.ts +24 -0
  121. package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.js +339 -0
  122. package/src/Utilities/ExpressionFunctions/dateUtils.d.ts +1 -0
  123. package/src/Utilities/ExpressionFunctions/dateUtils.js +13 -0
  124. package/src/Utilities/ExpressionFunctions/deepMap.d.ts +35 -0
  125. package/src/Utilities/ExpressionFunctions/deepMap.js +283 -0
  126. package/src/Utilities/ExpressionFunctions/expressionFunctionUtils.d.ts +2 -2
  127. package/src/Utilities/ExpressionFunctions/expressionFunctionUtils.js +8 -8
  128. package/src/Utilities/ExpressionFunctions/groupingMap.d.ts +35 -0
  129. package/src/Utilities/ExpressionFunctions/groupingMap.js +105 -0
  130. package/src/Utilities/ExpressionFunctions/observableExpressionFunctions.js +2 -2
  131. package/src/Utilities/ExpressionFunctions/scalarAggregationHelper.d.ts +33 -0
  132. package/src/Utilities/ExpressionFunctions/scalarAggregationHelper.js +154 -0
  133. package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.js +13 -4
  134. package/src/Utilities/Helpers/AdaptableHelper.js +3 -1
  135. package/src/Utilities/Helpers/CalendarHelper.js +220 -55
  136. package/src/Utilities/Interface/MessagePopups.d.ts +6 -2
  137. package/src/Utilities/ObjectFactory.js +1 -0
  138. package/src/Utilities/Services/AlertService.js +8 -4
  139. package/src/Utilities/Services/CalculatedColumnExpressionService.d.ts +7 -3
  140. package/src/Utilities/Services/CalculatedColumnExpressionService.js +143 -18
  141. package/src/Utilities/Services/DataService.js +6 -1
  142. package/src/Utilities/Services/Interface/IAdaptableService.d.ts +1 -1
  143. package/src/Utilities/Services/Interface/ICalculatedColumnExpressionService.d.ts +6 -3
  144. package/src/Utilities/Services/Interface/IQueryLanguageService.d.ts +9 -3
  145. package/src/Utilities/Services/LicenseService.js +1 -1
  146. package/src/Utilities/Services/QueryLanguageService.d.ts +11 -4
  147. package/src/Utilities/Services/QueryLanguageService.js +92 -28
  148. package/src/Utilities/Services/ReportService.js +6 -2
  149. package/src/Utilities/Services/TeamSharingService.js +5 -3
  150. package/src/View/AdaptablePopover/index.js +6 -1
  151. package/src/View/AdaptableView.js +1 -1
  152. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ColumnsList.js +5 -1
  153. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationForm.js +10 -5
  154. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/index.js +4 -1
  155. package/src/View/AdaptableWizardView/helper.js +5 -3
  156. package/src/View/Alert/Wizard/AlertButtonsEditor.d.ts +1 -1
  157. package/src/View/Alert/Wizard/AlertButtonsEditor.js +5 -1
  158. package/src/View/Alert/Wizard/AlertDisplayWizardSection.d.ts +1 -0
  159. package/src/View/Alert/Wizard/AlertDisplayWizardSection.js +2 -2
  160. package/src/View/Alert/Wizard/AlertWizard.js +2 -2
  161. package/src/View/Alert/Wizard/BaseAlertRulesWizardSection.js +2 -2
  162. package/src/View/Alert/Wizard/BaseAlertScopeWizardSection.js +3 -2
  163. package/src/View/Alert/Wizard/isValidAlertRules.js +3 -3
  164. package/src/View/CalculatedColumn/CalculatedColumnSharedEntity.js +3 -3
  165. package/src/View/CalculatedColumn/CalculatedColumnSummary.js +2 -4
  166. package/src/View/CalculatedColumn/Wizard/CalculatedColumnExpressionWizardSection.js +43 -12
  167. package/src/View/CalculatedColumn/Wizard/CalculatedColumnSettingsWizardSection.js +1 -2
  168. package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.js +2 -2
  169. package/src/View/CellSummary/CellSummaryViewPanel.js +1 -2
  170. package/src/View/ColorPicker.d.ts +1 -1
  171. package/src/View/Components/AdaptableDateInput/index.d.ts +1 -1
  172. package/src/View/Components/AdaptableInput/index.d.ts +1 -1
  173. package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +5 -2
  174. package/src/View/Components/Buttons/ButtonDelete.d.ts +1 -1
  175. package/src/View/Components/EntityRulesEditor/index.js +11 -12
  176. package/src/View/Components/FilterForm/FilterForm.js +0 -2
  177. package/src/View/Components/FilterForm/QuickFilterForm.js +6 -5
  178. package/src/View/Components/FilterForm/getDefaultColumnFilterPredicate.d.ts +1 -1
  179. package/src/View/Components/Forms/AdaptableFormControlTextClear.d.ts +1 -1
  180. package/src/View/Components/Panels/PanelWithImage.d.ts +2 -2
  181. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopup.d.ts +0 -3
  182. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopup.js +45 -88
  183. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupDialog.d.ts +11 -0
  184. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupDialog.js +78 -0
  185. package/src/View/Components/Popups/AdaptablePopup/Navigation.d.ts +1 -3
  186. package/src/View/Components/Popups/AdaptablePopup/Navigation.js +5 -13
  187. package/src/View/Components/Popups/AdaptablePopup/TopBar.js +5 -4
  188. package/src/View/Components/Popups/AdaptablePopup/useMenuItems.d.ts +2 -0
  189. package/src/View/Components/Popups/AdaptablePopup/useMenuItems.js +44 -0
  190. package/src/View/Components/Popups/AdaptablePopupAlert.d.ts +1 -0
  191. package/src/View/Components/Popups/AdaptablePopupAlert.js +1 -1
  192. package/src/View/Components/Popups/AdaptablePopupConfirmation.js +3 -1
  193. package/src/View/Components/Popups/AdaptablePopupPrompt.d.ts +5 -12
  194. package/src/View/Components/Popups/AdaptablePopupPrompt.js +38 -37
  195. package/src/View/Components/Popups/AdaptablePopupTeamSharing.js +4 -1
  196. package/src/View/Components/ScopeComponent.js +4 -1
  197. package/src/View/Components/ToolPanel/CustomToolPanelContent.js +5 -1
  198. package/src/View/Components/ToolPanel/ToolPanelPopup.js +3 -1
  199. package/src/View/Components/ToolPanel/ToolPanelWrapper.js +1 -1
  200. package/src/View/Components/ValueSelector/index.js +1 -1
  201. package/src/View/ConditionalStyle/Wizard/ConditionalStyleRuleWizardSection.js +2 -2
  202. package/src/View/ConditionalStyle/Wizard/ConditionalStyleSettingsWizardSettings.d.ts +8 -0
  203. package/src/View/ConditionalStyle/Wizard/ConditionalStyleSettingsWizardSettings.js +27 -0
  204. package/src/View/ConditionalStyle/Wizard/ConditionalStyleWizard.js +7 -0
  205. package/src/View/CustomSort/Wizard/CustomSortValuesWizardSection.js +3 -1
  206. package/src/View/CustomSort/Wizard/CustomSortWizard.js +1 -1
  207. package/src/View/Dashboard/CustomToolbarWrapper.js +5 -1
  208. package/src/View/Dashboard/Dashboard.js +2 -3
  209. package/src/View/Dashboard/DashboardPopup.js +3 -1
  210. package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +2 -1
  211. package/src/View/Export/Wizard/ReportColumnTypeWizard.js +3 -1
  212. package/src/View/Export/Wizard/ReportRowTypeWizard.js +3 -1
  213. package/src/View/Filter/FilterViewPanel.d.ts +1 -4
  214. package/src/View/Filter/FilterViewPanel.js +1 -3
  215. package/src/View/FlashingCell/Wizard/FlashingCellRulesWizardSection.js +2 -2
  216. package/src/View/FlashingCell/Wizard/FlashingCellWizard.js +1 -1
  217. package/src/View/FormatColumn/Wizard/FormatColumnWizard.js +1 -1
  218. package/src/View/FreeTextColumn/FreeTextColumnSummary.js +1 -2
  219. package/src/View/GridInfo/AdaptableOptionsComponent.js +4 -1
  220. package/src/View/Layout/Wizard/LayoutEditor/index.js +6 -2
  221. package/src/View/Layout/Wizard/LayoutEditorWizard.js +7 -1
  222. package/src/View/License/LicenseWatermark.js +1 -1
  223. package/src/View/Query/ExpandedQueryPopup.js +9 -2
  224. package/src/View/Query/QueryViewPanel.js +3 -1
  225. package/src/View/Query/Wizard/NamedQueryWizard.js +3 -3
  226. package/src/View/QuickSearch/QuickSearchPopup.js +3 -3
  227. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsSummary.js +12 -2
  228. package/src/View/SpecialColumnSettingsWizardStep.js +1 -2
  229. package/src/View/UIHelper.js +4 -1
  230. package/src/View/Wizard/AdaptableWizard.js +12 -3
  231. package/src/View/Wizard/OnePageAdaptableWizard.js +5 -1
  232. package/src/agGrid/Adaptable.d.ts +3 -3
  233. package/src/agGrid/Adaptable.js +117 -77
  234. package/src/agGrid/agGridHelper.js +4 -9
  235. package/src/agGrid/agGridMenuHelper.js +4 -8
  236. package/src/agGrid/editors/AdaptableDateEditor/index.js +1 -1
  237. package/src/agGrid/editors/AdaptableNumberEditor/index.js +1 -1
  238. package/src/components/AdaptableFormComponent/AdaptableFormComponent.d.ts +4 -2
  239. package/src/components/AdaptableFormComponent/AdaptableFormComponent.js +4 -4
  240. package/src/components/ApplicationIcon.d.ts +1 -0
  241. package/src/components/ApplicationIcon.js +2 -2
  242. package/src/components/Dashboard/Dashboard.js +4 -1
  243. package/src/components/Datepicker/index.d.ts +1 -1
  244. package/src/components/Dropdown/index.js +8 -1
  245. package/src/components/ExpressionEditor/EditorInput.d.ts +1 -1
  246. package/src/components/ExpressionEditor/EditorInput.js +5 -2
  247. package/src/components/ExpressionEditor/EditorInputReactive.d.ts +1 -1
  248. package/src/components/ExpressionEditor/EditorInputReactive.js +4 -2
  249. package/src/components/ExpressionEditor/ExpressionFunctionDocumentation.js +5 -2
  250. package/src/components/ExpressionEditor/editorButtonsAggregatedScalar.d.ts +2 -0
  251. package/src/components/ExpressionEditor/editorButtonsAggregatedScalar.js +45 -0
  252. package/src/components/ExpressionEditor/editorButtonsReactive.js +8 -13
  253. package/src/components/ExpressionEditor/index.d.ts +2 -1
  254. package/src/components/ExpressionEditor/index.js +20 -6
  255. package/src/components/Input/index.d.ts +1 -1
  256. package/src/components/List/ListGroupItem/index.d.ts +1 -1
  257. package/src/components/Logo/index.js +8 -7
  258. package/src/components/PopupWithFooter.d.ts +1 -1
  259. package/src/components/SizedContainer/index.js +7 -1
  260. package/src/components/Textarea/index.d.ts +1 -1
  261. package/src/components/WindowModal/WindowModal.js +4 -1
  262. package/src/metamodel/adaptable.metamodel.d.ts +114 -59
  263. package/src/metamodel/adaptable.metamodel.js +373 -242
  264. package/src/types.d.ts +9 -6
  265. package/themes/dark.css +4 -4
  266. package/version.d.ts +1 -1
  267. package/version.js +1 -1
@@ -1,12 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LicenseDocsLink = exports.PrimaryKeyDocsLink = exports.PredicateDocsLink = exports.AggregationQueryDocsLink = exports.ObservableQueryDocsLink = exports.ScalarQueryDocsLink = exports.BooleanQueryDocsLink = exports.ExpressionEditorDocsLink = exports.HOST_URL_DOCS = void 0;
3
+ exports.LicenseDocsLink = exports.PrimaryKeyDocsLink = exports.PredicateDocsLink = exports.AggregatedScalarQueryDocsLink = exports.AggregatedBooleanQueryDocsLink = exports.ObservableQueryDocsLink = exports.ScalarQueryDocsLink = exports.BooleanQueryDocsLink = exports.ExpressionEditorDocsLink = exports.HOST_URL_DOCS = void 0;
4
4
  exports.HOST_URL_DOCS = 'https://docs.adaptabletools.com/docs';
5
5
  exports.ExpressionEditorDocsLink = `${exports.HOST_URL_DOCS}/adaptableql/expression-editor`;
6
6
  exports.BooleanQueryDocsLink = `${exports.HOST_URL_DOCS}/adaptableql/expression/#boolean-expressions`;
7
7
  exports.ScalarQueryDocsLink = `${exports.HOST_URL_DOCS}/adaptableql/expression/#scalar-expressions`;
8
8
  exports.ObservableQueryDocsLink = `${exports.HOST_URL_DOCS}/adaptableql/expression/#observable-expressions`;
9
- exports.AggregationQueryDocsLink = `${exports.HOST_URL_DOCS}/adaptableql/expression/#aggregation-expressions`;
9
+ exports.AggregatedBooleanQueryDocsLink = `${exports.HOST_URL_DOCS}/adaptableql/expression/#aggregation-expressions`;
10
+ exports.AggregatedScalarQueryDocsLink = `${exports.HOST_URL_DOCS}/adaptableql/expression/#aggregation-expressions`;
10
11
  exports.PredicateDocsLink = `${exports.HOST_URL_DOCS}/adaptableql/predicate`;
11
12
  exports.PrimaryKeyDocsLink = `${exports.HOST_URL_DOCS}/key-topics/primary-key`;
12
13
  exports.LicenseDocsLink = `${exports.HOST_URL_DOCS}/getting-started/licence`;
@@ -8,9 +8,10 @@ const UIHelper_1 = tslib_1.__importStar(require("../../View/UIHelper"));
8
8
  const booleanExpressionFunctions_1 = require("../ExpressionFunctions/booleanExpressionFunctions");
9
9
  const scalarExpressionFunctions_1 = require("../ExpressionFunctions/scalarExpressionFunctions");
10
10
  const observableExpressionFunctions_1 = require("../ExpressionFunctions/observableExpressionFunctions");
11
- const aggregationExpressionFunctions_1 = require("../ExpressionFunctions/aggregationExpressionFunctions");
11
+ const aggregatedBooleanExpressionFunctions_1 = require("../ExpressionFunctions/aggregatedBooleanExpressionFunctions");
12
12
  const AdaptablePredicate_1 = require("../../PredefinedConfig/Common/AdaptablePredicate");
13
13
  const Enums_1 = require("../../PredefinedConfig/Common/Enums");
14
+ const aggregatedScalarExpressionFunctions_1 = require("../ExpressionFunctions/aggregatedScalarExpressionFunctions");
14
15
  exports.DefaultAdaptableOptions = {
15
16
  adaptableId: GeneralConstants.ADAPTABLE_ID,
16
17
  adaptableStateKey: undefined,
@@ -19,20 +20,22 @@ exports.DefaultAdaptableOptions = {
19
20
  autogeneratePrimaryKey: false,
20
21
  userName: GeneralConstants.USER_NAME,
21
22
  predefinedConfig: undefined,
22
- notificationsOptions: {
23
+ alertOptions: {
23
24
  alertForms: undefined,
24
25
  maxAlertsInStore: 20,
26
+ cellHighlightDuration: 3000,
27
+ dataChangeDetectionPolicy: 'rawValue',
28
+ actionHandlers: undefined,
29
+ },
30
+ notificationsOptions: {
25
31
  maxNotifications: 3,
26
32
  position: 'BottomRight',
27
33
  duration: 3000,
28
- cellHighlightDuration: 3000,
29
- dataChangeDetectionPolicy: 'rawValue',
30
34
  showProgressBar: false,
31
35
  closeWhenClicked: false,
32
36
  pauseWhenHovering: false,
33
37
  isDraggable: false,
34
38
  transition: 'Slide',
35
- actionHandlers: undefined,
36
39
  showApplicationIcon: false,
37
40
  showSystemStatusMessageNotifications: false,
38
41
  maxSystemMessagesInStore: 100,
@@ -50,6 +53,21 @@ exports.DefaultAdaptableOptions = {
50
53
  BackColor: UIHelper_1.getHexForName(UIHelper_1.GRAY),
51
54
  },
52
55
  },
56
+ adaptableQLOptions: {
57
+ caseSensitiveTextComparisons: false,
58
+ externallyEvaluatedModules: [],
59
+ expressionOptions: {
60
+ defaultBooleanFunctions: booleanExpressionFunctions_1.booleanExpressionFunctions,
61
+ defaultScalarFunctions: scalarExpressionFunctions_1.scalarExpressionFunctions,
62
+ defaultObservableFunctions: observableExpressionFunctions_1.observableExpressionFunctions,
63
+ defaultAggregatedBooleanFunctions: aggregatedBooleanExpressionFunctions_1.aggregatedBooleanExpressionFunctions,
64
+ defaultAggregatedScalarFunctions: aggregatedScalarExpressionFunctions_1.aggregatedScalarExpressionFunctions,
65
+ moduleExpressionFunctions: undefined,
66
+ queryableColumns: undefined,
67
+ performExpressionValidation: true,
68
+ maxTimeframeSize: 28800000,
69
+ },
70
+ },
53
71
  containerOptions: {
54
72
  adaptableContainer: 'adaptable',
55
73
  agGridContainer: 'grid',
@@ -105,7 +123,6 @@ exports.DefaultAdaptableOptions = {
105
123
  currentCalendar: 'United Kingdom',
106
124
  cellSummaryOperations: undefined,
107
125
  customSortComparers: undefined,
108
- caseSensitiveTextComparisons: false,
109
126
  },
110
127
  layoutOptions: {
111
128
  includeExpandedRowGroups: false,
@@ -153,7 +170,6 @@ exports.DefaultAdaptableOptions = {
153
170
  },
154
171
  searchOptions: {
155
172
  excludeColumnFromQuickSearch: undefined,
156
- serverSearchOptions: undefined,
157
173
  clearSearchesOnStartUp: false,
158
174
  quickSearchPlaceholder: 'Search',
159
175
  filterResultsAfterQuickSearch: false,
@@ -206,16 +222,6 @@ exports.DefaultAdaptableOptions = {
206
222
  maxWidth: undefined,
207
223
  toolPanelOrder: ['filters', 'columns', 'adaptable'],
208
224
  },
209
- queryLanguageOptions: {
210
- defaultBooleanFunctions: booleanExpressionFunctions_1.booleanExpressionFunctions,
211
- defaultScalarFunctions: scalarExpressionFunctions_1.scalarExpressionFunctions,
212
- defaultObservableFunctions: observableExpressionFunctions_1.observableExpressionFunctions,
213
- defaultAggregationFunctions: aggregationExpressionFunctions_1.aggregationExpressionFunctions,
214
- moduleExpressionFunctions: undefined,
215
- queryableColumns: undefined,
216
- performExpressionValidation: true,
217
- maxTimeframeSize: 28800000,
218
- },
219
225
  dataChangeHistoryOptions: {
220
226
  activeByDefault: false,
221
227
  showDataChange: undefined,
@@ -2,5 +2,5 @@ import { ExpressionFunction } from '../../parser/src/types';
2
2
  declare type AggregationFunctionName = 'WHERE' | 'COL' | AggregationFunction | ComparisonFunction;
3
3
  declare type AggregationFunction = 'SUM';
4
4
  declare type ComparisonFunction = 'EQ' | 'NEQ' | 'LT' | 'GT' | 'LTE' | 'GTE';
5
- export declare const aggregationExpressionFunctions: Record<AggregationFunctionName, ExpressionFunction>;
5
+ export declare const aggregatedBooleanExpressionFunctions: Record<AggregationFunctionName, ExpressionFunction>;
6
6
  export {};
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.aggregationExpressionFunctions = void 0;
3
+ exports.aggregatedBooleanExpressionFunctions = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const rxjs_1 = require("rxjs");
6
6
  const parseInt_1 = tslib_1.__importDefault(require("lodash/parseInt"));
@@ -14,7 +14,7 @@ const aggregationScalarOperandMap = {
14
14
  // 1. block containing a numeric value (any digits) (required)
15
15
  // 2. block containing a single 'K', 'M' or 'B' letter (optional) (case insensitive)
16
16
  const CRITERIA_REGEX = /^(?:\s*)(\d+)(K|M|B)?$/i;
17
- exports.aggregationExpressionFunctions = {
17
+ exports.aggregatedBooleanExpressionFunctions = {
18
18
  WHERE: {
19
19
  handler(args, context) {
20
20
  return expressionFunctionUtils_1.handleWhereFunction(args, context);
@@ -46,7 +46,7 @@ exports.aggregationExpressionFunctions = {
46
46
  handler(args, context) {
47
47
  return expressionFunctionUtils_1.handleColumnFunction(args, context);
48
48
  },
49
- description: 'References a grid column by name',
49
+ description: 'References a column by its unique identifier',
50
50
  signatures: ['[colName]', 'COL(name: string)'],
51
51
  examples: ['[col1]', "COL('col1')"],
52
52
  },
@@ -55,7 +55,7 @@ exports.aggregationExpressionFunctions = {
55
55
  return handleAggregationCondition(args, context, '=', (aggregatedValue, conditionValue) => aggregatedValue === conditionValue);
56
56
  },
57
57
  isHiddenFromMenu: true,
58
- description: 'Evaluates if the aggregation result is equals a numerical value defined either as a number or a string abbreviation for thousands(K), millions(M) or billions(B)',
58
+ description: 'Evaluates if the aggregation result equals a numerical value defined either as a number or a string abbreviation for thousands(K), millions(M) or billions(B)',
59
59
  signatures: [
60
60
  'SUM() = number',
61
61
  `SUM() = '%number%(K|M|B)'`,
@@ -0,0 +1,24 @@
1
+ import { ExpressionFunction } from '../../parser/src/types';
2
+ import { BaseParameter } from './expressionFunctionUtils';
3
+ import { RowNode } from '@ag-grid-community/all-modules';
4
+ import { AggregateParams } from './scalarAggregationHelper';
5
+ export declare type AggregatedScalarFunctionName = AggregationFunction | OperandFunction;
6
+ declare type AggregationFunction = 'SUM' | 'PERCENTAGE' | 'AVG' | 'MIN' | 'MAX' | 'CUMUL';
7
+ declare type OperandFunction = 'COL' | 'OVER' | 'GROUP_BY';
8
+ export interface AggregationParameter extends BaseParameter<'aggregation', AggregationFunction> {
9
+ value: AggregatedScalarExpressionEvaluation;
10
+ }
11
+ export interface OverParameter extends BaseParameter<'operand', 'OVER'> {
12
+ value: string;
13
+ }
14
+ export interface GroupByParameter extends BaseParameter<'operand', 'GROUP_BY'> {
15
+ value: string;
16
+ }
17
+ export interface AggregatedScalarExpressionEvaluation {
18
+ aggregationParams: AggregateParams<any, string | number>;
19
+ rowValueGetter?: (rowNode: RowNode, aggregationValue: number) => string | number | Date | boolean;
20
+ columnDependencies: string[];
21
+ cumulateOver?: string;
22
+ }
23
+ export declare const aggregatedScalarExpressionFunctions: Record<AggregatedScalarFunctionName, ExpressionFunction>;
24
+ export {};
@@ -0,0 +1,339 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.aggregatedScalarExpressionFunctions = void 0;
4
+ const expressionFunctionUtils_1 = require("./expressionFunctionUtils");
5
+ const ExpressionEvaluationError_1 = require("../../parser/src/ExpressionEvaluationError");
6
+ exports.aggregatedScalarExpressionFunctions = {
7
+ SUM: {
8
+ handler(args, context) {
9
+ const sumColumnParameter = expressionFunctionUtils_1.extractColumnParameter('SUM', args);
10
+ const sumColumnName = sumColumnParameter.value;
11
+ expressionFunctionUtils_1.validateColumnType(sumColumnName, ['Number'], 'SUM', context.api);
12
+ const groupByParameter = expressionFunctionUtils_1.extractParameter('SUM', 'operand', ['GROUP_BY'], args, true);
13
+ const aggregationExpressionEvaluation = {
14
+ aggregationParams: {
15
+ reducers: {
16
+ SUM: {
17
+ name: 'SUM',
18
+ field: sumColumnName,
19
+ initialValue: 0,
20
+ reducer: (totalSum, rowValue) => {
21
+ if (!rowValue) {
22
+ return totalSum;
23
+ }
24
+ return totalSum + rowValue;
25
+ },
26
+ },
27
+ },
28
+ },
29
+ columnDependencies: [sumColumnName],
30
+ };
31
+ if (groupByParameter) {
32
+ const groupByColumnName = groupByParameter.value;
33
+ aggregationExpressionEvaluation.aggregationParams.groupBy = [
34
+ {
35
+ field: groupByColumnName,
36
+ },
37
+ ];
38
+ aggregationExpressionEvaluation.columnDependencies.push(groupByColumnName);
39
+ }
40
+ const result = {
41
+ name: 'SUM',
42
+ type: 'aggregation',
43
+ value: aggregationExpressionEvaluation,
44
+ };
45
+ return result;
46
+ },
47
+ description: 'Aggregates a column over multiple rows by summing up the column values\nOptionally the aggregation may be computed within provided individual groups',
48
+ signatures: [
49
+ 'SUM( [colName] )',
50
+ 'SUM( COL(name: string))',
51
+ 'SUM( [colNameA], GROUP_BY( [colNameB] ))',
52
+ 'SUM( COL(nameA: string), GROUP_BY( COL(nameB: string)))',
53
+ ],
54
+ examples: ['SUM([colA])', 'SUM([colA], GROUP_BY([colB]))'],
55
+ },
56
+ PERCENTAGE: {
57
+ handler(args, context) {
58
+ var _a;
59
+ const percentageColumnParameter = expressionFunctionUtils_1.extractColumnParameter('PERCENTAGE', args);
60
+ const percentageColumnName = percentageColumnParameter.value;
61
+ expressionFunctionUtils_1.validateColumnType(percentageColumnName, ['Number'], 'PERCENTAGE', context.api);
62
+ const sumOperand = expressionFunctionUtils_1.extractParameter('PERCENTAGE', 'aggregation', ['SUM'], args, true);
63
+ const groupByOperand = expressionFunctionUtils_1.extractParameter('PERCENTAGE', 'operand', ['GROUP_BY'], args, true);
64
+ if (sumOperand && groupByOperand) {
65
+ throw new ExpressionEvaluationError_1.ExpressionEvaluationError('PERCENTAGE', `expects either a SUM or a GROUP_BY argument`);
66
+ }
67
+ const sumAggregationColumnName = sumOperand
68
+ ? sumOperand.value.aggregationParams.reducers['SUM'].field
69
+ : percentageColumnName;
70
+ const groupByColumnName = groupByOperand
71
+ ? groupByOperand.value
72
+ : (_a = sumOperand === null || sumOperand === void 0 ? void 0 : sumOperand.value.aggregationParams.groupBy) === null || _a === void 0 ? void 0 : _a[0].field;
73
+ const aggregationExpressionEvaluation = {
74
+ aggregationParams: {
75
+ reducers: {
76
+ PERCENTAGE: {
77
+ name: 'PERCENTAGE',
78
+ field: sumAggregationColumnName,
79
+ initialValue: 0,
80
+ reducer: (totalSum, rowValue) => {
81
+ if (!rowValue) {
82
+ return totalSum;
83
+ }
84
+ return totalSum + rowValue;
85
+ },
86
+ },
87
+ },
88
+ },
89
+ rowValueGetter: (rowNode, aggregationValue) => {
90
+ return ((context.api.gridApi.getRawValueFromRowNode(rowNode, percentageColumnName) /
91
+ aggregationValue) *
92
+ 100);
93
+ },
94
+ columnDependencies: [...new Set([percentageColumnName, sumAggregationColumnName])],
95
+ };
96
+ if (groupByColumnName) {
97
+ aggregationExpressionEvaluation.aggregationParams.groupBy = [
98
+ {
99
+ field: groupByColumnName,
100
+ },
101
+ ];
102
+ aggregationExpressionEvaluation.columnDependencies.push(groupByColumnName);
103
+ }
104
+ const result = {
105
+ name: 'PERCENTAGE',
106
+ type: 'aggregation',
107
+ value: aggregationExpressionEvaluation,
108
+ };
109
+ return result;
110
+ },
111
+ description: 'Divides each column value by the aggregated sum of a column\nThe column with the aggregated value and the column with the percentage value do not necessarily have to be identical',
112
+ signatures: [
113
+ 'PERCENTAGE( [colName] )',
114
+ 'PERCENTAGE( [colNameA], GROUP_BY( [colNameB] ))',
115
+ 'PERCENTAGE( [colNameA], SUM ( [colNameB] ))',
116
+ 'PERCENTAGE( [colNameA], SUM ( [colNameB], GROUP_BY( [colNameC] )))',
117
+ ],
118
+ examples: [
119
+ 'PERCENTAGE( [colName] )',
120
+ 'PERCENTAGE( [colNameA], GROUP_BY( [colNameB] ))',
121
+ 'PERCENTAGE( [colNameA], SUM ( [colNameB] ))',
122
+ 'PERCENTAGE( [colNameA], SUM ( [colNameB], GROUP_BY( [colNameC] )))',
123
+ ],
124
+ },
125
+ AVG: {
126
+ handler(args, context) {
127
+ const avgColumnParameter = expressionFunctionUtils_1.extractColumnParameter('AVG', args);
128
+ const avgColumnName = avgColumnParameter.value;
129
+ expressionFunctionUtils_1.validateColumnType(avgColumnName, ['Number'], 'AVG', context.api);
130
+ const groupByParameter = expressionFunctionUtils_1.extractParameter('AVG', 'operand', ['GROUP_BY'], args, true);
131
+ const aggregationExpressionEvaluation = {
132
+ aggregationParams: {
133
+ reducers: {
134
+ SUM: {
135
+ name: 'AVG',
136
+ field: avgColumnName,
137
+ initialValue: 0,
138
+ reducer: (totalSum, rowValue) => {
139
+ if (!rowValue) {
140
+ return totalSum;
141
+ }
142
+ return totalSum + rowValue;
143
+ },
144
+ done: (value, dataArray) => {
145
+ return dataArray.length ? value / dataArray.length : 0;
146
+ },
147
+ },
148
+ },
149
+ },
150
+ columnDependencies: [avgColumnName],
151
+ };
152
+ if (groupByParameter) {
153
+ const groupByColumnName = groupByParameter.value;
154
+ aggregationExpressionEvaluation.aggregationParams.groupBy = [
155
+ {
156
+ field: groupByColumnName,
157
+ },
158
+ ];
159
+ aggregationExpressionEvaluation.columnDependencies.push(groupByColumnName);
160
+ }
161
+ const result = {
162
+ name: 'AVG',
163
+ type: 'aggregation',
164
+ value: aggregationExpressionEvaluation,
165
+ };
166
+ return result;
167
+ },
168
+ description: 'Aggregates a column over multiple rows by computing the average value (arithmetic mean) of the column values\nOptionally the aggregation may be computed within provided individual groups',
169
+ signatures: [
170
+ 'AVG( [colName] )',
171
+ 'AVG( COL(name: string))',
172
+ 'AVG( [colNameA], GROUP_BY( [colNameB] ))',
173
+ 'AVG( COL(nameA: string), GROUP_BY( COL(nameB: string)))',
174
+ ],
175
+ examples: ['AVG([colA])', 'AVG([colA], GROUP_BY([colB]))'],
176
+ },
177
+ MIN: {
178
+ handler(args, context) {
179
+ const minColumnParameter = expressionFunctionUtils_1.extractColumnParameter('MIN', args);
180
+ const minColumnName = minColumnParameter.value;
181
+ expressionFunctionUtils_1.validateColumnType(minColumnName, ['Number'], 'MIN', context.api);
182
+ const groupByParameter = expressionFunctionUtils_1.extractParameter('MIN', 'operand', ['GROUP_BY'], args, true);
183
+ const aggregationExpressionEvaluation = {
184
+ aggregationParams: {
185
+ reducers: {
186
+ SUM: {
187
+ name: 'MIN',
188
+ field: minColumnName,
189
+ initialValue: Number.MAX_VALUE,
190
+ reducer: (minValue, rowValue) => {
191
+ if (!rowValue) {
192
+ return minValue;
193
+ }
194
+ return rowValue < minValue ? rowValue : minValue;
195
+ },
196
+ },
197
+ },
198
+ },
199
+ columnDependencies: [minColumnName],
200
+ };
201
+ if (groupByParameter) {
202
+ const groupByColumnName = groupByParameter.value;
203
+ aggregationExpressionEvaluation.aggregationParams.groupBy = [
204
+ {
205
+ field: groupByColumnName,
206
+ },
207
+ ];
208
+ aggregationExpressionEvaluation.columnDependencies.push(groupByColumnName);
209
+ }
210
+ const result = {
211
+ name: 'MIN',
212
+ type: 'aggregation',
213
+ value: aggregationExpressionEvaluation,
214
+ };
215
+ return result;
216
+ },
217
+ description: 'Aggregates a column over multiple rows by computing the minimum of the column values\nOptionally the aggregation may be computed within provided individual groups',
218
+ signatures: [
219
+ 'MIN( [colName] )',
220
+ 'MIN( COL(name: string))',
221
+ 'MIN( [colNameA], GROUP_BY( [colNameB] ))',
222
+ 'MIN( COL(nameA: string), GROUP_BY( COL(nameB: string)))',
223
+ ],
224
+ examples: ['MIN([colA])', 'MIN([colA], GROUP_BY([colB]))'],
225
+ },
226
+ MAX: {
227
+ handler(args, context) {
228
+ const maxColumnParameter = expressionFunctionUtils_1.extractColumnParameter('MAX', args);
229
+ const maxColumnName = maxColumnParameter.value;
230
+ expressionFunctionUtils_1.validateColumnType(maxColumnName, ['Number'], 'MAX', context.api);
231
+ const groupByParameter = expressionFunctionUtils_1.extractParameter('MAX', 'operand', ['GROUP_BY'], args, true);
232
+ const aggregationExpressionEvaluation = {
233
+ aggregationParams: {
234
+ reducers: {
235
+ SUM: {
236
+ name: 'MAX',
237
+ field: maxColumnName,
238
+ initialValue: Number.MIN_VALUE,
239
+ reducer: (maxValue, rowValue) => {
240
+ if (!rowValue) {
241
+ return maxValue;
242
+ }
243
+ return rowValue > maxValue ? rowValue : maxValue;
244
+ },
245
+ },
246
+ },
247
+ },
248
+ columnDependencies: [maxColumnName],
249
+ };
250
+ if (groupByParameter) {
251
+ const groupByColumnName = groupByParameter.value;
252
+ aggregationExpressionEvaluation.aggregationParams.groupBy = [
253
+ {
254
+ field: groupByColumnName,
255
+ },
256
+ ];
257
+ aggregationExpressionEvaluation.columnDependencies.push(groupByColumnName);
258
+ }
259
+ const result = {
260
+ name: 'MAX',
261
+ type: 'aggregation',
262
+ value: aggregationExpressionEvaluation,
263
+ };
264
+ return result;
265
+ },
266
+ description: 'Aggregates a column over multiple rows by computing the maximum of the column values\nOptionally the aggregation may be computed within provided individual groups',
267
+ signatures: [
268
+ 'MAX( [colName] )',
269
+ 'MAX( COL(name: string))',
270
+ 'MAX( [colNameA], GROUP_BY( [colNameB] ))',
271
+ 'MAX( COL(nameA: string), GROUP_BY( COL(nameB: string)))',
272
+ ],
273
+ examples: ['MIN([colA])', 'MIN([colA], GROUP_BY([colB]))'],
274
+ },
275
+ GROUP_BY: {
276
+ handler(args, context) {
277
+ const columnParameter = expressionFunctionUtils_1.extractColumnParameter('GROUP_BY', args);
278
+ const result = {
279
+ type: 'operand',
280
+ name: 'GROUP_BY',
281
+ value: columnParameter.value,
282
+ };
283
+ return result;
284
+ },
285
+ description: 'Groups an aggregation operation within the rows that have the same value in the specified column',
286
+ signatures: ['GROUP_BY( [colName] )', 'GROUP_BY( COL(name: string))'],
287
+ examples: ['GROUP_BY( [colName] )', `GROUP_BY( COL('colName'))`],
288
+ },
289
+ CUMUL: {
290
+ handler(args, context) {
291
+ var _a;
292
+ const aggregationParameter = expressionFunctionUtils_1.extractParameter('CUMUL', 'aggregation', ['SUM', 'MIN', 'MAX', 'PERCENTAGE', 'AVG'], args);
293
+ if (aggregationParameter.name === 'AVG' || aggregationParameter.name === 'PERCENTAGE') {
294
+ throw new ExpressionEvaluationError_1.ExpressionEvaluationError('CUMUL', `supports only following aggregations: SUM, MIN, MAX`);
295
+ }
296
+ if ((_a = aggregationParameter.value.aggregationParams.groupBy) === null || _a === void 0 ? void 0 : _a.length) {
297
+ throw new ExpressionEvaluationError_1.ExpressionEvaluationError('CUMUL', `supports only aggregations without any grouping (GROUP_BY clauses)`);
298
+ }
299
+ const overColumnParameter = expressionFunctionUtils_1.extractParameter('CUMUL', 'operand', ['OVER'], args);
300
+ aggregationParameter.value.cumulateOver = overColumnParameter.value;
301
+ const result = {
302
+ name: 'CUMUL',
303
+ type: 'aggregation',
304
+ value: aggregationParameter.value,
305
+ };
306
+ return result;
307
+ },
308
+ description: 'Performs a cumulative aggregation (running total) with the given aggregation operation over a provided column',
309
+ signatures: ['CUMUL( aggregationOp: SUM|MIN|MAX, OVER( [colNameB] ))'],
310
+ examples: [
311
+ 'CUMUL( SUM([colNameA]), OVER( [colNameB] ))',
312
+ 'CUMUL( MIN([colNameA]), OVER( [colNameB] ))',
313
+ 'CUMUL( MAX([colNameA]), OVER( [colNameB] ))',
314
+ ],
315
+ },
316
+ OVER: {
317
+ handler(args, context) {
318
+ const columnParameter = expressionFunctionUtils_1.extractColumnParameter('OVER', args);
319
+ expressionFunctionUtils_1.validateColumnType(columnParameter.value, ['Number', 'Date'], 'OVER', context.api);
320
+ const result = {
321
+ type: 'operand',
322
+ name: 'OVER',
323
+ value: columnParameter.value,
324
+ };
325
+ return result;
326
+ },
327
+ description: 'Defines an accumulative dimension (order) for the enclosing cumulative aggregation',
328
+ signatures: ['OVER( [colName] )', 'OVER( COL(name: string))'],
329
+ examples: ['OVER( [colName] )', `OVER( COL('colName'))`],
330
+ },
331
+ COL: {
332
+ handler(args, context) {
333
+ return expressionFunctionUtils_1.handleColumnFunction(args, context);
334
+ },
335
+ description: 'References a column by its unique identifier',
336
+ signatures: ['[colName]', 'COL(name: string)'],
337
+ examples: ['[col1]', 'COL("col1")'],
338
+ },
339
+ };
@@ -0,0 +1 @@
1
+ export declare const normalizeDateParams: (args: [string | number | Date, string | number | Date]) => [number | Date, number | Date];
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.normalizeDateParams = void 0;
4
+ exports.normalizeDateParams = (args) => {
5
+ let [first, second] = args;
6
+ if (typeof first === 'string') {
7
+ first = new Date(first);
8
+ }
9
+ if (typeof second === 'string') {
10
+ second = new Date(second);
11
+ }
12
+ return [first, second];
13
+ };
@@ -0,0 +1,35 @@
1
+ declare type VoidFn = () => void;
2
+ declare type Pair<KeyType, ValueType> = {
3
+ value?: ValueType;
4
+ map?: Map<KeyType, Pair<KeyType, ValueType>>;
5
+ revision?: number;
6
+ };
7
+ export declare type DeepMapVisitFn<KeyType, ValueType> = (pair: Pair<KeyType, ValueType>, keys: KeyType[], next: VoidFn) => void;
8
+ export declare class DeepMap<KeyType, ValueType> {
9
+ private map;
10
+ private length;
11
+ private revision;
12
+ static clone<KeyType, ValueType>(map: DeepMap<KeyType, ValueType>): DeepMap<KeyType, ValueType>;
13
+ constructor(initial?: [KeyType[], ValueType][]);
14
+ set(keys: KeyType[] & {
15
+ length: Omit<number, 0>;
16
+ }, value: ValueType): this;
17
+ get(keys: KeyType[]): ValueType | undefined;
18
+ get size(): number;
19
+ clear(): void;
20
+ delete(keys: KeyType[]): boolean;
21
+ has(keys: KeyType[]): boolean;
22
+ private visitKey;
23
+ visit: (fn: DeepMapVisitFn<KeyType, ValueType>) => void;
24
+ visitDepthFirst: (fn: (value: ValueType, keys: KeyType[], indexInGroup: number, next?: VoidFn) => void) => void;
25
+ private visitWithNext;
26
+ private getArray;
27
+ values(): Generator<ValueType, void, unknown>;
28
+ keys(): Generator<KeyType[], void, unknown>;
29
+ entries(): Generator<[KeyType[], ValueType], void, unknown>;
30
+ topDownEntries(): [KeyType[], ValueType][];
31
+ topDownKeys(): KeyType[][];
32
+ topDownValues(): ValueType[];
33
+ private sortedIterator;
34
+ }
35
+ export {};