@gooddata/sdk-ui-dashboard 11.54.0-alpha.4 → 11.54.0-alpha.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (243) hide show
  1. package/NOTICE +93513 -17188
  2. package/esm/__version.d.ts +1 -1
  3. package/esm/__version.js +1 -1
  4. package/esm/_staging/automation/index.d.ts +6 -0
  5. package/esm/_staging/automation/index.d.ts.map +1 -1
  6. package/esm/_staging/automation/index.js +7 -0
  7. package/esm/index.d.ts +3 -2
  8. package/esm/index.d.ts.map +1 -1
  9. package/esm/model/DashboardTester.d.ts +150 -0
  10. package/esm/model/DashboardTester.d.ts.map +1 -0
  11. package/esm/model/DashboardTester.js +208 -0
  12. package/esm/model/commandHandlers/dashboard/common/parameterHydration.d.ts +7 -0
  13. package/esm/model/commandHandlers/dashboard/common/parameterHydration.d.ts.map +1 -1
  14. package/esm/model/commandHandlers/dashboard/common/parameterHydration.js +17 -1
  15. package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/index.d.ts.map +1 -1
  16. package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/index.js +27 -1
  17. package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/loadAutomationTimezone.d.ts +9 -0
  18. package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/loadAutomationTimezone.d.ts.map +1 -0
  19. package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/loadAutomationTimezone.js +27 -0
  20. package/esm/model/commandHandlers/filterContext/filterViewHandler.d.ts.map +1 -1
  21. package/esm/model/commandHandlers/filterContext/filterViewHandler.js +7 -7
  22. package/esm/model/commandHandlers/timezone/changeDashboardTimezoneOverrideHandler.d.ts.map +1 -1
  23. package/esm/model/commandHandlers/timezone/changeDashboardTimezoneOverrideHandler.js +2 -11
  24. package/esm/model/commands/timezone.d.ts +10 -2
  25. package/esm/model/commands/timezone.d.ts.map +1 -1
  26. package/esm/model/commands/timezone.js +5 -2
  27. package/esm/presentation/automations/alerting/DefaultAlertingDialog/AlertingDialogDestination.d.ts +6 -0
  28. package/esm/presentation/automations/alerting/DefaultAlertingDialog/AlertingDialogDestination.d.ts.map +1 -0
  29. package/esm/presentation/automations/alerting/DefaultAlertingDialog/AlertingDialogDestination.js +13 -0
  30. package/esm/presentation/automations/alerting/DefaultAlertingDialog/AlertingDialogRecipients.d.ts +7 -0
  31. package/esm/presentation/automations/alerting/DefaultAlertingDialog/AlertingDialogRecipients.d.ts.map +1 -0
  32. package/esm/presentation/automations/alerting/DefaultAlertingDialog/AlertingDialogRecipients.js +12 -0
  33. package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialog.d.ts +1 -1
  34. package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialog.d.ts.map +1 -1
  35. package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialog.js +61 -22
  36. package/esm/presentation/automations/alerting/DefaultAlertingDialog/FormField.d.ts +8 -0
  37. package/esm/presentation/automations/alerting/DefaultAlertingDialog/FormField.d.ts.map +1 -0
  38. package/esm/presentation/automations/alerting/DefaultAlertingDialog/FormField.js +8 -0
  39. package/esm/presentation/automations/alerting/types.d.ts +72 -4
  40. package/esm/presentation/automations/alerting/types.d.ts.map +1 -1
  41. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.d.ts +1 -1
  42. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.d.ts.map +1 -1
  43. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.js +60 -15
  44. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/AttachmentSettings.d.ts.map +1 -1
  45. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/AttachmentSettings.js +2 -3
  46. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelect.d.ts +1 -5
  47. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelect.d.ts.map +1 -1
  48. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelect.js +2 -2
  49. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelectRenderer.d.ts +0 -4
  50. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelectRenderer.d.ts.map +1 -1
  51. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/ScheduledEmailDialogDestination.d.ts +6 -0
  52. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/ScheduledEmailDialogDestination.d.ts.map +1 -0
  53. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/ScheduledEmailDialogDestination.js +10 -0
  54. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/ScheduledEmailDialogRecipients.d.ts +6 -0
  55. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/ScheduledEmailDialogRecipients.d.ts.map +1 -0
  56. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/ScheduledEmailDialogRecipients.js +8 -0
  57. package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailExportSettings.d.ts.map +1 -1
  58. package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailExportSettings.js +10 -8
  59. package/esm/presentation/automations/scheduledEmail/state/useScheduledExportAttachments.d.ts +2 -2
  60. package/esm/presentation/automations/scheduledEmail/state/useScheduledExportAttachments.d.ts.map +1 -1
  61. package/esm/presentation/automations/scheduledEmail/state/useScheduledExportAttachments.js +3 -4
  62. package/esm/presentation/automations/scheduledEmail/types.d.ts +86 -6
  63. package/esm/presentation/automations/scheduledEmail/types.d.ts.map +1 -1
  64. package/esm/presentation/automations/shared/slots/AutomationDialogActionBar.d.ts +25 -0
  65. package/esm/presentation/automations/shared/slots/AutomationDialogActionBar.d.ts.map +1 -0
  66. package/esm/presentation/automations/shared/slots/AutomationDialogActionBar.js +22 -0
  67. package/esm/presentation/automations/shared/slots/types.d.ts +120 -27
  68. package/esm/presentation/automations/shared/slots/types.d.ts.map +1 -1
  69. package/esm/presentation/dashboardContexts/ExportCsvDialogContext.d.ts +1 -2
  70. package/esm/presentation/dashboardContexts/ExportCsvDialogContext.d.ts.map +1 -1
  71. package/esm/presentation/dialogs/ExportCsvDialog.d.ts +0 -1
  72. package/esm/presentation/dialogs/ExportCsvDialog.d.ts.map +1 -1
  73. package/esm/presentation/dialogs/ExportCsvDialog.js +2 -2
  74. package/esm/presentation/dialogs/ExportCsvDialogProvider.d.ts.map +1 -1
  75. package/esm/presentation/dialogs/ExportCsvDialogProvider.js +1 -1
  76. package/esm/presentation/localization/bundles/de-DE.localization-bundle.d.ts +12 -15
  77. package/esm/presentation/localization/bundles/de-DE.localization-bundle.d.ts.map +1 -1
  78. package/esm/presentation/localization/bundles/de-DE.localization-bundle.js +12 -15
  79. package/esm/presentation/localization/bundles/en-AU.localization-bundle.d.ts +12 -15
  80. package/esm/presentation/localization/bundles/en-AU.localization-bundle.d.ts.map +1 -1
  81. package/esm/presentation/localization/bundles/en-AU.localization-bundle.js +14 -17
  82. package/esm/presentation/localization/bundles/en-GB.localization-bundle.d.ts +12 -15
  83. package/esm/presentation/localization/bundles/en-GB.localization-bundle.d.ts.map +1 -1
  84. package/esm/presentation/localization/bundles/en-GB.localization-bundle.js +14 -17
  85. package/esm/presentation/localization/bundles/en-US.localization-bundle.d.ts +0 -60
  86. package/esm/presentation/localization/bundles/en-US.localization-bundle.d.ts.map +1 -1
  87. package/esm/presentation/localization/bundles/en-US.localization-bundle.js +0 -60
  88. package/esm/presentation/localization/bundles/es-419.localization-bundle.d.ts +12 -15
  89. package/esm/presentation/localization/bundles/es-419.localization-bundle.d.ts.map +1 -1
  90. package/esm/presentation/localization/bundles/es-419.localization-bundle.js +14 -17
  91. package/esm/presentation/localization/bundles/es-ES.localization-bundle.d.ts +10 -15
  92. package/esm/presentation/localization/bundles/es-ES.localization-bundle.d.ts.map +1 -1
  93. package/esm/presentation/localization/bundles/es-ES.localization-bundle.js +12 -17
  94. package/esm/presentation/localization/bundles/fi-FI.localization-bundle.d.ts +12 -15
  95. package/esm/presentation/localization/bundles/fi-FI.localization-bundle.d.ts.map +1 -1
  96. package/esm/presentation/localization/bundles/fi-FI.localization-bundle.js +14 -17
  97. package/esm/presentation/localization/bundles/fr-CA.localization-bundle.d.ts +12 -15
  98. package/esm/presentation/localization/bundles/fr-CA.localization-bundle.d.ts.map +1 -1
  99. package/esm/presentation/localization/bundles/fr-CA.localization-bundle.js +14 -17
  100. package/esm/presentation/localization/bundles/fr-FR.localization-bundle.d.ts +12 -15
  101. package/esm/presentation/localization/bundles/fr-FR.localization-bundle.d.ts.map +1 -1
  102. package/esm/presentation/localization/bundles/fr-FR.localization-bundle.js +14 -17
  103. package/esm/presentation/localization/bundles/id-ID.localization-bundle.d.ts +12 -15
  104. package/esm/presentation/localization/bundles/id-ID.localization-bundle.d.ts.map +1 -1
  105. package/esm/presentation/localization/bundles/id-ID.localization-bundle.js +14 -17
  106. package/esm/presentation/localization/bundles/it-IT.localization-bundle.d.ts +12 -15
  107. package/esm/presentation/localization/bundles/it-IT.localization-bundle.d.ts.map +1 -1
  108. package/esm/presentation/localization/bundles/it-IT.localization-bundle.js +14 -17
  109. package/esm/presentation/localization/bundles/ja-JP.localization-bundle.d.ts +12 -15
  110. package/esm/presentation/localization/bundles/ja-JP.localization-bundle.d.ts.map +1 -1
  111. package/esm/presentation/localization/bundles/ja-JP.localization-bundle.js +12 -15
  112. package/esm/presentation/localization/bundles/ko-KR.localization-bundle.d.ts +12 -15
  113. package/esm/presentation/localization/bundles/ko-KR.localization-bundle.d.ts.map +1 -1
  114. package/esm/presentation/localization/bundles/ko-KR.localization-bundle.js +14 -17
  115. package/esm/presentation/localization/bundles/nl-NL.localization-bundle.d.ts +12 -15
  116. package/esm/presentation/localization/bundles/nl-NL.localization-bundle.d.ts.map +1 -1
  117. package/esm/presentation/localization/bundles/nl-NL.localization-bundle.js +14 -17
  118. package/esm/presentation/localization/bundles/pl-PL.localization-bundle.d.ts +12 -15
  119. package/esm/presentation/localization/bundles/pl-PL.localization-bundle.d.ts.map +1 -1
  120. package/esm/presentation/localization/bundles/pl-PL.localization-bundle.js +14 -17
  121. package/esm/presentation/localization/bundles/pt-BR.localization-bundle.d.ts +12 -15
  122. package/esm/presentation/localization/bundles/pt-BR.localization-bundle.d.ts.map +1 -1
  123. package/esm/presentation/localization/bundles/pt-BR.localization-bundle.js +16 -19
  124. package/esm/presentation/localization/bundles/pt-PT.localization-bundle.d.ts +12 -15
  125. package/esm/presentation/localization/bundles/pt-PT.localization-bundle.d.ts.map +1 -1
  126. package/esm/presentation/localization/bundles/pt-PT.localization-bundle.js +16 -19
  127. package/esm/presentation/localization/bundles/ru-RU.localization-bundle.d.ts +12 -15
  128. package/esm/presentation/localization/bundles/ru-RU.localization-bundle.d.ts.map +1 -1
  129. package/esm/presentation/localization/bundles/ru-RU.localization-bundle.js +14 -17
  130. package/esm/presentation/localization/bundles/sl-SI.localization-bundle.d.ts +12 -15
  131. package/esm/presentation/localization/bundles/sl-SI.localization-bundle.d.ts.map +1 -1
  132. package/esm/presentation/localization/bundles/sl-SI.localization-bundle.js +14 -17
  133. package/esm/presentation/localization/bundles/th-TH.localization-bundle.d.ts +12 -15
  134. package/esm/presentation/localization/bundles/th-TH.localization-bundle.d.ts.map +1 -1
  135. package/esm/presentation/localization/bundles/th-TH.localization-bundle.js +14 -17
  136. package/esm/presentation/localization/bundles/tr-TR.localization-bundle.d.ts +12 -15
  137. package/esm/presentation/localization/bundles/tr-TR.localization-bundle.d.ts.map +1 -1
  138. package/esm/presentation/localization/bundles/tr-TR.localization-bundle.js +14 -17
  139. package/esm/presentation/localization/bundles/uk-UA.localization-bundle.d.ts +12 -15
  140. package/esm/presentation/localization/bundles/uk-UA.localization-bundle.d.ts.map +1 -1
  141. package/esm/presentation/localization/bundles/uk-UA.localization-bundle.js +14 -17
  142. package/esm/presentation/localization/bundles/vi-VN.localization-bundle.d.ts +12 -15
  143. package/esm/presentation/localization/bundles/vi-VN.localization-bundle.d.ts.map +1 -1
  144. package/esm/presentation/localization/bundles/vi-VN.localization-bundle.js +14 -17
  145. package/esm/presentation/localization/bundles/zh-HK.localization-bundle.d.ts +12 -15
  146. package/esm/presentation/localization/bundles/zh-HK.localization-bundle.d.ts.map +1 -1
  147. package/esm/presentation/localization/bundles/zh-HK.localization-bundle.js +12 -15
  148. package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.d.ts +12 -15
  149. package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.d.ts.map +1 -1
  150. package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.js +14 -17
  151. package/esm/presentation/localization/bundles/zh-Hant.localization-bundle.d.ts +12 -15
  152. package/esm/presentation/localization/bundles/zh-Hant.localization-bundle.d.ts.map +1 -1
  153. package/esm/presentation/localization/bundles/zh-Hant.localization-bundle.js +14 -17
  154. package/esm/presentation/widget/common/useInsightExport.d.ts.map +1 -1
  155. package/esm/presentation/widget/common/useInsightExport.js +2 -4
  156. package/esm/sdk-ui-dashboard.d.ts +289 -35
  157. package/package.json +21 -21
  158. package/styles/css/main.css +369 -0
  159. package/styles/css/main.css.map +1 -1
  160. package/esm/_staging/dateFilterConfig/fixtures.d.ts +0 -10
  161. package/esm/_staging/dateFilterConfig/fixtures.d.ts.map +0 -1
  162. package/esm/_staging/dateFilterConfig/fixtures.js +0 -60
  163. package/esm/model/commandHandlers/filterContext/filterViewParameters.d.ts +0 -8
  164. package/esm/model/commandHandlers/filterContext/filterViewParameters.d.ts.map +0 -1
  165. package/esm/model/commandHandlers/filterContext/filterViewParameters.js +0 -9
  166. package/esm/plugins/customizationApis/fixtures/TestingDashboardCustomizationLogger.d.ts +0 -16
  167. package/esm/plugins/customizationApis/fixtures/TestingDashboardCustomizationLogger.d.ts.map +0 -1
  168. package/esm/plugins/customizationApis/fixtures/TestingDashboardCustomizationLogger.js +0 -30
  169. package/esm/presentation/automations/alerting/DefaultAlertingManagementDialog/components/AlertDropdown.d.ts +0 -3
  170. package/esm/presentation/automations/alerting/DefaultAlertingManagementDialog/components/AlertDropdown.d.ts.map +0 -1
  171. package/esm/presentation/automations/alerting/DefaultAlertingManagementDialog/components/AlertDropdown.js +0 -46
  172. package/esm/presentation/automations/alerting/DefaultAlertingManagementDialog/components/PauseAlertRunner.d.ts +0 -11
  173. package/esm/presentation/automations/alerting/DefaultAlertingManagementDialog/components/PauseAlertRunner.d.ts.map +0 -1
  174. package/esm/presentation/automations/alerting/DefaultAlertingManagementDialog/components/PauseAlertRunner.js +0 -31
  175. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useFiltersForDashboardScheduledExportInfo.d.ts +0 -19
  176. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useFiltersForDashboardScheduledExportInfo.d.ts.map +0 -1
  177. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useFiltersForDashboardScheduledExportInfo.js +0 -28
  178. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailManagementDialog/components/ScheduledEmail.d.ts +0 -13
  179. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailManagementDialog/components/ScheduledEmail.d.ts.map +0 -1
  180. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailManagementDialog/components/ScheduledEmail.js +0 -56
  181. package/esm/presentation/dashboard/components/DashboardMainContent.d.ts +0 -3
  182. package/esm/presentation/dashboard/components/DashboardMainContent.d.ts.map +0 -1
  183. package/esm/presentation/dashboard/components/DashboardMainContent.js +0 -39
  184. package/esm/presentation/dragAndDrop/draggableWidget/DraggableKpiCreatePanelItem.d.ts +0 -16
  185. package/esm/presentation/dragAndDrop/draggableWidget/DraggableKpiCreatePanelItem.d.ts.map +0 -1
  186. package/esm/presentation/dragAndDrop/draggableWidget/DraggableKpiCreatePanelItem.js +0 -17
  187. package/esm/presentation/dragAndDrop/draggableWidget/KpiDraggingComponent.d.ts +0 -3
  188. package/esm/presentation/dragAndDrop/draggableWidget/KpiDraggingComponent.d.ts.map +0 -1
  189. package/esm/presentation/dragAndDrop/draggableWidget/KpiDraggingComponent.js +0 -9
  190. package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/DeleteButton.d.ts +0 -6
  191. package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/DeleteButton.d.ts.map +0 -1
  192. package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/DeleteButton.js +0 -10
  193. package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/common/DropdownControls.d.ts +0 -8
  194. package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/common/DropdownControls.d.ts.map +0 -1
  195. package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/common/DropdownControls.js +0 -14
  196. package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/ConfigurationButton.d.ts +0 -6
  197. package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/ConfigurationButton.d.ts.map +0 -1
  198. package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/ConfigurationButton.js +0 -8
  199. package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/displayFormDropdown/DisplayFormButton.d.ts +0 -8
  200. package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/displayFormDropdown/DisplayFormButton.d.ts.map +0 -1
  201. package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/displayFormDropdown/DisplayFormButton.js +0 -10
  202. package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/displayFormDropdown/DisplayFormDropdown.d.ts +0 -8
  203. package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/displayFormDropdown/DisplayFormDropdown.d.ts.map +0 -1
  204. package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/displayFormDropdown/DisplayFormDropdown.js +0 -33
  205. package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/displayFormDropdown/DisplayFormItem.d.ts +0 -8
  206. package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/displayFormDropdown/DisplayFormItem.d.ts.map +0 -1
  207. package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/displayFormDropdown/DisplayFormItem.js +0 -33
  208. package/esm/presentation/widget/common/configuration/AttributeFilterConfiguration.d.ts +0 -7
  209. package/esm/presentation/widget/common/configuration/AttributeFilterConfiguration.d.ts.map +0 -1
  210. package/esm/presentation/widget/common/configuration/AttributeFilterConfiguration.js +0 -39
  211. package/esm/presentation/widget/common/useWidgetBrokenAlertsQuery.d.ts +0 -9
  212. package/esm/presentation/widget/common/useWidgetBrokenAlertsQuery.d.ts.map +0 -1
  213. package/esm/presentation/widget/common/useWidgetBrokenAlertsQuery.js +0 -26
  214. package/esm/presentation/widget/insight/configuration/DrillMeasureSelector/DrillMeasureSelector.d.ts +0 -7
  215. package/esm/presentation/widget/insight/configuration/DrillMeasureSelector/DrillMeasureSelector.d.ts.map +0 -1
  216. package/esm/presentation/widget/insight/configuration/DrillMeasureSelector/DrillMeasureSelector.js +0 -37
  217. package/esm/presentation/widget/insight/configuration/DrillMeasureSelector/DrillMeasureSelectorBody.d.ts +0 -8
  218. package/esm/presentation/widget/insight/configuration/DrillMeasureSelector/DrillMeasureSelectorBody.d.ts.map +0 -1
  219. package/esm/presentation/widget/insight/configuration/DrillMeasureSelector/DrillMeasureSelectorBody.js +0 -15
  220. package/esm/presentation/widget/insight/configuration/DrillMeasureSelector/DrillMeasureSelectorItem.d.ts +0 -7
  221. package/esm/presentation/widget/insight/configuration/DrillMeasureSelector/DrillMeasureSelectorItem.d.ts.map +0 -1
  222. package/esm/presentation/widget/insight/configuration/DrillMeasureSelector/DrillMeasureSelectorItem.js +0 -8
  223. package/esm/presentation/widget/insight/configuration/DrillMeasureSelector/DrillMeasureSelectorList.d.ts +0 -7
  224. package/esm/presentation/widget/insight/configuration/DrillMeasureSelector/DrillMeasureSelectorList.d.ts.map +0 -1
  225. package/esm/presentation/widget/insight/configuration/DrillMeasureSelector/DrillMeasureSelectorList.js +0 -5
  226. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/AlertTitle.d.ts +0 -12
  227. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/AlertTitle.d.ts.map +0 -1
  228. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/AlertTitle.js +0 -12
  229. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/CreateAlert.d.ts +0 -25
  230. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/CreateAlert.d.ts.map +0 -1
  231. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/CreateAlert.js +0 -5
  232. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/EditAlert.d.ts +0 -29
  233. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/EditAlert.d.ts.map +0 -1
  234. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/EditAlert.js +0 -137
  235. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/EditAlertConfiguration.d.ts +0 -11
  236. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/EditAlertConfiguration.d.ts.map +0 -1
  237. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/EditAlertConfiguration.js +0 -42
  238. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useEditAlert.d.ts +0 -48
  239. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useEditAlert.d.ts.map +0 -1
  240. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useEditAlert.js +0 -171
  241. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useWidgetAutomationFilters.d.ts +0 -4
  242. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useWidgetAutomationFilters.d.ts.map +0 -1
  243. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useWidgetAutomationFilters.js +0 -46
