@gooddata/sdk-ui-dashboard 10.14.0-alpha.6 → 10.14.0-alpha.8
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.
- package/esm/__version.d.ts +1 -1
- package/esm/__version.js +1 -1
- package/esm/model/store/config/configSelectors.d.ts +4 -0
- package/esm/model/store/config/configSelectors.d.ts.map +1 -1
- package/esm/model/store/config/configSelectors.js +6 -0
- package/esm/model/store/config/configSelectors.js.map +1 -1
- package/esm/model/store/executionResults/executionResultsSelectors.d.ts +1 -1
- package/esm/model/store/executionResults/executionResultsSelectors.d.ts.map +1 -1
- package/esm/model/store/executionResults/executionResultsSelectors.js +4 -1
- package/esm/model/store/executionResults/executionResultsSelectors.js.map +1 -1
- package/esm/model/store/index.d.ts +1 -1
- package/esm/model/store/index.d.ts.map +1 -1
- package/esm/model/store/index.js +1 -1
- package/esm/model/store/index.js.map +1 -1
- package/esm/presentation/alerting/DefaultAlertingDialog/DefaultAlertingDialog.d.ts.map +1 -1
- package/esm/presentation/alerting/DefaultAlertingDialog/DefaultAlertingDialog.js +5 -5
- package/esm/presentation/alerting/DefaultAlertingDialog/DefaultAlertingDialog.js.map +1 -1
- package/esm/presentation/constants/classes.d.ts +2 -0
- package/esm/presentation/constants/classes.d.ts.map +1 -0
- package/esm/presentation/constants/classes.js +3 -0
- package/esm/presentation/constants/classes.js.map +1 -0
- package/esm/presentation/constants/index.d.ts +1 -0
- package/esm/presentation/constants/index.d.ts.map +1 -1
- package/esm/presentation/constants/index.js +1 -0
- package/esm/presentation/constants/index.js.map +1 -1
- package/esm/presentation/localization/bundles/en-US.json +10 -0
- package/esm/presentation/widget/common/configuration/ConfigurationBubble.d.ts.map +1 -1
- package/esm/presentation/widget/common/configuration/ConfigurationBubble.js +2 -1
- package/esm/presentation/widget/common/configuration/ConfigurationBubble.js.map +1 -1
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/AlertAttributeSelecxt.d.ts +14 -0
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/AlertAttributeSelecxt.d.ts.map +1 -0
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/AlertAttributeSelecxt.js +125 -0
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/AlertAttributeSelecxt.js.map +1 -0
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/CreateAlert.d.ts +7 -2
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/CreateAlert.d.ts.map +1 -1
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/CreateAlert.js +2 -2
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/CreateAlert.js.map +1 -1
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/EditAlert.d.ts +7 -2
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/EditAlert.d.ts.map +1 -1
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/EditAlert.js +12 -4
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/EditAlert.js.map +1 -1
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useAttributeValuesFromExecResults.d.ts +12 -0
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useAttributeValuesFromExecResults.d.ts.map +1 -0
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useAttributeValuesFromExecResults.js +83 -0
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useAttributeValuesFromExecResults.js.map +1 -0
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useEditAlert.d.ts +6 -3
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useEditAlert.d.ts.map +1 -1
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useEditAlert.js +6 -2
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useEditAlert.js.map +1 -1
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useInsightAlerting.d.ts +4 -0
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useInsightAlerting.d.ts.map +1 -1
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useInsightAlerting.js +19 -4
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useInsightAlerting.js.map +1 -1
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/utils.d.ts +19 -2
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/utils.d.ts.map +1 -1
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/utils.js +165 -2
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/utils.js.map +1 -1
- package/esm/presentation/widget/insight/configuration/InsightAlerts.d.ts.map +1 -1
- package/esm/presentation/widget/insight/configuration/InsightAlerts.js +3 -3
- package/esm/presentation/widget/insight/configuration/InsightAlerts.js.map +1 -1
- package/esm/presentation/widget/insight/types.d.ts +7 -1
- package/esm/presentation/widget/insight/types.d.ts.map +1 -1
- package/esm/presentation/widget/insight/types.js.map +1 -1
- package/esm/presentation/widget/insightMenu/DefaultDashboardInsightMenu/DashboardInsightMenu/DashboardInsightMenuBubble.d.ts.map +1 -1
- package/esm/presentation/widget/insightMenu/DefaultDashboardInsightMenu/DashboardInsightMenu/DashboardInsightMenuBubble.js +2 -1
- package/esm/presentation/widget/insightMenu/DefaultDashboardInsightMenu/DashboardInsightMenu/DashboardInsightMenuBubble.js.map +1 -1
- package/esm/sdk-ui-dashboard.d.ts +6 -1
- package/package.json +15 -15
- package/styles/css/alerting.css +55 -5
- package/styles/css/alerting.css.map +1 -1
- package/styles/css/main.css +55 -5
- package/styles/css/main.css.map +1 -1
- package/styles/scss/alerting.scss +65 -5
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { IAutomationMetadataObjectDefinition, ICatalogMeasure, INotificationChannelMetadataObject, IWorkspaceUser } from "@gooddata/sdk-model";
|
|
3
|
-
import { AlertMetric } from "../../types.js";
|
|
2
|
+
import { IAttributeMetadataObject, IAutomationMetadataObjectDefinition, ICatalogMeasure, INotificationChannelMetadataObject, IWorkspaceUser } from "@gooddata/sdk-model";
|
|
3
|
+
import { AlertAttribute, AlertMetric } from "../../types.js";
|
|
4
|
+
import { IExecutionResultEnvelope } from "../../../../../model/index.js";
|
|
4
5
|
interface ICreateAlertProps {
|
|
6
|
+
canManageAttributes: boolean;
|
|
7
|
+
execResult: IExecutionResultEnvelope | undefined;
|
|
5
8
|
alert: IAutomationMetadataObjectDefinition | null;
|
|
6
9
|
onClose: () => void;
|
|
7
10
|
onCancel: () => void;
|
|
@@ -10,9 +13,11 @@ interface ICreateAlertProps {
|
|
|
10
13
|
users: IWorkspaceUser[];
|
|
11
14
|
hasAlerts: boolean;
|
|
12
15
|
measures: AlertMetric[];
|
|
16
|
+
attributes: AlertAttribute[];
|
|
13
17
|
maxAutomationsReached: boolean;
|
|
14
18
|
maxAutomationsRecipients: number;
|
|
15
19
|
catalogMeasures: ICatalogMeasure[];
|
|
20
|
+
catalogAttributes: IAttributeMetadataObject[];
|
|
16
21
|
}
|
|
17
22
|
export declare const CreateAlert: React.FC<ICreateAlertProps>;
|
|
18
23
|
export {};
|
package/esm/presentation/widget/insight/configuration/InsightAlertConfig/CreateAlert.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateAlert.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/configuration/InsightAlertConfig/CreateAlert.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,
|
|
1
|
+
{"version":3,"file":"CreateAlert.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/configuration/InsightAlertConfig/CreateAlert.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACH,wBAAwB,EAExB,mCAAmC,EACnC,eAAe,EACf,kCAAkC,EAClC,cAAc,EACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,UAAU,iBAAiB;IACvB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,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,kCAAkC,EAAE,CAAC;IACnD,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,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,eAAe,EAAE,eAAe,EAAE,CAAC;IACnC,iBAAiB,EAAE,wBAAwB,EAAE,CAAC;CACjD;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAqCnD,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// (C) 2022-2024 GoodData Corporation
|
|
2
2
|
import React from "react";
|
|
3
3
|
import { EditAlert } from "./EditAlert.js";
|
|
4
|
-
export const CreateAlert = ({ alert, onClose, onCancel, onCreate, destinations, users, hasAlerts, measures, maxAutomationsReached, maxAutomationsRecipients, catalogMeasures, }) => {
|
|
5
|
-
return (React.createElement(EditAlert, { alert: alert, onClose: onClose, onCancel: onCancel, onCreate: onCreate, isNewAlert: true, destinations: destinations, users: users, hasAlerts: hasAlerts, measures: measures, maxAutomationsReached: maxAutomationsReached, maxAutomationsRecipients: maxAutomationsRecipients, catalogMeasures: catalogMeasures }));
|
|
4
|
+
export const CreateAlert = ({ canManageAttributes, execResult, alert, onClose, onCancel, onCreate, destinations, users, hasAlerts, measures, attributes, maxAutomationsReached, maxAutomationsRecipients, catalogMeasures, catalogAttributes, }) => {
|
|
5
|
+
return (React.createElement(EditAlert, { canManageAttributes: canManageAttributes, execResult: execResult, alert: alert, onClose: onClose, onCancel: onCancel, onCreate: onCreate, isNewAlert: true, destinations: destinations, users: users, hasAlerts: hasAlerts, measures: measures, attributes: attributes, maxAutomationsReached: maxAutomationsReached, maxAutomationsRecipients: maxAutomationsRecipients, catalogMeasures: catalogMeasures, catalogAttributes: catalogAttributes }));
|
|
6
6
|
};
|
|
7
7
|
//# sourceMappingURL=CreateAlert.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateAlert.js","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/configuration/InsightAlertConfig/CreateAlert.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"CreateAlert.js","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/configuration/InsightAlertConfig/CreateAlert.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAK,MAAM,OAAO,CAAC;AAW1B,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAqB3C,MAAM,CAAC,MAAM,WAAW,GAAgC,CAAC,EACrD,mBAAmB,EACnB,UAAU,EACV,KAAK,EACL,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,KAAK,EACL,SAAS,EACT,QAAQ,EACR,UAAU,EACV,qBAAqB,EACrB,wBAAwB,EACxB,eAAe,EACf,iBAAiB,GACpB,EAAE,EAAE;IACD,OAAO,CACH,oBAAC,SAAS,IACN,mBAAmB,EAAE,mBAAmB,EACxC,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,KAAkC,EACzC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,UAAU,QACV,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,UAAU,EACtB,qBAAqB,EAAE,qBAAqB,EAC5C,wBAAwB,EAAE,wBAAwB,EAClD,eAAe,EAAE,eAAe,EAChC,iBAAiB,EAAE,iBAAiB,GACtC,CACL,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -1,15 +1,20 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { IAutomationMetadataObject, IAutomationMetadataObjectDefinition, ICatalogMeasure, INotificationChannelMetadataObject, IWorkspaceUser } from "@gooddata/sdk-model";
|
|
2
|
+
import { IAttributeMetadataObject, IAutomationMetadataObject, IAutomationMetadataObjectDefinition, ICatalogMeasure, INotificationChannelMetadataObject, IWorkspaceUser } from "@gooddata/sdk-model";
|
|
3
3
|
import { OverlayPositionType } from "@gooddata/sdk-ui-kit";
|
|
4
|
-
import { AlertMetric } from "../../types.js";
|
|
4
|
+
import { AlertAttribute, AlertMetric } from "../../types.js";
|
|
5
|
+
import { IExecutionResultEnvelope } from "../../../../../model/index.js";
|
|
5
6
|
interface IEditAlertProps {
|
|
7
|
+
canManageAttributes: boolean;
|
|
8
|
+
execResult: IExecutionResultEnvelope | undefined;
|
|
6
9
|
alert: IAutomationMetadataObject;
|
|
7
10
|
isNewAlert?: boolean;
|
|
8
11
|
hasAlerts: boolean;
|
|
9
12
|
destinations: INotificationChannelMetadataObject[];
|
|
10
13
|
users: IWorkspaceUser[];
|
|
11
14
|
measures: AlertMetric[];
|
|
15
|
+
attributes: AlertAttribute[];
|
|
12
16
|
catalogMeasures: ICatalogMeasure[];
|
|
17
|
+
catalogAttributes: IAttributeMetadataObject[];
|
|
13
18
|
onClose: () => void;
|
|
14
19
|
onCancel: () => void;
|
|
15
20
|
onCreate?: (alert: IAutomationMetadataObjectDefinition) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditAlert.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/configuration/InsightAlertConfig/EditAlert.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACH,yBAAyB,EACzB,mCAAmC,EACnC,eAAe,EACf,kCAAkC,EAClC,cAAc,EACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAMH,mBAAmB,EACtB,MAAM,sBAAsB,CAAC;AAQ9B,OAAO,EAAE,WAAW,EAA6B,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"EditAlert.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/configuration/InsightAlertConfig/EditAlert.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACH,wBAAwB,EACxB,yBAAyB,EACzB,mCAAmC,EACnC,eAAe,EACf,kCAAkC,EAClC,cAAc,EACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAMH,mBAAmB,EACtB,MAAM,sBAAsB,CAAC;AAQ9B,OAAO,EAAE,cAAc,EAAE,WAAW,EAA6B,MAAM,gBAAgB,CAAC;AAcxF,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAkBzE,UAAU,eAAe;IACrB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,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,kCAAkC,EAAE,CAAC;IACnD,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,eAAe,EAAE,eAAe,EAAE,CAAC;IACnC,iBAAiB,EAAE,wBAAwB,EAAE,CAAC;IAC9C,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;CAC7C;AAED,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAkP/C,CAAC"}
|
|
@@ -10,8 +10,9 @@ import { useEditAlert } from "./hooks/useEditAlert.js";
|
|
|
10
10
|
import { defineMessages, FormattedMessage, useIntl } from "react-intl";
|
|
11
11
|
import { AlertMetricComparatorType } from "../../types.js";
|
|
12
12
|
import { useAlertValidation } from "./hooks/useAlertValidation.js";
|
|
13
|
-
import { getAlertCompareOperator, getAlertMeasure, getAlertRelativeOperator, getAlertThreshold, getValueSuffix, isChangeOrDifferenceOperator, } from "./utils.js";
|
|
13
|
+
import { getAlertAttribute, getAlertCompareOperator, getAlertFilters, getAlertMeasure, getAlertRelativeOperator, getAlertThreshold, getValueSuffix, isChangeOrDifferenceOperator, } from "./utils.js";
|
|
14
14
|
import { RecipientsSelect } from "../../../../scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelect.js";
|
|
15
|
+
import { AlertAttributeSelect } from "./AlertAttributeSelecxt.js";
|
|
15
16
|
const TOOLTIP_ALIGN_POINTS = [{ align: "cl cr" }, { align: "cr cl" }];
|
|
16
17
|
const messages = defineMessages({
|
|
17
18
|
invalidDefault: {
|
|
@@ -25,26 +26,29 @@ const invalidMessagesObj = {
|
|
|
25
26
|
missingMetric: messages.invalidDefault,
|
|
26
27
|
missingWidget: messages.invalidWidget,
|
|
27
28
|
};
|
|
28
|
-
export const EditAlert = ({ alert, isNewAlert, hasAlerts, destinations, users, measures, onClose, onCancel, onCreate, onUpdate, maxAutomationsReached = false, maxAutomationsRecipients, overlayPositionType, catalogMeasures, }) => {
|
|
29
|
+
export const EditAlert = ({ alert, execResult, isNewAlert, hasAlerts, destinations, users, attributes, measures, onClose, onCancel, onCreate, onUpdate, maxAutomationsReached = false, maxAutomationsRecipients, overlayPositionType, catalogMeasures, catalogAttributes, canManageAttributes, }) => {
|
|
29
30
|
const { viewMode, updatedAlert, canSubmit, showRecipientsSelect, warningMessage,
|
|
30
31
|
//
|
|
31
|
-
changeComparisonOperator, changeRelativeOperator, changeMeasure, changeValue, changeDestination, changeRecipients,
|
|
32
|
+
changeComparisonOperator, changeRelativeOperator, changeMeasure, changeAttribute, changeValue, changeDestination, changeRecipients,
|
|
32
33
|
//
|
|
33
34
|
configureAlert, saveAlertConfiguration, cancelAlertConfiguration,
|
|
34
35
|
//
|
|
35
36
|
createAlert, updateAlert, } = useEditAlert({
|
|
36
37
|
metrics: measures,
|
|
38
|
+
attributes,
|
|
37
39
|
alert,
|
|
38
40
|
onCreate,
|
|
39
41
|
onUpdate,
|
|
40
42
|
catalogMeasures,
|
|
43
|
+
catalogAttributes,
|
|
41
44
|
destinations,
|
|
42
45
|
});
|
|
43
46
|
const intl = useIntl();
|
|
44
47
|
const disableCreateButtonDueToLimits = isNewAlert && maxAutomationsReached;
|
|
45
48
|
const selectedMeasure = getAlertMeasure(measures, updatedAlert.alert);
|
|
49
|
+
const [selectedAttribute, selectedValue] = getAlertAttribute(attributes, updatedAlert);
|
|
50
|
+
const filters = getAlertFilters(updatedAlert);
|
|
46
51
|
const { isValid, invalidityReason } = useAlertValidation(alert, isNewAlert);
|
|
47
|
-
const filters = alert.alert?.execution?.filters ?? [];
|
|
48
52
|
return viewMode === "edit" ? (React.createElement(DashboardInsightSubmenuContainer, { title: isNewAlert
|
|
49
53
|
? intl.formatMessage({ id: "insightAlert.config.createAlert" })
|
|
50
54
|
: intl.formatMessage({ id: "insightAlert.config.editAlert" }), onClose: onClose, onBack: hasAlerts ? onCancel : undefined },
|
|
@@ -54,6 +58,10 @@ export const EditAlert = ({ alert, isNewAlert, hasAlerts, destinations, users, m
|
|
|
54
58
|
React.createElement("div", { className: "gd-edit-alert__measure-label" },
|
|
55
59
|
React.createElement(FormattedMessage, { id: "insightAlert.config.when" })),
|
|
56
60
|
React.createElement(AlertMeasureSelect, { selectedMeasure: selectedMeasure, onMeasureChange: changeMeasure, measures: measures, overlayPositionType: overlayPositionType }),
|
|
61
|
+
Boolean(canManageAttributes && attributes.length > 0) && (React.createElement(React.Fragment, null,
|
|
62
|
+
React.createElement("div", { className: "gd-edit-alert__measure-label" },
|
|
63
|
+
React.createElement(FormattedMessage, { id: "insightAlert.config.for" })),
|
|
64
|
+
React.createElement(AlertAttributeSelect, { execResult: execResult, selectedAttribute: selectedAttribute, selectedValue: selectedValue, onAttributeChange: changeAttribute, attributes: attributes, catalogAttributes: catalogAttributes }))),
|
|
57
65
|
filters.length > 0 && (React.createElement("div", { className: "gd-edit-alert__measure-info" },
|
|
58
66
|
React.createElement(FormattedMessage, { id: "insightAlert.config.filters", values: {
|
|
59
67
|
n: filters.length,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditAlert.js","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/configuration/InsightAlertConfig/EditAlert.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"EditAlert.js","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/configuration/InsightAlertConfig/EditAlert.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { IAttributeMetadataObject } from "@gooddata/sdk-model";
|
|
2
|
+
import { IExecutionResultEnvelope } from "../../../../../../model/index.js";
|
|
3
|
+
export type AttributeValue = {
|
|
4
|
+
title: string;
|
|
5
|
+
value: string;
|
|
6
|
+
name: string;
|
|
7
|
+
};
|
|
8
|
+
export declare function useAttributeValuesFromExecResults(execResult: IExecutionResultEnvelope | undefined): {
|
|
9
|
+
isResultLoading: boolean;
|
|
10
|
+
getAttributeValues: (attr: IAttributeMetadataObject) => AttributeValue[];
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=useAttributeValuesFromExecResults.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAttributeValuesFromExecResults.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useAttributeValuesFromExecResults.ts"],"names":[],"mappings":"AAGA,OAAO,EAGH,wBAAwB,EAE3B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAE5E,MAAM,MAAM,cAAc,GAAG;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,wBAAgB,iCAAiC,CAAC,UAAU,EAAE,wBAAwB,GAAG,SAAS;;+BAcnF,wBAAwB,KAAG,cAAc,EAAE;EAYzD"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
// (C) 2019-2024 GoodData Corporation
|
|
2
|
+
import { useCallback, useEffect, useState } from "react";
|
|
3
|
+
import { DataViewFacade } from "@gooddata/sdk-ui";
|
|
4
|
+
import { areObjRefsEqual, isResultAttributeHeader, } from "@gooddata/sdk-model";
|
|
5
|
+
export function useAttributeValuesFromExecResults(execResult) {
|
|
6
|
+
const [isResultLoading, setIsResultLoading] = useState(!execResult || execResult.isLoading);
|
|
7
|
+
const [dataView, setDataView] = useState(null);
|
|
8
|
+
useEffect(() => {
|
|
9
|
+
if (execResult) {
|
|
10
|
+
execResult.executionResult?.readAll().then((data) => {
|
|
11
|
+
setDataView(DataViewFacade.for(data));
|
|
12
|
+
setIsResultLoading(false);
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
}, [execResult]);
|
|
16
|
+
const getAttributeValues = useCallback((attr) => {
|
|
17
|
+
const header = findHeader(dataView, attr);
|
|
18
|
+
const indexes = findDimIndexes(dataView, header);
|
|
19
|
+
return findAttributeValues(dataView, indexes);
|
|
20
|
+
}, [dataView]);
|
|
21
|
+
return {
|
|
22
|
+
isResultLoading,
|
|
23
|
+
getAttributeValues,
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
function findHeader(dataView, attr) {
|
|
27
|
+
if (!dataView) {
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
return (dataView
|
|
31
|
+
.meta()
|
|
32
|
+
.attributeDescriptors()
|
|
33
|
+
.find((descriptor) => {
|
|
34
|
+
return (areObjRefsEqual(descriptor.attributeHeader.ref, attr.ref) ||
|
|
35
|
+
attr.displayForms.some((displayForm) => {
|
|
36
|
+
return areObjRefsEqual(descriptor.attributeHeader.ref, displayForm.ref);
|
|
37
|
+
}));
|
|
38
|
+
}) ?? null);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* This will find attribute elements array indexes for provided attribute descriptor in the execution results data view.
|
|
42
|
+
* @param dataView - DataViewFacade object to work with execution results data
|
|
43
|
+
* @param header - attribute header to find indexes for
|
|
44
|
+
*/
|
|
45
|
+
function findDimIndexes(dataView, header) {
|
|
46
|
+
const def = [-1, -1];
|
|
47
|
+
if (!dataView || !header) {
|
|
48
|
+
return def;
|
|
49
|
+
}
|
|
50
|
+
return dataView.definition.dimensions.reduce((acc, dimension, i) => {
|
|
51
|
+
const j = dimension.itemIdentifiers.findIndex((itemIdentifier) => {
|
|
52
|
+
return itemIdentifier === header.attributeHeader.localIdentifier;
|
|
53
|
+
});
|
|
54
|
+
if (j !== -1) {
|
|
55
|
+
return [i, j];
|
|
56
|
+
}
|
|
57
|
+
return acc;
|
|
58
|
+
}, def);
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Based on found indexes in the execution results data view, this function will return attribute elements
|
|
62
|
+
* that are present in the data view.
|
|
63
|
+
* @param dataView - DataViewFacade object to work with execution results data
|
|
64
|
+
* @param dimensionIndex - index of the dimension
|
|
65
|
+
* @param elementsIndex - index of the item in the dimension
|
|
66
|
+
*/
|
|
67
|
+
function findAttributeValues(dataView, [dimensionIndex, elementsIndex]) {
|
|
68
|
+
const headers = dataView?.meta().allHeaders() ?? [];
|
|
69
|
+
const data = (headers[dimensionIndex] ?? [])[elementsIndex] ?? [];
|
|
70
|
+
return data
|
|
71
|
+
.map((item) => {
|
|
72
|
+
if (isResultAttributeHeader(item)) {
|
|
73
|
+
return {
|
|
74
|
+
title: item.attributeHeaderItem.formattedName ?? item.attributeHeaderItem.name,
|
|
75
|
+
value: item.attributeHeaderItem.uri,
|
|
76
|
+
name: item.attributeHeaderItem.name,
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
return null;
|
|
80
|
+
})
|
|
81
|
+
.filter(Boolean);
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=useAttributeValuesFromExecResults.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAttributeValuesFromExecResults.js","sourceRoot":"","sources":["../../../../../../../src/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useAttributeValuesFromExecResults.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EACH,eAAe,EAGf,uBAAuB,GAC1B,MAAM,qBAAqB,CAAC;AAU7B,MAAM,UAAU,iCAAiC,CAAC,UAAgD;IAC9F,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,CAAC,UAAU,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC;IAC5F,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAwB,IAAI,CAAC,CAAC;IAEtE,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,UAAU,EAAE,CAAC;YACb,UAAU,CAAC,eAAe,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;gBAChD,WAAW,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;gBACtC,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAC9B,CAAC,CAAC,CAAC;QACP,CAAC;IACL,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,MAAM,kBAAkB,GAAG,WAAW,CAClC,CAAC,IAA8B,EAAoB,EAAE;QACjD,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACjD,OAAO,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC,EACD,CAAC,QAAQ,CAAC,CACb,CAAC;IAEF,OAAO;QACH,eAAe;QACf,kBAAkB;KACrB,CAAC;AACN,CAAC;AAED,SAAS,UAAU,CAAC,QAA+B,EAAE,IAA8B;IAC/E,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,CACH,QAAQ;SACH,IAAI,EAAE;SACN,oBAAoB,EAAE;SACtB,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE;QACjB,OAAO,CACH,eAAe,CAAC,UAAU,CAAC,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC;YACzD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE;gBACnC,OAAO,eAAe,CAAC,UAAU,CAAC,eAAe,CAAC,GAAG,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;YAC5E,CAAC,CAAC,CACL,CAAC;IACN,CAAC,CAAC,IAAI,IAAI,CACjB,CAAC;AACN,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CACnB,QAA+B,EAC/B,MAAmC;IAEnC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAqB,CAAC;IAEzC,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,OAAO,GAAG,CAAC;IACf,CAAC;IAED,OAAO,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE;QAC/D,MAAM,CAAC,GAAG,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,cAAc,EAAE,EAAE;YAC7D,OAAO,cAAc,KAAK,MAAM,CAAC,eAAe,CAAC,eAAe,CAAC;QACrE,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC,EAAE,GAAG,CAAC,CAAC;AACZ,CAAC;AAED;;;;;;GAMG;AACH,SAAS,mBAAmB,CACxB,QAA+B,EAC/B,CAAC,cAAc,EAAE,aAAa,CAAmB;IAEjD,MAAM,OAAO,GAAG,QAAQ,EAAE,IAAI,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC;IACpD,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;IAElE,OAAO,IAAI;SACN,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACV,IAAI,uBAAuB,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,OAAO;gBACH,KAAK,EAAE,IAAI,CAAC,mBAAmB,CAAC,aAAa,IAAI,IAAI,CAAC,mBAAmB,CAAC,IAAI;gBAC9E,KAAK,EAAE,IAAI,CAAC,mBAAmB,CAAC,GAAG;gBACnC,IAAI,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI;aACtC,CAAC;QACN,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC;SACD,MAAM,CAAC,OAAO,CAAqB,CAAC;AAC7C,CAAC"}
|
package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useEditAlert.d.ts
CHANGED
|
@@ -1,14 +1,16 @@
|
|
|
1
|
-
import { IAlertComparisonOperator, IAlertRelativeArithmeticOperator, IAlertRelativeOperator, IAutomationMetadataObject, IAutomationMetadataObjectDefinition, IAutomationRecipient, ICatalogMeasure, INotificationChannelMetadataObject } from "@gooddata/sdk-model";
|
|
2
|
-
import { AlertMetric } from "../../../types.js";
|
|
1
|
+
import { IAlertComparisonOperator, IAlertRelativeArithmeticOperator, IAlertRelativeOperator, IAttributeMetadataObject, IAutomationMetadataObject, IAutomationMetadataObjectDefinition, IAutomationRecipient, ICatalogMeasure, INotificationChannelMetadataObject } from "@gooddata/sdk-model";
|
|
2
|
+
import { AlertAttribute, AlertMetric } from "../../../types.js";
|
|
3
3
|
export interface IUseEditAlertProps {
|
|
4
4
|
metrics: AlertMetric[];
|
|
5
|
+
attributes: AlertAttribute[];
|
|
5
6
|
alert: IAutomationMetadataObject;
|
|
6
7
|
catalogMeasures: ICatalogMeasure[];
|
|
8
|
+
catalogAttributes: IAttributeMetadataObject[];
|
|
7
9
|
destinations: INotificationChannelMetadataObject[];
|
|
8
10
|
onCreate?: (alert: IAutomationMetadataObjectDefinition) => void;
|
|
9
11
|
onUpdate?: (alert: IAutomationMetadataObject) => void;
|
|
10
12
|
}
|
|
11
|
-
export declare const useEditAlert: ({ metrics, alert, onCreate, onUpdate, catalogMeasures, destinations, }: IUseEditAlertProps) => {
|
|
13
|
+
export declare const useEditAlert: ({ metrics, attributes, alert, onCreate, onUpdate, catalogMeasures, destinations, }: IUseEditAlertProps) => {
|
|
12
14
|
viewMode: "configuration" | "edit";
|
|
13
15
|
updatedAlert: IAutomationMetadataObject;
|
|
14
16
|
canSubmit: boolean | undefined;
|
|
@@ -17,6 +19,7 @@ export declare const useEditAlert: ({ metrics, alert, onCreate, onUpdate, catalo
|
|
|
17
19
|
changeComparisonOperator: (measure: AlertMetric, comparisonOperator: IAlertComparisonOperator) => void;
|
|
18
20
|
changeRelativeOperator: (measure: AlertMetric, relativeOperator: IAlertRelativeOperator, arithmeticOperator: IAlertRelativeArithmeticOperator) => void;
|
|
19
21
|
changeMeasure: (measure: AlertMetric) => void;
|
|
22
|
+
changeAttribute: (attribute: AlertAttribute | undefined, value: string | undefined) => void;
|
|
20
23
|
changeValue: (value: number) => void;
|
|
21
24
|
changeDestination: (destinationId: string) => void;
|
|
22
25
|
changeRecipients: (recipients: IAutomationRecipient[]) => void;
|
package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useEditAlert.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useEditAlert.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useEditAlert.ts"],"names":[],"mappings":"AAGA,OAAO,EACH,wBAAwB,EACxB,gCAAgC,EAChC,sBAAsB,EACtB,yBAAyB,EACzB,mCAAmC,EACnC,oBAAoB,EACpB,eAAe,EACf,kCAAkC,EAErC,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"useEditAlert.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useEditAlert.ts"],"names":[],"mappings":"AAGA,OAAO,EACH,wBAAwB,EACxB,gCAAgC,EAChC,sBAAsB,EACtB,wBAAwB,EACxB,yBAAyB,EACzB,mCAAmC,EACnC,oBAAoB,EACpB,eAAe,EACf,kCAAkC,EAErC,MAAM,qBAAqB,CAAC;AAY7B,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAKhE,MAAM,WAAW,kBAAkB;IAC/B,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,KAAK,EAAE,yBAAyB,CAAC;IACjC,eAAe,EAAE,eAAe,EAAE,CAAC;IACnC,iBAAiB,EAAE,wBAAwB,EAAE,CAAC;IAC9C,YAAY,EAAE,kCAAkC,EAAE,CAAC;IACnD,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,mCAAmC,KAAK,IAAI,CAAC;IAChE,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,IAAI,CAAC;CACzD;AAED,eAAO,MAAM,YAAY,uFAQtB,kBAAkB;;;;;;wCAqB0B,WAAW,sBAAsB,wBAAwB;sCAOvF,WAAW,oBACF,sBAAsB,sBACpB,gCAAgC;6BAjBxB,WAAW;iCAIP,cAAc,GAAG,SAAS,SAAS,MAAM,GAAG,SAAS;yBA2B7D,MAAM;uCAIQ,MAAM;mCA2BV,oBAAoB,EAAE;;oCAWrB,yBAAyB;;;;CAmDnE,CAAC"}
|
package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useEditAlert.js
CHANGED
|
@@ -3,11 +3,11 @@ import { useState } from "react";
|
|
|
3
3
|
import { useIntl } from "react-intl";
|
|
4
4
|
import { isAutomationUserRecipient, } from "@gooddata/sdk-model";
|
|
5
5
|
import isEqual from "lodash/isEqual.js";
|
|
6
|
-
import { isAlertRecipientsValid, isAlertValueDefined, transformAlertByComparisonOperator, transformAlertByDestination, transformAlertByMetric, transformAlertByRelativeOperator, transformAlertByValue, } from "../utils.js";
|
|
6
|
+
import { isAlertRecipientsValid, isAlertValueDefined, transformAlertByAttribute, transformAlertByComparisonOperator, transformAlertByDestination, transformAlertByMetric, transformAlertByRelativeOperator, transformAlertByValue, } from "../utils.js";
|
|
7
7
|
import { selectCurrentUser, selectUsers, useDashboardSelector } from "../../../../../../model/index.js";
|
|
8
8
|
import { convertCurrentUserToAutomationRecipient } from "../../../../../../_staging/automation/index.js";
|
|
9
9
|
import { isEmail } from "../../../../../scheduledEmail/DefaultScheduledEmailDialog/utils/validate.js";
|
|
10
|
-
export const useEditAlert = ({ metrics, alert, onCreate, onUpdate, catalogMeasures, destinations, }) => {
|
|
10
|
+
export const useEditAlert = ({ metrics, attributes, alert, onCreate, onUpdate, catalogMeasures, destinations, }) => {
|
|
11
11
|
const [viewMode, setViewMode] = useState("edit");
|
|
12
12
|
const [updatedAlert, setUpdatedAlert] = useState(alert);
|
|
13
13
|
const [warningMessage, setWarningMessage] = useState(undefined);
|
|
@@ -19,6 +19,9 @@ export const useEditAlert = ({ metrics, alert, onCreate, onUpdate, catalogMeasur
|
|
|
19
19
|
const changeMeasure = (measure) => {
|
|
20
20
|
setUpdatedAlert((alert) => transformAlertByMetric(metrics, alert, measure, catalogMeasures));
|
|
21
21
|
};
|
|
22
|
+
const changeAttribute = (attribute, value) => {
|
|
23
|
+
setUpdatedAlert((alert) => transformAlertByAttribute(attributes, alert, attribute, value));
|
|
24
|
+
};
|
|
22
25
|
const changeComparisonOperator = (measure, comparisonOperator) => {
|
|
23
26
|
setUpdatedAlert((alert) => transformAlertByComparisonOperator(metrics, alert, measure, comparisonOperator));
|
|
24
27
|
};
|
|
@@ -86,6 +89,7 @@ export const useEditAlert = ({ metrics, alert, onCreate, onUpdate, catalogMeasur
|
|
|
86
89
|
changeComparisonOperator,
|
|
87
90
|
changeRelativeOperator,
|
|
88
91
|
changeMeasure,
|
|
92
|
+
changeAttribute,
|
|
89
93
|
changeValue,
|
|
90
94
|
changeDestination,
|
|
91
95
|
changeRecipients,
|
package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useEditAlert.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useEditAlert.js","sourceRoot":"","sources":["../../../../../../../src/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useEditAlert.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,
|
|
1
|
+
{"version":3,"file":"useEditAlert.js","sourceRoot":"","sources":["../../../../../../../src/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useEditAlert.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,11 +22,15 @@ export declare const useInsightWidgetAlerting: ({ widget, closeInsightWidgetMenu
|
|
|
22
22
|
cancelAlertEditing: () => void;
|
|
23
23
|
cancelAlertCreation: () => void;
|
|
24
24
|
hasAlerts: boolean;
|
|
25
|
+
execResult: import("../../../../../../model/index.js").IExecutionResultEnvelope | undefined;
|
|
25
26
|
supportedMeasures: import("../../../types.js").AlertMetric[];
|
|
27
|
+
supportedAttributes: import("../../../types.js").AlertAttribute[];
|
|
26
28
|
maxAutomationsReached: boolean;
|
|
27
29
|
maxAutomationsRecipients: number;
|
|
30
|
+
canManageAttributes: boolean;
|
|
28
31
|
canCreateAutomation: boolean;
|
|
29
32
|
catalogMeasures: import("@gooddata/sdk-model").ICatalogMeasure[];
|
|
33
|
+
catalogAttributes: import("@gooddata/sdk-model").IAttributeMetadataObject[];
|
|
30
34
|
};
|
|
31
35
|
export {};
|
|
32
36
|
//# sourceMappingURL=useInsightAlerting.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useInsightAlerting.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useInsightAlerting.ts"],"names":[],"mappings":"AACA,OAAO,EACH,yBAAyB,EACzB,mCAAmC,EACnC,cAAc,EACjB,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"useInsightAlerting.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useInsightAlerting.ts"],"names":[],"mappings":"AACA,OAAO,EACH,yBAAyB,EACzB,mCAAmC,EACnC,cAAc,EACjB,MAAM,qBAAqB,CAAC;AAyC7B,KAAK,6BAA6B,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEhE,MAAM,WAAW,2BAA2B;IACxC,MAAM,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;IACpC,sBAAsB,EAAE,MAAM,IAAI,CAAC;CACtC;AAED,eAAO,MAAM,wBAAwB,uCAAwC,2BAA2B;;;;;;;;;kCAyL/D,yBAAyB;iCA6B1B,yBAAyB;0BAnBhC,mCAAmC;gCAuB7B,yBAAyB;iCAQxB,yBAAyB;iCAQnB,yBAAyB;;;;;;;;;;;;;CAqEtE,CAAC"}
|
package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useInsightAlerting.js
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import { useToastMessage } from "@gooddata/sdk-ui-kit";
|
|
2
2
|
import { useCallback, useEffect, useMemo, useState } from "react";
|
|
3
3
|
import { v4 as uuidv4 } from "uuid";
|
|
4
|
-
import { useDashboardSelector, selectInsightByWidgetRef, selectEntitlementMaxAutomations, selectEntitlementUnlimitedAutomations, DEFAULT_MAX_AUTOMATIONS, selectAllAutomationsCount, refreshAutomations, useDashboardDispatch, dispatchAndWaitFor, selectDashboardUserAutomationAlertsInContext, selectDashboardId, selectLocale, selectCanCreateAutomation, selectCurrentUser, useFiltersForWidgetScheduledExport, selectNotificationChannels, useDashboardUserInteraction, selectCanManageWorkspace, selectUsers, selectEntitlementMaxAutomationRecipients, } from "../../../../../../model/index.js";
|
|
5
|
-
import { createDefaultAlert, getSupportedInsightMeasuresByInsight } from "../utils.js";
|
|
4
|
+
import { useDashboardSelector, selectInsightByWidgetRef, selectEntitlementMaxAutomations, selectEntitlementUnlimitedAutomations, DEFAULT_MAX_AUTOMATIONS, selectAllAutomationsCount, refreshAutomations, useDashboardDispatch, dispatchAndWaitFor, selectDashboardUserAutomationAlertsInContext, selectDashboardId, selectLocale, selectCanCreateAutomation, selectCurrentUser, useFiltersForWidgetScheduledExport, selectNotificationChannels, useDashboardUserInteraction, selectCanManageWorkspace, selectUsers, selectEntitlementMaxAutomationRecipients, selectExecutionResultByRef, selectEnableAlertAttributes, } from "../../../../../../model/index.js";
|
|
5
|
+
import { createDefaultAlert, getSupportedInsightAttributesByInsight, getSupportedInsightMeasuresByInsight, } from "../utils.js";
|
|
6
6
|
import { messages } from "../messages.js";
|
|
7
7
|
import { useSaveAlertToBackend } from "./useSaveAlertToBackend.js";
|
|
8
8
|
import { fillMissingTitles, useBackendStrict, useWorkspaceStrict } from "@gooddata/sdk-ui";
|
|
9
9
|
import { convertCurrentUserToAutomationRecipient } from "../../../../../../_staging/automation/index.js";
|
|
10
10
|
import { useMetricsAndFacts } from "../../../../../../_staging/sharedHooks/useMetricsAndFacts.js";
|
|
11
11
|
import { DEFAULT_MAX_RECIPIENTS } from "../../../../../scheduledEmail/DefaultScheduledEmailDialog/constants.js";
|
|
12
|
+
import { useAttributes } from "../../../../../../_staging/sharedHooks/useAttributes.js";
|
|
12
13
|
export const useInsightWidgetAlerting = ({ widget, closeInsightWidgetMenu }) => {
|
|
13
14
|
const { addSuccess, addError } = useToastMessage();
|
|
14
15
|
const { automationInteraction } = useDashboardUserInteraction();
|
|
@@ -19,11 +20,13 @@ export const useInsightWidgetAlerting = ({ widget, closeInsightWidgetMenu }) =>
|
|
|
19
20
|
const users = useDashboardSelector(selectUsers);
|
|
20
21
|
const dashboard = useDashboardSelector(selectDashboardId);
|
|
21
22
|
const insight = useDashboardSelector(selectInsightByWidgetRef(widget?.ref));
|
|
23
|
+
const execResult = useDashboardSelector(selectExecutionResultByRef(widget?.ref));
|
|
22
24
|
const allAutomationsCount = useDashboardSelector(selectAllAutomationsCount);
|
|
23
25
|
const maxAutomationsEntitlement = useDashboardSelector(selectEntitlementMaxAutomations);
|
|
24
26
|
const unlimitedAutomationsEntitlement = useDashboardSelector(selectEntitlementUnlimitedAutomations);
|
|
25
27
|
const maxAutomationsRecipientsEntitlement = useDashboardSelector(selectEntitlementMaxAutomationRecipients);
|
|
26
28
|
const maxAutomationsRecipients = parseInt(maxAutomationsRecipientsEntitlement?.value ?? DEFAULT_MAX_RECIPIENTS, 10);
|
|
29
|
+
const canManageAttributes = useDashboardSelector(selectEnableAlertAttributes);
|
|
27
30
|
const canCreateAutomation = useDashboardSelector(selectCanCreateAutomation);
|
|
28
31
|
const currentUser = useDashboardSelector(selectCurrentUser);
|
|
29
32
|
const destinations = useDashboardSelector(selectNotificationChannels);
|
|
@@ -80,6 +83,9 @@ export const useInsightWidgetAlerting = ({ widget, closeInsightWidgetMenu }) =>
|
|
|
80
83
|
const locale = useDashboardSelector(selectLocale);
|
|
81
84
|
const supportedMeasures = useMemo(() => getSupportedInsightMeasuresByInsight(insight ? fillMissingTitles(insight, locale, 9999) : insight), [insight, locale]);
|
|
82
85
|
const defaultMeasure = supportedMeasures[0];
|
|
86
|
+
const supportedAttributes = useMemo(() => getSupportedInsightAttributesByInsight(insight), [insight]);
|
|
87
|
+
const displayForms = useMemo(() => supportedAttributes.map((attribute) => attribute.attribute.attribute.displayForm), [supportedAttributes]);
|
|
88
|
+
const { attributes, attributesLoading, attributesLoadingError } = useAttributes(displayForms);
|
|
83
89
|
const defaultNotificationChannelId = destinations[0]?.id;
|
|
84
90
|
const hasAlerts = alerts.length > 0;
|
|
85
91
|
const maxAutomations = parseInt(maxAutomationsEntitlement?.value ?? DEFAULT_MAX_AUTOMATIONS, 10);
|
|
@@ -96,10 +102,12 @@ export const useInsightWidgetAlerting = ({ widget, closeInsightWidgetMenu }) =>
|
|
|
96
102
|
defaultMeasure &&
|
|
97
103
|
defaultNotificationChannelId &&
|
|
98
104
|
!metricsAndFactsLoading &&
|
|
105
|
+
!attributesLoading &&
|
|
99
106
|
!defaultAlert) {
|
|
100
107
|
setDefaultAlert(createDefaultAlert(widgetFilters, supportedMeasures, defaultMeasure, defaultNotificationChannelId, convertCurrentUserToAutomationRecipient(users, currentUser), metricsAndFacts?.metrics ?? []));
|
|
101
108
|
}
|
|
102
|
-
else if ((widgetFiltersStatus === "error" || metricsAndFactsLoadingError
|
|
109
|
+
else if ((widgetFiltersStatus === "error" || metricsAndFactsLoadingError || attributesLoadingError) &&
|
|
110
|
+
!defaultAlert) {
|
|
103
111
|
closeInsightWidgetMenu();
|
|
104
112
|
addError(messages.alertLoadingError);
|
|
105
113
|
}
|
|
@@ -114,6 +122,8 @@ export const useInsightWidgetAlerting = ({ widget, closeInsightWidgetMenu }) =>
|
|
|
114
122
|
metricsAndFacts,
|
|
115
123
|
metricsAndFactsLoading,
|
|
116
124
|
metricsAndFactsLoadingError,
|
|
125
|
+
attributesLoading,
|
|
126
|
+
attributesLoadingError,
|
|
117
127
|
addError,
|
|
118
128
|
currentUser,
|
|
119
129
|
]);
|
|
@@ -218,7 +228,8 @@ export const useInsightWidgetAlerting = ({ widget, closeInsightWidgetMenu }) =>
|
|
|
218
228
|
isLoadingFilters ||
|
|
219
229
|
isRefreshingAutomations ||
|
|
220
230
|
isDeletingAlert ||
|
|
221
|
-
metricsAndFactsLoading
|
|
231
|
+
metricsAndFactsLoading ||
|
|
232
|
+
attributesLoading,
|
|
222
233
|
destinations,
|
|
223
234
|
users,
|
|
224
235
|
alerts,
|
|
@@ -235,11 +246,15 @@ export const useInsightWidgetAlerting = ({ widget, closeInsightWidgetMenu }) =>
|
|
|
235
246
|
cancelAlertEditing,
|
|
236
247
|
cancelAlertCreation,
|
|
237
248
|
hasAlerts,
|
|
249
|
+
execResult,
|
|
238
250
|
supportedMeasures,
|
|
251
|
+
supportedAttributes,
|
|
239
252
|
maxAutomationsReached,
|
|
240
253
|
maxAutomationsRecipients,
|
|
254
|
+
canManageAttributes,
|
|
241
255
|
canCreateAutomation,
|
|
242
256
|
catalogMeasures: metricsAndFacts?.metrics ?? [],
|
|
257
|
+
catalogAttributes: attributes ?? [],
|
|
243
258
|
};
|
|
244
259
|
};
|
|
245
260
|
//# sourceMappingURL=useInsightAlerting.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useInsightAlerting.js","sourceRoot":"","sources":["../../../../../../../src/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useInsightAlerting.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAClE,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EACH,oBAAoB,EACpB,wBAAwB,EACxB,+BAA+B,EAC/B,qCAAqC,EACrC,uBAAuB,EACvB,yBAAyB,EACzB,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,4CAA4C,EAC5C,iBAAiB,EACjB,YAAY,EACZ,yBAAyB,EACzB,iBAAiB,EACjB,kCAAkC,EAClC,0BAA0B,EAC1B,2BAA2B,EAC3B,wBAAwB,EACxB,WAAW,EACX,wCAAwC,
|
|
1
|
+
{"version":3,"file":"useInsightAlerting.js","sourceRoot":"","sources":["../../../../../../../src/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useInsightAlerting.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,21 @@
|
|
|
1
|
-
import { IAlertComparisonOperator, IAlertRelativeArithmeticOperator, IAlertRelativeOperator, IAutomationAlert, IAutomationMetadataObject, IAutomationMetadataObjectDefinition, IAutomationRecipient, ICatalogMeasure, IFilter, IInsight, IMeasure } from "@gooddata/sdk-model";
|
|
1
|
+
import { IAlertComparisonOperator, IAlertRelativeArithmeticOperator, IAlertRelativeOperator, IAttribute, IAutomationAlert, IAutomationMetadataObject, IAutomationMetadataObjectDefinition, IAutomationRecipient, ICatalogMeasure, IFilter, IInsight, IMeasure } from "@gooddata/sdk-model";
|
|
2
2
|
import { IntlShape } from "react-intl";
|
|
3
|
-
import { AlertMetric } from "../../types.js";
|
|
3
|
+
import { AlertAttribute, AlertMetric } from "../../types.js";
|
|
4
4
|
/**
|
|
5
5
|
* @internal
|
|
6
6
|
*/
|
|
7
7
|
export declare const getMeasureTitle: (measure: IMeasure) => string | undefined;
|
|
8
|
+
/**
|
|
9
|
+
* @internal
|
|
10
|
+
*/
|
|
11
|
+
export declare const getAttributeTitle: (attribute: IAttribute) => string | undefined;
|
|
8
12
|
export declare const getOperatorTitle: (intl: IntlShape, alert?: IAutomationAlert) => string;
|
|
9
13
|
/**
|
|
10
14
|
* @internal
|
|
11
15
|
*/
|
|
12
16
|
export declare const createDefaultAlert: (filters: IFilter[], metrics: AlertMetric[], measure: AlertMetric, notificationChannelId: string, currentUser: IAutomationRecipient, catalogMeasures?: ICatalogMeasure[], comparisonOperator?: IAlertComparisonOperator) => IAutomationMetadataObjectDefinition;
|
|
13
17
|
export declare const getSupportedInsightMeasuresByInsight: (insight: IInsight | null | undefined) => AlertMetric[];
|
|
18
|
+
export declare const getSupportedInsightAttributesByInsight: (insight: IInsight | null | undefined) => AlertAttribute[];
|
|
14
19
|
export declare function getValueSuffix(alert?: IAutomationAlert): string | undefined;
|
|
15
20
|
export declare function isChangeOperator(alert?: IAutomationAlert): boolean;
|
|
16
21
|
export declare function isDifferenceOperator(alert?: IAutomationAlert): boolean;
|
|
@@ -19,9 +24,21 @@ export declare function isAlertValueDefined(alert?: IAutomationAlert): boolean;
|
|
|
19
24
|
export declare function isAlertRecipientsValid(alert?: IAutomationMetadataObject): boolean;
|
|
20
25
|
export declare function getAlertThreshold(alert?: IAutomationAlert): number | undefined;
|
|
21
26
|
export declare function getAlertMeasure(measures: AlertMetric[], alert?: IAutomationAlert): AlertMetric | undefined;
|
|
27
|
+
export declare function getAlertAttribute(attributes: AlertAttribute[], alert?: IAutomationMetadataObject): [AlertAttribute | undefined, string | undefined];
|
|
28
|
+
export declare function getAlertFilters(alert?: IAutomationMetadataObject): IFilter[];
|
|
22
29
|
export declare function getAlertCompareOperator(alert?: IAutomationAlert): IAlertComparisonOperator | undefined;
|
|
23
30
|
export declare function getAlertRelativeOperator(alert?: IAutomationAlert): [IAlertRelativeOperator, IAlertRelativeArithmeticOperator] | undefined;
|
|
24
31
|
export declare function transformAlertByMetric(metrics: AlertMetric[], alert: IAutomationMetadataObject, measure: AlertMetric, catalogMeasures?: ICatalogMeasure[]): IAutomationMetadataObject;
|
|
32
|
+
/**
|
|
33
|
+
* This function get selected attributed and optionally value amd added this attribute to execution.
|
|
34
|
+
* If value is provided, it creates positive attribute filter with this value, otherwise it creates negative attribute filter
|
|
35
|
+
* that is empty for now.
|
|
36
|
+
* @param attributes - all available attributes
|
|
37
|
+
* @param alert - alert to transform
|
|
38
|
+
* @param attr - optionally selected attribute
|
|
39
|
+
* @param value - optionally selected value
|
|
40
|
+
*/
|
|
41
|
+
export declare function transformAlertByAttribute(attributes: AlertAttribute[], alert: IAutomationMetadataObject, attr: AlertAttribute | undefined, value: string | undefined): IAutomationMetadataObject;
|
|
25
42
|
export declare function transformAlertByComparisonOperator(metrics: AlertMetric[], alert: IAutomationMetadataObject, measure: AlertMetric, comparisonOperator: IAlertComparisonOperator): IAutomationMetadataObject;
|
|
26
43
|
export declare function transformAlertByRelativeOperator(metrics: AlertMetric[], alert: IAutomationMetadataObject, measure: AlertMetric, relativeOperator: IAlertRelativeOperator, arithmeticOperator: IAlertRelativeArithmeticOperator, catalogMeasures?: ICatalogMeasure[]): IAutomationMetadataObject;
|
|
27
44
|
export declare function transformAlertByValue(alert: IAutomationMetadataObject, value: number): IAutomationMetadataObject;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/configuration/InsightAlertConfig/utils.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/configuration/InsightAlertConfig/utils.ts"],"names":[],"mappings":"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"}
|