@gooddata/sdk-ui-dashboard 9.10.0-alpha.6 → 9.10.0-alpha.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/__version.d.ts +1 -1
- package/esm/__version.js +1 -1
- package/esm/locales.d.ts.map +1 -1
- package/esm/locales.js +2 -0
- package/esm/locales.js.map +1 -1
- package/esm/model/index.d.ts +1 -0
- package/esm/model/index.d.ts.map +1 -1
- package/esm/model/index.js +1 -1
- package/esm/model/index.js.map +1 -1
- package/esm/model/queries/availableDatasetsForItems.d.ts +23 -0
- package/esm/model/queries/availableDatasetsForItems.d.ts.map +1 -0
- package/esm/model/queries/availableDatasetsForItems.js +20 -0
- package/esm/model/queries/availableDatasetsForItems.js.map +1 -0
- package/esm/model/queries/base.d.ts +1 -1
- package/esm/model/queries/base.d.ts.map +1 -1
- package/esm/model/queries/index.d.ts +3 -1
- package/esm/model/queries/index.d.ts.map +1 -1
- package/esm/model/queries/index.js +1 -0
- package/esm/model/queries/index.js.map +1 -1
- package/esm/model/queryServices/index.d.ts +1 -1
- package/esm/model/queryServices/index.d.ts.map +1 -1
- package/esm/model/queryServices/index.js +2 -0
- package/esm/model/queryServices/index.js.map +1 -1
- package/esm/model/queryServices/queryAvailableDatasetsForItems.d.ts +4 -0
- package/esm/model/queryServices/queryAvailableDatasetsForItems.d.ts.map +1 -0
- package/esm/model/queryServices/queryAvailableDatasetsForItems.js +17 -0
- package/esm/model/queryServices/queryAvailableDatasetsForItems.js.map +1 -0
- package/esm/model/store/config/configSelectors.d.ts +6 -0
- package/esm/model/store/config/configSelectors.d.ts.map +1 -1
- package/esm/model/store/config/configSelectors.js +8 -0
- package/esm/model/store/config/configSelectors.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/model/types/dateFilterTypes.d.ts +15 -0
- package/esm/model/types/dateFilterTypes.d.ts.map +1 -0
- package/esm/model/types/dateFilterTypes.js +3 -0
- package/esm/model/types/dateFilterTypes.js.map +1 -0
- package/esm/presentation/filterBar/attributeFilter/AttributeFilterParentFilteringContext.d.ts +4 -2
- package/esm/presentation/filterBar/attributeFilter/AttributeFilterParentFilteringContext.d.ts.map +1 -1
- package/esm/presentation/filterBar/attributeFilter/AttributeFilterParentFilteringContext.js +17 -1
- package/esm/presentation/filterBar/attributeFilter/AttributeFilterParentFilteringContext.js.map +1 -1
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/AttributeFilterConfiguration.d.ts.map +1 -1
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/AttributeFilterConfiguration.js +11 -4
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/AttributeFilterConfiguration.js.map +1 -1
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/hooks/useAvailableDatasetsForItems.d.ts +16 -0
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/hooks/useAvailableDatasetsForItems.d.ts.map +1 -0
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/hooks/useAvailableDatasetsForItems.js +34 -0
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/hooks/useAvailableDatasetsForItems.js.map +1 -0
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/hooks/useDependentDateFilterConfigurationState.d.ts +7 -0
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/hooks/useDependentDateFilterConfigurationState.d.ts.map +1 -0
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/hooks/useDependentDateFilterConfigurationState.js +48 -0
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/hooks/useDependentDateFilterConfigurationState.js.map +1 -0
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/hooks/useDependentDateFiltersConfiguration.d.ts +7 -0
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/hooks/useDependentDateFiltersConfiguration.d.ts.map +1 -0
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/hooks/useDependentDateFiltersConfiguration.js +18 -0
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/hooks/useDependentDateFiltersConfiguration.js.map +1 -0
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/limitValues/LimitValuesConfiguration.d.ts +4 -2
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/limitValues/LimitValuesConfiguration.d.ts.map +1 -1
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/limitValues/LimitValuesConfiguration.js +2 -2
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/limitValues/LimitValuesConfiguration.js.map +1 -1
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/limitValues/dialog/AddLimitingItemDialog.d.ts +4 -2
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/limitValues/dialog/AddLimitingItemDialog.d.ts.map +1 -1
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/limitValues/dialog/AddLimitingItemDialog.js +5 -3
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/limitValues/dialog/AddLimitingItemDialog.js.map +1 -1
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/limitValues/dialog/DateFiltersPage.d.ts +17 -0
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/limitValues/dialog/DateFiltersPage.d.ts.map +1 -0
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/limitValues/dialog/DateFiltersPage.js +31 -0
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/limitValues/dialog/DateFiltersPage.js.map +1 -0
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/limitValues/dialog/ParentFiltersPage.d.ts +5 -2
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/limitValues/dialog/ParentFiltersPage.d.ts.map +1 -1
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/limitValues/dialog/ParentFiltersPage.js +10 -5
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/limitValues/dialog/ParentFiltersPage.js.map +1 -1
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/limitValues/shared/LimitingItem.d.ts.map +1 -1
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/limitValues/shared/LimitingItem.js +4 -0
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/limitValues/shared/LimitingItem.js.map +1 -1
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/limitValues/shared/limitingItemsHook.d.ts +6 -3
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/limitValues/shared/limitingItemsHook.d.ts.map +1 -1
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/limitValues/shared/limitingItemsHook.js +70 -4
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/limitValues/shared/limitingItemsHook.js.map +1 -1
- package/esm/presentation/filterBar/attributeFilter/types.d.ts +2 -2
- package/esm/presentation/filterBar/attributeFilter/types.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/en-US.json +10 -0
- package/esm/sdk-ui-dashboard.d.ts +47 -3
- package/package.json +15 -15
- package/styles/css/attributeFilterConfig.css +17 -0
- package/styles/css/attributeFilterConfig.css.map +1 -1
- package/styles/css/main.css +17 -0
- package/styles/css/main.css.map +1 -1
- package/styles/scss/attributeFilterConfig.scss +20 -0
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import React, { useContext, useMemo, useCallback } from "react";
|
|
3
3
|
import { invariant } from "ts-invariant";
|
|
4
4
|
import { filterObjRef, areObjRefsEqual, DashboardAttributeFilterConfigModeValues, } from "@gooddata/sdk-model";
|
|
5
|
-
import { selectAllCatalogDisplayFormsMap, selectAttributeFilterDisplayFormsMap, selectOtherContextAttributeFilters, useDashboardSelector, } from "../../../model/index.js";
|
|
5
|
+
import { selectAllCatalogDisplayFormsMap, selectAttributeFilterDisplayFormsMap, selectFilterContextDateFilter, selectFilterContextDateFiltersWithDimension, selectOtherContextAttributeFilters, useDashboardSelector, } from "../../../model/index.js";
|
|
6
6
|
import { dashboardAttributeFilterToAttributeFilter } from "../../../_staging/dashboard/dashboardFilterConverter.js";
|
|
7
7
|
import { useParentsConfiguration } from "./dashboardDropdownBody/configuration/hooks/useParentsConfiguration.js";
|
|
8
8
|
import { useDisplayFormConfiguration } from "./dashboardDropdownBody/configuration/hooks/useDisplayFormConfiguration.js";
|
|
@@ -10,6 +10,7 @@ import { useTitleConfiguration } from "./dashboardDropdownBody/configuration/hoo
|
|
|
10
10
|
import { useSelectionModeConfiguration } from "./dashboardDropdownBody/configuration/hooks/useSelectionModeConfiguration.js";
|
|
11
11
|
import { useModeConfiguration } from "./dashboardDropdownBody/configuration/hooks/useModeConfiguration.js";
|
|
12
12
|
import { useLimitingItemsConfiguration } from "./dashboardDropdownBody/configuration/hooks/useLimitingItemsConfiguration.js";
|
|
13
|
+
import { useDependentDateFiltersConfiguration } from "./dashboardDropdownBody/configuration/hooks/useDependentDateFiltersConfiguration.js";
|
|
13
14
|
export const AttributeFilterParentFiltering = React.createContext(null); // TODO: Fix typing
|
|
14
15
|
AttributeFilterParentFiltering.displayName = "AttributeFilterParentFiltering";
|
|
15
16
|
/**
|
|
@@ -21,6 +22,14 @@ export const useAttributeFilterParentFiltering = () => useContext(AttributeFilte
|
|
|
21
22
|
*/
|
|
22
23
|
export const AttributeFilterParentFilteringProvider = (props) => {
|
|
23
24
|
const { children, filter: currentFilter, attributes } = props;
|
|
25
|
+
const availableDatasetsForFilter = useMemo(() => [
|
|
26
|
+
{
|
|
27
|
+
attribute: {
|
|
28
|
+
localIdentifier: currentFilter.attributeFilter.localIdentifier,
|
|
29
|
+
displayForm: currentFilter.attributeFilter.displayForm,
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
], [currentFilter]);
|
|
24
33
|
const attributeFilter = useMemo(() => dashboardAttributeFilterToAttributeFilter(currentFilter), [currentFilter]);
|
|
25
34
|
const memoizedAttributes = useMemo(() => {
|
|
26
35
|
return attributes ?? [];
|
|
@@ -29,6 +38,8 @@ export const AttributeFilterParentFilteringProvider = (props) => {
|
|
|
29
38
|
return filterObjRef(attributeFilter);
|
|
30
39
|
}, [attributeFilter]);
|
|
31
40
|
const neighborFilters = useDashboardSelector(selectOtherContextAttributeFilters(filterRef));
|
|
41
|
+
const neighborDateFilters = useDashboardSelector(selectFilterContextDateFiltersWithDimension);
|
|
42
|
+
const commonDateFilter = useDashboardSelector(selectFilterContextDateFilter);
|
|
32
43
|
const catalogDisplayFormsMap = useDashboardSelector(selectAllCatalogDisplayFormsMap);
|
|
33
44
|
const attributeFilterDisplayFormsMap = useDashboardSelector(selectAttributeFilterDisplayFormsMap);
|
|
34
45
|
const filterDisplayForm = attributeFilterDisplayFormsMap.get(currentFilter.attributeFilter.displayForm);
|
|
@@ -37,6 +48,7 @@ export const AttributeFilterParentFilteringProvider = (props) => {
|
|
|
37
48
|
const attributeFilterDisplayForm = filterDisplayForm.attribute;
|
|
38
49
|
const defaultAttributeFilterTitle = catalogDisplayFormsMap.get(filterDisplayForm.attribute)?.title ?? attributeByDisplayForm?.title;
|
|
39
50
|
const { parents, configurationChanged, onParentSelect, onConnectingAttributeChanged, onParentFiltersChange, onConfigurationClose: onParentFiltersClose, } = useParentsConfiguration(neighborFilters, currentFilter);
|
|
51
|
+
const { dependentDateFilters, onConfigurationClose: onDependentDateFiltersClose } = useDependentDateFiltersConfiguration(neighborDateFilters, currentFilter, commonDateFilter);
|
|
40
52
|
const { onDisplayFormSelect, filterDisplayForms, displayFormChanged, onDisplayFormChange, onConfigurationClose: onDisplayFormClose, displayFormChangeStatus, } = useDisplayFormConfiguration(currentFilter, memoizedAttributes);
|
|
41
53
|
const { title, titleChanged, titleChangeStatus, onTitleUpdate, onTitleReset, onTitleChange, onConfigurationClose: onTitleClose, } = useTitleConfiguration(currentFilter, defaultAttributeFilterTitle);
|
|
42
54
|
const { selectionMode, selectionModeChanged, onSelectionModeChange, onSelectionModeUpdate, onConfigurationClose: onSelectionModeClose, } = useSelectionModeConfiguration(currentFilter);
|
|
@@ -72,6 +84,7 @@ export const AttributeFilterParentFilteringProvider = (props) => {
|
|
|
72
84
|
onSelectionModeClose();
|
|
73
85
|
onModeClose();
|
|
74
86
|
onLimitingItemsClose();
|
|
87
|
+
onDependentDateFiltersClose();
|
|
75
88
|
}, [
|
|
76
89
|
onParentFiltersClose,
|
|
77
90
|
onDisplayFormClose,
|
|
@@ -79,6 +92,7 @@ export const AttributeFilterParentFilteringProvider = (props) => {
|
|
|
79
92
|
onSelectionModeClose,
|
|
80
93
|
onModeClose,
|
|
81
94
|
onLimitingItemsClose,
|
|
95
|
+
onDependentDateFiltersClose,
|
|
82
96
|
]);
|
|
83
97
|
const showDisplayFormPicker = filterDisplayForms.availableDisplayForms.length > 1;
|
|
84
98
|
const showResetTitle = title !== defaultAttributeFilterTitle;
|
|
@@ -117,6 +131,8 @@ export const AttributeFilterParentFilteringProvider = (props) => {
|
|
|
117
131
|
limitingItemsChanged,
|
|
118
132
|
onLimitingItemsUpdate,
|
|
119
133
|
onLimitingItemsChange,
|
|
134
|
+
availableDatasetsForFilter,
|
|
135
|
+
dependentDateFilters,
|
|
120
136
|
} }, children));
|
|
121
137
|
};
|
|
122
138
|
//# sourceMappingURL=AttributeFilterParentFilteringContext.js.map
|
package/esm/presentation/filterBar/attributeFilter/AttributeFilterParentFilteringContext.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AttributeFilterParentFilteringContext.js","sourceRoot":"","sources":["../../../../src/presentation/filterBar/attributeFilter/AttributeFilterParentFilteringContext.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EACH,YAAY,EAGZ,eAAe,EAEf,wCAAwC,
|
|
1
|
+
{"version":3,"file":"AttributeFilterParentFilteringContext.js","sourceRoot":"","sources":["../../../../src/presentation/filterBar/attributeFilter/AttributeFilterParentFilteringContext.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AttributeFilterConfiguration.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/AttributeFilterConfiguration.tsx"],"names":[],"mappings":"AACA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAIH,MAAM,EACT,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"AttributeFilterConfiguration.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/AttributeFilterConfiguration.tsx"],"names":[],"mappings":"AACA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAIH,MAAM,EACT,MAAM,qBAAqB,CAAC;AA4B7B,UAAU,kCAAkC;IACxC,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,wBAAwB,EAAE,MAAM,CAAC;IACjC,yBAAyB,EAAE,MAAM,CAAC;IAClC,8BAA8B,EAAE,MAAM,CAAC;IACvC,4BAA4B,EAAE,MAAM,CAAC;IACrC,IAAI,EAAE,SAAS,CAAC;IAChB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,qBAAqB,EAAE,OAAO,CAAC;CAClC;AAED,eAAO,MAAM,4BAA4B,EAAE,KAAK,CAAC,EAAE,CAAC,kCAAkC,CAsMrF,CAAC"}
|
|
@@ -11,6 +11,7 @@ import { ParentFiltersList } from "./parentFilters/ParentFiltersList.js";
|
|
|
11
11
|
import { AttributeDisplayFormsDropdown } from "./displayForms/AttributeDisplayFormsDropdown.js";
|
|
12
12
|
import { useAttributeFilterParentFiltering } from "../../AttributeFilterParentFilteringContext.js";
|
|
13
13
|
import { useConnectingAttributes } from "./hooks/useConnectingAttributes.js";
|
|
14
|
+
import { useAvailableDatasetsForItems } from "./hooks/useAvailableDatasetsForItems.js";
|
|
14
15
|
import { useAttributes } from "../../../../../_staging/sharedHooks/useAttributes.js";
|
|
15
16
|
import { AttributeTitleRenaming } from "../../../configuration/title/AttributeTitleRenaming.js";
|
|
16
17
|
import { SelectionMode } from "./selectionMode/SelectionMode.js";
|
|
@@ -35,9 +36,10 @@ export const AttributeFilterConfiguration = (props) => {
|
|
|
35
36
|
}, [neighborFilters]);
|
|
36
37
|
const currentFilter = useDashboardSelector(selectFilterContextAttributeFilters).find((filter) => neighborFilters.every((neighborFilter) => filter.attributeFilter.localIdentifier !== neighborFilter.attributeFilter.localIdentifier));
|
|
37
38
|
invariant(currentFilter, "Cannot find current filter in the filter context store.");
|
|
38
|
-
const { title, defaultAttributeFilterTitle, parents, onParentSelect, onConnectingAttributeChanged, showDisplayFormPicker, filterDisplayForms, onDisplayFormSelect, showResetTitle, onTitleUpdate, onTitleReset, selectionMode, onSelectionModeUpdate, mode, onModeUpdate, limitingItems, onLimitingItemsUpdate, } = useAttributeFilterParentFiltering();
|
|
39
|
+
const { title, defaultAttributeFilterTitle, parents, onParentSelect, onConnectingAttributeChanged, showDisplayFormPicker, filterDisplayForms, onDisplayFormSelect, showResetTitle, onTitleUpdate, onTitleReset, selectionMode, onSelectionModeUpdate, mode, onModeUpdate, limitingItems, onLimitingItemsUpdate, availableDatasetsForFilter, dependentDateFilters, } = useAttributeFilterParentFiltering();
|
|
39
40
|
const disableParentFiltersList = selectionMode === "single" && !supportsSingleSelectDependentFilters;
|
|
40
41
|
const { connectingAttributesLoading, connectingAttributes } = useConnectingAttributes(currentFilter.attributeFilter.displayForm, neighborFilterDisplayForms);
|
|
42
|
+
const { availableDatasetsForItemsLoading, availableDatasetForItems } = useAvailableDatasetsForItems(availableDatasetsForFilter);
|
|
41
43
|
const { validNeighbourAttributesLoading, validNeighbourAttributes } = useValidNeighbourAttributes(filterDisplayForms.selectedDisplayForm, neighborFilterDisplayForms);
|
|
42
44
|
const { attributes, attributesLoading } = useAttributes(neighborFilterDisplayForms);
|
|
43
45
|
const { metricsAndFacts, metricsAndFactsLoading } = useMetricsAndFacts();
|
|
@@ -50,11 +52,16 @@ export const AttributeFilterConfiguration = (props) => {
|
|
|
50
52
|
if (connectingAttributesLoading ||
|
|
51
53
|
attributesLoading ||
|
|
52
54
|
validNeighbourAttributesLoading ||
|
|
53
|
-
metricsAndFactsLoading
|
|
55
|
+
metricsAndFactsLoading ||
|
|
56
|
+
availableDatasetsForItemsLoading) {
|
|
54
57
|
return (React.createElement("div", { className: "gd-loading-equalizer-attribute-filter-config-wrap" },
|
|
55
58
|
React.createElement(LoadingSpinner, { className: "large gd-loading-equalizer-spinner", color: theme?.palette?.complementary?.c9 })));
|
|
56
59
|
}
|
|
57
|
-
if (!filterRef ||
|
|
60
|
+
if (!filterRef ||
|
|
61
|
+
!connectingAttributes ||
|
|
62
|
+
!validNeighbourAttributes ||
|
|
63
|
+
!attributes ||
|
|
64
|
+
!availableDatasetForItems) {
|
|
58
65
|
return null;
|
|
59
66
|
}
|
|
60
67
|
const handleModeChanged = (value) => {
|
|
@@ -64,7 +71,7 @@ export const AttributeFilterConfiguration = (props) => {
|
|
|
64
71
|
React.createElement(ConfigurationPanelHeader, null),
|
|
65
72
|
React.createElement(AttributeTitleRenaming, { categoryTitle: titleText, resetTitleText: resetTitleText, onClick: onTitleReset, onChange: onTitleUpdate, showResetTitle: showResetTitle, attributeTitle: title ?? defaultAttributeFilterTitle }),
|
|
66
73
|
React.createElement(SelectionMode, { selectionTitleText: selectionTitleText, multiSelectionOptionText: multiSelectionOptionText, singleSelectionOptionText: singleSelectionOptionText, singleSelectionDisabledTooltip: singleSelectionDisabledTooltip, selectionMode: selectionMode, onSelectionModeChange: onSelectionModeUpdate, disabled: getIsSelectionDisabled() }),
|
|
67
|
-
React.createElement(LocalizedLimitValuesConfiguration, { attributeTitle: title ?? defaultAttributeFilterTitle, parentFilters: parents, validParentFilters: validNeighbourAttributes, validateElementsBy: limitingItems, onLimitingItemUpdate: onLimitingItemsUpdate, onParentFilterUpdate: onParentSelect, metricsAndFacts: metricsAndFacts, intl: intl }),
|
|
74
|
+
React.createElement(LocalizedLimitValuesConfiguration, { attributeTitle: title ?? defaultAttributeFilterTitle, parentFilters: parents, validParentFilters: validNeighbourAttributes, validateElementsBy: limitingItems, onLimitingItemUpdate: onLimitingItemsUpdate, onParentFilterUpdate: onParentSelect, metricsAndFacts: metricsAndFacts, intl: intl, availableDatasets: availableDatasetForItems, dependentDateFilters: dependentDateFilters }),
|
|
68
75
|
showDependentFiltersConfiguration && parents.length > 0 ? (React.createElement(React.Fragment, null,
|
|
69
76
|
React.createElement(ConfigurationCategory, { categoryTitle: filterByText }),
|
|
70
77
|
React.createElement(ParentFiltersList, { currentFilterLocalId: currentFilter.attributeFilter.localIdentifier, parents: parents, setParents: onParentSelect, onConnectingAttributeChanged: onConnectingAttributeChanged, connectingAttributes: connectingAttributes, attributes: attributes, disabled: disableParentFiltersList, disabledTooltip: parentFiltersDisabledTooltip, validParents: validNeighbourAttributes }))) : null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AttributeFilterConfiguration.js","sourceRoot":"","sources":["../../../../../../src/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/AttributeFilterConfiguration.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"AttributeFilterConfiguration.js","sourceRoot":"","sources":["../../../../../../src/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/AttributeFilterConfiguration.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAE/D,OAAO,EAEH,wCAAwC,GAG3C,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EACH,oBAAoB,EACpB,kCAAkC,EAClC,mCAAmC,EACnC,0CAA0C,EAC1C,yBAAyB,GAC5B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAE,6BAA6B,EAAE,MAAM,iDAAiD,CAAC;AAChG,OAAO,EAAE,iCAAiC,EAAE,MAAM,gDAAgD,CAAC;AACnG,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,EAAE,4BAA4B,EAAE,MAAM,yCAAyC,CAAC;AACvF,OAAO,EAAE,aAAa,EAAE,MAAM,sDAAsD,CAAC;AACrF,OAAO,EAAE,sBAAsB,EAAE,MAAM,wDAAwD,CAAC;AAChG,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mDAAmD,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,2DAA2D,CAAC;AAE/F,OAAO,EAAE,2BAA2B,EAAE,MAAM,wCAAwC,CAAC;AACrF,OAAO,EAAE,iCAAiC,EAAE,MAAM,2CAA2C,CAAC;AAmB9F,MAAM,CAAC,MAAM,4BAA4B,GAAiD,CAAC,KAAK,EAAE,EAAE;IAChG,MAAM,EACF,SAAS,EACT,YAAY,EACZ,mBAAmB,EACnB,SAAS,EACT,cAAc,EACd,kBAAkB,EAClB,wBAAwB,EACxB,yBAAyB,EACzB,8BAA8B,EAC9B,4BAA4B,EAC5B,YAAY,EACZ,IAAI,EACJ,qBAAqB,EACrB,qBAAqB,GACxB,GAAG,KAAK,CAAC;IACV,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IAEzB,SAAS,CAAC,GAAG,EAAE;QACX,OAAO,GAAG,EAAE;YACR,YAAY,EAAE,CAAC;QACnB,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,MAAM,eAAe,GAAgC,oBAAoB,CACrE,kCAAkC,CAAC,SAAS,CAAC,CAChD,CAAC;IACF,MAAM,oCAAoC,GAAG,oBAAoB,CAC7D,0CAA0C,CAC7C,CAAC;IACF,MAAM,YAAY,GAAG,oBAAoB,CAAC,yBAAyB,CAAC,CAAC;IACrE,MAAM,iCAAiC,GAAG,CAAC,YAAY,CAAC,uCAAuC,CAAC;IAEhG,MAAM,0BAA0B,GAAG,OAAO,CAAC,GAAG,EAAE;QAC5C,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;IAC/E,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;IAEtB,MAAM,aAAa,GAAG,oBAAoB,CAAC,mCAAmC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAC5F,eAAe,CAAC,KAAK,CACjB,CAAC,cAAc,EAAE,EAAE,CACf,MAAM,CAAC,eAAe,CAAC,eAAe,KAAK,cAAc,CAAC,eAAe,CAAC,eAAe,CAChG,CACJ,CAAC;IAEF,SAAS,CAAC,aAAa,EAAE,yDAAyD,CAAC,CAAC;IAEpF,MAAM,EACF,KAAK,EACL,2BAA2B,EAC3B,OAAO,EACP,cAAc,EACd,4BAA4B,EAC5B,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,YAAY,EACZ,aAAa,EACb,qBAAqB,EACrB,IAAI,EACJ,YAAY,EACZ,aAAa,EACb,qBAAqB,EACrB,0BAA0B,EAC1B,oBAAoB,GACvB,GAAG,iCAAiC,EAAE,CAAC;IAExC,MAAM,wBAAwB,GAAG,aAAa,KAAK,QAAQ,IAAI,CAAC,oCAAoC,CAAC;IAErG,MAAM,EAAE,2BAA2B,EAAE,oBAAoB,EAAE,GAAG,uBAAuB,CACjF,aAAa,CAAC,eAAe,CAAC,WAAW,EACzC,0BAA0B,CAC7B,CAAC;IAEF,MAAM,EAAE,gCAAgC,EAAE,wBAAwB,EAAE,GAChE,4BAA4B,CAAC,0BAA0B,CAAC,CAAC;IAE7D,MAAM,EAAE,+BAA+B,EAAE,wBAAwB,EAAE,GAAG,2BAA2B,CAC7F,kBAAkB,CAAC,mBAAmB,EACtC,0BAA0B,CAC7B,CAAC;IAEF,MAAM,EAAE,UAAU,EAAE,iBAAiB,EAAE,GAAG,aAAa,CAAC,0BAA0B,CAAC,CAAC;IACpF,MAAM,EAAE,eAAe,EAAE,sBAAsB,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAEzE,MAAM,sBAAsB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC5C,IAAI,oCAAoC,EAAE,CAAC;YACvC,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IACpE,CAAC,EAAE,CAAC,OAAO,EAAE,oCAAoC,CAAC,CAAC,CAAC;IAEpD,IACI,2BAA2B;QAC3B,iBAAiB;QACjB,+BAA+B;QAC/B,sBAAsB;QACtB,gCAAgC,EAClC,CAAC;QACC,OAAO,CACH,6BAAK,SAAS,EAAC,mDAAmD;YAC9D,oBAAC,cAAc,IACX,SAAS,EAAC,oCAAoC,EAC9C,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,GAC1C,CACA,CACT,CAAC;IACN,CAAC;IAED,IACI,CAAC,SAAS;QACV,CAAC,oBAAoB;QACrB,CAAC,wBAAwB;QACzB,CAAC,UAAU;QACX,CAAC,wBAAwB,EAC3B,CAAC;QACC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,iBAAiB,GAAG,CAAC,KAAa,EAAE,EAAE;QACxC,YAAY,CAAC,KAA2C,CAAC,CAAC;IAC9D,CAAC,CAAC;IAEF,OAAO,CACH,6BAAK,SAAS,EAAC,oGAAoG;QAC/G,oBAAC,wBAAwB,OAAG;QAC5B,oBAAC,sBAAsB,IACnB,aAAa,EAAE,SAAS,EACxB,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,aAAa,EACvB,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,KAAK,IAAI,2BAA2B,GACtD;QACF,oBAAC,aAAa,IACV,kBAAkB,EAAE,kBAAkB,EACtC,wBAAwB,EAAE,wBAAwB,EAClD,yBAAyB,EAAE,yBAAyB,EACpD,8BAA8B,EAAE,8BAA8B,EAC9D,aAAa,EAAE,aAAa,EAC5B,qBAAqB,EAAE,qBAAqB,EAC5C,QAAQ,EAAE,sBAAsB,EAAE,GACpC;QACF,oBAAC,iCAAiC,IAC9B,cAAc,EAAE,KAAK,IAAI,2BAA2B,EACpD,aAAa,EAAE,OAAO,EACtB,kBAAkB,EAAE,wBAAwB,EAC5C,kBAAkB,EAAE,aAAa,EACjC,oBAAoB,EAAE,qBAAqB,EAC3C,oBAAoB,EAAE,cAAc,EACpC,eAAe,EAAE,eAAgB,EACjC,IAAI,EAAE,IAAI,EACV,iBAAiB,EAAE,wBAAwB,EAC3C,oBAAoB,EAAE,oBAAoB,GAC5C;QACD,iCAAiC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CACvD;YACI,oBAAC,qBAAqB,IAAC,aAAa,EAAE,YAAY,GAAI;YACtD,oBAAC,iBAAiB,IACd,oBAAoB,EAAE,aAAa,CAAC,eAAe,CAAC,eAAgB,EACpE,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,cAAc,EAC1B,4BAA4B,EAAE,4BAA4B,EAC1D,oBAAoB,EAAE,oBAAoB,EAC1C,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,wBAAwB,EAClC,eAAe,EAAE,4BAA4B,EAC7C,YAAY,EAAE,wBAAwB,GACxC,CACH,CACN,CAAC,CAAC,CAAC,IAAI;QACP,qBAAqB,CAAC,CAAC,CAAC,CACrB,6BAAK,SAAS,EAAC,8BAA8B;YACzC,oBAAC,qBAAqB,IAAC,aAAa,EAAE,mBAAmB,GAAI;YAC7D,6BAAK,SAAS,EAAC,0BAA0B;gBACrC,oBAAC,6BAA6B,IAC1B,YAAY,EAAE,kBAAkB,CAAC,qBAAqB,EACtD,mBAAmB,EAAE,kBAAkB,CAAC,mBAAmB,EAC3D,QAAQ,EAAE,mBAAmB,GAC/B,CACA,CACJ,CACT,CAAC,CAAC,CAAC,IAAI;QACP,qBAAqB,CAAC,CAAC,CAAC,CACrB;YACI,oBAAC,qBAAqB,IAAC,aAAa,EAAE,qBAAqB,GAAI;YAC/D,oBAAC,gBAAgB,IACb,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,IAAI,IAAI,wCAAwC,CAAC,MAAM,EACrE,SAAS,EAAE,iBAAiB,GAC9B,CACH,CACN,CAAC,CAAC,CAAC,IAAI,CACN,CACT,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { IAttributeOrMeasure, ICatalogDateDataset } from "@gooddata/sdk-model";
|
|
2
|
+
/**
|
|
3
|
+
* @internal
|
|
4
|
+
*/
|
|
5
|
+
export declare function useAvailableDatasetsForItems(items: IAttributeOrMeasure[]): {
|
|
6
|
+
availableDatasetForItems: never[];
|
|
7
|
+
availableDatasetForItemsError: undefined;
|
|
8
|
+
availableDatasetLoading: boolean;
|
|
9
|
+
availableDatasetsForItemsLoading?: undefined;
|
|
10
|
+
} | {
|
|
11
|
+
availableDatasetForItems: ICatalogDateDataset[] | undefined;
|
|
12
|
+
availableDatasetsForItemsLoading: boolean;
|
|
13
|
+
availableDatasetForItemsError: import("@gooddata/sdk-ui").GoodDataSdkError | undefined;
|
|
14
|
+
availableDatasetLoading?: undefined;
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=useAvailableDatasetsForItems.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAvailableDatasetsForItems.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/hooks/useAvailableDatasetsForItems.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAS/E;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,mBAAmB,EAAE;;;;;;;;;;EA4CxE"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
// (C) 2024 GoodData Corporation
|
|
2
|
+
import { useEffect, useMemo } from "react";
|
|
3
|
+
import { queryAvailableDatasetsForItems, selectEnableKDAttributeFilterDatesValidation, useDashboardQueryProcessing, useDashboardSelector, } from "../../../../../../model/index.js";
|
|
4
|
+
/**
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
7
|
+
export function useAvailableDatasetsForItems(items) {
|
|
8
|
+
const shouldLoadAvailableDatasetsForItems = useDashboardSelector(selectEnableKDAttributeFilterDatesValidation);
|
|
9
|
+
const { run: getAvilableDatasetForItems, result: availableDatasetForItems, status: availableDatasetForItemsLoadingStatus, error: availableDatasetForItemsError, } = useDashboardQueryProcessing({
|
|
10
|
+
queryCreator: queryAvailableDatasetsForItems,
|
|
11
|
+
});
|
|
12
|
+
useEffect(() => {
|
|
13
|
+
if (shouldLoadAvailableDatasetsForItems) {
|
|
14
|
+
getAvilableDatasetForItems(items);
|
|
15
|
+
}
|
|
16
|
+
}, [items, shouldLoadAvailableDatasetsForItems, getAvilableDatasetForItems]);
|
|
17
|
+
const availableDatasetsForItemsLoading = useMemo(() => {
|
|
18
|
+
return (availableDatasetForItemsLoadingStatus === "pending" ||
|
|
19
|
+
availableDatasetForItemsLoadingStatus === "running");
|
|
20
|
+
}, [availableDatasetForItemsLoadingStatus]);
|
|
21
|
+
if (!shouldLoadAvailableDatasetsForItems) {
|
|
22
|
+
return {
|
|
23
|
+
availableDatasetForItems: [],
|
|
24
|
+
availableDatasetForItemsError: undefined,
|
|
25
|
+
availableDatasetLoading: false,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
return {
|
|
29
|
+
availableDatasetForItems,
|
|
30
|
+
availableDatasetsForItemsLoading,
|
|
31
|
+
availableDatasetForItemsError,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=useAvailableDatasetsForItems.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAvailableDatasetsForItems.js","sourceRoot":"","sources":["../../../../../../../src/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/hooks/useAvailableDatasetsForItems.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAE3C,OAAO,EACH,8BAA8B,EAE9B,4CAA4C,EAC5C,2BAA2B,EAC3B,oBAAoB,GACvB,MAAM,kCAAkC,CAAC;AAE1C;;GAEG;AACH,MAAM,UAAU,4BAA4B,CAAC,KAA4B;IACrE,MAAM,mCAAmC,GAAG,oBAAoB,CAC5D,4CAA4C,CAC/C,CAAC;IAEF,MAAM,EACF,GAAG,EAAE,0BAA0B,EAC/B,MAAM,EAAE,wBAAwB,EAChC,MAAM,EAAE,qCAAqC,EAC7C,KAAK,EAAE,6BAA6B,GACvC,GAAG,2BAA2B,CAI7B;QACE,YAAY,EAAE,8BAA8B;KAC/C,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,mCAAmC,EAAE,CAAC;YACtC,0BAA0B,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;IACL,CAAC,EAAE,CAAC,KAAK,EAAE,mCAAmC,EAAE,0BAA0B,CAAC,CAAC,CAAC;IAE7E,MAAM,gCAAgC,GAAG,OAAO,CAAC,GAAG,EAAE;QAClD,OAAO,CACH,qCAAqC,KAAK,SAAS;YACnD,qCAAqC,KAAK,SAAS,CACtD,CAAC;IACN,CAAC,EAAE,CAAC,qCAAqC,CAAC,CAAC,CAAC;IAE5C,IAAI,CAAC,mCAAmC,EAAE,CAAC;QACvC,OAAO;YACH,wBAAwB,EAAE,EAAE;YAC5B,6BAA6B,EAAE,SAAS;YACxC,uBAAuB,EAAE,KAAK;SACjC,CAAC;IACN,CAAC;IAED,OAAO;QACH,wBAAwB;QACxB,gCAAgC;QAChC,6BAA6B;KAChC,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { IDashboardDateFilter } from "@gooddata/sdk-model";
|
|
2
|
+
import { IDashboardDependentDateFilter } from "../../../../../../model/index.js";
|
|
3
|
+
/**
|
|
4
|
+
* @internal
|
|
5
|
+
*/
|
|
6
|
+
export declare function useDependentDateFilterConfigurationState(neighborFilters: IDashboardDateFilter[], commonDateFilter?: IDashboardDateFilter): IDashboardDependentDateFilter[];
|
|
7
|
+
//# sourceMappingURL=useDependentDateFilterConfigurationState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDependentDateFilterConfigurationState.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/hooks/useDependentDateFilterConfigurationState.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAAY,MAAM,qBAAqB,CAAC;AAErE,OAAO,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AAEjF;;GAEG;AACH,wBAAgB,wCAAwC,CACpD,eAAe,EAAE,oBAAoB,EAAE,EACvC,gBAAgB,CAAC,EAAE,oBAAoB,mCA4B1C"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
// (C) 2024 GoodData Corporation
|
|
2
|
+
import { useMemo } from "react";
|
|
3
|
+
import { invariant } from "ts-invariant";
|
|
4
|
+
import { isUriRef } from "@gooddata/sdk-model";
|
|
5
|
+
/**
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
export function useDependentDateFilterConfigurationState(neighborFilters, commonDateFilter) {
|
|
9
|
+
const neighborDateFiltersWithDimensions = useMemo(() => {
|
|
10
|
+
return neighborFilters.map((neighborFilter) => {
|
|
11
|
+
const neighborLocalId = neighborFilter.dateFilter.dataSet;
|
|
12
|
+
invariant(!isUriRef(neighborLocalId));
|
|
13
|
+
invariant(neighborLocalId?.identifier, "Cannot initialize the attribute filter configuration panel, neighbor date filter has missing 'localIdentifier' property.");
|
|
14
|
+
return {
|
|
15
|
+
localIdentifier: neighborLocalId.identifier,
|
|
16
|
+
isSelected: false,
|
|
17
|
+
dataSet: neighborFilter.dateFilter.dataSet,
|
|
18
|
+
from: neighborFilter.dateFilter.from,
|
|
19
|
+
to: neighborFilter.dateFilter.to,
|
|
20
|
+
granularity: neighborFilter.dateFilter.granularity,
|
|
21
|
+
type: neighborFilter.dateFilter.type,
|
|
22
|
+
};
|
|
23
|
+
});
|
|
24
|
+
}, [neighborFilters]);
|
|
25
|
+
const commonFilter = parseCommonDateFilter(commonDateFilter);
|
|
26
|
+
return [...neighborDateFiltersWithDimensions, commonFilter];
|
|
27
|
+
}
|
|
28
|
+
const parseCommonDateFilter = (commonDate) => {
|
|
29
|
+
if (commonDate) {
|
|
30
|
+
return {
|
|
31
|
+
from: commonDate.dateFilter.from,
|
|
32
|
+
to: commonDate.dateFilter.to,
|
|
33
|
+
granularity: commonDate.dateFilter.granularity,
|
|
34
|
+
type: commonDate.dateFilter.type,
|
|
35
|
+
localIdentifier: "commonDate",
|
|
36
|
+
isSelected: true,
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
return {
|
|
41
|
+
granularity: "GDC.time.date",
|
|
42
|
+
isSelected: false,
|
|
43
|
+
type: "relative",
|
|
44
|
+
localIdentifier: "commonDate",
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=useDependentDateFilterConfigurationState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDependentDateFilterConfigurationState.js","sourceRoot":"","sources":["../../../../../../../src/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/hooks/useDependentDateFilterConfigurationState.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAwB,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAIrE;;GAEG;AACH,MAAM,UAAU,wCAAwC,CACpD,eAAuC,EACvC,gBAAuC;IAEvC,MAAM,iCAAiC,GAAoC,OAAO,CAAC,GAAG,EAAE;QACpF,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,EAAE;YAC1C,MAAM,eAAe,GAAG,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC;YAE1D,SAAS,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC;YAEtC,SAAS,CACL,eAAe,EAAE,UAAU,EAC3B,0HAA0H,CAC7H,CAAC;YAEF,OAAO;gBACH,eAAe,EAAE,eAAe,CAAC,UAAU;gBAC3C,UAAU,EAAE,KAAK;gBACjB,OAAO,EAAE,cAAc,CAAC,UAAU,CAAC,OAAO;gBAC1C,IAAI,EAAE,cAAc,CAAC,UAAU,CAAC,IAAI;gBACpC,EAAE,EAAE,cAAc,CAAC,UAAU,CAAC,EAAE;gBAChC,WAAW,EAAE,cAAc,CAAC,UAAU,CAAC,WAAW;gBAClD,IAAI,EAAE,cAAc,CAAC,UAAU,CAAC,IAAI;aACvC,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;IAEtB,MAAM,YAAY,GAAG,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;IAE7D,OAAO,CAAC,GAAG,iCAAiC,EAAE,YAAY,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,qBAAqB,GAAG,CAAC,UAAiC,EAAiC,EAAE;IAC/F,IAAI,UAAU,EAAE,CAAC;QACb,OAAO;YACH,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC,IAAI;YAChC,EAAE,EAAE,UAAU,CAAC,UAAU,CAAC,EAAE;YAC5B,WAAW,EAAE,UAAU,CAAC,UAAU,CAAC,WAAW;YAC9C,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC,IAAI;YAChC,eAAe,EAAE,YAAY;YAC7B,UAAU,EAAE,IAAI;SACnB,CAAC;IACN,CAAC;SAAM,CAAC;QACJ,OAAO;YACH,WAAW,EAAE,eAAe;YAC5B,UAAU,EAAE,KAAK;YACjB,IAAI,EAAE,UAAU;YAChB,eAAe,EAAE,YAAY;SAChC,CAAC;IACN,CAAC;AACL,CAAC,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { IDashboardAttributeFilter, IDashboardDateFilter } from "@gooddata/sdk-model";
|
|
2
|
+
import { IDashboardDependentDateFilter } from "../../../../../../model/index.js";
|
|
3
|
+
export declare function useDependentDateFiltersConfiguration(neighborDateFilters: IDashboardDateFilter[], currentFilter: IDashboardAttributeFilter, commonDateFilter?: IDashboardDateFilter): {
|
|
4
|
+
dependentDateFilters: IDashboardDependentDateFilter[];
|
|
5
|
+
onConfigurationClose: () => void;
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=useDependentDateFiltersConfiguration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDependentDateFiltersConfiguration.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/hooks/useDependentDateFiltersConfiguration.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAGtF,OAAO,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AAGjF,wBAAgB,oCAAoC,CAChD,mBAAmB,EAAE,oBAAoB,EAAE,EAC3C,aAAa,EAAE,yBAAyB,EACxC,gBAAgB,CAAC,EAAE,oBAAoB;;;EAsB1C"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
// (C) 2024 GoodData Corporation
|
|
2
|
+
import { useCallback, useState } from "react";
|
|
3
|
+
import { invariant } from "ts-invariant";
|
|
4
|
+
import { useDependentDateFilterConfigurationState } from "./useDependentDateFilterConfigurationState.js";
|
|
5
|
+
export function useDependentDateFiltersConfiguration(neighborDateFilters, currentFilter, commonDateFilter) {
|
|
6
|
+
const { localIdentifier: currentFilterLocalId } = currentFilter.attributeFilter;
|
|
7
|
+
invariant(currentFilterLocalId, "Cannot initialize the attribute filter configuration panel, filter has missing 'localIdentifier' property");
|
|
8
|
+
const originalState = useDependentDateFilterConfigurationState(neighborDateFilters, commonDateFilter);
|
|
9
|
+
const [dependentDateFilters, setDependentDateFilters] = useState(originalState);
|
|
10
|
+
const onConfigurationClose = useCallback(() => {
|
|
11
|
+
setDependentDateFilters(originalState);
|
|
12
|
+
}, [originalState]);
|
|
13
|
+
return {
|
|
14
|
+
dependentDateFilters,
|
|
15
|
+
onConfigurationClose,
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=useDependentDateFiltersConfiguration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDependentDateFiltersConfiguration.js","sourceRoot":"","sources":["../../../../../../../src/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/hooks/useDependentDateFiltersConfiguration.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE9C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,OAAO,EAAE,wCAAwC,EAAE,MAAM,+CAA+C,CAAC;AAEzG,MAAM,UAAU,oCAAoC,CAChD,mBAA2C,EAC3C,aAAwC,EACxC,gBAAuC;IAEvC,MAAM,EAAE,eAAe,EAAE,oBAAoB,EAAE,GAAG,aAAa,CAAC,eAAe,CAAC;IAEhF,SAAS,CACL,oBAAoB,EACpB,2GAA2G,CAC9G,CAAC;IAEF,MAAM,aAAa,GAAG,wCAAwC,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CAAC;IAEtG,MAAM,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,GACjD,QAAQ,CAAkC,aAAa,CAAC,CAAC;IAE7D,MAAM,oBAAoB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC1C,uBAAuB,CAAC,aAAa,CAAC,CAAC;IAC3C,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,OAAO;QACH,oBAAoB;QACpB,oBAAoB;KACvB,CAAC;AACN,CAAC"}
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { WrappedComponentProps } from "react-intl";
|
|
3
|
-
import { ObjRef } from "@gooddata/sdk-model";
|
|
4
|
-
import { IDashboardAttributeFilterParentItem, IMetricsAndFacts } from "../../../../../../model/index.js";
|
|
3
|
+
import { ObjRef, ICatalogDateDataset } from "@gooddata/sdk-model";
|
|
4
|
+
import { IDashboardAttributeFilterParentItem, IMetricsAndFacts, IDashboardDependentDateFilter } from "../../../../../../model/index.js";
|
|
5
5
|
interface ILimitValuesConfigurationProps {
|
|
6
6
|
attributeTitle?: string;
|
|
7
7
|
parentFilters: IDashboardAttributeFilterParentItem[];
|
|
8
8
|
validParentFilters: ObjRef[];
|
|
9
9
|
validateElementsBy: ObjRef[];
|
|
10
10
|
metricsAndFacts: IMetricsAndFacts;
|
|
11
|
+
availableDatasets: ICatalogDateDataset[];
|
|
12
|
+
dependentDateFilters: IDashboardDependentDateFilter[];
|
|
11
13
|
onLimitingItemUpdate: (items: ObjRef[]) => void;
|
|
12
14
|
onParentFilterUpdate: (localId: string, isSelected: boolean, overAttributes?: ObjRef[]) => void;
|
|
13
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LimitValuesConfiguration.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/limitValues/LimitValuesConfiguration.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmB,MAAM,OAAO,CAAC;AACxC,OAAO,EAA6B,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAE9E,OAAO,EAA6B,MAAM,EAAmB,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"LimitValuesConfiguration.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/limitValues/LimitValuesConfiguration.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmB,MAAM,OAAO,CAAC;AACxC,OAAO,EAA6B,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAE9E,OAAO,EAA6B,MAAM,EAAmB,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAI9G,OAAO,EACH,mCAAmC,EAGnC,gBAAgB,EAGhB,6BAA6B,EAChC,MAAM,kCAAkC,CAAC;AAU1C,UAAU,8BAA8B;IACpC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,mCAAmC,EAAE,CAAC;IACrD,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,eAAe,EAAE,gBAAgB,CAAC;IAClC,iBAAiB,EAAE,mBAAmB,EAAE,CAAC;IACzC,oBAAoB,EAAE,6BAA6B,EAAE,CAAC;IACtD,oBAAoB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAChD,oBAAoB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,CAAC,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CACnG;AA8FD,MAAM,MAAM,sCAAsC,GAAG,8BAA8B,GAAG,qBAAqB,CAAC;AAE5G,eAAO,MAAM,iCAAiC,EAAE,KAAK,CAAC,EAAE,CAAC,sCAAsC,CAe9F,CAAC"}
|
|
@@ -10,7 +10,7 @@ import { LimitingItem } from "./shared/LimitingItem.js";
|
|
|
10
10
|
import { useLimitingItems } from "./shared/limitingItemsHook.js";
|
|
11
11
|
import { AddLimitingItemDialog } from "./dialog/AddLimitingItemDialog.js";
|
|
12
12
|
const extractKey = (item) => isObjRef(item) ? serializeObjRef(item) : item.localIdentifier;
|
|
13
|
-
const LimitValuesConfiguration = ({ attributeTitle, parentFilters, validParentFilters, validateElementsBy, metricsAndFacts, onLimitingItemUpdate, onParentFilterUpdate, }) => {
|
|
13
|
+
const LimitValuesConfiguration = ({ attributeTitle, parentFilters, validParentFilters, validateElementsBy, metricsAndFacts, availableDatasets, dependentDateFilters, onLimitingItemUpdate, onParentFilterUpdate, }) => {
|
|
14
14
|
const intl = useIntl();
|
|
15
15
|
const { attributeFilterInteraction } = useDashboardUserInteraction();
|
|
16
16
|
const [isDropdownOpened, setIsDropdownOpened] = useState(false);
|
|
@@ -38,7 +38,7 @@ const LimitValuesConfiguration = ({ attributeTitle, parentFilters, validParentFi
|
|
|
38
38
|
}
|
|
39
39
|
};
|
|
40
40
|
return (React.createElement("div", null,
|
|
41
|
-
isDropdownOpened ? (React.createElement(AddLimitingItemDialog, { attributeTitle: attributeTitle, currentlySelectedItems: validateElementsBy, parentFilters: parentFilters, validParentFilters: validParentFilters, onSelect: onAdd, onClose: () => setIsDropdownOpened(false) })) : null,
|
|
41
|
+
isDropdownOpened ? (React.createElement(AddLimitingItemDialog, { attributeTitle: attributeTitle, currentlySelectedItems: validateElementsBy, parentFilters: parentFilters, validParentFilters: validParentFilters, dependentDateFilters: dependentDateFilters, availableDatasets: availableDatasets, onSelect: onAdd, onClose: () => setIsDropdownOpened(false) })) : null,
|
|
42
42
|
React.createElement("div", { className: "configuration-category attribute-filter__limit__title" },
|
|
43
43
|
React.createElement(Typography, { tagName: "h3" },
|
|
44
44
|
React.createElement(FormattedMessage, { id: "attributesDropdown.valuesLimiting.title" })),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LimitValuesConfiguration.js","sourceRoot":"","sources":["../../../../../../../src/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/limitValues/LimitValuesConfiguration.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAyB,MAAM,YAAY,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAU,eAAe,
|
|
1
|
+
{"version":3,"file":"LimitValuesConfiguration.js","sourceRoot":"","sources":["../../../../../../../src/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/limitValues/LimitValuesConfiguration.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { ObjRef } from "@gooddata/sdk-model";
|
|
3
|
-
import { IDashboardAttributeFilterParentItem } from "../../../../../../../model/index.js";
|
|
2
|
+
import { ICatalogDateDataset, ObjRef } from "@gooddata/sdk-model";
|
|
3
|
+
import { IDashboardAttributeFilterParentItem, IDashboardDependentDateFilter } from "../../../../../../../model/index.js";
|
|
4
4
|
import { ValuesLimitingItem } from "../../../../types.js";
|
|
5
5
|
export interface IAddLimitingItemDialogProps {
|
|
6
6
|
attributeTitle?: string;
|
|
7
7
|
parentFilters: IDashboardAttributeFilterParentItem[];
|
|
8
8
|
validParentFilters: ObjRef[];
|
|
9
9
|
currentlySelectedItems: ObjRef[];
|
|
10
|
+
dependentDateFilters: IDashboardDependentDateFilter[];
|
|
11
|
+
availableDatasets: ICatalogDateDataset[];
|
|
10
12
|
onSelect: (item: ValuesLimitingItem) => void;
|
|
11
13
|
onClose: () => void;
|
|
12
14
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddLimitingItemDialog.d.ts","sourceRoot":"","sources":["../../../../../../../../src/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/limitValues/dialog/AddLimitingItemDialog.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmB,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"AddLimitingItemDialog.d.ts","sourceRoot":"","sources":["../../../../../../../../src/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/limitValues/dialog/AddLimitingItemDialog.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmB,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAIlE,OAAO,EACH,mCAAmC,EACnC,6BAA6B,EAChC,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAkB1D,MAAM,WAAW,2BAA2B;IACxC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,mCAAmC,EAAE,CAAC;IACrD,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,sBAAsB,EAAE,MAAM,EAAE,CAAC;IACjC,oBAAoB,EAAE,6BAA6B,EAAE,CAAC;IACtD,iBAAiB,EAAE,mBAAmB,EAAE,CAAC;IACzC,QAAQ,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC7C,OAAO,EAAE,MAAM,IAAI,CAAC;CACvB;AAID,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,2BAA2B,CAyDvE,CAAC"}
|
|
@@ -4,6 +4,7 @@ import { ConfigurationBubble } from "../../../../../../widget/common/configurati
|
|
|
4
4
|
import { ActionSelectionPage } from "./ActionSelectionPage.js";
|
|
5
5
|
import { ParentFiltersPage } from "./ParentFiltersPage.js";
|
|
6
6
|
import { LimitingItemsPage } from "./LimitingItemsPage.js";
|
|
7
|
+
import { DateFiltersPage } from "./DateFiltersPage.js";
|
|
7
8
|
const ALIGN_POINTS = [
|
|
8
9
|
{
|
|
9
10
|
align: "tr tl",
|
|
@@ -14,11 +15,12 @@ const ALIGN_POINTS = [
|
|
|
14
15
|
offset: { x: -3, y: -63 },
|
|
15
16
|
},
|
|
16
17
|
];
|
|
17
|
-
export const AddLimitingItemDialog = ({ attributeTitle, currentlySelectedItems, parentFilters, validParentFilters, onSelect, onClose, }) => {
|
|
18
|
+
export const AddLimitingItemDialog = ({ attributeTitle, currentlySelectedItems, parentFilters, validParentFilters, dependentDateFilters, availableDatasets, onSelect, onClose, }) => {
|
|
18
19
|
const [page, setPage] = useState("options");
|
|
19
20
|
return (React.createElement(ConfigurationBubble, { alignTo: ".attribute-filter__limit__add-button", alignPoints: ALIGN_POINTS, onClose: onClose, classNames: "attribute-filter__limit__popup" },
|
|
20
21
|
page === "options" ? (React.createElement(ActionSelectionPage, { onAddFilters: () => setPage("filters"), onAddLimitingItems: () => setPage("items"), onClose: onClose })) : null,
|
|
21
|
-
page === "filters" ? (React.createElement(ParentFiltersPage, { attributeTitle: attributeTitle, parentFilters: parentFilters, validParentFilters: validParentFilters, onSelect: onSelect, onGoBack: () => setPage("options"), onClose: onClose })) : null,
|
|
22
|
-
page === "items" ? (React.createElement(LimitingItemsPage, { currentlySelectedItems: currentlySelectedItems, onSelect: onSelect, onGoBack: () => setPage("options"), onClose: onClose })) : null
|
|
22
|
+
page === "filters" ? (React.createElement(ParentFiltersPage, { attributeTitle: attributeTitle, parentFilters: parentFilters, validParentFilters: validParentFilters, onSelect: onSelect, onGoBack: () => setPage("options"), onClose: onClose, dependentDateFilters: dependentDateFilters, availableDatasets: availableDatasets, onCommonDateSelect: () => setPage("dates") })) : null,
|
|
23
|
+
page === "items" ? (React.createElement(LimitingItemsPage, { currentlySelectedItems: currentlySelectedItems, onSelect: onSelect, onGoBack: () => setPage("options"), onClose: onClose })) : null,
|
|
24
|
+
page === "dates" ? (React.createElement(DateFiltersPage, { onSelect: onSelect, onGoBack: () => setPage("options"), onClose: onClose, availableDatasets: availableDatasets })) : null));
|
|
23
25
|
};
|
|
24
26
|
//# sourceMappingURL=AddLimitingItemDialog.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddLimitingItemDialog.js","sourceRoot":"","sources":["../../../../../../../../src/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/limitValues/dialog/AddLimitingItemDialog.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAIxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,sEAAsE,CAAC;
|
|
1
|
+
{"version":3,"file":"AddLimitingItemDialog.js","sourceRoot":"","sources":["../../../../../../../../src/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/limitValues/dialog/AddLimitingItemDialog.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAIxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,sEAAsE,CAAC;AAO3G,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,YAAY,GAAkB;IAChC;QACI,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;KAC3B;IACD;QACI,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;KAC5B;CACJ,CAAC;AAeF,MAAM,CAAC,MAAM,qBAAqB,GAA0C,CAAC,EACzE,cAAc,EACd,sBAAsB,EACtB,aAAa,EACb,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,QAAQ,EACR,OAAO,GACV,EAAE,EAAE;IACD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAO,SAAS,CAAC,CAAC;IAElD,OAAO,CACH,oBAAC,mBAAmB,IAChB,OAAO,EAAC,sCAAsC,EAC9C,WAAW,EAAE,YAAY,EACzB,OAAO,EAAE,OAAO,EAChB,UAAU,EAAC,gCAAgC;QAE1C,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAClB,oBAAC,mBAAmB,IAChB,YAAY,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,EACtC,kBAAkB,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAC1C,OAAO,EAAE,OAAO,GAClB,CACL,CAAC,CAAC,CAAC,IAAI;QACP,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAClB,oBAAC,iBAAiB,IACd,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa,EAC5B,kBAAkB,EAAE,kBAAkB,EACtC,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,EAClC,OAAO,EAAE,OAAO,EAChB,oBAAoB,EAAE,oBAAoB,EAC1C,iBAAiB,EAAE,iBAAiB,EACpC,kBAAkB,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,GAC5C,CACL,CAAC,CAAC,CAAC,IAAI;QACP,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAChB,oBAAC,iBAAiB,IACd,sBAAsB,EAAE,sBAAsB,EAC9C,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,EAClC,OAAO,EAAE,OAAO,GAClB,CACL,CAAC,CAAC,CAAC,IAAI;QACP,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAChB,oBAAC,eAAe,IACZ,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,EAClC,OAAO,EAAE,OAAO,EAChB,iBAAiB,EAAE,iBAAiB,GACtC,CACL,CAAC,CAAC,CAAC,IAAI,CACU,CACzB,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { ICatalogDateDataset } from "@gooddata/sdk-model";
|
|
3
|
+
import { ValuesLimitingItem } from "../../../../types.js";
|
|
4
|
+
export interface IDateFiltersPageProps {
|
|
5
|
+
availableDatasets: ICatalogDateDataset[];
|
|
6
|
+
onSelect: (item: ValuesLimitingItem) => void;
|
|
7
|
+
onGoBack: () => void;
|
|
8
|
+
onClose: () => void;
|
|
9
|
+
}
|
|
10
|
+
interface IAttributeListItemProps {
|
|
11
|
+
item: ICatalogDateDataset;
|
|
12
|
+
onClick: () => void;
|
|
13
|
+
}
|
|
14
|
+
declare const DateAttributeListItem: React.FC<IAttributeListItemProps>;
|
|
15
|
+
export default DateAttributeListItem;
|
|
16
|
+
export declare const DateFiltersPage: React.FC<IDateFiltersPageProps>;
|
|
17
|
+
//# sourceMappingURL=DateFiltersPage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DateFiltersPage.d.ts","sourceRoot":"","sources":["../../../../../../../../src/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/limitValues/dialog/DateFiltersPage.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAGvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAG1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAM1D,MAAM,WAAW,qBAAqB;IAClC,iBAAiB,EAAE,mBAAmB,EAAE,CAAC;IACzC,QAAQ,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC7C,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,UAAU,uBAAuB;IAC7B,IAAI,EAAE,mBAAmB,CAAC;IAC1B,OAAO,EAAE,MAAM,IAAI,CAAC;CACvB;AAOD,QAAA,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAa5D,CAAC;AAEF,eAAe,qBAAqB,CAAC;AAErC,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAkC3D,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
// (C) 2024 GoodData Corporation
|
|
2
|
+
import React, { useMemo } from "react";
|
|
3
|
+
import cx from "classnames";
|
|
4
|
+
import { useIntl } from "react-intl";
|
|
5
|
+
import { messages } from "../../../../../../../locales.js";
|
|
6
|
+
import { PopupHeader } from "./PopupHeader.js";
|
|
7
|
+
import { DropdownList, ShortenedText } from "@gooddata/sdk-ui-kit";
|
|
8
|
+
import { stringUtils } from "@gooddata/util";
|
|
9
|
+
const TOOLTIP_ALIGN_POINT = [
|
|
10
|
+
{ align: "cr cl", offset: { x: 10, y: 0 } },
|
|
11
|
+
{ align: "cl cr", offset: { x: -10, y: 0 } },
|
|
12
|
+
];
|
|
13
|
+
const DateAttributeListItem = ({ item, onClick }) => {
|
|
14
|
+
const classNames = useMemo(() => {
|
|
15
|
+
return cx("gd-list-item date-filter__limit__popup__item", `s-${stringUtils.simplifyText(item.dataSet.title)}`);
|
|
16
|
+
}, [item]);
|
|
17
|
+
return (React.createElement("div", { key: item.dataSet.id, className: classNames, onClick: onClick },
|
|
18
|
+
React.createElement(ShortenedText, { tooltipAlignPoints: TOOLTIP_ALIGN_POINT }, item.dataSet.title)));
|
|
19
|
+
};
|
|
20
|
+
export default DateAttributeListItem;
|
|
21
|
+
export const DateFiltersPage = ({ availableDatasets, onSelect, onGoBack, onClose, }) => {
|
|
22
|
+
const intl = useIntl();
|
|
23
|
+
return (React.createElement(React.Fragment, null,
|
|
24
|
+
React.createElement(PopupHeader, { title: intl.formatMessage(messages.filterAddDateTitle), onGoBack: onGoBack, onClose: onClose }),
|
|
25
|
+
React.createElement("div", { className: "attribute-filter__limit__popup__list--dates" },
|
|
26
|
+
React.createElement(DropdownList, { width: 250, isMobile: false, showSearch: false, items: availableDatasets, renderItem: ({ item }) => (React.createElement(DateAttributeListItem, { item: item, onClick: () => {
|
|
27
|
+
onSelect(item.dataSet.ref);
|
|
28
|
+
onClose();
|
|
29
|
+
} })) }))));
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=DateFiltersPage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DateFiltersPage.js","sourceRoot":"","sources":["../../../../../../../../src/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/limitValues/dialog/DateFiltersPage.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAGrC,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAG3D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAc7C,MAAM,mBAAmB,GAAG;IACxB,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;IAC3C,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;CAC/C,CAAC;AAEF,MAAM,qBAAqB,GAAsC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE;IACnF,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE;QAC5B,OAAO,EAAE,CACL,8CAA8C,EAC9C,KAAK,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CACtD,CAAC;IACN,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,OAAO,CACH,6BAAK,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO;QAC9D,oBAAC,aAAa,IAAC,kBAAkB,EAAE,mBAAmB,IAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAiB,CAC1F,CACT,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,qBAAqB,CAAC;AAErC,MAAM,CAAC,MAAM,eAAe,GAAoC,CAAC,EAC7D,iBAAiB,EACjB,QAAQ,EACR,QAAQ,EACR,OAAO,GACV,EAAE,EAAE;IACD,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IAEvB,OAAO,CACH;QACI,oBAAC,WAAW,IACR,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EACtD,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,GAClB;QACF,6BAAK,SAAS,EAAC,6CAA6C;YACxD,oBAAC,YAAY,IACT,KAAK,EAAE,GAAG,EACV,QAAQ,EAAE,KAAK,EACf,UAAU,EAAE,KAAK,EACjB,KAAK,EAAE,iBAAiB,EACxB,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CACtB,oBAAC,qBAAqB,IAClB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,GAAG,EAAE;wBACV,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;wBAC3B,OAAO,EAAE,CAAC;oBACd,CAAC,GACH,CACL,GACH,CACA,CACP,CACN,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { ObjRef } from "@gooddata/sdk-model";
|
|
2
|
+
import { ICatalogDateDataset, ObjRef } from "@gooddata/sdk-model";
|
|
3
3
|
import { ValuesLimitingItem } from "../../../../types.js";
|
|
4
|
-
import { IDashboardAttributeFilterParentItem } from "../../../../../../../model/index.js";
|
|
4
|
+
import { IDashboardAttributeFilterParentItem, IDashboardDependentDateFilter } from "../../../../../../../model/index.js";
|
|
5
5
|
export interface IParentFiltersPageProps {
|
|
6
6
|
attributeTitle?: string;
|
|
7
7
|
parentFilters: IDashboardAttributeFilterParentItem[];
|
|
8
8
|
validParentFilters: ObjRef[];
|
|
9
|
+
dependentDateFilters: IDashboardDependentDateFilter[];
|
|
10
|
+
availableDatasets: ICatalogDateDataset[];
|
|
9
11
|
onSelect: (item: ValuesLimitingItem) => void;
|
|
10
12
|
onGoBack: () => void;
|
|
11
13
|
onClose: () => void;
|
|
14
|
+
onCommonDateSelect: () => void;
|
|
12
15
|
}
|
|
13
16
|
export declare const ParentFiltersPage: React.FC<IParentFiltersPageProps>;
|
|
14
17
|
//# sourceMappingURL=ParentFiltersPage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ParentFiltersPage.d.ts","sourceRoot":"","sources":["../../../../../../../../src/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/limitValues/dialog/ParentFiltersPage.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAoB,MAAM,OAAO,CAAC;AAGzC,OAAO,EAAE,MAAM,EAAmB,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"ParentFiltersPage.d.ts","sourceRoot":"","sources":["../../../../../../../../src/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/limitValues/dialog/ParentFiltersPage.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAoB,MAAM,OAAO,CAAC;AAGzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAmB,MAAM,qBAAqB,CAAC;AAInF,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EACH,mCAAmC,EACnC,6BAA6B,EAIhC,MAAM,qCAAqC,CAAC;AAc7C,MAAM,WAAW,uBAAuB;IACpC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,mCAAmC,EAAE,CAAC;IACrD,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,oBAAoB,EAAE,6BAA6B,EAAE,CAAC;IACtD,iBAAiB,EAAE,mBAAmB,EAAE,CAAC;IACzC,QAAQ,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC7C,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,kBAAkB,EAAE,MAAM,IAAI,CAAC;CAClC;AAoGD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAqD/D,CAAC"}
|