@@ -1 +0,0 @@
1
- {"version":3,"file":"DisplayFormDropdown.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/filterBar/attributeFilter/dashboardDropdownBody/displayFormDropdown/DisplayFormDropdown.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,mCAAmC,EAAE,KAAK,MAAM,EAAmB,MAAM,qBAAqB,CAAC;AAmB7G,MAAM,WAAW,kCAAkC;IAC/C,YAAY,EAAE,mCAAmC,EAAE,CAAC;IACpD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3C;AAED,wBAAgB,mBAAmB,CAAC,EAChC,YAAY,EACZ,mBAAmB,EACnB,QAAQ,EACX,EAAE,kCAAkC,2CA2CpC"}
@@ -1,33 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- // (C) 2021-2025 GoodData Corporation
3
- import { areObjRefsEqual } from "@gooddata/sdk-model";
4
- import { Dropdown, DropdownList } from "@gooddata/sdk-ui-kit";
5
- import { DisplayFormButton } from "./DisplayFormButton.js";
6
- import { DisplayDropdownItem } from "./DisplayFormItem.js";
7
- const ITEM_HEIGHT = 23;
8
- const DROPDOWN_WIDTH = 225;
9
- const ALIGN_POINTS = [
10
- {
11
- align: "bl tl",
12
- offset: { x: 0, y: 1 },
13
- },
14
- {
15
- align: "tl bl",
16
- offset: { x: 0, y: -1 },
17
- },
18
- ];
19
- export function DisplayFormDropdown({ displayForms, selectedDisplayForm, onChange, }) {
20
- const getButtonLabel = () => displayForms.find((displayForm) => {
21
- return areObjRefsEqual(displayForm.ref, selectedDisplayForm);
22
- })?.title || "";
23
- return (_jsx(Dropdown, { alignPoints: ALIGN_POINTS, renderButton: ({ isOpen, toggleDropdown }) => (_jsx(DisplayFormButton, { text: getButtonLabel(), isOpened: isOpen, toggleDropdown: toggleDropdown })), renderBody: ({ closeDropdown }) => (_jsx(DropdownList, { className: "attribute-display-form-dropdown-body s-attribute-display-form-dropdown-body", items: displayForms, itemHeight: ITEM_HEIGHT, width: DROPDOWN_WIDTH, renderItem: ({ item }) => {
24
- const selected = areObjRefsEqual(item.ref, selectedDisplayForm);
25
- const onClick = (displayForm) => {
26
- closeDropdown();
27
- if (!selected) {
28
- onChange(displayForm);
29
- }
30
- };
31
- return (_jsx(DisplayDropdownItem, { displayForm: item, onClick: onClick, selected: selected }, item.id));
32
- } })) }));
33
- }
@@ -1,8 +0,0 @@
1
- import { type IAttributeDisplayFormMetadataObject, type ObjRef } from "@gooddata/sdk-model";
2
- export interface IDisplayFormDropdownItemProps {
3
- displayForm: IAttributeDisplayFormMetadataObject;
4
- onClick: (displayForm: ObjRef) => void;
5
- selected: boolean;
6
- }
7
- export declare function DisplayDropdownItem({ displayForm, selected, onClick }: IDisplayFormDropdownItemProps): import("react/jsx-runtime").JSX.Element;
8
- //# sourceMappingURL=DisplayFormItem.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DisplayFormItem.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/filterBar/attributeFilter/dashboardDropdownBody/displayFormDropdown/DisplayFormItem.tsx"],"names":[],"mappings":"AAMA,OAAO,EAEH,KAAK,mCAAmC,EACxC,KAAK,MAAM,EACd,MAAM,qBAAqB,CAAC;AAwB7B,MAAM,WAAW,6BAA6B;IAC1C,WAAW,EAAE,mCAAmC,CAAC;IACjD,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,QAAQ,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,mBAAmB,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,6BAA6B,2CAwBpG"}
@@ -1,33 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import classNames from "classnames";
3
- import { ShortenedText } from "@gooddata/sdk-ui-kit";
4
- import { simplifyText } from "@gooddata/util";
5
- const getDisplayFormIcon = (type) => {
6
- switch (type) {
7
- case "GDC.link":
8
- return "gd-icon-hyperlink-warning";
9
- case "GDC.image":
10
- return "gd-icon-image";
11
- case "GDC.geo.pin":
12
- case "GDC.geo.pin_latitude":
13
- case "GDC.geo.pin_longitude":
14
- return "gd-icon-earth";
15
- default:
16
- return "gd-icon-label-warning";
17
- }
18
- };
19
- const tooltipAlignPoints = [
20
- { align: "cl cr", offset: { x: -10, y: 0 } },
21
- { align: "cr cl", offset: { x: 10, y: 0 } },
22
- ];
23
- export function DisplayDropdownItem({ displayForm, selected, onClick }) {
24
- const { title } = displayForm;
25
- const className = classNames("gd-list-item", "attribute-display-form-name", "s-attribute-display-form-name", `s-attribute-display-form-name-${simplifyText(title)}`, getDisplayFormIcon(displayForm.displayFormType), {
26
- "is-selected": selected,
27
- });
28
- const handleOnClick = (e) => {
29
- onClick(displayForm.ref);
30
- e.preventDefault();
31
- };
32
- return (_jsx("div", { className: className, onClick: handleOnClick, children: _jsx(ShortenedText, { tooltipAlignPoints: tooltipAlignPoints, children: title }) }));
33
- }
@@ -1,7 +0,0 @@
1
- import { type IWidget } from "@gooddata/sdk-model";
2
- interface IAttributeFilterConfigurationProps {
3
- widget: IWidget;
4
- }
5
- export declare function AttributeFilterConfiguration({ widget }: IAttributeFilterConfigurationProps): import("react/jsx-runtime").JSX.Element | null;
6
- export {};
7
- //# sourceMappingURL=AttributeFilterConfiguration.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AttributeFilterConfiguration.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/widget/common/configuration/AttributeFilterConfiguration.tsx"],"names":[],"mappings":"AAMA,OAAO,EACH,KAAK,OAAO,EAKf,MAAM,qBAAqB,CAAC;AAW7B,UAAU,kCAAkC;IACxC,MAAM,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,4BAA4B,CAAC,EAAE,MAAM,EAAE,EAAE,kCAAkC,kDA8C1F"}
@@ -1,39 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- // (C) 2022-2026 GoodData Corporation
3
- import { useMemo } from "react";
4
- import { invariant } from "ts-invariant";
5
- import { dashboardAttributeFilterItemDisplayForm, dashboardAttributeFilterItemTitle, isAttributeMetadataObject, objRefToString, } from "@gooddata/sdk-model";
6
- import { useAttributeFilterDisplayFormFromMap } from "../../../../_staging/sharedHooks/useAttributeFilterDisplayFormFromMap.js";
7
- import { useAttributes } from "../../../../_staging/sharedHooks/useAttributes.js";
8
- import { useDashboardSelector } from "../../../../model/react/DashboardStoreProvider.js";
9
- import { selectAllCatalogAttributesMap } from "../../../../model/store/catalog/catalogSelectors.js";
10
- import { selectFilterContextAttributeFilterItems } from "../../../../model/store/tabs/filterContext/filterContextSelectors.js";
11
- import { AttributeFilterConfigurationItem } from "./AttributeFilterConfigurationItem.js";
12
- import { getAttributeByDisplayForm } from "./utils.js";
13
- export function AttributeFilterConfiguration({ widget }) {
14
- const attributeFilters = useDashboardSelector(selectFilterContextAttributeFilterItems);
15
- const getAttributeFilterDisplayFormFromMap = useAttributeFilterDisplayFormFromMap();
16
- const attrMap = useDashboardSelector(selectAllCatalogAttributesMap);
17
- const displayForms = useMemo(() => {
18
- return attributeFilters.map((filter) => dashboardAttributeFilterItemDisplayForm(filter));
19
- }, [attributeFilters]);
20
- const { attributes, attributesLoading } = useAttributes(displayForms);
21
- if (attributesLoading) {
22
- return _jsx("span", { className: "gd-spinner small s-attribute-filter-configuration-loading" });
23
- }
24
- if (!attributes) {
25
- return null;
26
- }
27
- return (_jsx("div", { className: "s-attribute-filter-configuration", children: attributeFilters.map((filter) => {
28
- const filterDisplayForm = dashboardAttributeFilterItemDisplayForm(filter);
29
- const displayForm = getAttributeFilterDisplayFormFromMap(filterDisplayForm);
30
- invariant(displayForm, "Inconsistent state in AttributeFilterConfiguration");
31
- const attributeByDisplayForm = getAttributeByDisplayForm(attributes, displayForm.attribute);
32
- const attribute = attrMap.get(displayForm.attribute) || attributeByDisplayForm;
33
- invariant(attribute, "Inconsistent state in AttributeFilterConfiguration");
34
- const attributeTitle = isAttributeMetadataObject(attribute)
35
- ? attribute.title
36
- : attribute.attribute.title;
37
- return (_jsx(AttributeFilterConfigurationItem, { displayFormRef: displayForm.ref, title: dashboardAttributeFilterItemTitle(filter) ?? attributeTitle, widget: widget }, objRefToString(displayForm.ref)));
38
- }) }));
39
- }
@@ -1,9 +0,0 @@
1
- import { type IKpiWidget, type IWidgetAlert } from "@gooddata/sdk-model";
2
- import { type GoodDataSdkError } from "@gooddata/sdk-ui";
3
- import { type IBrokenAlertFilterBasicInfo } from "../../../model/types/alertTypes.js";
4
- export declare const useWidgetBrokenAlertsQuery: (widget: IKpiWidget, alert: IWidgetAlert | undefined) => {
5
- result?: IBrokenAlertFilterBasicInfo<import("@gooddata/sdk-model").FilterContextItem>[] | undefined;
6
- status?: "error" | "pending" | "rejected" | "running" | "success" | undefined;
7
- error?: GoodDataSdkError | undefined;
8
- };
9
- //# sourceMappingURL=useWidgetBrokenAlertsQuery.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useWidgetBrokenAlertsQuery.d.ts","sourceRoot":"","sources":["../../../../src/presentation/widget/common/useWidgetBrokenAlertsQuery.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AASzD,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AAEtF,eAAO,MAAM,0BAA0B;;;;CAoCtC,CAAC"}
@@ -1,26 +0,0 @@
1
- // (C) 2020-2026 GoodData Corporation
2
- import { useEffect } from "react";
3
- import { queryWidgetBrokenAlerts } from "../../../model/queries/widgets.js";
4
- import { useDashboardSelector } from "../../../model/react/DashboardStoreProvider.js";
5
- import { useDashboardQueryProcessing, } from "../../../model/react/useDashboardQueryProcessing.js";
6
- import { selectFilterContextFilters } from "../../../model/store/tabs/filterContext/filterContextSelectors.js";
7
- export const useWidgetBrokenAlertsQuery = (widget, alert) => {
8
- const dashboardFilters = useDashboardSelector(selectFilterContextFilters);
9
- const { run: runBrokenAlertsQuery, result, status, error, } = useDashboardQueryProcessing({
10
- queryCreator: queryWidgetBrokenAlerts,
11
- });
12
- const effectiveFilters = result;
13
- useEffect(() => {
14
- if (widget.ref) {
15
- runBrokenAlertsQuery(widget.ref);
16
- }
17
- // queryWidgetBrokenAlerts as a parameter it needs just widget.ref but internally result depends on alert, widget, dashboardFilters
18
- // we have to call query every time when this dependency changed to get fresh results
19
- // eslint-disable-next-line react-hooks/exhaustive-deps
20
- }, [alert, widget, dashboardFilters]);
21
- return {
22
- result: effectiveFilters,
23
- status,
24
- error,
25
- };
26
- };
@@ -1,7 +0,0 @@
1
- import { type IAvailableDrillTargetMeasure } from "@gooddata/sdk-ui";
2
- export interface IDrillMeasureSelectorProps {
3
- items: IAvailableDrillTargetMeasure[];
4
- onSelect: (item: IAvailableDrillTargetMeasure) => void;
5
- }
6
- export declare function DrillMeasureSelector(props: IDrillMeasureSelectorProps): import("react/jsx-runtime").JSX.Element | null;
7
- //# sourceMappingURL=DrillMeasureSelector.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DrillMeasureSelector.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/configuration/DrillMeasureSelector/DrillMeasureSelector.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,4BAA4B,EAAE,MAAM,kBAAkB,CAAC;AAKrE,MAAM,WAAW,0BAA0B;IACvC,KAAK,EAAE,4BAA4B,EAAE,CAAC;IACtC,QAAQ,EAAE,CAAC,IAAI,EAAE,4BAA4B,KAAK,IAAI,CAAC;CAC1D;AAmBD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,0BAA0B,kDA0CrE"}
@@ -1,37 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- // (C) 2019-2025 GoodData Corporation
3
- import { useIntl } from "react-intl";
4
- import { Dropdown, DropdownButton } from "@gooddata/sdk-ui-kit";
5
- import { DrillMeasureSelectorBody } from "./DrillMeasureSelectorBody.js";
6
- const DROPDOWN_ALIGN_POINTS = [
7
- {
8
- align: "bl tl",
9
- offset: {
10
- x: 0,
11
- y: 4,
12
- },
13
- },
14
- {
15
- align: "tl bl",
16
- offset: {
17
- x: 0,
18
- y: -4,
19
- },
20
- },
21
- ];
22
- export function DrillMeasureSelector(props) {
23
- // const refDropdown = useRef(null);
24
- //
25
- const onCloseDropdown = () => {
26
- // refDropdown.current.closeDropdown();
27
- };
28
- const intl = useIntl();
29
- const onSelect = (selected) => {
30
- props.onSelect(selected);
31
- onCloseDropdown();
32
- };
33
- if (!props.items.length) {
34
- return null;
35
- }
36
- return (_jsx(Dropdown, { className: "gd-drill-measure-selector", closeOnParentScroll: true, closeOnMouseDrag: false, closeOnOutsideClick: true, alignPoints: DROPDOWN_ALIGN_POINTS, renderButton: ({ toggleDropdown }) => (_jsx(DropdownButton, { value: intl.formatMessage({ id: "configurationPanel.drillConfig.addInteraction" }), iconLeft: "icon-add", className: "s-drill-show-measures customizable", onClick: toggleDropdown })), renderBody: () => (_jsx(DrillMeasureSelectorBody, { supportedItems: props.items, onSelect: onSelect, onCloseDropdown: onCloseDropdown })) }));
37
- }
@@ -1,8 +0,0 @@
1
- import { type IAvailableDrillTargetMeasure } from "@gooddata/sdk-ui";
2
- export interface IDrillMeasureSelectorBodyProps {
3
- supportedItems: IAvailableDrillTargetMeasure[];
4
- onSelect: (item: IAvailableDrillTargetMeasure) => void;
5
- onCloseDropdown: () => void;
6
- }
7
- export declare function DrillMeasureSelectorBody({ supportedItems, onSelect, onCloseDropdown }: IDrillMeasureSelectorBodyProps): import("react/jsx-runtime").JSX.Element;
8
- //# sourceMappingURL=DrillMeasureSelectorBody.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DrillMeasureSelectorBody.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/configuration/DrillMeasureSelector/DrillMeasureSelectorBody.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,4BAA4B,EAAE,MAAM,kBAAkB,CAAC;AAIrE,MAAM,WAAW,8BAA8B;IAC3C,cAAc,EAAE,4BAA4B,EAAE,CAAC;IAC/C,QAAQ,EAAE,CAAC,IAAI,EAAE,4BAA4B,KAAK,IAAI,CAAC;IACvD,eAAe,EAAE,MAAM,IAAI,CAAC;CAC/B;AAED,wBAAgB,wBAAwB,CAAC,EACrC,cAAc,EACd,QAAQ,EACR,eAAe,EAClB,EAAE,8BAA8B,2CAwBhC"}
@@ -1,15 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { FormattedMessage } from "react-intl";
3
- import { DrillMeasureSelectorList } from "./DrillMeasureSelectorList.js";
4
- export function DrillMeasureSelectorBody({ supportedItems, onSelect, onCloseDropdown, }) {
5
- const stopPropagation = (e) => {
6
- e.stopPropagation();
7
- };
8
- return (_jsxs("div", { className: "gd-drill-measure-selector-dropdown s-drill-measure-selector-dropdown", onScroll: stopPropagation, children: [
9
- _jsxs("div", { className: "gd-drill-measure-selector-header", children: [
10
- _jsx(FormattedMessage, { id: "configurationPanel.drillConfig.clickHint" }), _jsx("button", { className: "gd-button-link gd-button-icon-only icon-cross", onClick: onCloseDropdown })
11
- ] }), _jsxs("div", { className: "gd-drill-measure-selector-body", children: [
12
- _jsx("div", { className: "gd-drill-measure-selector-separator", children: _jsx("span", { children: _jsx(FormattedMessage, { id: "configurationPanel.drillConfig.measureValue" }) }) }), _jsx(DrillMeasureSelectorList, { supportedItems: supportedItems, onSelect: onSelect })
13
- ] })
14
- ] }));
15
- }
@@ -1,7 +0,0 @@
1
- import { type IAvailableDrillTargetMeasure } from "@gooddata/sdk-ui";
2
- export interface IDrillMeasureSelectorItemProps {
3
- item: IAvailableDrillTargetMeasure;
4
- onClick: (item: IAvailableDrillTargetMeasure) => void;
5
- }
6
- export declare function DrillMeasureSelectorItem(props: IDrillMeasureSelectorItemProps): import("react/jsx-runtime").JSX.Element;
7
- //# sourceMappingURL=DrillMeasureSelectorItem.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DrillMeasureSelectorItem.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/configuration/DrillMeasureSelector/DrillMeasureSelectorItem.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,4BAA4B,EAAE,MAAM,kBAAkB,CAAC;AAErE,MAAM,WAAW,8BAA8B;IAC3C,IAAI,EAAE,4BAA4B,CAAC;IACnC,OAAO,EAAE,CAAC,IAAI,EAAE,4BAA4B,KAAK,IAAI,CAAC;CACzD;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,8BAA8B,2CAe7E"}
@@ -1,8 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- export function DrillMeasureSelectorItem(props) {
3
- const onClick = () => {
4
- props.onClick(props.item);
5
- };
6
- const name = props.item.measure.measureHeaderItem.name;
7
- return (_jsx("a", { onClick: onClick, className: `gd-drill-measure-selector-list-item s-drill-measure-selector-item`, title: name, children: name }));
8
- }
@@ -1,7 +0,0 @@
1
- import { type IAvailableDrillTargetMeasure } from "@gooddata/sdk-ui";
2
- export interface IDrillMeasureSelectorListProps {
3
- supportedItems: IAvailableDrillTargetMeasure[];
4
- onSelect: (item: IAvailableDrillTargetMeasure) => void;
5
- }
6
- export declare function DrillMeasureSelectorList(props: IDrillMeasureSelectorListProps): import("react/jsx-runtime").JSX.Element;
7
- //# sourceMappingURL=DrillMeasureSelectorList.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DrillMeasureSelectorList.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/configuration/DrillMeasureSelector/DrillMeasureSelectorList.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,4BAA4B,EAAE,MAAM,kBAAkB,CAAC;AAIrE,MAAM,WAAW,8BAA8B;IAC3C,cAAc,EAAE,4BAA4B,EAAE,CAAC;IAC/C,QAAQ,EAAE,CAAC,IAAI,EAAE,4BAA4B,KAAK,IAAI,CAAC;CAC1D;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,8BAA8B,2CAY7E"}
@@ -1,5 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { DrillMeasureSelectorItem } from "./DrillMeasureSelectorItem.js";
3
- export function DrillMeasureSelectorList(props) {
4
- return (_jsx("div", { className: "gd-drill-measure-selector-list", children: props.supportedItems.map((item) => (_jsx(DrillMeasureSelectorItem, { item: item, onClick: props.onSelect }, item.measure.measureHeaderItem.localIdentifier))) }));
5
- }
@@ -1,12 +0,0 @@
1
- import { type IAutomationMetadataObject, type ISeparators } from "@gooddata/sdk-model";
2
- import { type IInputPureProps } from "@gooddata/sdk-ui-kit";
3
- import { type AlertMetric } from "../../../../automations/alerting/types.js";
4
- export interface IAlertTitleProps {
5
- id?: string;
6
- measures: AlertMetric[];
7
- alert: IAutomationMetadataObject | undefined;
8
- separators?: ISeparators;
9
- onChange: IInputPureProps["onChange"];
10
- }
11
- export declare function AlertTitle({ id, alert, measures, separators, onChange }: IAlertTitleProps): import("react/jsx-runtime").JSX.Element;
12
- //# sourceMappingURL=AlertTitle.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AlertTitle.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/configuration/InsightAlertConfig/AlertTitle.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,yBAAyB,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvF,OAAO,EAAE,KAAK,eAAe,EAAS,MAAM,sBAAsB,CAAC;AAGnE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,2CAA2C,CAAC;AAE7E,MAAM,WAAW,gBAAgB;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,EAAE,yBAAyB,GAAG,SAAS,CAAC;IAC7C,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,QAAQ,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;CACzC;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,gBAAgB,2CAkBzF"}
@@ -1,12 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- // (C) 2025-2026 GoodData Corporation
3
- import { useIntl } from "react-intl";
4
- import { Input } from "@gooddata/sdk-ui-kit";
5
- import { getDescription } from "../../../../automations/alerting/DefaultAlertingDialog/utils/getters.js";
6
- export function AlertTitle({ id, alert, measures, separators, onChange }) {
7
- const intl = useIntl();
8
- const description = getDescription(intl, measures, alert, separators);
9
- return (_jsx(Input, { id: id, isSmall: true, type: "string", className: "gd-edit-alert__title-input title-input", value: alert?.title, placeholder: description, onChange: onChange, accessibilityConfig: {
10
- ariaLabel: intl.formatMessage({ id: "insightAlert.config.accessibility.title" }),
11
- } }));
12
- }
@@ -1,25 +0,0 @@
1
- import { type IAutomationMetadataObjectDefinition, type ICatalogAttribute, type ICatalogDateDataset, type INotificationChannelIdentifier, type INotificationChannelMetadataObject, type ISeparators } from "@gooddata/sdk-model";
2
- import { type IExecutionResultEnvelope } from "../../../../../model/store/executionResults/types.js";
3
- import { type IMeasureFormatMap } from "../../../../automations/alerting/DefaultAlertingDialog/utils/getters.js";
4
- import { type AlertAttribute, type AlertMetric } from "../../../../automations/alerting/types.js";
5
- interface ICreateAlertProps {
6
- execResult: IExecutionResultEnvelope | undefined;
7
- alert: IAutomationMetadataObjectDefinition | null;
8
- onClose: () => void;
9
- onCancel: () => void;
10
- onCreate?: (alert: IAutomationMetadataObjectDefinition) => void;
11
- destinations: INotificationChannelIdentifier[] | INotificationChannelMetadataObject[];
12
- hasAlerts: boolean;
13
- measures: AlertMetric[];
14
- attributes: AlertAttribute[];
15
- maxAutomationsReached: boolean;
16
- maxAutomationsRecipients: number;
17
- measureFormatMap: IMeasureFormatMap;
18
- catalogAttributes: ICatalogAttribute[];
19
- catalogDateDatasets: ICatalogDateDataset[];
20
- separators?: ISeparators;
21
- isExecutionTimestampMode?: boolean;
22
- }
23
- export declare function CreateAlert({ execResult, alert, onClose, onCancel, onCreate, destinations, hasAlerts, measures, attributes, maxAutomationsReached, maxAutomationsRecipients, measureFormatMap, catalogAttributes, catalogDateDatasets, separators, isExecutionTimestampMode }: ICreateAlertProps): import("react/jsx-runtime").JSX.Element;
24
- export {};
25
- //# sourceMappingURL=CreateAlert.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CreateAlert.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/configuration/InsightAlertConfig/CreateAlert.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEH,KAAK,mCAAmC,EACxC,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,8BAA8B,EACnC,KAAK,kCAAkC,EACvC,KAAK,WAAW,EACnB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,sDAAsD,CAAC;AACrG,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,yEAAyE,CAAC;AACjH,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,2CAA2C,CAAC;AAIlG,UAAU,iBAAiB;IACvB,UAAU,EAAE,wBAAwB,GAAG,SAAS,CAAC;IACjD,KAAK,EAAE,mCAAmC,GAAG,IAAI,CAAC;IAClD,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,mCAAmC,KAAK,IAAI,CAAC;IAChE,YAAY,EAAE,8BAA8B,EAAE,GAAG,kCAAkC,EAAE,CAAC;IACtF,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,wBAAwB,EAAE,MAAM,CAAC;IACjC,gBAAgB,EAAE,iBAAiB,CAAC;IACpC,iBAAiB,EAAE,iBAAiB,EAAE,CAAC;IACvC,mBAAmB,EAAE,mBAAmB,EAAE,CAAC;IAC3C,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACtC;AAED,wBAAgB,WAAW,CAAC,EACxB,UAAU,EACV,KAAK,EACL,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,UAAU,EACV,qBAAqB,EACrB,wBAAwB,EACxB,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,UAAU,EACV,wBAAwB,EAC3B,EAAE,iBAAiB,2CAsBnB"}
@@ -1,5 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { EditAlert } from "./EditAlert.js";
3
- export function CreateAlert({ execResult, alert, onClose, onCancel, onCreate, destinations, hasAlerts, measures, attributes, maxAutomationsReached, maxAutomationsRecipients, measureFormatMap, catalogAttributes, catalogDateDatasets, separators, isExecutionTimestampMode, }) {
4
- return (_jsx(EditAlert, { execResult: execResult, alert: alert, onClose: onClose, onCancel: onCancel, onCreate: onCreate, isNewAlert: true, destinations: destinations, hasAlerts: hasAlerts, measures: measures, attributes: attributes, maxAutomationsReached: maxAutomationsReached, maxAutomationsRecipients: maxAutomationsRecipients, measureFormatMap: measureFormatMap, catalogAttributes: catalogAttributes, catalogDateDatasets: catalogDateDatasets, separators: separators, isExecutionTimestampMode: isExecutionTimestampMode }));
5
- }
@@ -1,29 +0,0 @@
1
- import { type IAutomationMetadataObject, type IAutomationMetadataObjectDefinition, type ICatalogAttribute, type ICatalogDateDataset, type INotificationChannelIdentifier, type INotificationChannelMetadataObject, type ISeparators } from "@gooddata/sdk-model";
2
- import { type OverlayPositionType } from "@gooddata/sdk-ui-kit";
3
- import { type IExecutionResultEnvelope } from "../../../../../model/store/executionResults/types.js";
4
- import { type IMeasureFormatMap } from "../../../../automations/alerting/DefaultAlertingDialog/utils/getters.js";
5
- import { type AlertAttribute, type AlertMetric } from "../../../../automations/alerting/types.js";
6
- interface IEditAlertProps {
7
- execResult: IExecutionResultEnvelope | undefined;
8
- alert: IAutomationMetadataObject;
9
- isNewAlert?: boolean;
10
- hasAlerts: boolean;
11
- destinations: INotificationChannelIdentifier[] | INotificationChannelMetadataObject[];
12
- measures: AlertMetric[];
13
- attributes: AlertAttribute[];
14
- measureFormatMap: IMeasureFormatMap;
15
- catalogAttributes: ICatalogAttribute[];
16
- catalogDateDatasets: ICatalogDateDataset[];
17
- onClose: () => void;
18
- onCancel: () => void;
19
- onCreate?: (alert: IAutomationMetadataObjectDefinition) => void;
20
- onUpdate?: (alert: IAutomationMetadataObject) => void;
21
- maxAutomationsReached?: boolean;
22
- maxAutomationsRecipients: number;
23
- overlayPositionType?: OverlayPositionType;
24
- separators?: ISeparators;
25
- isExecutionTimestampMode?: boolean;
26
- }
27
- export declare function EditAlert({ alert, execResult, isNewAlert, hasAlerts, destinations, attributes, measures, onClose, onCancel, onCreate, onUpdate, maxAutomationsReached, maxAutomationsRecipients, overlayPositionType, measureFormatMap, catalogAttributes, catalogDateDatasets, separators, isExecutionTimestampMode }: IEditAlertProps): import("react/jsx-runtime").JSX.Element;
28
- export {};
29
- //# sourceMappingURL=EditAlert.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EditAlert.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/configuration/InsightAlertConfig/EditAlert.tsx"],"names":[],"mappings":"AAIA,OAAO,EACH,KAAK,yBAAyB,EAC9B,KAAK,mCAAmC,EACxC,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EAExB,KAAK,8BAA8B,EACnC,KAAK,kCAAkC,EACvC,KAAK,WAAW,EACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAMH,KAAK,mBAAmB,EAC3B,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,sDAAsD,CAAC;AAgBrG,OAAO,EACH,KAAK,iBAAiB,EAWzB,MAAM,yEAAyE,CAAC;AAMjF,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,2CAA2C,CAAC;AAwBlG,UAAU,eAAe;IACrB,UAAU,EAAE,wBAAwB,GAAG,SAAS,CAAC;IACjD,KAAK,EAAE,yBAAyB,CAAC;IACjC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,8BAA8B,EAAE,GAAG,kCAAkC,EAAE,CAAC;IACtF,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,gBAAgB,EAAE,iBAAiB,CAAC;IACpC,iBAAiB,EAAE,iBAAiB,EAAE,CAAC;IACvC,mBAAmB,EAAE,mBAAmB,EAAE,CAAC;IAC3C,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,mCAAmC,KAAK,IAAI,CAAC;IAChE,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,IAAI,CAAC;IACtD,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,wBAAwB,EAAE,MAAM,CAAC;IACjC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACtC;AAED,wBAAgB,SAAS,CAAC,EACtB,KAAK,EACL,UAAU,EACV,UAAU,EACV,SAAS,EACT,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,qBAA6B,EAC7B,wBAAwB,EACxB,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,UAAU,EACV,wBAAwB,EAC3B,EAAE,eAAe,2CAuXjB"}
@@ -1,137 +0,0 @@
1
- import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- // (C) 2022-2026 GoodData Corporation
3
- import { FormattedMessage, defineMessages, useIntl } from "react-intl";
4
- import { Bubble, BubbleHoverTrigger, Button, Input, Message, } from "@gooddata/sdk-ui-kit";
5
- import { useDashboardSelector } from "../../../../../model/react/DashboardStoreProvider.js";
6
- import { selectInsightByWidgetRef } from "../../../../../model/store/insights/insightsSelectors.js";
7
- import { selectWidgets } from "../../../../../model/store/tabs/layout/layoutSelectors.js";
8
- import { AlertAttributeSelect } from "../../../../automations/alerting/DefaultAlertingDialog/components/AlertAttributeSelect.js";
9
- import { AlertComparisonOperatorSelect } from "../../../../automations/alerting/DefaultAlertingDialog/components/AlertComparisonOperatorSelect.js";
10
- import { AlertComparisonPeriodSelect } from "../../../../automations/alerting/DefaultAlertingDialog/components/AlertComparisonPeriodSelect.js";
11
- import { AlertDestinationSelect } from "../../../../automations/alerting/DefaultAlertingDialog/components/AlertDestinationSelect.js";
12
- import { AlertGranularitySelect } from "../../../../automations/alerting/DefaultAlertingDialog/components/AlertGranularitySelect.js";
13
- import { AlertMeasureSelect } from "../../../../automations/alerting/DefaultAlertingDialog/components/AlertMeasureSelect.js";
14
- import { AlertSensitivitySelect } from "../../../../automations/alerting/DefaultAlertingDialog/components/AlertSensitivitySelect.js";
15
- import { useAlertValidation, } from "../../../../automations/alerting/DefaultAlertingDialog/hooks/useAlertValidation.js";
16
- import { useAttributeValuesFromExecResults } from "../../../../automations/alerting/DefaultAlertingDialog/hooks/useAttributeValuesFromExecResults.js";
17
- import { useThresholdValue } from "../../../../automations/alerting/DefaultAlertingDialog/hooks/useThresholdValue.js";
18
- import { getAlertAiOperator, getAlertAttribute, getAlertCompareOperator, getAlertComparison, getAlertFilters, getAlertGranularity, getAlertMeasure, getAlertRelativeOperator, getAlertSensitivity, getValueSuffix, } from "../../../../automations/alerting/DefaultAlertingDialog/utils/getters.js";
19
- import { translateGranularity } from "../../../../automations/alerting/DefaultAlertingDialog/utils/granularity.js";
20
- import { isAnomalyDetection, isChangeOrDifferenceOperator, } from "../../../../automations/alerting/DefaultAlertingDialog/utils/guards.js";
21
- import { RecipientsSelect } from "../../../../automations/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelect.js";
22
- import { DashboardInsightSubmenuContainer } from "../../../insightMenu/DefaultDashboardInsightMenu/DashboardInsightMenu/DashboardInsightSubmenuContainer.js";
23
- import { AlertTitle } from "./AlertTitle.js";
24
- import { EditAlertConfiguration } from "./EditAlertConfiguration.js";
25
- import { useEditAlert } from "./hooks/useEditAlert.js";
26
- const TOOLTIP_ALIGN_POINTS = [{ align: "cl cr" }, { align: "cr cl" }];
27
- const messages = defineMessages({
28
- invalidDefault: {
29
- id: "insightAlert.config.invalid",
30
- },
31
- invalidWidget: {
32
- id: "insightAlert.config.invalidWidget",
33
- },
34
- });
35
- const invalidMessagesObj = {
36
- missingMetric: messages.invalidDefault,
37
- missingWidget: messages.invalidWidget,
38
- };
39
- export function EditAlert({ alert, execResult, isNewAlert, hasAlerts, destinations, attributes, measures, onClose, onCancel, onCreate, onUpdate, maxAutomationsReached = false, maxAutomationsRecipients, overlayPositionType, measureFormatMap, catalogAttributes, catalogDateDatasets, separators, isExecutionTimestampMode, }) {
40
- const { defaultUser, viewMode, updatedAlert, canSubmit, allowExternalRecipients, allowOnlyLoggedUserRecipients, warningMessage, enableAnomalyDetectionAlert, allowHourlyRecurrence,
41
- //
42
- changeAnomalyDetection, changeComparisonOperator, changeRelativeOperator, changeMeasure, changeAttribute, changeTitle, changeValue, changeDestination, changeComparisonType, changeRecipients, changeSensitivity, changeGranularity,
43
- //
44
- configureAlert, saveAlertConfiguration, cancelAlertConfiguration,
45
- //
46
- createAlert, updateAlert, } = useEditAlert({
47
- metrics: measures,
48
- separators,
49
- attributes,
50
- alert,
51
- onCreate,
52
- onUpdate,
53
- measureFormatMap,
54
- catalogAttributes,
55
- catalogDateDatasets,
56
- destinations,
57
- });
58
- const intl = useIntl();
59
- const disableCreateButtonDueToLimits = isNewAlert && maxAutomationsReached;
60
- const selectedMeasure = getAlertMeasure(measures, updatedAlert.alert);
61
- const selectedComparator = getAlertComparison(selectedMeasure, updatedAlert.alert);
62
- const [selectedAttribute, selectedValue] = getAlertAttribute(attributes, updatedAlert);
63
- const filters = getAlertFilters(updatedAlert);
64
- const selectedComparisonOperator = getAlertCompareOperator(updatedAlert.alert);
65
- const selectedRelativeOperator = getAlertRelativeOperator(updatedAlert.alert);
66
- const selectedAiOperator = getAlertAiOperator(updatedAlert.alert);
67
- const selectedSensitivity = getAlertSensitivity(updatedAlert.alert);
68
- const selectedGranularity = getAlertGranularity(updatedAlert.alert);
69
- const widgetLocalId = alert?.metadata?.widget;
70
- const allWidgets = useDashboardSelector(selectWidgets);
71
- const alertWidget = widgetLocalId
72
- ? allWidgets.find((w) => w.localIdentifier === widgetLocalId)
73
- : undefined;
74
- const alertInsight = useDashboardSelector(selectInsightByWidgetRef(alertWidget?.ref));
75
- const { isValid, invalidityReason } = useAlertValidation(alert, alertWidget, alertInsight, catalogDateDatasets, isNewAlert);
76
- const showFilterInfo = filters.length > 0 || Boolean(selectedComparator?.granularity);
77
- const { isResultLoading, getAttributeValues, getMetricValue } = useAttributeValuesFromExecResults(execResult);
78
- const { value, onChange, onBlur } = useThresholdValue(changeValue, getMetricValue, isNewAlert, updatedAlert.alert, selectedRelativeOperator, selectedMeasure, selectedAttribute, selectedValue);
79
- return viewMode === "edit" ? (_jsx(DashboardInsightSubmenuContainer, { title: isNewAlert
80
- ? intl.formatMessage({ id: "insightAlert.config.createAlert" })
81
- : intl.formatMessage({ id: "insightAlert.config.editAlert" }), onClose: onClose, onBack: hasAlerts ? onCancel : undefined, children: _jsxs("div", { className: "gd-edit-alert", children: [
82
- _jsxs("div", { className: "gd-edit-alert__form", children: [
83
- _jsxs("div", { className: "gd-edit-alert__form-content", children: [
84
- _jsx("label", { htmlFor: "alert.measure", className: "gd-edit-alert__measure-label", children: _jsx(FormattedMessage, { id: "insightAlert.config.when" }) }), _jsx(AlertMeasureSelect, { selectedMeasure: selectedMeasure, onMeasureChange: changeMeasure, measures: measures, overlayPositionType: overlayPositionType, id: "alert.measure" }), _jsx(AlertAttributeSelect, { id: "alert.attribute", selectedAttribute: selectedAttribute, selectedValue: selectedValue, onAttributeChange: changeAttribute, attributes: attributes, catalogAttributes: catalogAttributes, catalogDateDatasets: catalogDateDatasets, getAttributeValues: getAttributeValues, isResultLoading: isResultLoading, showLabel: true, closeOnParentScroll: true }), showFilterInfo ? (_jsxs("div", { className: "gd-edit-alert__measure-info", children: [Boolean(selectedComparator?.granularity) && (_jsx(FormattedMessage, { tagName: "span", id: "insightAlert.config.for.filter", values: {
85
- granularity: [
86
- intl.formatMessage({ id: "granularity.this_keyword" }),
87
- translateGranularity(intl, selectedComparator?.granularity),
88
- ].join(" "),
89
- } })), filters.length > 0 && selectedComparator?.granularity ? (_jsx(FormattedMessage, { tagName: "span", id: "insightAlert.config.and" })) : null, filters.length > 0 && (_jsxs(_Fragment, { children: [
90
- _jsx(FormattedMessage, { tagName: "span", id: "insightAlert.config.filters", values: {
91
- n: filters.length,
92
- } }), _jsx("div", { role: "item-info", className: "gd-list-item-bubble", children: _jsxs(BubbleHoverTrigger, { tagName: "div", showDelay: 200, hideDelay: 0, eventsOnBubble: false, children: [
93
- _jsx("div", { className: "inlineBubbleHelp" }), _jsx(Bubble, { className: "bubble-primary", alignPoints: [{ align: "cr cl" }, { align: "cl cr" }], arrowOffsets: { "cr cl": [15, 0] }, children: _jsx(FormattedMessage, { id: "insightAlert.config.filters.info", values: {
94
- spacer: (_jsx("div", { className: "gd-alert-comparison-operator-tooltip-spacer" })),
95
- } }) })
96
- ] }) })
97
- ] }))] })) : null, _jsx(AlertComparisonOperatorSelect, { id: "alert.comparisonOperator", measure: selectedMeasure, enableAnomalyDetectionAlert: enableAnomalyDetectionAlert, selectedAiOperator: selectedAiOperator, onAnomalyDetectionChange: changeAnomalyDetection, selectedComparisonOperator: selectedComparisonOperator, selectedRelativeOperator: selectedRelativeOperator, onComparisonOperatorChange: changeComparisonOperator, onRelativeOperatorChange: changeRelativeOperator, overlayPositionType: overlayPositionType }), !isAnomalyDetection(updatedAlert?.alert) &&
98
- (() => {
99
- const valueSuffix = getValueSuffix(updatedAlert.alert);
100
- const suffixAriaLabel = valueSuffix === "%"
101
- ? intl.formatMessage({ id: "input.unit.percent" })
102
- : valueSuffix;
103
- return (_jsx(Input, { className: "gd-edit-alert__value-input s-alert-value-input", isSmall: true, autofocus: true, value: value, onChange: onChange, onBlur: onBlur, type: "number", suffix: valueSuffix, accessibilityConfig: {
104
- ariaLabel: intl.formatMessage({
105
- id: "insightAlert.config.accessbility.input",
106
- }),
107
- suffixAriaLabel,
108
- } }));
109
- })(), !updatedAlert || !isChangeOrDifferenceOperator(updatedAlert.alert) ? null : (_jsxs("div", { style: { marginTop: "1rem" }, children: [
110
- _jsx("label", { htmlFor: "alert.comparison", children: _jsx(FormattedMessage, { id: "insightAlert.config.comparison" }) }), _jsx(AlertComparisonPeriodSelect, { id: "alert.comparison", measure: selectedMeasure, alert: updatedAlert, selectedComparison: selectedComparator?.comparator, selectedGranularity: selectedComparator?.granularity, onComparisonChange: (comparisonType, granularity) => {
111
- changeComparisonType(selectedMeasure, selectedRelativeOperator, comparisonType, granularity);
112
- }, overlayPositionType: overlayPositionType })
113
- ] })), !updatedAlert || !isAnomalyDetection(updatedAlert.alert) ? null : (_jsxs(_Fragment, { children: [
114
- _jsxs("div", { style: { marginTop: "1rem" }, children: [
115
- _jsx("label", { htmlFor: "alert.sensitivity", children: _jsx(FormattedMessage, { id: "insightAlert.config.sensitivity" }) }), _jsx(AlertSensitivitySelect, { id: "alert.sensitivity", selectedSensitivity: selectedSensitivity, onSensitivityChange: changeSensitivity, overlayPositionType: overlayPositionType })
116
- ] }), _jsxs("div", { children: [
117
- _jsx("label", { htmlFor: "alert.granularity", children: _jsx(FormattedMessage, { id: "insightAlert.config.granularity" }) }), _jsx(AlertGranularitySelect, { id: "alert.granularity", allowHourlyRecurrence: allowHourlyRecurrence, selectedGranularity: selectedGranularity, onGranularityChange: (granularity) => {
118
- changeGranularity(selectedMeasure, granularity);
119
- }, overlayPositionType: overlayPositionType })
120
- ] })
121
- ] })), destinations.length > 1 && (_jsxs("div", { style: { marginTop: "1rem" }, children: [
122
- _jsx("label", { htmlFor: "alert.destination", className: "gd-edit-alert__destination-label", children: _jsx(FormattedMessage, { id: "insightAlert.config.action" }) }), _jsx(AlertDestinationSelect, { id: "alert.destination", selectedDestination: updatedAlert.notificationChannel, onDestinationChange: changeDestination, destinations: destinations, overlayPositionType: overlayPositionType })
123
- ] })), _jsx(RecipientsSelect, { id: "alert.recipients", loggedUser: defaultUser, value: updatedAlert.recipients ?? [], originalValue: alert.recipients || [], onChange: changeRecipients, allowEmptySelection: true, allowOnlyLoggedUserRecipients: allowOnlyLoggedUserRecipients, allowExternalRecipients: allowExternalRecipients, maxRecipients: maxAutomationsRecipients, className: "gd-edit-alert__recipients", notificationChannels: destinations, notificationChannelId: updatedAlert.notificationChannel }), _jsx("label", { htmlFor: "alert.title", className: "gd-edit-alert__title-label", children: _jsx(FormattedMessage, { id: "insightAlert.config.name" }) }), _jsx(AlertTitle, { id: "alert.title", measures: measures, alert: updatedAlert, separators: separators, onChange: (e) => {
124
- changeTitle(e === "" ? undefined : String(e));
125
- } })
126
- ] }), warningMessage ? _jsx(Message, { type: "warning", children: warningMessage }) : null, isValid ? null : (_jsx(Message, { type: "error", children: _jsx(FormattedMessage, { id: invalidMessagesObj[invalidityReason].id }) }))] }), _jsxs("div", { className: "gd-edit-alert__buttons", children: [
127
- _jsx(Button, { className: "gd-edit-alert__configuration-button gd-button-link gd-button-icon-only gd-icon-settings gd-button-small s-alert-configuration", onClick: configureAlert }), _jsxs("div", { children: [
128
- _jsx(Button, { variant: "secondary", size: "small", onClick: () => {
129
- onCancel();
130
- }, children: _jsx(FormattedMessage, { id: "cancel" }) }), _jsxs(BubbleHoverTrigger, { hideDelay: 0, showDelay: 0, children: [
131
- _jsx(Button, { intent: "action", size: "small", disabled: !canSubmit || disableCreateButtonDueToLimits || isExecutionTimestampMode, onClick: isNewAlert ? createAlert : updateAlert, className: "gd-button-left-margin", children: isNewAlert
132
- ? intl.formatMessage({ id: "create" })
133
- : intl.formatMessage({ id: "save" }) }), disableCreateButtonDueToLimits ? (_jsx(Bubble, { alignPoints: TOOLTIP_ALIGN_POINTS, children: _jsx(FormattedMessage, { id: "insightAlert.maxAlertsReached" }) })) : null, isExecutionTimestampMode ? (_jsx(Bubble, { alignPoints: TOOLTIP_ALIGN_POINTS, children: _jsx(FormattedMessage, { id: "insightAlert.executionTimestampMode" }) })) : null] })
134
- ] })
135
- ] })
136
- ] }) })) : (_jsx(DashboardInsightSubmenuContainer, { title: intl.formatMessage({ id: "insightAlert.config.title" }), onClose: onClose, onBack: cancelAlertConfiguration, children: _jsx(EditAlertConfiguration, { alert: updatedAlert, onUpdate: saveAlertConfiguration, onCancel: cancelAlertConfiguration, overlayPositionType: overlayPositionType }) }));
137
- }
@@ -1,11 +0,0 @@
1
- import { type IAutomationMetadataObject } from "@gooddata/sdk-model";
2
- import { type OverlayPositionType } from "@gooddata/sdk-ui-kit";
3
- interface IEditAlertConfigurationProps {
4
- alert: IAutomationMetadataObject;
5
- onCancel: () => void;
6
- onUpdate: (alert: IAutomationMetadataObject) => void;
7
- overlayPositionType?: OverlayPositionType;
8
- }
9
- export declare function EditAlertConfiguration({ alert, onCancel, onUpdate, overlayPositionType }: IEditAlertConfigurationProps): import("react/jsx-runtime").JSX.Element;
10
- export {};
11
- //# sourceMappingURL=EditAlertConfiguration.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EditAlertConfiguration.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/configuration/InsightAlertConfig/EditAlertConfiguration.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAKH,KAAK,mBAAmB,EAC3B,MAAM,sBAAsB,CAAC;AAW9B,UAAU,4BAA4B;IAClC,KAAK,EAAE,yBAAyB,CAAC;IACjC,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,IAAI,CAAC;IACrD,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;CAC7C;AAED,wBAAgB,sBAAsB,CAAC,EACnC,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,mBAAmB,EACtB,EAAE,4BAA4B,2CAmE9B"}