@gooddata/sdk-ui-dashboard 10.0.0-alpha.1 → 10.0.0-alpha.3
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.js +1 -1
- package/esm/locales.js.map +1 -1
- package/esm/model/commandHandlers/filterContext/dateFilter/removeDateFiltersHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/filterContext/dateFilter/removeDateFiltersHandler.js +3 -2
- package/esm/model/commandHandlers/filterContext/dateFilter/removeDateFiltersHandler.js.map +1 -1
- package/esm/model/commandHandlers/widgets/addDrillDownForInsightWidgetHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/widgets/addDrillDownForInsightWidgetHandler.js +10 -3
- package/esm/model/commandHandlers/widgets/addDrillDownForInsightWidgetHandler.js.map +1 -1
- package/esm/model/commandHandlers/widgets/modifyDrillDownForInsightWidgetHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/widgets/modifyDrillDownForInsightWidgetHandler.js +10 -3
- package/esm/model/commandHandlers/widgets/modifyDrillDownForInsightWidgetHandler.js.map +1 -1
- package/esm/model/store/catalog/catalogSelectors.d.ts.map +1 -1
- package/esm/model/store/catalog/catalogSelectors.js +6 -5
- package/esm/model/store/catalog/catalogSelectors.js.map +1 -1
- package/esm/model/store/widgetDrills/widgetDrillSelectors.d.ts.map +1 -1
- package/esm/model/store/widgetDrills/widgetDrillSelectors.js +11 -22
- package/esm/model/store/widgetDrills/widgetDrillSelectors.js.map +1 -1
- package/esm/model/types/dateFilterTypes.d.ts +5 -3
- package/esm/model/types/dateFilterTypes.d.ts.map +1 -1
- package/esm/model/types/dateFilterTypes.js.map +1 -1
- package/esm/model/utils/attributeHierarchyUtils.d.ts +2 -2
- package/esm/model/utils/attributeHierarchyUtils.d.ts.map +1 -1
- package/esm/model/utils/attributeHierarchyUtils.js +10 -8
- package/esm/model/utils/attributeHierarchyUtils.js.map +1 -1
- package/esm/presentation/filterBar/attributeFilter/AttributeFilterParentFilteringContext.d.ts.map +1 -1
- package/esm/presentation/filterBar/attributeFilter/AttributeFilterParentFilteringContext.js +2 -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 +2 -2
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/AttributeFilterConfiguration.js.map +1 -1
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/hooks/useDependentDateFilterConfigurationState.d.ts +1 -0
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/hooks/useDependentDateFilterConfigurationState.d.ts.map +1 -1
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/hooks/useDependentDateFilterConfigurationState.js +37 -7
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/hooks/useDependentDateFilterConfigurationState.js.map +1 -1
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/hooks/useDependentDateFiltersConfiguration.d.ts +3 -2
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/hooks/useDependentDateFiltersConfiguration.d.ts.map +1 -1
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/hooks/useDependentDateFiltersConfiguration.js +32 -20
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/hooks/useDependentDateFiltersConfiguration.js.map +1 -1
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/limitValues/LimitValuesConfiguration.d.ts +3 -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 +8 -5
- 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 +2 -1
- 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 +3 -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 +7 -4
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/limitValues/dialog/DateFiltersPage.d.ts.map +1 -1
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/limitValues/dialog/DateFiltersPage.js +14 -10
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/limitValues/dialog/DateFiltersPage.js.map +1 -1
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/limitValues/dialog/ParentFiltersPage.d.ts +2 -1
- 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 +3 -2
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/limitValues/dialog/ParentFiltersPage.js.map +1 -1
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/limitValues/shared/limitingItemsHook.d.ts +4 -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 +66 -12
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/limitValues/shared/limitingItemsHook.js.map +1 -1
- package/esm/presentation/filterBar/attributeFilter/useDependentDateFilters.d.ts +3 -3
- package/esm/presentation/filterBar/attributeFilter/useDependentDateFilters.d.ts.map +1 -1
- package/esm/presentation/filterBar/attributeFilter/useDependentDateFilters.js +40 -7
- package/esm/presentation/filterBar/attributeFilter/useDependentDateFilters.js.map +1 -1
- package/esm/presentation/localization/bundles/en-US.json +3 -3
- package/esm/presentation/widget/insight/configuration/DrillTargets/AttributeHierarchyDropdown.d.ts.map +1 -1
- package/esm/presentation/widget/insight/configuration/DrillTargets/AttributeHierarchyDropdown.js +11 -15
- package/esm/presentation/widget/insight/configuration/DrillTargets/AttributeHierarchyDropdown.js.map +1 -1
- package/esm/presentation/widget/insight/configuration/DrillTargets/AttributeHierarchyListItem.d.ts.map +1 -1
- package/esm/presentation/widget/insight/configuration/DrillTargets/AttributeHierarchyListItem.js +4 -6
- package/esm/presentation/widget/insight/configuration/DrillTargets/AttributeHierarchyListItem.js.map +1 -1
- package/esm/presentation/widget/insight/configuration/DrillTargets/DrillTargetAttributeHierarchyItem.d.ts.map +1 -1
- package/esm/presentation/widget/insight/configuration/DrillTargets/DrillTargetAttributeHierarchyItem.js +3 -5
- package/esm/presentation/widget/insight/configuration/DrillTargets/DrillTargetAttributeHierarchyItem.js.map +1 -1
- package/esm/presentation/widget/insight/configuration/DrillTargets/DrillTargets.d.ts.map +1 -1
- package/esm/presentation/widget/insight/configuration/DrillTargets/DrillTargets.js +2 -4
- package/esm/presentation/widget/insight/configuration/DrillTargets/DrillTargets.js.map +1 -1
- package/esm/presentation/widget/insight/configuration/InsightDrillConfigPanel/useInsightDrillConfigPanel.d.ts +2 -2
- package/esm/presentation/widget/insight/configuration/InsightDrillConfigPanel/useInsightDrillConfigPanel.d.ts.map +1 -1
- package/esm/presentation/widget/insight/configuration/InsightDrillConfigPanel/useInsightDrillConfigPanel.js +23 -10
- package/esm/presentation/widget/insight/configuration/InsightDrillConfigPanel/useInsightDrillConfigPanel.js.map +1 -1
- package/esm/sdk-ui-dashboard.d.ts +5 -3
- package/package.json +15 -15
|
@@ -36,7 +36,7 @@ export const AttributeFilterConfiguration = (props) => {
|
|
|
36
36
|
}, [neighborFilters]);
|
|
37
37
|
const currentFilter = useDashboardSelector(selectFilterContextAttributeFilters).find((filter) => neighborFilters.every((neighborFilter) => filter.attributeFilter.localIdentifier !== neighborFilter.attributeFilter.localIdentifier));
|
|
38
38
|
invariant(currentFilter, "Cannot find current filter in the filter context store.");
|
|
39
|
-
const { title, defaultAttributeFilterTitle, parents, onParentSelect, onConnectingAttributeChanged, showDisplayFormPicker, filterDisplayForms, onDisplayFormSelect, showResetTitle, onTitleUpdate, onTitleReset, selectionMode, onSelectionModeUpdate, mode, onModeUpdate, limitingItems, onLimitingItemsUpdate, availableDatasetsForFilter, dependentDateFilters, onDependentDateFiltersSelect, } = useAttributeFilterParentFiltering();
|
|
39
|
+
const { title, defaultAttributeFilterTitle, parents, onParentSelect, onConnectingAttributeChanged, showDisplayFormPicker, filterDisplayForms, onDisplayFormSelect, showResetTitle, onTitleUpdate, onTitleReset, selectionMode, onSelectionModeUpdate, mode, onModeUpdate, limitingItems, onLimitingItemsUpdate, availableDatasetsForFilter, dependentDateFilters, dependentCommonDateFilter, onDependentDateFiltersSelect, } = useAttributeFilterParentFiltering();
|
|
40
40
|
const disableParentFiltersList = selectionMode === "single" && !supportsSingleSelectDependentFilters;
|
|
41
41
|
const { connectingAttributesLoading, connectingAttributes } = useConnectingAttributes(currentFilter.attributeFilter.displayForm, neighborFilterDisplayForms);
|
|
42
42
|
const { availableDatasetsForItemsLoading, availableDatasetForItems } = useAvailableDatasetsForItems(availableDatasetsForFilter);
|
|
@@ -71,7 +71,7 @@ export const AttributeFilterConfiguration = (props) => {
|
|
|
71
71
|
React.createElement(ConfigurationPanelHeader, null),
|
|
72
72
|
React.createElement(AttributeTitleRenaming, { categoryTitle: titleText, resetTitleText: resetTitleText, onClick: onTitleReset, onChange: onTitleUpdate, showResetTitle: showResetTitle, attributeTitle: title ?? defaultAttributeFilterTitle }),
|
|
73
73
|
React.createElement(SelectionMode, { selectionTitleText: selectionTitleText, multiSelectionOptionText: multiSelectionOptionText, singleSelectionOptionText: singleSelectionOptionText, singleSelectionDisabledTooltip: singleSelectionDisabledTooltip, selectionMode: selectionMode, onSelectionModeChange: onSelectionModeUpdate, disabled: getIsSelectionDisabled() }),
|
|
74
|
-
React.createElement(LocalizedLimitValuesConfiguration, { attributeTitle: title ?? defaultAttributeFilterTitle, parentFilters: parents, validParentFilters: validNeighbourAttributes, validateElementsBy: limitingItems, onLimitingItemUpdate: onLimitingItemsUpdate, onParentFilterUpdate: onParentSelect, onDependentDateFilterUpdate: onDependentDateFiltersSelect, metricsAndFacts: metricsAndFacts, intl: intl, availableDatasets: availableDatasetForItems, dependentDateFilters: dependentDateFilters }),
|
|
74
|
+
React.createElement(LocalizedLimitValuesConfiguration, { attributeTitle: title ?? defaultAttributeFilterTitle, parentFilters: parents, validParentFilters: validNeighbourAttributes, validateElementsBy: limitingItems, onLimitingItemUpdate: onLimitingItemsUpdate, onParentFilterUpdate: onParentSelect, onDependentDateFilterUpdate: onDependentDateFiltersSelect, metricsAndFacts: metricsAndFacts, intl: intl, availableDatasets: availableDatasetForItems, dependentDateFilters: dependentDateFilters, dependentCommonDateFilter: dependentCommonDateFilter }),
|
|
75
75
|
showDependentFiltersConfiguration && parents.length > 0 ? (React.createElement(React.Fragment, null,
|
|
76
76
|
React.createElement(ConfigurationCategory, { categoryTitle: filterByText }),
|
|
77
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":"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,EACpB,4BAA4B,GAC/B,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,2BAA2B,EAAE,4BAA4B,EACzD,eAAe,EAAE,eAAgB,EACjC,IAAI,EAAE,IAAI,EACV,iBAAiB,EAAE,wBAAwB,EAC3C,oBAAoB,EAAE,oBAAoB,
|
|
1
|
+
{"version":3,"file":"AttributeFilterConfiguration.js","sourceRoot":"","sources":["../../../../../../src/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/AttributeFilterConfiguration.tsx"],"names":[],"mappings":"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"}
|
|
@@ -4,4 +4,5 @@ import { IDashboardDependentDateFilter } from "../../../../../../model/index.js"
|
|
|
4
4
|
* @internal
|
|
5
5
|
*/
|
|
6
6
|
export declare function useDependentDateFilterConfigurationState(neighborFilters: IDashboardDateFilter[], commonDateFilter?: IDashboardDateFilter, filterElementsByDate?: IDashboardAttributeFilterByDate[]): IDashboardDependentDateFilter[];
|
|
7
|
+
export declare function useDependentCommonDateFilterConfigurationState(commonDateFilter?: IDashboardDateFilter): IDashboardDateFilter;
|
|
7
8
|
//# sourceMappingURL=useDependentDateFilterConfigurationState.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDependentDateFilterConfigurationState.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/hooks/useDependentDateFilterConfigurationState.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,+BAA+B,EAAE,oBAAoB,EAAY,MAAM,qBAAqB,CAAC;AAEtG,OAAO,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AAEjF;;GAEG;AACH,wBAAgB,wCAAwC,CACpD,eAAe,EAAE,oBAAoB,EAAE,EACvC,gBAAgB,CAAC,EAAE,oBAAoB,EACvC,oBAAoB,CAAC,EAAE,+BAA+B,EAAE,
|
|
1
|
+
{"version":3,"file":"useDependentDateFilterConfigurationState.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/hooks/useDependentDateFilterConfigurationState.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,+BAA+B,EAAE,oBAAoB,EAAY,MAAM,qBAAqB,CAAC;AAEtG,OAAO,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AAEjF;;GAEG;AACH,wBAAgB,wCAAwC,CACpD,eAAe,EAAE,oBAAoB,EAAE,EACvC,gBAAgB,CAAC,EAAE,oBAAoB,EACvC,oBAAoB,CAAC,EAAE,+BAA+B,EAAE,mCAqD3D;AAED,wBAAgB,8CAA8C,CAC1D,gBAAgB,CAAC,EAAE,oBAAoB,GACxC,oBAAoB,CAWtB"}
|
|
@@ -10,7 +10,7 @@ export function useDependentDateFilterConfigurationState(neighborFilters, common
|
|
|
10
10
|
return neighborFilters.map((neighborFilter) => {
|
|
11
11
|
const neighborLocalId = neighborFilter.dateFilter.dataSet;
|
|
12
12
|
invariant(!isUriRef(neighborLocalId));
|
|
13
|
-
const isSelected = filterElementsByDate?.some((by) => by.filterLocalIdentifier === neighborLocalId?.identifier) || false;
|
|
13
|
+
const isSelected = filterElementsByDate?.some((by) => by.filterLocalIdentifier === neighborLocalId?.identifier && by.isCommonDate === false) || false;
|
|
14
14
|
invariant(neighborLocalId?.identifier, "Cannot initialize the attribute filter configuration panel, neighbor date filter has missing 'localIdentifier' property.");
|
|
15
15
|
return {
|
|
16
16
|
localIdentifier: neighborLocalId.identifier,
|
|
@@ -20,12 +20,42 @@ export function useDependentDateFilterConfigurationState(neighborFilters, common
|
|
|
20
20
|
to: neighborFilter.dateFilter.to,
|
|
21
21
|
granularity: neighborFilter.dateFilter.granularity,
|
|
22
22
|
type: neighborFilter.dateFilter.type,
|
|
23
|
+
isCommonDate: false,
|
|
23
24
|
};
|
|
24
25
|
});
|
|
25
|
-
}, [neighborFilters]);
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
26
|
+
}, [neighborFilters, filterElementsByDate]);
|
|
27
|
+
const commonDateFilters = useMemo(() => {
|
|
28
|
+
const commonDate = parseCommonDateFilter(commonDateFilter);
|
|
29
|
+
return (filterElementsByDate ?? [])
|
|
30
|
+
.filter((parent) => !!parent.isCommonDate)
|
|
31
|
+
.map((parent) => ({
|
|
32
|
+
localIdentifier: parent.filterLocalIdentifier,
|
|
33
|
+
isSelected: true,
|
|
34
|
+
dataSet: {
|
|
35
|
+
identifier: parent.filterLocalIdentifier,
|
|
36
|
+
type: "dataSet",
|
|
37
|
+
},
|
|
38
|
+
from: commonDate.from,
|
|
39
|
+
to: commonDate.to,
|
|
40
|
+
granularity: commonDate.granularity,
|
|
41
|
+
type: commonDate.type,
|
|
42
|
+
isCommonDate: true,
|
|
43
|
+
}));
|
|
44
|
+
}, [filterElementsByDate, commonDateFilter]);
|
|
45
|
+
return [...neighborDateFiltersWithDimensions, ...commonDateFilters];
|
|
46
|
+
}
|
|
47
|
+
export function useDependentCommonDateFilterConfigurationState(commonDateFilter) {
|
|
48
|
+
if (commonDateFilter) {
|
|
49
|
+
return commonDateFilter;
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
return {
|
|
53
|
+
dateFilter: {
|
|
54
|
+
granularity: "GDC.time.date",
|
|
55
|
+
type: "relative",
|
|
56
|
+
},
|
|
57
|
+
};
|
|
58
|
+
}
|
|
29
59
|
}
|
|
30
60
|
const parseCommonDateFilter = (commonDate) => {
|
|
31
61
|
if (commonDate) {
|
|
@@ -35,15 +65,15 @@ const parseCommonDateFilter = (commonDate) => {
|
|
|
35
65
|
granularity: commonDate.dateFilter.granularity,
|
|
36
66
|
type: commonDate.dateFilter.type,
|
|
37
67
|
localIdentifier: "commonDate",
|
|
38
|
-
|
|
68
|
+
isCommonDate: true,
|
|
39
69
|
};
|
|
40
70
|
}
|
|
41
71
|
else {
|
|
42
72
|
return {
|
|
43
73
|
granularity: "GDC.time.date",
|
|
44
|
-
isSelected: false,
|
|
45
74
|
type: "relative",
|
|
46
75
|
localIdentifier: "commonDate",
|
|
76
|
+
isCommonDate: true,
|
|
47
77
|
};
|
|
48
78
|
}
|
|
49
79
|
};
|
|
@@ -1 +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,EAAyD,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAItG;;GAEG;AACH,MAAM,UAAU,wCAAwC,CACpD,eAAuC,EACvC,gBAAuC,EACvC,oBAAwD;IAExD,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,MAAM,UAAU,GACZ,oBAAoB,EAAE,IAAI,CACtB,CAAC,EAAE,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"useDependentDateFilterConfigurationState.js","sourceRoot":"","sources":["../../../../../../../src/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/hooks/useDependentDateFilterConfigurationState.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { IDashboardAttributeFilter, IDashboardDateFilter
|
|
1
|
+
import { IDashboardAttributeFilter, IDashboardDateFilter } from "@gooddata/sdk-model";
|
|
2
2
|
import { IDashboardDependentDateFilter } from "../../../../../../model/index.js";
|
|
3
3
|
export declare function useDependentDateFiltersConfiguration(neighborDateFilters: IDashboardDateFilter[], currentFilter: IDashboardAttributeFilter, commonDateFilter?: IDashboardDateFilter): {
|
|
4
4
|
dependentDateFilters: IDashboardDependentDateFilter[];
|
|
5
|
-
|
|
5
|
+
dependentCommonDateFilter: IDashboardDateFilter;
|
|
6
|
+
onDependentDateFiltersSelect: (item: IDashboardDependentDateFilter, isSelected: boolean, isCommonDate: boolean) => void;
|
|
6
7
|
onConfigurationClose: () => void;
|
|
7
8
|
onDependentDateFiltersConfigurationChanged: boolean;
|
|
8
9
|
onDependentDateFiltersChange: () => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDependentDateFiltersConfiguration.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/hooks/useDependentDateFiltersConfiguration.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
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,EAAY,MAAM,qBAAqB,CAAC;AAIhG,OAAO,EACH,6BAA6B,EAGhC,MAAM,kCAAkC,CAAC;AAM1C,wBAAgB,oCAAoC,CAChD,mBAAmB,EAAE,oBAAoB,EAAE,EAC3C,aAAa,EAAE,yBAAyB,EACxC,gBAAgB,CAAC,EAAE,oBAAoB;;;yCA6B7B,6BAA6B,cACvB,OAAO,gBACL,OAAO;;;;EAoE5B"}
|
|
@@ -1,43 +1,54 @@
|
|
|
1
1
|
// (C) 2024 GoodData Corporation
|
|
2
2
|
import { useCallback, useMemo, useState } from "react";
|
|
3
|
-
import { isUriRef
|
|
3
|
+
import { isUriRef } from "@gooddata/sdk-model";
|
|
4
4
|
import { invariant } from "ts-invariant";
|
|
5
5
|
import isEqual from "lodash/isEqual.js";
|
|
6
6
|
import { setAttributeFilterDependentDateFilters, useDispatchDashboardCommand, } from "../../../../../../model/index.js";
|
|
7
|
-
import { useDependentDateFilterConfigurationState } from "./useDependentDateFilterConfigurationState.js";
|
|
7
|
+
import { useDependentCommonDateFilterConfigurationState, useDependentDateFilterConfigurationState, } from "./useDependentDateFilterConfigurationState.js";
|
|
8
8
|
export function useDependentDateFiltersConfiguration(neighborDateFilters, currentFilter, commonDateFilter) {
|
|
9
9
|
const { filterElementsByDate, localIdentifier: currentFilterLocalId } = currentFilter.attributeFilter;
|
|
10
10
|
invariant(currentFilterLocalId, "Cannot initialize the attribute filter configuration panel, filter has missing 'localIdentifier' property");
|
|
11
11
|
const saveDependentDateFilterCommand = useDispatchDashboardCommand(setAttributeFilterDependentDateFilters);
|
|
12
12
|
const originalState = useDependentDateFilterConfigurationState(neighborDateFilters, commonDateFilter, filterElementsByDate);
|
|
13
|
+
const originalCommonDateFilterState = useDependentCommonDateFilterConfigurationState(commonDateFilter);
|
|
13
14
|
const [dependentDateFilters, setDependentDateFilters] = useState(originalState);
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
15
|
+
const [dependentCommonDateFilter, setDependentCommonDateFilter] = useState(originalCommonDateFilterState);
|
|
16
|
+
const onDependentDateFiltersSelect = (item, isSelected, isCommonDate) => {
|
|
17
|
+
const localIdentifier = item.dataSet;
|
|
18
|
+
invariant(!isUriRef(localIdentifier));
|
|
19
|
+
const changedParentIndex = dependentDateFilters.findIndex((dependentDateFilter) => dependentDateFilter.localIdentifier === localIdentifier?.identifier &&
|
|
20
|
+
dependentDateFilter.isCommonDate === isCommonDate);
|
|
21
|
+
if (changedParentIndex === -1) {
|
|
22
|
+
setDependentDateFilters([...dependentDateFilters, item]);
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
if (isCommonDate) {
|
|
26
|
+
const filteredDependentDateFilters = dependentDateFilters.filter((_, index) => index !== changedParentIndex);
|
|
27
|
+
setDependentDateFilters(filteredDependentDateFilters);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
const changedItem = { ...dependentDateFilters[changedParentIndex], isSelected };
|
|
31
|
+
const changedParentItems = dependentDateFilters.map((item, index) => index === changedParentIndex ? changedItem : item);
|
|
32
|
+
setDependentDateFilters(changedParentItems);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
22
35
|
};
|
|
23
36
|
const onDependentDateFiltersConfigurationChanged = useMemo(() => {
|
|
24
37
|
return !isEqual(dependentDateFilters, originalState);
|
|
25
38
|
}, [dependentDateFilters, originalState]);
|
|
26
39
|
const onConfigurationClose = useCallback(() => {
|
|
27
40
|
setDependentDateFilters(originalState);
|
|
28
|
-
|
|
41
|
+
setDependentCommonDateFilter(originalCommonDateFilterState);
|
|
42
|
+
}, [originalState, originalCommonDateFilterState]);
|
|
29
43
|
const onDependentDateFiltersChange = useCallback(() => {
|
|
30
44
|
// dispatch the command only if the configuration changed
|
|
31
45
|
if (onDependentDateFiltersConfigurationChanged) {
|
|
32
|
-
const dateFilters =
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
filterLocalIdentifier: dependentDateFilter.localIdentifier,
|
|
39
|
-
});
|
|
40
|
-
});
|
|
46
|
+
const dateFilters = dependentDateFilters
|
|
47
|
+
.filter((filter) => filter.isSelected)
|
|
48
|
+
.map((filter) => ({
|
|
49
|
+
filterLocalIdentifier: filter.localIdentifier,
|
|
50
|
+
isCommonDate: !!filter.isCommonDate,
|
|
51
|
+
}));
|
|
41
52
|
saveDependentDateFilterCommand(currentFilter.attributeFilter.localIdentifier, dateFilters);
|
|
42
53
|
}
|
|
43
54
|
}, [
|
|
@@ -48,6 +59,7 @@ export function useDependentDateFiltersConfiguration(neighborDateFilters, curren
|
|
|
48
59
|
]);
|
|
49
60
|
return {
|
|
50
61
|
dependentDateFilters,
|
|
62
|
+
dependentCommonDateFilter,
|
|
51
63
|
onDependentDateFiltersSelect,
|
|
52
64
|
onConfigurationClose,
|
|
53
65
|
onDependentDateFiltersConfigurationChanged,
|
|
@@ -1 +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,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACvD,OAAO,
|
|
1
|
+
{"version":3,"file":"useDependentDateFiltersConfiguration.js","sourceRoot":"","sources":["../../../../../../../src/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/hooks/useDependentDateFiltersConfiguration.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { WrappedComponentProps } from "react-intl";
|
|
3
|
-
import { ObjRef, ICatalogDateDataset } from "@gooddata/sdk-model";
|
|
3
|
+
import { ObjRef, ICatalogDateDataset, IDashboardDateFilter } from "@gooddata/sdk-model";
|
|
4
4
|
import { IDashboardAttributeFilterParentItem, IMetricsAndFacts, IDashboardDependentDateFilter } from "../../../../../../model/index.js";
|
|
5
5
|
interface ILimitValuesConfigurationProps {
|
|
6
6
|
attributeTitle?: string;
|
|
@@ -10,9 +10,10 @@ interface ILimitValuesConfigurationProps {
|
|
|
10
10
|
metricsAndFacts: IMetricsAndFacts;
|
|
11
11
|
availableDatasets: ICatalogDateDataset[];
|
|
12
12
|
dependentDateFilters: IDashboardDependentDateFilter[];
|
|
13
|
+
dependentCommonDateFilter: IDashboardDateFilter;
|
|
13
14
|
onLimitingItemUpdate: (items: ObjRef[]) => void;
|
|
14
15
|
onParentFilterUpdate: (localId: string, isSelected: boolean, overAttributes?: ObjRef[]) => void;
|
|
15
|
-
onDependentDateFilterUpdate: (
|
|
16
|
+
onDependentDateFilterUpdate: (item: IDashboardDependentDateFilter, isSelected: boolean, isCommonDate: boolean) => void;
|
|
16
17
|
}
|
|
17
18
|
export type LocalizedLimitValuesConfigurationProps = ILimitValuesConfigurationProps & WrappedComponentProps;
|
|
18
19
|
export declare const LocalizedLimitValuesConfiguration: React.FC<LocalizedLimitValuesConfigurationProps>;
|
|
@@ -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,
|
|
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,EAGH,MAAM,EAEN,mBAAmB,EACnB,oBAAoB,EACvB,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EACH,mCAAmC,EAGnC,gBAAgB,EAGhB,6BAA6B,EAGhC,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,yBAAyB,EAAE,oBAAoB,CAAC;IAChD,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;IAChG,2BAA2B,EAAE,CACzB,IAAI,EAAE,6BAA6B,EACnC,UAAU,EAAE,OAAO,EACnB,YAAY,EAAE,OAAO,KACpB,IAAI,CAAC;CACb;AA6GD,MAAM,MAAM,sCAAsC,GAAG,8BAA8B,GAAG,qBAAqB,CAAC;AAE5G,eAAO,MAAM,iCAAiC,EAAE,KAAK,CAAC,EAAE,CAAC,sCAAsC,CAe9F,CAAC"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import React, { useState } from "react";
|
|
3
3
|
import { FormattedMessage, useIntl } from "react-intl";
|
|
4
4
|
import { Typography, Button, NoData } from "@gooddata/sdk-ui-kit";
|
|
5
|
-
import { isObjRef, serializeObjRef, areObjRefsEqual } from "@gooddata/sdk-model";
|
|
5
|
+
import { isObjRef, serializeObjRef, areObjRefsEqual, } from "@gooddata/sdk-model";
|
|
6
6
|
import { messages } from "../../../../../../locales.js";
|
|
7
7
|
import { useDashboardSelector, selectEnableAttributeFilterValuesValidation, selectBackendCapabilities, useDashboardUserInteraction, selectEnableKDAttributeFilterDatesValidation, isDashboardDependentDateFilter, } from "../../../../../../model/index.js";
|
|
8
8
|
import { IntlWrapper } from "../../../../../localization/index.js";
|
|
@@ -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, availableDatasets, dependentDateFilters, onLimitingItemUpdate, onParentFilterUpdate, onDependentDateFilterUpdate, }) => {
|
|
13
|
+
const LimitValuesConfiguration = ({ attributeTitle, parentFilters, validParentFilters, validateElementsBy, metricsAndFacts, availableDatasets, dependentDateFilters, dependentCommonDateFilter, onLimitingItemUpdate, onParentFilterUpdate, onDependentDateFilterUpdate, }) => {
|
|
14
14
|
const intl = useIntl();
|
|
15
15
|
const isEnabledKDAttributeFilterDatesValidation = useDashboardSelector(selectEnableKDAttributeFilterDatesValidation);
|
|
16
16
|
const { attributeFilterInteraction } = useDashboardUserInteraction();
|
|
@@ -22,7 +22,7 @@ const LimitValuesConfiguration = ({ attributeTitle, parentFilters, validParentFi
|
|
|
22
22
|
};
|
|
23
23
|
const onAdd = (addedItem) => {
|
|
24
24
|
if (isDashboardDependentDateFilter(addedItem)) {
|
|
25
|
-
onDependentDateFilterUpdate(addedItem
|
|
25
|
+
onDependentDateFilterUpdate(addedItem, true, addedItem.isCommonDate);
|
|
26
26
|
}
|
|
27
27
|
else if (isObjRef(addedItem)) {
|
|
28
28
|
onLimitingItemUpdate([...validateElementsBy, addedItem]);
|
|
@@ -32,7 +32,10 @@ const LimitValuesConfiguration = ({ attributeTitle, parentFilters, validParentFi
|
|
|
32
32
|
}
|
|
33
33
|
};
|
|
34
34
|
const onDelete = (deletedItem) => {
|
|
35
|
-
if (
|
|
35
|
+
if (isDashboardDependentDateFilter(deletedItem)) {
|
|
36
|
+
onDependentDateFilterUpdate(deletedItem, false, deletedItem.isCommonDate);
|
|
37
|
+
}
|
|
38
|
+
else if (isObjRef(deletedItem)) {
|
|
36
39
|
onLimitingItemUpdate(validateElementsBy.filter((item) => !areObjRefsEqual(deletedItem, item)));
|
|
37
40
|
attributeFilterInteraction("attributeFilterLimitRemoveMetricClicked");
|
|
38
41
|
}
|
|
@@ -42,7 +45,7 @@ const LimitValuesConfiguration = ({ attributeTitle, parentFilters, validParentFi
|
|
|
42
45
|
}
|
|
43
46
|
};
|
|
44
47
|
return (React.createElement("div", null,
|
|
45
|
-
isDropdownOpened ? (React.createElement(AddLimitingItemDialog, { attributeTitle: attributeTitle, currentlySelectedItems: validateElementsBy, parentFilters: parentFilters, validParentFilters: validParentFilters, dependentDateFilters: dependentDateFilters, availableDatasets: availableDatasets, onSelect: onAdd, onClose: () => setIsDropdownOpened(false) })) : null,
|
|
48
|
+
isDropdownOpened ? (React.createElement(AddLimitingItemDialog, { attributeTitle: attributeTitle, currentlySelectedItems: validateElementsBy, parentFilters: parentFilters, validParentFilters: validParentFilters, dependentDateFilters: dependentDateFilters, dependentCommonDateFilter: dependentCommonDateFilter, availableDatasets: availableDatasets, onSelect: onAdd, onClose: () => setIsDropdownOpened(false) })) : null,
|
|
46
49
|
React.createElement("div", { className: "configuration-category attribute-filter__limit__title" },
|
|
47
50
|
React.createElement(Typography, { tagName: "h3" },
|
|
48
51
|
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,
|
|
1
|
+
{"version":3,"file":"LimitValuesConfiguration.js","sourceRoot":"","sources":["../../../../../../../src/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/limitValues/LimitValuesConfiguration.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { ICatalogDateDataset, ObjRef } from "@gooddata/sdk-model";
|
|
2
|
+
import { ICatalogDateDataset, IDashboardDateFilter, ObjRef } from "@gooddata/sdk-model";
|
|
3
3
|
import { IDashboardAttributeFilterParentItem, IDashboardDependentDateFilter } from "../../../../../../../model/index.js";
|
|
4
4
|
import { ValuesLimitingItem } from "../../../../types.js";
|
|
5
5
|
export interface IAddLimitingItemDialogProps {
|
|
@@ -9,6 +9,7 @@ export interface IAddLimitingItemDialogProps {
|
|
|
9
9
|
currentlySelectedItems: ObjRef[];
|
|
10
10
|
dependentDateFilters: IDashboardDependentDateFilter[];
|
|
11
11
|
availableDatasets: ICatalogDateDataset[];
|
|
12
|
+
dependentCommonDateFilter: IDashboardDateFilter;
|
|
12
13
|
onSelect: (item: ValuesLimitingItem) => void;
|
|
13
14
|
onClose: () => void;
|
|
14
15
|
}
|
|
@@ -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,mBAAmB,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,oBAAoB,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAIxF,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,yBAAyB,EAAE,oBAAoB,CAAC;IAChD,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,CA6DvE,CAAC"}
|
|
@@ -15,12 +15,12 @@ const ALIGN_POINTS = [
|
|
|
15
15
|
offset: { x: -3, y: -63 },
|
|
16
16
|
},
|
|
17
17
|
];
|
|
18
|
-
export const AddLimitingItemDialog = ({ attributeTitle, currentlySelectedItems, parentFilters, validParentFilters, dependentDateFilters, availableDatasets, onSelect, onClose, }) => {
|
|
18
|
+
export const AddLimitingItemDialog = ({ attributeTitle, currentlySelectedItems, parentFilters, validParentFilters, dependentDateFilters, dependentCommonDateFilter, availableDatasets, onSelect, onClose, }) => {
|
|
19
19
|
const [page, setPage] = useState("options");
|
|
20
20
|
return (React.createElement(ConfigurationBubble, { alignTo: ".attribute-filter__limit__add-button", alignPoints: ALIGN_POINTS, onClose: onClose, classNames: "attribute-filter__limit__popup" },
|
|
21
21
|
page === "options" ? (React.createElement(ActionSelectionPage, { onAddFilters: () => setPage("filters"), onAddLimitingItems: () => setPage("items"), 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,
|
|
22
|
+
page === "filters" ? (React.createElement(ParentFiltersPage, { attributeTitle: attributeTitle, parentFilters: parentFilters, validParentFilters: validParentFilters, onSelect: onSelect, onGoBack: () => setPage("options"), onClose: onClose, dependentDateFilters: dependentDateFilters, availableDatasets: availableDatasets, dependentCommonDateFilter: dependentCommonDateFilter, onCommonDateSelect: () => setPage("dates") })) : null,
|
|
23
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, dependentDateFilters: dependentDateFilters })) : null));
|
|
24
|
+
page === "dates" ? (React.createElement(DateFiltersPage, { onSelect: onSelect, onGoBack: () => setPage("options"), onClose: onClose, availableDatasets: availableDatasets, dependentCommonDateFilter: dependentCommonDateFilter, dependentDateFilters: dependentDateFilters })) : null));
|
|
25
25
|
};
|
|
26
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;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;
|
|
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;AAgBF,MAAM,CAAC,MAAM,qBAAqB,GAA0C,CAAC,EACzE,cAAc,EACd,sBAAsB,EACtB,aAAa,EACb,kBAAkB,EAClB,oBAAoB,EACpB,yBAAyB,EACzB,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,yBAAyB,EAAE,yBAAyB,EACpD,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,EACpC,yBAAyB,EAAE,yBAAyB,EACpD,oBAAoB,EAAE,oBAAoB,GAC5C,CACL,CAAC,CAAC,CAAC,IAAI,CACU,CACzB,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { ICatalogDateDataset } from "@gooddata/sdk-model";
|
|
3
|
-
import { IDashboardDependentDateFilter } from "../../../../../../../model/index.js";
|
|
2
|
+
import { ICatalogDateDataset, IDashboardDateFilter } from "@gooddata/sdk-model";
|
|
4
3
|
import { ValuesLimitingItem } from "../../../../types.js";
|
|
4
|
+
import { IValuesLimitingItemWithTitle } from "../shared/limitingItemsHook.js";
|
|
5
|
+
import { IDashboardDependentDateFilter } from "../../../../../../../model/index.js";
|
|
5
6
|
export interface IDateFiltersPageProps {
|
|
6
7
|
availableDatasets: ICatalogDateDataset[];
|
|
8
|
+
dependentCommonDateFilter: IDashboardDateFilter;
|
|
7
9
|
dependentDateFilters: IDashboardDependentDateFilter[];
|
|
8
10
|
onSelect: (item: ValuesLimitingItem) => void;
|
|
9
11
|
onGoBack: () => void;
|
|
10
12
|
onClose: () => void;
|
|
11
13
|
}
|
|
12
14
|
interface IAttributeListItemProps {
|
|
13
|
-
item:
|
|
14
|
-
|
|
15
|
+
item: IValuesLimitingItemWithTitle;
|
|
16
|
+
onSelect: (item: ValuesLimitingItem) => void;
|
|
17
|
+
onClose: () => void;
|
|
15
18
|
}
|
|
16
19
|
declare const DateAttributeListItem: React.FC<IAttributeListItemProps>;
|
|
17
20
|
export default DateAttributeListItem;
|
|
@@ -1 +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;
|
|
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,oBAAoB,EAAmB,MAAM,qBAAqB,CAAC;AAKjG,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,EAAE,4BAA4B,EAAsB,MAAM,gCAAgC,CAAC;AAClG,OAAO,EAAE,6BAA6B,EAAE,MAAM,qCAAqC,CAAC;AAEpF,MAAM,WAAW,qBAAqB;IAClC,iBAAiB,EAAE,mBAAmB,EAAE,CAAC;IACzC,yBAAyB,EAAE,oBAAoB,CAAC;IAChD,oBAAoB,EAAE,6BAA6B,EAAE,CAAC;IACtD,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,4BAA4B,CAAC;IACnC,QAAQ,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC7C,OAAO,EAAE,MAAM,IAAI,CAAC;CACvB;AAQD,QAAA,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAkB5D,CAAC;AAEF,eAAe,qBAAqB,CAAC;AAErC,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAoC3D,CAAC"}
|
|
@@ -2,31 +2,35 @@
|
|
|
2
2
|
import React, { useMemo } from "react";
|
|
3
3
|
import cx from "classnames";
|
|
4
4
|
import { useIntl } from "react-intl";
|
|
5
|
+
import { serializeObjRef } from "@gooddata/sdk-model";
|
|
5
6
|
import { DropdownList, ShortenedText } from "@gooddata/sdk-ui-kit";
|
|
6
7
|
import { stringUtils } from "@gooddata/util";
|
|
7
8
|
import { messages } from "../../../../../../../locales.js";
|
|
8
9
|
import { PopupHeader } from "./PopupHeader.js";
|
|
10
|
+
import { useCommonDateItems } from "../shared/limitingItemsHook.js";
|
|
9
11
|
const TOOLTIP_ALIGN_POINT = [
|
|
10
12
|
{ align: "cr cl", offset: { x: 10, y: 0 } },
|
|
11
13
|
{ align: "cl cr", offset: { x: -10, y: 0 } },
|
|
12
14
|
];
|
|
13
|
-
|
|
15
|
+
// TODO: LX-160
|
|
16
|
+
const DateAttributeListItem = ({ item, onSelect, onClose }) => {
|
|
14
17
|
const classNames = useMemo(() => {
|
|
15
|
-
return cx("gd-list-item date-filter__limit__popup__item", `s-${stringUtils.simplifyText(item.
|
|
18
|
+
return cx("gd-list-item date-filter__limit__popup__item", `s-${stringUtils.simplifyText(item.title ?? "unknown")}`);
|
|
16
19
|
}, [item]);
|
|
17
|
-
|
|
18
|
-
|
|
20
|
+
const onClick = () => {
|
|
21
|
+
onSelect(item.item);
|
|
22
|
+
onClose();
|
|
23
|
+
};
|
|
24
|
+
return (React.createElement("div", { key: serializeObjRef(item.item), className: classNames, onClick: onClick },
|
|
25
|
+
React.createElement(ShortenedText, { tooltipAlignPoints: TOOLTIP_ALIGN_POINT }, item.title)));
|
|
19
26
|
};
|
|
20
27
|
export default DateAttributeListItem;
|
|
21
|
-
export const DateFiltersPage = ({ availableDatasets, onSelect, onGoBack, onClose, }) => {
|
|
28
|
+
export const DateFiltersPage = ({ availableDatasets, dependentCommonDateFilter, dependentDateFilters, onSelect, onGoBack, onClose, }) => {
|
|
22
29
|
const intl = useIntl();
|
|
23
|
-
|
|
30
|
+
const commonDateItems = useCommonDateItems(availableDatasets, dependentCommonDateFilter, dependentDateFilters);
|
|
24
31
|
return (React.createElement(React.Fragment, null,
|
|
25
32
|
React.createElement(PopupHeader, { title: intl.formatMessage(messages.filterAddDateTitle), onGoBack: onGoBack, onClose: onClose }),
|
|
26
33
|
React.createElement("div", { className: "attribute-filter__limit__popup__list--dates" },
|
|
27
|
-
React.createElement(DropdownList, { width: 250, isMobile: false, showSearch: false, items:
|
|
28
|
-
onSelect(item.dataSet.ref);
|
|
29
|
-
onClose();
|
|
30
|
-
} })) }))));
|
|
34
|
+
React.createElement(DropdownList, { width: 250, isMobile: false, showSearch: false, items: commonDateItems, renderItem: ({ item }) => (React.createElement(DateAttributeListItem, { item: item, onSelect: onSelect, onClose: onClose })) }))));
|
|
31
35
|
};
|
|
32
36
|
//# sourceMappingURL=DateFiltersPage.js.map
|
|
@@ -1 +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;
|
|
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;AACrC,OAAO,EAA6C,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACjG,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAG3D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAgC,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAkBlG,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,eAAe;AACf,MAAM,qBAAqB,GAAsC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;IAC7F,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE;QAC5B,OAAO,EAAE,CACL,8CAA8C,EAC9C,KAAK,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC,EAAE,CAC3D,CAAC;IACN,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,MAAM,OAAO,GAAG,GAAG,EAAE;QACjB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,OAAO,EAAE,CAAC;IACd,CAAC,CAAC;IAEF,OAAO,CACH,6BAAK,GAAG,EAAE,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO;QACzE,oBAAC,aAAa,IAAC,kBAAkB,EAAE,mBAAmB,IAAG,IAAI,CAAC,KAAM,CAAiB,CACnF,CACT,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,qBAAqB,CAAC;AAErC,MAAM,CAAC,MAAM,eAAe,GAAoC,CAAC,EAC7D,iBAAiB,EACjB,yBAAyB,EACzB,oBAAoB,EACpB,QAAQ,EACR,QAAQ,EACR,OAAO,GACV,EAAE,EAAE;IACD,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IAEvB,MAAM,eAAe,GAAG,kBAAkB,CACtC,iBAAiB,EACjB,yBAAyB,EACzB,oBAAoB,CACvB,CAAC;IAEF,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,eAAe,EACtB,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CACtB,oBAAC,qBAAqB,IAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAI,CAC9E,GACH,CACA,CACP,CACN,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { ICatalogDateDataset, ObjRef } from "@gooddata/sdk-model";
|
|
2
|
+
import { ICatalogDateDataset, IDashboardDateFilter, ObjRef } from "@gooddata/sdk-model";
|
|
3
3
|
import { ValuesLimitingItem } from "../../../../types.js";
|
|
4
4
|
import { IDashboardAttributeFilterParentItem, IDashboardDependentDateFilter } from "../../../../../../../model/index.js";
|
|
5
5
|
export interface IParentFiltersPageProps {
|
|
@@ -8,6 +8,7 @@ export interface IParentFiltersPageProps {
|
|
|
8
8
|
validParentFilters: ObjRef[];
|
|
9
9
|
dependentDateFilters: IDashboardDependentDateFilter[];
|
|
10
10
|
availableDatasets: ICatalogDateDataset[];
|
|
11
|
+
dependentCommonDateFilter: IDashboardDateFilter;
|
|
11
12
|
onSelect: (item: ValuesLimitingItem) => void;
|
|
12
13
|
onGoBack: () => void;
|
|
13
14
|
onClose: () => void;
|
|
@@ -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,mBAAmB,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,oBAAoB,EAAE,MAAM,EAAmB,MAAM,qBAAqB,CAAC;AAIzG,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,yBAAyB,EAAE,oBAAoB,CAAC;IAChD,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;AAsGD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAuD/D,CAAC"}
|
|
@@ -15,6 +15,7 @@ const ARROW_OFFSET = {
|
|
|
15
15
|
"bc tl": [-60, 10],
|
|
16
16
|
"tc bl": [-60, -10],
|
|
17
17
|
};
|
|
18
|
+
// TODO: LX-160
|
|
18
19
|
const WithDisabledParentFilterTooltip = ({ children, isDisabled, attributeFilterTitle, parentFilterTitle, }) => {
|
|
19
20
|
if (!isDisabled) {
|
|
20
21
|
return React.createElement(React.Fragment, null, children);
|
|
@@ -53,10 +54,10 @@ const ParentFilter = ({ item: { title, item, isDisabled, type }, attributeTitle,
|
|
|
53
54
|
React.createElement(WithDisabledParentFilterTooltip, { attributeFilterTitle: attributeTitle ?? React.createElement(UnknownItemTitle, null), parentFilterTitle: title ?? React.createElement(UnknownItemTitle, null), isDisabled: !!isDisabled },
|
|
54
55
|
React.createElement(LimitingItemTitle, { item: item, title: title }))));
|
|
55
56
|
};
|
|
56
|
-
export const ParentFiltersPage = ({ attributeTitle, parentFilters, validParentFilters, dependentDateFilters, availableDatasets, onSelect, onGoBack, onClose, onCommonDateSelect, }) => {
|
|
57
|
+
export const ParentFiltersPage = ({ attributeTitle, parentFilters, validParentFilters, dependentDateFilters, dependentCommonDateFilter, availableDatasets, onSelect, onGoBack, onClose, onCommonDateSelect, }) => {
|
|
57
58
|
const intl = useIntl();
|
|
58
59
|
const isEnabledKDAttributeFilterDatesValidation = useDashboardSelector(selectEnableKDAttributeFilterDatesValidation);
|
|
59
|
-
const items = useFilterItems(parentFilters, validParentFilters, dependentDateFilters, availableDatasets, isEnabledKDAttributeFilterDatesValidation, false, intl);
|
|
60
|
+
const items = useFilterItems(parentFilters, validParentFilters, dependentDateFilters, availableDatasets, dependentCommonDateFilter, isEnabledKDAttributeFilterDatesValidation, false, intl);
|
|
60
61
|
return (React.createElement(React.Fragment, null,
|
|
61
62
|
React.createElement(PopupHeader, { title: intl.formatMessage(messages.filterAddFilterTitle), onGoBack: onGoBack, onClose: onClose }),
|
|
62
63
|
React.createElement("div", { className: "attribute-filter__limit__popup__list" },
|