@gooddata/sdk-ui-analytical-designer 11.65.0-alpha.9 → 11.65.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/NOTICE +536 -2137
- package/README.md +31 -57
- package/esm/components/CustomDragLayer.d.ts.map +1 -1
- package/esm/components/CustomDragLayer.js +0 -1
- package/esm/components/DragScroller/DragScroller.d.ts.map +1 -1
- package/esm/components/DragScroller/DragScroller.js +0 -1
- package/esm/components/Messages.d.ts.map +1 -1
- package/esm/components/Messages.js +13 -11
- package/esm/components/buckets/BucketIcon.d.ts +1 -1
- package/esm/components/buckets/BucketIcon.d.ts.map +1 -1
- package/esm/components/buckets/BucketIcon.js +11 -161
- package/esm/components/buckets/MeasureAttributeFilterPickerBody.d.ts.map +1 -1
- package/esm/components/buckets/MeasureAttributeFilterPickerBody.js +0 -1
- package/esm/embedding/AnalyticalDesigner.d.ts.map +1 -1
- package/esm/embedding/AnalyticalDesigner.js +2 -3
- package/esm/embedding/AnalyticalDesignerEmbedded.d.ts +5 -2
- package/esm/embedding/AnalyticalDesignerEmbedded.d.ts.map +1 -1
- package/esm/embedding/AnalyticalDesignerEmbedded.js +1 -2
- package/esm/embedding/analyticalDesignerConfig.d.ts +0 -6
- package/esm/embedding/analyticalDesignerConfig.d.ts.map +1 -1
- package/esm/embedding/analyticalDesignerConfig.js +0 -36
- package/esm/embedding/analyticalDesignerTypes.d.ts +119 -104
- package/esm/embedding/analyticalDesignerTypes.d.ts.map +1 -1
- package/esm/embedding/hostBridge.d.ts +2 -9
- package/esm/embedding/hostBridge.d.ts.map +1 -1
- package/esm/index.d.ts +1 -1
- package/esm/index.d.ts.map +1 -1
- package/esm/models/metadata.d.ts +17 -4
- package/esm/models/metadata.d.ts.map +1 -1
- package/esm/models/metadata.js +103 -25
- package/esm/postMessageApi/outgoing/drill_events.d.ts.map +1 -1
- package/esm/postMessageApi/outgoing/drill_events.js +10 -3
- package/esm/postMessageApi/outgoing/post_event_helper.d.ts +11 -1
- package/esm/postMessageApi/outgoing/post_event_helper.d.ts.map +1 -1
- package/esm/postMessageApi/outgoing/post_event_helper.js +22 -13
- package/esm/sagas/open_report_sagas.d.ts +6 -0
- package/esm/sagas/open_report_sagas.d.ts.map +1 -1
- package/esm/sagas/open_report_sagas.js +13 -8
- package/esm/sdk-ui-analytical-designer.d.ts +112 -95
- package/esm/selectors/buckets_selector.d.ts +44 -4
- package/esm/selectors/buckets_selector.d.ts.map +1 -1
- package/esm/selectors/buckets_selector.js +5 -5
- package/esm/selectors/date_datasets_selector.d.ts +88 -8
- package/esm/selectors/date_datasets_selector.d.ts.map +1 -1
- package/esm/selectors/dialogs_selector.d.ts +11 -11
- package/esm/selectors/insight_selectors.d.ts +110 -10
- package/esm/selectors/insight_selectors.d.ts.map +1 -1
- package/esm/selectors/report_selector.d.ts +44 -4
- package/esm/selectors/report_selector.d.ts.map +1 -1
- package/esm/selectors/report_visualization_selector.d.ts +26 -6
- package/esm/selectors/report_visualization_selector.d.ts.map +1 -1
- package/esm/selectors/save_report_from_kd_dialog_selector.d.ts +11 -11
- package/esm/selectors/save_report_selector.d.ts +3 -0
- package/esm/selectors/save_report_selector.d.ts.map +1 -1
- package/esm/selectors/save_report_selector.js +18 -2
- package/esm/selectors/uri_selector.d.ts +5 -6
- package/esm/selectors/uri_selector.d.ts.map +1 -1
- package/esm/selectors/uri_selector.js +1 -10
- package/esm/services/bootstrap_error_service.d.ts.map +1 -1
- package/esm/services/bootstrap_error_service.js +5 -14
- package/esm/translations/de-DE.json +0 -22
- package/esm/translations/en-AU.json +0 -22
- package/esm/translations/en-GB.json +3 -25
- package/esm/translations/es-419.json +0 -22
- package/esm/translations/es-ES.json +13 -35
- package/esm/translations/fi-FI.json +0 -22
- package/esm/translations/fr-CA.json +0 -22
- package/esm/translations/fr-FR.json +21 -43
- package/esm/translations/id-ID.json +0 -22
- package/esm/translations/it-IT.json +0 -22
- package/esm/translations/ja-JP.json +0 -22
- package/esm/translations/ko-KR.json +0 -22
- package/esm/translations/nl-NL.json +0 -22
- package/esm/translations/pl-PL.json +0 -22
- package/esm/translations/pt-BR.json +0 -22
- package/esm/translations/pt-PT.json +0 -22
- package/esm/translations/ru-RU.json +0 -22
- package/esm/translations/sl-SI.json +0 -22
- package/esm/translations/th-TH.json +0 -22
- package/esm/translations/tr-TR.json +0 -22
- package/esm/translations/uk-UA.json +0 -22
- package/esm/translations/vi-VN.json +0 -22
- package/esm/translations/zh-HK.json +0 -22
- package/esm/translations/zh-Hans.json +0 -22
- package/esm/translations/zh-Hant.json +0 -22
- package/package.json +21 -22
- package/styles/css/buckets.css +7 -0
- package/styles/css/buckets.css.map +1 -1
- package/styles/css/editor_header.css +1 -1
- package/styles/css/editor_header.css.map +1 -1
- package/styles/css/main.css +11 -1
- package/styles/css/main.css.map +1 -1
- package/styles/css/typo.css +3 -0
- package/styles/css/typo.css.map +1 -1
- package/styles/scss/buckets.scss +10 -0
- package/styles/scss/editor_header.scss +1 -1
- package/styles/scss/typo.scss +4 -0
- package/esm/embedding/embeddedCallbacks.d.ts +0 -31
- package/esm/embedding/embeddedCallbacks.d.ts.map +0 -1
- package/esm/embedding/embeddedCallbacks.js +0 -59
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drill_events.d.ts","sourceRoot":"","sources":["../../../src/postMessageApi/outgoing/drill_events.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"drill_events.d.ts","sourceRoot":"","sources":["../../../src/postMessageApi/outgoing/drill_events.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAOpD,wBAAgB,cAAc,CAAC,UAAU,EAAE,WAAW,GAAG,IAAI,CAS5D"}
|
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
// (C) 2020-2026 GoodData Corporation
|
|
2
2
|
import { GdcAdEventType } from "@gooddata/sdk-embedding";
|
|
3
|
+
import { getHostAdapter } from "../../embedding/hostBridge.js";
|
|
3
4
|
import { transformDrillEventToLegacy } from "../../utils/drilling/index.js";
|
|
4
|
-
import {
|
|
5
|
+
import { postHostEvent, postWindowEvent } from "./post_event_helper.js";
|
|
5
6
|
export function drillPerformed(drillEvent) {
|
|
6
|
-
|
|
7
|
-
|
|
7
|
+
// A host component receives the drill event of @gooddata/sdk-ui; the postMessage contract carries
|
|
8
|
+
// the legacy shape.
|
|
9
|
+
const hostAdapter = getHostAdapter();
|
|
10
|
+
if (hostAdapter) {
|
|
11
|
+
postHostEvent(hostAdapter, GdcAdEventType.Drill, drillEvent);
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
postWindowEvent(GdcAdEventType.Drill, transformDrillEventToLegacy(drillEvent));
|
|
8
15
|
}
|
|
@@ -1,2 +1,12 @@
|
|
|
1
|
-
|
|
1
|
+
import { type AnalyticalDesignerEventType, type IAnalyticalDesignerEventDataMap } from "../../embedding/analyticalDesignerTypes.js";
|
|
2
|
+
import { type IAdHostAdapter } from "../../embedding/hostBridge.js";
|
|
3
|
+
/** Delivers an event to the host that renders AD as a React component. */
|
|
4
|
+
export declare function postHostEvent<T extends AnalyticalDesignerEventType>(hostAdapter: IAdHostAdapter, type: T, data: IAnalyticalDesignerEventDataMap[T], contextId?: string): void;
|
|
5
|
+
/** Posts an event as a window message; data is the @gooddata/sdk-embedding contract payload. */
|
|
6
|
+
export declare function postWindowEvent(type: AnalyticalDesignerEventType, data: unknown, contextId?: string): void;
|
|
7
|
+
/**
|
|
8
|
+
* Emits an event to the host: to the host component when one is installed, else as a window message.
|
|
9
|
+
* Drill is emitted by drillPerformed: the two transports carry different payloads for it.
|
|
10
|
+
*/
|
|
11
|
+
export declare function adPostEvent<T extends Exclude<AnalyticalDesignerEventType, "drill">>(type: T, data: IAnalyticalDesignerEventDataMap[T], contextId?: string): void;
|
|
2
12
|
//# sourceMappingURL=post_event_helper.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"post_event_helper.d.ts","sourceRoot":"","sources":["../../../src/postMessageApi/outgoing/post_event_helper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"post_event_helper.d.ts","sourceRoot":"","sources":["../../../src/postMessageApi/outgoing/post_event_helper.ts"],"names":[],"mappings":"AAKA,OAAO,EAEH,KAAK,2BAA2B,EAChC,KAAK,+BAA+B,EACvC,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,KAAK,cAAc,EAAkB,MAAM,+BAA+B,CAAC;AAOpF,0EAA0E;AAC1E,wBAAgB,aAAa,CAAC,CAAC,SAAS,2BAA2B,EAC/D,WAAW,EAAE,cAAc,EAC3B,IAAI,EAAE,CAAC,EACP,IAAI,EAAE,+BAA+B,CAAC,CAAC,CAAC,EACxC,SAAS,CAAC,EAAE,MAAM,GACnB,IAAI,CAKN;AAED,gGAAgG;AAChG,wBAAgB,eAAe,CAAC,IAAI,EAAE,2BAA2B,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAO1G;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,OAAO,CAAC,2BAA2B,EAAE,OAAO,CAAC,EAC/E,IAAI,EAAE,CAAC,EACP,IAAI,EAAE,+BAA+B,CAAC,CAAC,CAAC,EACxC,SAAS,CAAC,EAAE,MAAM,GACnB,IAAI,CAON"}
|
|
@@ -3,20 +3,29 @@ import { GdcProductName } from "@gooddata/sdk-embedding";
|
|
|
3
3
|
import { messagingUtils } from "@gooddata/sdk-embedding/internal";
|
|
4
4
|
import { getHostAdapter } from "../../embedding/hostBridge.js";
|
|
5
5
|
import { DEFAULT_POST_MESSAGE_CONTEXT_ID } from "../actions/post_message_action_helper.js";
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
6
|
+
const resetDefaultContextId = (contextId) => {
|
|
7
|
+
return contextId && contextId === DEFAULT_POST_MESSAGE_CONTEXT_ID ? undefined : contextId;
|
|
8
|
+
};
|
|
9
|
+
/** Delivers an event to the host that renders AD as a React component. */
|
|
10
|
+
export function postHostEvent(hostAdapter, type, data, contextId) {
|
|
11
|
+
const event = { type, data, contextId: resetDefaultContextId(contextId) };
|
|
12
|
+
// every AnalyticalDesignerEvent<T> is an AnalyticalDesignerEvent; TypeScript cannot widen a
|
|
13
|
+
// generic mapped union (TS#30581)
|
|
14
|
+
hostAdapter.onEvent(event);
|
|
15
|
+
}
|
|
16
|
+
/** Posts an event as a window message; data is the @gooddata/sdk-embedding contract payload. */
|
|
17
|
+
export function postWindowEvent(type, data, contextId) {
|
|
18
|
+
messagingUtils.postEvent(GdcProductName.ANALYTICAL_DESIGNER, type, data, resetDefaultContextId(contextId));
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Emits an event to the host: to the host component when one is installed, else as a window message.
|
|
22
|
+
* Drill is emitted by drillPerformed: the two transports carry different payloads for it.
|
|
23
|
+
*/
|
|
24
|
+
export function adPostEvent(type, data, contextId) {
|
|
11
25
|
const hostAdapter = getHostAdapter();
|
|
12
26
|
if (hostAdapter) {
|
|
13
|
-
hostAdapter
|
|
14
|
-
product: GdcProductName.ANALYTICAL_DESIGNER,
|
|
15
|
-
name,
|
|
16
|
-
data,
|
|
17
|
-
contextId: resetDefaultContextId(contextId),
|
|
18
|
-
});
|
|
27
|
+
postHostEvent(hostAdapter, type, data, contextId);
|
|
19
28
|
return;
|
|
20
29
|
}
|
|
21
|
-
|
|
22
|
-
}
|
|
30
|
+
postWindowEvent(type, data, contextId);
|
|
31
|
+
}
|
|
@@ -85,6 +85,12 @@ export declare function selectOpenReportFailureReset(): Generator<import("redux-
|
|
|
85
85
|
* every missing item instead of surfacing as a backend error or a broken page.
|
|
86
86
|
*/
|
|
87
87
|
export declare function failOnMissingDateFilterItems(insight: IInsight): Generator<import("redux-saga/effects").SelectEffect, void, import("../models/date_datasets_meta.js").IDateDatasetsMeta>;
|
|
88
|
+
/**
|
|
89
|
+
* Whether one of the insight's relative date filters has a granularity AD cannot load. All time is
|
|
90
|
+
* supported: it is stored as the real All time filter (ALL_TIME_GRANULARITY) when it carries the empty
|
|
91
|
+
* date values mode.
|
|
92
|
+
*/
|
|
93
|
+
export declare function hasDateFilterWithUnsupportedGranularity(insight: IInsight): boolean;
|
|
88
94
|
export declare function fetchReport(projectId: string, reportId: string): Generator<import("redux-saga/effects").AllEffect<import("redux-saga/effects").CallEffect<void> | import("redux-saga/effects").CallEffect<IMetadataObject[]>> | import("redux-saga/effects").CallEffect<void> | import("redux-saga/effects").CallEffect<number> | import("redux-saga/effects").CallEffect<import("@gooddata/sdk-model").IListedDashboard[]> | import("redux-saga/effects").CallEffect<IApplicationResetCarrier> | import("redux-saga/effects").CallEffect<import("../store/report/open_report_operation.js").IOpenReportResult> | import("redux-saga/effects").CallEffect<IParameterRestoreResult> | import("redux-saga/effects").CallEffect<{
|
|
89
95
|
itemCache: {
|
|
90
96
|
[x: string]: import("../typings/state_objects.js").ICatalogEntry;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"open_report_sagas.d.ts","sourceRoot":"","sources":["../../src/sagas/open_report_sagas.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EACH,KAAK,QAAQ,EACb,KAAK,eAAe,
|
|
1
|
+
{"version":3,"file":"open_report_sagas.d.ts","sourceRoot":"","sources":["../../src/sagas/open_report_sagas.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EACH,KAAK,QAAQ,EACb,KAAK,eAAe,EAWvB,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EACH,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAKlC,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AA2BzD,OAAO,EACH,KAAK,uBAAuB,EAE/B,MAAM,iDAAiD,CAAC;AASzD,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAKnD,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,KAAK,kBAAkB,EAA+B,MAAM,sBAAsB,CAAC;AAyB5F,wBAAgB,YAAY,WAE3B;AAED,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,UAE5C;AAED,wBAAiB,mBAAmB,CAAC,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,EAAE,0BAA0B;;;;;6DAuBtG;AAED,wBAAiB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,kHAazE;AAcD,wBAAiB,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,2LAa1E;AAED;;;GAGG;AACH,wBAAiB,6BAA6B,CAAC,mBAAmB,EAAE,eAAe,EAAE;;;;;qJAsCpF;AAED,wBAAiB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,oBAAoB,GAAE,OAAe;;;;;;;;;;;;;;;;;;;GAoBtG;AAED;;;;;;;;;;GAUG;AACH,wBAAiB,uBAAuB,CAAC,MAAM,GAAE,kBAAuB;;;;;mBAKvE;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACnC,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,QAAQ,EACjB,WAAW,EAAE,kBAAkB,EAC/B,eAAe,EAAE,OAAO,wEAwB3B;AAED,wBAAiB,qBAAqB,CAClC,OAAO,EAAE,QAAQ,EACjB,WAAW,EAAE,kBAAkB,EAC/B,eAAe,EAAE,OAAO,yIAI3B;AAED;;;;GAIG;AACH,wBAAiB,4BAA4B,uLAK5C;AAqBD;;;;;GAKG;AACH,wBAAiB,4BAA4B,CAAC,OAAO,EAAE,QAAQ,2HAU9D;AAED;;;;GAIG;AACH,wBAAgB,uCAAuC,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAQlF;AAKD,wBAAiB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uGA6F/D;AAED,wBAAiB,eAAe,CAAC,SAAS,EAAE,MAAM,4MAOjD;AAED,wBAAiB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+HAyEpE;AAED,wBAAiB,8BAA8B,CAAC,OAAO,EAAE,QAAQ,8JAchE;AAED,wBAAiB,qBAAqB,CAAC,EACnC,OAAO,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,GACrD,EAAE,yBAAyB;;;;;;;;0EA0B3B;AAMD,wBAAiB,eAAe,6EAK/B"}
|
|
@@ -4,7 +4,7 @@ import { defineMessages } from "react-intl";
|
|
|
4
4
|
import { all, call, delay, put, select, take, takeEvery } from "redux-saga/effects";
|
|
5
5
|
import { v4 as uuid } from "uuid";
|
|
6
6
|
import { dateAttributeIdToSdkGranularity } from "@gooddata/sdk-backend-tiger";
|
|
7
|
-
import { insightParameters, insightSorts, insightUri, insightVisualizationUrl, isDateFilterGranularity, isRelativeDateFilter, isUriRef, objRefToString, uriRef, } from "@gooddata/sdk-model";
|
|
7
|
+
import { insightParameters, insightSorts, insightUri, insightVisualizationUrl, isAllTimeDateFilter, isDateFilterGranularity, isRelativeDateFilter, isUriRef, objRefToString, uriRef, } from "@gooddata/sdk-model";
|
|
8
8
|
import { changeDataset, updateInsightUsageOnDashboards, updateItemCache } from "../actions/data_actions.js";
|
|
9
9
|
import { addMessage, hideMessage, showWarningMessage } from "../actions/messages_actions.js";
|
|
10
10
|
import { openReportConfirmation, openReportFailed, openReportFinished, openReportStarted, } from "../actions/open_actions.js";
|
|
@@ -240,6 +240,17 @@ export function* failOnMissingDateFilterItems(insight) {
|
|
|
240
240
|
throw new MissingInsightItemsError(missingItems);
|
|
241
241
|
}
|
|
242
242
|
}
|
|
243
|
+
/**
|
|
244
|
+
* Whether one of the insight's relative date filters has a granularity AD cannot load. All time is
|
|
245
|
+
* supported: it is stored as the real All time filter (ALL_TIME_GRANULARITY) when it carries the empty
|
|
246
|
+
* date values mode.
|
|
247
|
+
*/
|
|
248
|
+
export function hasDateFilterWithUnsupportedGranularity(insight) {
|
|
249
|
+
return insight.insight.filters
|
|
250
|
+
.filter(isRelativeDateFilter)
|
|
251
|
+
.some((filter) => !isAllTimeDateFilter(filter) &&
|
|
252
|
+
!isDateFilterGranularity(filter.relativeDateFilter.granularity));
|
|
253
|
+
}
|
|
243
254
|
const missingItemsOf = (error) => isMissingInsightItemsError(error) ? error.missingItems : undefined;
|
|
244
255
|
export function* fetchReport(projectId, reportId) {
|
|
245
256
|
try {
|
|
@@ -260,13 +271,7 @@ export function* fetchReport(projectId, reportId) {
|
|
|
260
271
|
const catalogSideloadEnabled = yield select(enableAnalyticalDesignerCatalogSideload);
|
|
261
272
|
const sideloadInsightItems = catalogSideloadEnabled && !!(includeObjectsWithTags.length || excludeObjectsWithTags.length);
|
|
262
273
|
const { insight, catalogItems } = yield call(getInsight, projectId, reportId, sideloadInsightItems);
|
|
263
|
-
|
|
264
|
-
.filter(isRelativeDateFilter)
|
|
265
|
-
.some((filter) => {
|
|
266
|
-
const granularity = filter.relativeDateFilter.granularity;
|
|
267
|
-
return !isDateFilterGranularity(granularity);
|
|
268
|
-
});
|
|
269
|
-
if (hasFilterWithInvalidGranularity) {
|
|
274
|
+
if (hasDateFilterWithUnsupportedGranularity(insight)) {
|
|
270
275
|
const reset = yield call(selectOpenReportFailureReset);
|
|
271
276
|
yield put(openReportFailed(reset, false, "incorrectMetadata"));
|
|
272
277
|
// uses delay, must be called after previous call to not block it
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* @packageDocumentation
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
+
import { AdCatalogLoadedBody } from '@gooddata/sdk-embedding';
|
|
7
8
|
import { AdCommandData } from '@gooddata/sdk-embedding';
|
|
8
9
|
import { AdExportFinishedBody } from '@gooddata/sdk-embedding';
|
|
9
10
|
import { AdFilterContextChangedBody } from '@gooddata/sdk-embedding';
|
|
@@ -16,6 +17,7 @@ import { IAdAvailableCommands } from '@gooddata/sdk-embedding';
|
|
|
16
17
|
import { IAnalyticalBackend } from '@gooddata/sdk-backend-spi';
|
|
17
18
|
import { IColorPalette } from '@gooddata/sdk-model';
|
|
18
19
|
import { ICommandFailedBody } from '@gooddata/sdk-embedding';
|
|
20
|
+
import { IDrillEvent } from '@gooddata/sdk-ui';
|
|
19
21
|
import { IEntitlementDescriptor } from '@gooddata/sdk-model';
|
|
20
22
|
import { IFilterContextContent } from '@gooddata/sdk-embedding';
|
|
21
23
|
import { IInsight } from '@gooddata/sdk-model';
|
|
@@ -45,6 +47,35 @@ import { Ref } from 'react';
|
|
|
45
47
|
*/
|
|
46
48
|
export declare function AnalyticalDesigner(props: IAnalyticalDesignerProps): ReactElement;
|
|
47
49
|
|
|
50
|
+
/**
|
|
51
|
+
* An event Analytical Designer emits. Checking `type` narrows `data` to the payload of the event.
|
|
52
|
+
*
|
|
53
|
+
* @alpha
|
|
54
|
+
*/
|
|
55
|
+
export declare type AnalyticalDesignerEvent<T extends AnalyticalDesignerEventType = AnalyticalDesignerEventType> = {
|
|
56
|
+
[K in T]: {
|
|
57
|
+
/**
|
|
58
|
+
* Type of the event.
|
|
59
|
+
*/
|
|
60
|
+
type: K;
|
|
61
|
+
/**
|
|
62
|
+
* Payload of the event.
|
|
63
|
+
*/
|
|
64
|
+
data: IAnalyticalDesignerEventDataMap[K];
|
|
65
|
+
/**
|
|
66
|
+
* Identifier of the command the event answers, if any.
|
|
67
|
+
*/
|
|
68
|
+
contextId?: string;
|
|
69
|
+
};
|
|
70
|
+
}[T];
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Type of an event Analytical Designer emits.
|
|
74
|
+
*
|
|
75
|
+
* @alpha
|
|
76
|
+
*/
|
|
77
|
+
export declare type AnalyticalDesignerEventType = keyof IAnalyticalDesignerEventDataMap;
|
|
78
|
+
|
|
48
79
|
/**
|
|
49
80
|
* An action of the Analytical Designer header that a host can hide.
|
|
50
81
|
*
|
|
@@ -230,44 +261,100 @@ export declare interface IAnalyticalDesignerErrorProps {
|
|
|
230
261
|
}
|
|
231
262
|
|
|
232
263
|
/**
|
|
233
|
-
*
|
|
234
|
-
*
|
|
264
|
+
* Payload of each event Analytical Designer emits, by the type of the event.
|
|
265
|
+
*
|
|
266
|
+
* @remarks
|
|
267
|
+
* The types are the names of the `@gooddata/sdk-embedding` contract of the embedded Analytical
|
|
268
|
+
* Designer, for example `GdcAdEventType.InsightSaved` is `visualizationSaved`.
|
|
235
269
|
*
|
|
236
270
|
* @alpha
|
|
237
271
|
*/
|
|
238
|
-
export declare interface
|
|
272
|
+
export declare interface IAnalyticalDesignerEventDataMap {
|
|
239
273
|
/**
|
|
240
|
-
*
|
|
274
|
+
* Analytical Designer opened an insight.
|
|
241
275
|
*/
|
|
242
|
-
|
|
276
|
+
insightOpened: IAnalyticalDesignerInsightOpenedData;
|
|
243
277
|
/**
|
|
244
|
-
*
|
|
278
|
+
* The insight rendered.
|
|
245
279
|
*/
|
|
246
|
-
|
|
280
|
+
insightRendered: AdInsightRenderedBody;
|
|
247
281
|
/**
|
|
248
|
-
*
|
|
282
|
+
* The insight definition changed and its execution started.
|
|
249
283
|
*/
|
|
250
|
-
|
|
284
|
+
insightChanged: AdInsightChangedBody;
|
|
251
285
|
/**
|
|
252
|
-
*
|
|
286
|
+
* The user or a `save` command saved the insight.
|
|
253
287
|
*/
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
288
|
+
visualizationSaved: AdInsightSavedBody;
|
|
289
|
+
/**
|
|
290
|
+
* The user cancelled the editing.
|
|
291
|
+
*/
|
|
292
|
+
insightEditingCancelled: null;
|
|
293
|
+
/**
|
|
294
|
+
* The catalog loaded.
|
|
295
|
+
*/
|
|
296
|
+
catalogLoaded: AdCatalogLoadedBody;
|
|
297
|
+
/**
|
|
298
|
+
* A `clear` command finished.
|
|
299
|
+
*/
|
|
300
|
+
clearFinished: IAdAvailableCommands;
|
|
301
|
+
/**
|
|
302
|
+
* A `clearInsight` command finished.
|
|
303
|
+
*/
|
|
304
|
+
clearInsightFinished: IAdAvailableCommands;
|
|
305
|
+
/**
|
|
306
|
+
* An `undo` command finished.
|
|
307
|
+
*/
|
|
308
|
+
undoFinished: IAdAvailableCommands;
|
|
309
|
+
/**
|
|
310
|
+
* A `redo` command finished.
|
|
311
|
+
*/
|
|
312
|
+
redoFinished: IAdAvailableCommands;
|
|
313
|
+
/**
|
|
314
|
+
* An `exportInsight` command finished, with the link to the exported file.
|
|
315
|
+
*/
|
|
316
|
+
exportInsightFinished: AdExportFinishedBody;
|
|
317
|
+
/**
|
|
318
|
+
* The user changed a filter of the insight.
|
|
319
|
+
*/
|
|
320
|
+
filterContextChanged: AdFilterContextChangedBody;
|
|
321
|
+
/**
|
|
322
|
+
* A `setFilterContext` command finished.
|
|
323
|
+
*/
|
|
324
|
+
setFilterContextFinished: IAdAvailableCommands;
|
|
325
|
+
/**
|
|
326
|
+
* A `removeFilterContext` command finished.
|
|
327
|
+
*/
|
|
328
|
+
removeFilterContextFinished: IAdAvailableCommands;
|
|
329
|
+
/**
|
|
330
|
+
* The user created, changed or deleted an attribute hierarchy.
|
|
331
|
+
*/
|
|
332
|
+
attributeHierarchyModified: IAdAvailableCommands;
|
|
333
|
+
/**
|
|
334
|
+
* A command the host sent failed.
|
|
335
|
+
*/
|
|
336
|
+
appCommandFailed: ICommandFailedBody;
|
|
337
|
+
/**
|
|
338
|
+
* The commands Analytical Designer accepts changed.
|
|
339
|
+
*/
|
|
340
|
+
availableCommands: GdcAdCommandType[];
|
|
341
|
+
/**
|
|
342
|
+
* The user saved or deleted a metric. A host that shares a caching backend with Analytical
|
|
343
|
+
* Designer resets its caches here.
|
|
344
|
+
*/
|
|
345
|
+
metricsChanged: Record<string, never>;
|
|
263
346
|
/**
|
|
264
|
-
*
|
|
347
|
+
* The user drilled in the insight.
|
|
265
348
|
*/
|
|
266
|
-
|
|
349
|
+
drill: IDrillEvent;
|
|
267
350
|
/**
|
|
268
|
-
*
|
|
351
|
+
* Analytical Designer accepts the `drillableItems` command.
|
|
269
352
|
*/
|
|
270
|
-
|
|
353
|
+
listeningForDrillableItems: Record<string, never>;
|
|
354
|
+
/**
|
|
355
|
+
* The API token of Analytical Designer expires soon.
|
|
356
|
+
*/
|
|
357
|
+
apiTokenIsAboutToExpire: Record<string, never>;
|
|
271
358
|
}
|
|
272
359
|
|
|
273
360
|
/**
|
|
@@ -353,83 +440,13 @@ export declare interface IAnalyticalDesignerProps {
|
|
|
353
440
|
*/
|
|
354
441
|
slots?: IAnalyticalDesignerSlots;
|
|
355
442
|
/**
|
|
356
|
-
* Called
|
|
357
|
-
*/
|
|
358
|
-
onInsightSaved?: (data: AdInsightSavedBody, contextId?: string) => void;
|
|
359
|
-
/**
|
|
360
|
-
* Called when the user cancels the editing.
|
|
361
|
-
*/
|
|
362
|
-
onInsightEditingCancelled?: () => void;
|
|
363
|
-
/**
|
|
364
|
-
* Called when Analytical Designer opens an insight.
|
|
365
|
-
*/
|
|
366
|
-
onInsightOpened?: (data: IAnalyticalDesignerInsightOpenedData) => void;
|
|
367
|
-
/**
|
|
368
|
-
* Called when the insight renders.
|
|
369
|
-
*/
|
|
370
|
-
onInsightRendered?: (data: AdInsightRenderedBody) => void;
|
|
371
|
-
/**
|
|
372
|
-
* Called when the insight definition changes and its execution starts.
|
|
373
|
-
*/
|
|
374
|
-
onInsightChanged?: (data: AdInsightChangedBody) => void;
|
|
375
|
-
/**
|
|
376
|
-
* Called when a `clear` command finishes. `contextId` identifies the command.
|
|
377
|
-
*/
|
|
378
|
-
onClearFinished?: (data: IAdAvailableCommands, contextId?: string) => void;
|
|
379
|
-
/**
|
|
380
|
-
* Called when a `clearInsight` command finishes. `contextId` identifies the command.
|
|
381
|
-
*/
|
|
382
|
-
onClearInsightFinished?: (data: IAdAvailableCommands, contextId?: string) => void;
|
|
383
|
-
/**
|
|
384
|
-
* Called when an `undo` command finishes. `contextId` identifies the command.
|
|
385
|
-
*/
|
|
386
|
-
onUndoFinished?: (data: IAdAvailableCommands, contextId?: string) => void;
|
|
387
|
-
/**
|
|
388
|
-
* Called when a `redo` command finishes. `contextId` identifies the command.
|
|
389
|
-
*/
|
|
390
|
-
onRedoFinished?: (data: IAdAvailableCommands, contextId?: string) => void;
|
|
391
|
-
/**
|
|
392
|
-
* Called when an `exportInsight` command finishes, with the link to the exported file.
|
|
393
|
-
* `contextId` identifies the command.
|
|
394
|
-
*/
|
|
395
|
-
onExportFinished?: (data: AdExportFinishedBody, contextId?: string) => void;
|
|
396
|
-
/**
|
|
397
|
-
* Called when the user changes a filter of the insight.
|
|
398
|
-
*/
|
|
399
|
-
onFilterContextChanged?: (data: AdFilterContextChangedBody) => void;
|
|
400
|
-
/**
|
|
401
|
-
* Called when a `setFilterContext` command finishes. `contextId` identifies the command.
|
|
402
|
-
*/
|
|
403
|
-
onSetFilterContextFinished?: (data: IAdAvailableCommands, contextId?: string) => void;
|
|
404
|
-
/**
|
|
405
|
-
* Called when a `removeFilterContext` command finishes. `contextId` identifies the command.
|
|
443
|
+
* Called with every event Analytical Designer emits. Check `event.type` to narrow `event.data`.
|
|
406
444
|
*/
|
|
407
|
-
|
|
408
|
-
/**
|
|
409
|
-
* Called when the user saves or deletes a metric. A host that shares a caching backend with
|
|
410
|
-
* Analytical Designer resets its caches here.
|
|
411
|
-
*/
|
|
412
|
-
onMetricsChanged?: () => void;
|
|
413
|
-
/**
|
|
414
|
-
* Called when the user creates, changes or deletes an attribute hierarchy.
|
|
415
|
-
*/
|
|
416
|
-
onAttributeHierarchyModified?: () => void;
|
|
417
|
-
/**
|
|
418
|
-
* Called when a command the host sent fails. `contextId` identifies the command.
|
|
419
|
-
*/
|
|
420
|
-
onCommandFailed?: (data: ICommandFailedBody, contextId?: string) => void;
|
|
445
|
+
onEvent?: (event: AnalyticalDesignerEvent) => void;
|
|
421
446
|
/**
|
|
422
447
|
* Called when Analytical Designer cannot start.
|
|
423
448
|
*/
|
|
424
449
|
onError?: (error: unknown) => void;
|
|
425
|
-
/**
|
|
426
|
-
* Called with every event, before the typed callback.
|
|
427
|
-
*/
|
|
428
|
-
onEvent?: (event: IAnalyticalDesignerEvent) => void;
|
|
429
|
-
/**
|
|
430
|
-
* Handlers called with the events they accept.
|
|
431
|
-
*/
|
|
432
|
-
eventHandlers?: IAnalyticalDesignerEventHandler[];
|
|
433
450
|
/**
|
|
434
451
|
* Receives the commands the host sends to Analytical Designer.
|
|
435
452
|
*/
|
|
@@ -1557,8 +1557,8 @@ export declare const currentReportMDObject: ((state: IAppState) => import("../ty
|
|
|
1557
1557
|
resultsCount: () => number;
|
|
1558
1558
|
resetResultsCount: () => void;
|
|
1559
1559
|
} & {
|
|
1560
|
-
resultFunc: (resultFuncArgs_0: IDecoratedBuckets, resultFuncArgs_1: readonly IFilter[], resultFuncArgs_2: readonly IParameterFilter[], resultFuncArgs_3: IAttributeFilterConfigs, resultFuncArgs_4: import("../store/visualization_classes/visualization_classes_state.js").IVisualizationClassState, resultFuncArgs_5: IDateDatasets, resultFuncArgs_6: IUsedDateDatasets, resultFuncArgs_7: IStoredVisualizationProperties, resultFuncArgs_8: boolean, resultFuncArgs_9: IActiveCalendars | undefined) => import("../typings/bear/bearTypes.js").IVisualizationObjectContent;
|
|
1561
|
-
memoizedResultFunc: ((resultFuncArgs_0: IDecoratedBuckets, resultFuncArgs_1: readonly IFilter[], resultFuncArgs_2: readonly IParameterFilter[], resultFuncArgs_3: IAttributeFilterConfigs, resultFuncArgs_4: import("../store/visualization_classes/visualization_classes_state.js").IVisualizationClassState, resultFuncArgs_5: IDateDatasets, resultFuncArgs_6: IUsedDateDatasets, resultFuncArgs_7: IStoredVisualizationProperties, resultFuncArgs_8: boolean, resultFuncArgs_9: IActiveCalendars | undefined) => import("../typings/bear/bearTypes.js").IVisualizationObjectContent) & {
|
|
1560
|
+
resultFunc: (resultFuncArgs_0: IDecoratedBuckets, resultFuncArgs_1: readonly IFilter[], resultFuncArgs_2: readonly IParameterFilter[], resultFuncArgs_3: IAttributeFilterConfigs, resultFuncArgs_4: import("../store/visualization_classes/visualization_classes_state.js").IVisualizationClassState, resultFuncArgs_5: IDateDatasets, resultFuncArgs_6: IUsedDateDatasets, resultFuncArgs_7: IStoredVisualizationProperties, resultFuncArgs_8: boolean, resultFuncArgs_9: IActiveCalendars | undefined, resultFuncArgs_10: boolean) => import("../typings/bear/bearTypes.js").IVisualizationObjectContent;
|
|
1561
|
+
memoizedResultFunc: ((resultFuncArgs_0: IDecoratedBuckets, resultFuncArgs_1: readonly IFilter[], resultFuncArgs_2: readonly IParameterFilter[], resultFuncArgs_3: IAttributeFilterConfigs, resultFuncArgs_4: import("../store/visualization_classes/visualization_classes_state.js").IVisualizationClassState, resultFuncArgs_5: IDateDatasets, resultFuncArgs_6: IUsedDateDatasets, resultFuncArgs_7: IStoredVisualizationProperties, resultFuncArgs_8: boolean, resultFuncArgs_9: IActiveCalendars | undefined, resultFuncArgs_10: boolean) => import("../typings/bear/bearTypes.js").IVisualizationObjectContent) & {
|
|
1562
1562
|
clearCache: () => void;
|
|
1563
1563
|
resultsCount: () => number;
|
|
1564
1564
|
resetResultsCount: () => void;
|
|
@@ -1904,6 +1904,26 @@ export declare const currentReportMDObject: ((state: IAppState) => import("../ty
|
|
|
1904
1904
|
} & {
|
|
1905
1905
|
memoize: typeof import("reselect").weakMapMemoize;
|
|
1906
1906
|
argsMemoize: typeof import("reselect").weakMapMemoize;
|
|
1907
|
+
}, ((state: IAppState) => boolean) & {
|
|
1908
|
+
clearCache: () => void;
|
|
1909
|
+
resultsCount: () => number;
|
|
1910
|
+
resetResultsCount: () => void;
|
|
1911
|
+
} & {
|
|
1912
|
+
resultFunc: (resultFuncArgs_0: import("@gooddata/sdk-model").IUserWorkspaceSettings) => boolean;
|
|
1913
|
+
memoizedResultFunc: ((resultFuncArgs_0: import("@gooddata/sdk-model").IUserWorkspaceSettings) => boolean) & {
|
|
1914
|
+
clearCache: () => void;
|
|
1915
|
+
resultsCount: () => number;
|
|
1916
|
+
resetResultsCount: () => void;
|
|
1917
|
+
};
|
|
1918
|
+
lastResult: () => boolean;
|
|
1919
|
+
dependencies: [typeof getFeatureFlags];
|
|
1920
|
+
recomputations: () => number;
|
|
1921
|
+
resetRecomputations: () => void;
|
|
1922
|
+
dependencyRecomputations: () => number;
|
|
1923
|
+
resetDependencyRecomputations: () => void;
|
|
1924
|
+
} & {
|
|
1925
|
+
memoize: typeof import("reselect").weakMapMemoize;
|
|
1926
|
+
argsMemoize: typeof import("reselect").weakMapMemoize;
|
|
1907
1927
|
}];
|
|
1908
1928
|
recomputations: () => number;
|
|
1909
1929
|
resetRecomputations: () => void;
|
|
@@ -1918,8 +1938,8 @@ export declare const currentReportMDObjectExtended: ((state: IAppState) => impor
|
|
|
1918
1938
|
resultsCount: () => number;
|
|
1919
1939
|
resetResultsCount: () => void;
|
|
1920
1940
|
} & {
|
|
1921
|
-
resultFunc: (resultFuncArgs_0: IDecoratedBuckets, resultFuncArgs_1: readonly IFilter[], resultFuncArgs_2: readonly IParameterFilter[], resultFuncArgs_3: IAttributeFilterConfigs, resultFuncArgs_4: import("../store/visualization_classes/visualization_classes_state.js").IVisualizationClassState, resultFuncArgs_5: IDateDatasets, resultFuncArgs_6: IUsedDateDatasets, resultFuncArgs_7: IStoredVisualizationProperties, resultFuncArgs_8: boolean, resultFuncArgs_9: ISortItem[], resultFuncArgs_10: IActiveCalendars | undefined) => import("../typings/bear/bearTypes.js").IVisualizationObjectContent;
|
|
1922
|
-
memoizedResultFunc: ((resultFuncArgs_0: IDecoratedBuckets, resultFuncArgs_1: readonly IFilter[], resultFuncArgs_2: readonly IParameterFilter[], resultFuncArgs_3: IAttributeFilterConfigs, resultFuncArgs_4: import("../store/visualization_classes/visualization_classes_state.js").IVisualizationClassState, resultFuncArgs_5: IDateDatasets, resultFuncArgs_6: IUsedDateDatasets, resultFuncArgs_7: IStoredVisualizationProperties, resultFuncArgs_8: boolean, resultFuncArgs_9: ISortItem[], resultFuncArgs_10: IActiveCalendars | undefined) => import("../typings/bear/bearTypes.js").IVisualizationObjectContent) & {
|
|
1941
|
+
resultFunc: (resultFuncArgs_0: IDecoratedBuckets, resultFuncArgs_1: readonly IFilter[], resultFuncArgs_2: readonly IParameterFilter[], resultFuncArgs_3: IAttributeFilterConfigs, resultFuncArgs_4: import("../store/visualization_classes/visualization_classes_state.js").IVisualizationClassState, resultFuncArgs_5: IDateDatasets, resultFuncArgs_6: IUsedDateDatasets, resultFuncArgs_7: IStoredVisualizationProperties, resultFuncArgs_8: boolean, resultFuncArgs_9: ISortItem[], resultFuncArgs_10: IActiveCalendars | undefined, resultFuncArgs_11: boolean) => import("../typings/bear/bearTypes.js").IVisualizationObjectContent;
|
|
1942
|
+
memoizedResultFunc: ((resultFuncArgs_0: IDecoratedBuckets, resultFuncArgs_1: readonly IFilter[], resultFuncArgs_2: readonly IParameterFilter[], resultFuncArgs_3: IAttributeFilterConfigs, resultFuncArgs_4: import("../store/visualization_classes/visualization_classes_state.js").IVisualizationClassState, resultFuncArgs_5: IDateDatasets, resultFuncArgs_6: IUsedDateDatasets, resultFuncArgs_7: IStoredVisualizationProperties, resultFuncArgs_8: boolean, resultFuncArgs_9: ISortItem[], resultFuncArgs_10: IActiveCalendars | undefined, resultFuncArgs_11: boolean) => import("../typings/bear/bearTypes.js").IVisualizationObjectContent) & {
|
|
1923
1943
|
clearCache: () => void;
|
|
1924
1944
|
resultsCount: () => number;
|
|
1925
1945
|
resetResultsCount: () => void;
|
|
@@ -2305,6 +2325,26 @@ export declare const currentReportMDObjectExtended: ((state: IAppState) => impor
|
|
|
2305
2325
|
} & {
|
|
2306
2326
|
memoize: typeof import("reselect").weakMapMemoize;
|
|
2307
2327
|
argsMemoize: typeof import("reselect").weakMapMemoize;
|
|
2328
|
+
}, ((state: IAppState) => boolean) & {
|
|
2329
|
+
clearCache: () => void;
|
|
2330
|
+
resultsCount: () => number;
|
|
2331
|
+
resetResultsCount: () => void;
|
|
2332
|
+
} & {
|
|
2333
|
+
resultFunc: (resultFuncArgs_0: import("@gooddata/sdk-model").IUserWorkspaceSettings) => boolean;
|
|
2334
|
+
memoizedResultFunc: ((resultFuncArgs_0: import("@gooddata/sdk-model").IUserWorkspaceSettings) => boolean) & {
|
|
2335
|
+
clearCache: () => void;
|
|
2336
|
+
resultsCount: () => number;
|
|
2337
|
+
resetResultsCount: () => void;
|
|
2338
|
+
};
|
|
2339
|
+
lastResult: () => boolean;
|
|
2340
|
+
dependencies: [typeof getFeatureFlags];
|
|
2341
|
+
recomputations: () => number;
|
|
2342
|
+
resetRecomputations: () => void;
|
|
2343
|
+
dependencyRecomputations: () => number;
|
|
2344
|
+
resetDependencyRecomputations: () => void;
|
|
2345
|
+
} & {
|
|
2346
|
+
memoize: typeof import("reselect").weakMapMemoize;
|
|
2347
|
+
argsMemoize: typeof import("reselect").weakMapMemoize;
|
|
2308
2348
|
}];
|
|
2309
2349
|
recomputations: () => number;
|
|
2310
2350
|
resetRecomputations: () => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buckets_selector.d.ts","sourceRoot":"","sources":["../../src/selectors/buckets_selector.ts"],"names":[],"mappings":"AAKA,OAAO,EACH,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,SAAS,EAEd,KAAK,MAAM,EACd,MAAM,qBAAqB,CAAC;AAS7B,OAAO,EACH,UAAU,EACV,cAAc,EAEd,mBAAmB,EACnB,oBAAoB,EACvB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AACtG,OAAO,EAEH,qBAAqB,EACxB,MAAM,4CAA4C,CAAC;AAGpD,OAAO,EAAE,6BAA6B,EAAE,MAAM,+DAA+D,CAAC;AAE9G,OAAO,EAGH,sBAAsB,EAEzB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAa,KAAK,OAAO,EAAE,MAAM,yCAAyC,CAAC;AAClF,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,+CAA+C,CAAC;AACtF,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAGhG,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EACH,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,WAAW,EACnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACpF,OAAO,EAAE,KAAK,8BAA8B,EAAE,MAAM,0BAA0B,CAAC;AAE/E,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAGzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAGhF,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,
|
|
1
|
+
{"version":3,"file":"buckets_selector.d.ts","sourceRoot":"","sources":["../../src/selectors/buckets_selector.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,7 +27,7 @@ import { supportsAllAttributeValues } from "./backend_capabilities_selector.js";
|
|
|
27
27
|
import { getFormatLocale } from "./bootstrap_selector.js";
|
|
28
28
|
import { canApplyCustomSort } from "./chart_sort_selectors.js";
|
|
29
29
|
import { getBucketsExtended } from "./extended_reference_point_selector.js";
|
|
30
|
-
import { getActiveCalendars, getFeatureFlags } from "./feature_flag_selector.js";
|
|
30
|
+
import { enableImprovedMetricDateFilter, getActiveCalendars, getFeatureFlags, } from "./feature_flag_selector.js";
|
|
31
31
|
import { getIntl } from "./intl_selector.js";
|
|
32
32
|
import { getItemCache } from "./item_cache_selector.js";
|
|
33
33
|
import { getUsedDateDatasetsExtendedSelector, selectedDateDatasetsSelector, } from "./selected_date_datasets_selector.js";
|
|
@@ -116,7 +116,7 @@ export const bucketsSelector = createStructuredSelector({
|
|
|
116
116
|
isFiscalCalendarActive,
|
|
117
117
|
isStandardCalendarActive,
|
|
118
118
|
});
|
|
119
|
-
function constructVisualizationMDObj(buckets, filters, parameterFilters, attributeFilterConfigs, visualizationClass, dateDatasets, usedDateDatasets, currentVisualizationProperties, canApplySort, appliedSort, activeCalendars) {
|
|
119
|
+
function constructVisualizationMDObj(buckets, filters, parameterFilters, attributeFilterConfigs, visualizationClass, dateDatasets, usedDateDatasets, currentVisualizationProperties, canApplySort, appliedSort, activeCalendars, useEmptyValueHandling) {
|
|
120
120
|
const dateFilter = filters.find(FilterBar.isDateFilter);
|
|
121
121
|
const dateFilterDateDatasetRef = dateFilter ? dateFilter.dateDatasetRef : undefined; // for PoP measures
|
|
122
122
|
const bucketsMDObj = bucketsToMetadata(buckets, {
|
|
@@ -125,7 +125,7 @@ function constructVisualizationMDObj(buckets, filters, parameterFilters, attribu
|
|
|
125
125
|
dateFilterDateDatasetRef,
|
|
126
126
|
activeCalendars,
|
|
127
127
|
});
|
|
128
|
-
const filtersMDObj = filtersToMetadata(filters, attributeFilterConfigs, dateDatasets);
|
|
128
|
+
const filtersMDObj = filtersToMetadata(filters, attributeFilterConfigs, dateDatasets, useEmptyValueHandling);
|
|
129
129
|
const filtersProp = isEmpty(filtersMDObj) ? {} : { filters: filtersMDObj };
|
|
130
130
|
const parametersMDObj = parametersToMetadata(parameterFilters);
|
|
131
131
|
const parametersProp = isEmpty(parametersMDObj) ? {} : { parameters: parametersMDObj };
|
|
@@ -162,8 +162,8 @@ function constructVisualizationMDObj(buckets, filters, parameterFilters, attribu
|
|
|
162
162
|
properties: stringifiedProperties,
|
|
163
163
|
});
|
|
164
164
|
}
|
|
165
|
-
export const currentReportMDObject = createSelector(getDecoratedBuckets, getFilterItems, getParameterFilters, getAttributeFilterConfigs, getVisualizationClass, DateDatasetsService.getPlainDateDatasets, getUsedDateDatasets, VisualizationPropertiesSelectors.getExtendedReferencePointProperties, canApplyCustomSort, getActiveCalendars, (buckets, filters, parameterFilters, attributeFilterConfigs, visualizationClass, dateDatasets, usedDateDatasets, currentVisualizationProperties, applySort, activeCalendars) => constructVisualizationMDObj(buckets, filters, parameterFilters, attributeFilterConfigs, visualizationClass, dateDatasets, usedDateDatasets, currentVisualizationProperties, applySort, undefined, activeCalendars));
|
|
166
|
-
export const currentReportMDObjectExtended = createSelector(getDecoratedBucketsExtended, getFilterItemsExtended, getParameterFilters, getAttributeFilterConfigs, getVisualizationClass, DateDatasetsService.getPlainDateDatasets, getUsedDateDatasetsExtendedSelector, VisualizationPropertiesSelectors.getExtendedReferencePointProperties, canApplyCustomSort, getAppliedSort, getActiveCalendars, (buckets, filtersExtended, parameterFilters, attributeFilterConfigs, visualizationClass, dateDatasets, usedDateDatasets, currentVisualizationProperties, applySort, appliedSort, activeCalendars) => constructVisualizationMDObj(buckets, filtersExtended, parameterFilters, attributeFilterConfigs, visualizationClass, dateDatasets, usedDateDatasets, currentVisualizationProperties, applySort, appliedSort, activeCalendars));
|
|
165
|
+
export const currentReportMDObject = createSelector(getDecoratedBuckets, getFilterItems, getParameterFilters, getAttributeFilterConfigs, getVisualizationClass, DateDatasetsService.getPlainDateDatasets, getUsedDateDatasets, VisualizationPropertiesSelectors.getExtendedReferencePointProperties, canApplyCustomSort, getActiveCalendars, enableImprovedMetricDateFilter, (buckets, filters, parameterFilters, attributeFilterConfigs, visualizationClass, dateDatasets, usedDateDatasets, currentVisualizationProperties, applySort, activeCalendars, useEmptyValueHandling) => constructVisualizationMDObj(buckets, filters, parameterFilters, attributeFilterConfigs, visualizationClass, dateDatasets, usedDateDatasets, currentVisualizationProperties, applySort, undefined, activeCalendars, useEmptyValueHandling));
|
|
166
|
+
export const currentReportMDObjectExtended = createSelector(getDecoratedBucketsExtended, getFilterItemsExtended, getParameterFilters, getAttributeFilterConfigs, getVisualizationClass, DateDatasetsService.getPlainDateDatasets, getUsedDateDatasetsExtendedSelector, VisualizationPropertiesSelectors.getExtendedReferencePointProperties, canApplyCustomSort, getAppliedSort, getActiveCalendars, enableImprovedMetricDateFilter, (buckets, filtersExtended, parameterFilters, attributeFilterConfigs, visualizationClass, dateDatasets, usedDateDatasets, currentVisualizationProperties, applySort, appliedSort, activeCalendars, useEmptyValueHandling) => constructVisualizationMDObj(buckets, filtersExtended, parameterFilters, attributeFilterConfigs, visualizationClass, dateDatasets, usedDateDatasets, currentVisualizationProperties, applySort, appliedSort, activeCalendars, useEmptyValueHandling));
|
|
167
167
|
function isMeasuresBucket(bucket) {
|
|
168
168
|
const acceptedBucketItemTypes = bucket.accepts;
|
|
169
169
|
return (acceptedBucketItemTypes &&
|