@gooddata/sdk-ui-filters 11.23.0 → 11.24.0-alpha.2
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/AttributeFilter/AttributeFilterDefaultComponents.d.ts.map +1 -1
- package/esm/AttributeFilter/AttributeFilterDefaultComponents.js +5 -1
- package/esm/AttributeFilter/AttributeFilterDefaultComponents.js.map +1 -1
- package/esm/AttributeFilter/AttributeFilterProviders.d.ts.map +1 -1
- package/esm/AttributeFilter/AttributeFilterProviders.js +2 -2
- package/esm/AttributeFilter/AttributeFilterProviders.js.map +1 -1
- package/esm/AttributeFilter/Components/Addons/AttributeDisplayFormSelect/AttributeDisplayFormSelectItem.d.ts.map +1 -1
- package/esm/AttributeFilter/Components/Addons/AttributeDisplayFormSelect/AttributeDisplayFormSelectItem.js +3 -2
- package/esm/AttributeFilter/Components/Addons/AttributeDisplayFormSelect/AttributeDisplayFormSelectItem.js.map +1 -1
- package/esm/AttributeFilter/Components/Dropdown/AttributeFilterDetailsBubble.d.ts +25 -0
- package/esm/AttributeFilter/Components/Dropdown/AttributeFilterDetailsBubble.d.ts.map +1 -0
- package/esm/AttributeFilter/Components/Dropdown/AttributeFilterDetailsBubble.js +54 -0
- package/esm/AttributeFilter/Components/Dropdown/AttributeFilterDetailsBubble.js.map +1 -0
- package/esm/AttributeFilter/Components/Dropdown/AttributeFilterDropdown.d.ts.map +1 -1
- package/esm/AttributeFilter/Components/Dropdown/AttributeFilterDropdown.js +14 -5
- package/esm/AttributeFilter/Components/Dropdown/AttributeFilterDropdown.js.map +1 -1
- package/esm/AttributeFilter/Components/Dropdown/AttributeFilterDropdownActions.d.ts +7 -1
- package/esm/AttributeFilter/Components/Dropdown/AttributeFilterDropdownActions.d.ts.map +1 -1
- package/esm/AttributeFilter/Components/Dropdown/AttributeFilterDropdownActions.js +4 -4
- package/esm/AttributeFilter/Components/Dropdown/AttributeFilterDropdownActions.js.map +1 -1
- package/esm/AttributeFilter/Components/Dropdown/AttributeFilterDropdownBody.d.ts.map +1 -1
- package/esm/AttributeFilter/Components/Dropdown/AttributeFilterDropdownBody.js +57 -5
- package/esm/AttributeFilter/Components/Dropdown/AttributeFilterDropdownBody.js.map +1 -1
- package/esm/AttributeFilter/Components/Dropdown/AttributeFilterDropdownHeader.d.ts +59 -0
- package/esm/AttributeFilter/Components/Dropdown/AttributeFilterDropdownHeader.d.ts.map +1 -0
- package/esm/AttributeFilter/Components/Dropdown/AttributeFilterDropdownHeader.js +19 -0
- package/esm/AttributeFilter/Components/Dropdown/AttributeFilterDropdownHeader.js.map +1 -0
- package/esm/AttributeFilter/Components/DropdownButton/AttributeFilterDropdownButton.js.map +1 -1
- package/esm/AttributeFilter/Components/FilterModeMenu/FilterModeMenu.d.ts +41 -0
- package/esm/AttributeFilter/Components/FilterModeMenu/FilterModeMenu.d.ts.map +1 -0
- package/esm/AttributeFilter/Components/FilterModeMenu/FilterModeMenu.js +49 -0
- package/esm/AttributeFilter/Components/FilterModeMenu/FilterModeMenu.js.map +1 -0
- package/esm/AttributeFilter/Components/FilterModeMenu/FilterModeMenuButton.d.ts +22 -0
- package/esm/AttributeFilter/Components/FilterModeMenu/FilterModeMenuButton.d.ts.map +1 -0
- package/esm/AttributeFilter/Components/FilterModeMenu/FilterModeMenuButton.js +21 -0
- package/esm/AttributeFilter/Components/FilterModeMenu/FilterModeMenuButton.js.map +1 -0
- package/esm/AttributeFilter/Components/FilterModeMenu/FilterModeMenuItem.d.ts +27 -0
- package/esm/AttributeFilter/Components/FilterModeMenu/FilterModeMenuItem.d.ts.map +1 -0
- package/esm/AttributeFilter/Components/FilterModeMenu/FilterModeMenuItem.js +21 -0
- package/esm/AttributeFilter/Components/FilterModeMenu/FilterModeMenuItem.js.map +1 -0
- package/esm/AttributeFilter/Components/FilterModeMenu/FilterModeMenuLabelItem.d.ts +27 -0
- package/esm/AttributeFilter/Components/FilterModeMenu/FilterModeMenuLabelItem.d.ts.map +1 -0
- package/esm/AttributeFilter/Components/FilterModeMenu/FilterModeMenuLabelItem.js +12 -0
- package/esm/AttributeFilter/Components/FilterModeMenu/FilterModeMenuLabelItem.js.map +1 -0
- package/esm/AttributeFilter/Components/TextFilterBody/ArbitraryValuesInput.d.ts +60 -0
- package/esm/AttributeFilter/Components/TextFilterBody/ArbitraryValuesInput.d.ts.map +1 -0
- package/esm/AttributeFilter/Components/TextFilterBody/ArbitraryValuesInput.js +158 -0
- package/esm/AttributeFilter/Components/TextFilterBody/ArbitraryValuesInput.js.map +1 -0
- package/esm/AttributeFilter/Components/TextFilterBody/ArbitraryValuesTooltip.d.ts +7 -0
- package/esm/AttributeFilter/Components/TextFilterBody/ArbitraryValuesTooltip.d.ts.map +1 -0
- package/esm/AttributeFilter/Components/TextFilterBody/ArbitraryValuesTooltip.js +22 -0
- package/esm/AttributeFilter/Components/TextFilterBody/ArbitraryValuesTooltip.js.map +1 -0
- package/esm/AttributeFilter/Components/TextFilterBody/TextFilterBody.d.ts +90 -0
- package/esm/AttributeFilter/Components/TextFilterBody/TextFilterBody.d.ts.map +1 -0
- package/esm/AttributeFilter/Components/TextFilterBody/TextFilterBody.js +42 -0
- package/esm/AttributeFilter/Components/TextFilterBody/TextFilterBody.js.map +1 -0
- package/esm/AttributeFilter/Components/TextFilterBody/TextFilterOperatorDropdown.d.ts +33 -0
- package/esm/AttributeFilter/Components/TextFilterBody/TextFilterOperatorDropdown.d.ts.map +1 -0
- package/esm/AttributeFilter/Components/TextFilterBody/TextFilterOperatorDropdown.js +56 -0
- package/esm/AttributeFilter/Components/TextFilterBody/TextFilterOperatorDropdown.js.map +1 -0
- package/esm/AttributeFilter/Components/TextFilterBody/TextFilterStateSummary.d.ts +29 -0
- package/esm/AttributeFilter/Components/TextFilterBody/TextFilterStateSummary.d.ts.map +1 -0
- package/esm/AttributeFilter/Components/TextFilterBody/TextFilterStateSummary.js +50 -0
- package/esm/AttributeFilter/Components/TextFilterBody/TextFilterStateSummary.js.map +1 -0
- package/esm/AttributeFilter/Components/TextFilterBody/TextFilterValidationMessages.d.ts +34 -0
- package/esm/AttributeFilter/Components/TextFilterBody/TextFilterValidationMessages.d.ts.map +1 -0
- package/esm/AttributeFilter/Components/TextFilterBody/TextFilterValidationMessages.js +14 -0
- package/esm/AttributeFilter/Components/TextFilterBody/TextFilterValidationMessages.js.map +1 -0
- package/esm/AttributeFilter/Components/TextFilterBody/useTextFilterBodyTexts.d.ts +12 -0
- package/esm/AttributeFilter/Components/TextFilterBody/useTextFilterBodyTexts.d.ts.map +1 -0
- package/esm/AttributeFilter/Components/TextFilterBody/useTextFilterBodyTexts.js +25 -0
- package/esm/AttributeFilter/Components/TextFilterBody/useTextFilterBodyTexts.js.map +1 -0
- package/esm/AttributeFilter/Context/AttributeFilterComponentsContext.d.ts +4 -0
- package/esm/AttributeFilter/Context/AttributeFilterComponentsContext.d.ts.map +1 -1
- package/esm/AttributeFilter/Context/AttributeFilterComponentsContext.js +3 -1
- package/esm/AttributeFilter/Context/AttributeFilterComponentsContext.js.map +1 -1
- package/esm/AttributeFilter/filterModeTypes.d.ts +21 -0
- package/esm/AttributeFilter/filterModeTypes.d.ts.map +1 -0
- package/esm/AttributeFilter/filterModeTypes.js +3 -0
- package/esm/AttributeFilter/filterModeTypes.js.map +1 -0
- package/esm/AttributeFilter/filterModeUtils.d.ts +45 -0
- package/esm/AttributeFilter/filterModeUtils.d.ts.map +1 -0
- package/esm/AttributeFilter/filterModeUtils.js +104 -0
- package/esm/AttributeFilter/filterModeUtils.js.map +1 -0
- package/esm/AttributeFilter/hooks/types.d.ts +270 -38
- package/esm/AttributeFilter/hooks/types.d.ts.map +1 -1
- package/esm/AttributeFilter/hooks/types.js +1 -1
- package/esm/AttributeFilter/hooks/useAttributeFilterController.d.ts.map +1 -1
- package/esm/AttributeFilter/hooks/useAttributeFilterController.js +210 -595
- package/esm/AttributeFilter/hooks/useAttributeFilterController.js.map +1 -1
- package/esm/AttributeFilter/hooks/useAttributeFilterControllerData.d.ts.map +1 -1
- package/esm/AttributeFilter/hooks/useAttributeFilterControllerData.js +2 -0
- package/esm/AttributeFilter/hooks/useAttributeFilterControllerData.js.map +1 -1
- package/esm/AttributeFilter/hooks/useAttributeFilterDetails.d.ts +26 -0
- package/esm/AttributeFilter/hooks/useAttributeFilterDetails.d.ts.map +1 -0
- package/esm/AttributeFilter/hooks/useAttributeFilterDetails.js +59 -0
- package/esm/AttributeFilter/hooks/useAttributeFilterDetails.js.map +1 -0
- package/esm/AttributeFilter/hooks/useAttributeFilterHandler.d.ts +1 -1
- package/esm/AttributeFilter/hooks/useAttributeFilterHandler.d.ts.map +1 -1
- package/esm/AttributeFilter/hooks/useAttributeFilterHandler.js +12 -2
- package/esm/AttributeFilter/hooks/useAttributeFilterHandler.js.map +1 -1
- package/esm/AttributeFilter/hooks/useAttributeFilterHandlerMethods.d.ts +1 -1
- package/esm/AttributeFilter/hooks/useElementsFilterController.d.ts +49 -0
- package/esm/AttributeFilter/hooks/useElementsFilterController.d.ts.map +1 -0
- package/esm/AttributeFilter/hooks/useElementsFilterController.js +672 -0
- package/esm/AttributeFilter/hooks/useElementsFilterController.js.map +1 -0
- package/esm/AttributeFilter/hooks/useFilterDetailRequestHandler.d.ts +13 -0
- package/esm/AttributeFilter/hooks/useFilterDetailRequestHandler.d.ts.map +1 -0
- package/esm/AttributeFilter/hooks/useFilterDetailRequestHandler.js +22 -0
- package/esm/AttributeFilter/hooks/useFilterDetailRequestHandler.js.map +1 -0
- package/esm/AttributeFilter/hooks/useResolveAttributeFilterSubtitle.d.ts +2 -2
- package/esm/AttributeFilter/hooks/useResolveAttributeFilterSubtitle.d.ts.map +1 -1
- package/esm/AttributeFilter/hooks/useResolveAttributeFilterSubtitle.js +10 -3
- package/esm/AttributeFilter/hooks/useResolveAttributeFilterSubtitle.js.map +1 -1
- package/esm/AttributeFilter/hooks/useResolveFilterInput.d.ts.map +1 -1
- package/esm/AttributeFilter/hooks/useResolveFilterInput.js +1 -1
- package/esm/AttributeFilter/hooks/useResolveFilterInput.js.map +1 -1
- package/esm/AttributeFilter/hooks/useTextFilterController.d.ts +33 -0
- package/esm/AttributeFilter/hooks/useTextFilterController.d.ts.map +1 -0
- package/esm/AttributeFilter/hooks/useTextFilterController.js +116 -0
- package/esm/AttributeFilter/hooks/useTextFilterController.js.map +1 -0
- package/esm/AttributeFilter/hooks/useTextFilterInnerController.d.ts +60 -0
- package/esm/AttributeFilter/hooks/useTextFilterInnerController.d.ts.map +1 -0
- package/esm/AttributeFilter/hooks/useTextFilterInnerController.js +209 -0
- package/esm/AttributeFilter/hooks/useTextFilterInnerController.js.map +1 -0
- package/esm/AttributeFilter/parseArbitraryValues.d.ts +12 -0
- package/esm/AttributeFilter/parseArbitraryValues.d.ts.map +1 -0
- package/esm/AttributeFilter/parseArbitraryValues.js +38 -0
- package/esm/AttributeFilter/parseArbitraryValues.js.map +1 -0
- package/esm/AttributeFilter/textFilterOperatorUtils.d.ts +66 -0
- package/esm/AttributeFilter/textFilterOperatorUtils.d.ts.map +1 -0
- package/esm/AttributeFilter/textFilterOperatorUtils.js +131 -0
- package/esm/AttributeFilter/textFilterOperatorUtils.js.map +1 -0
- package/esm/AttributeFilter/textFilterStateSummaryUtils.d.ts +24 -0
- package/esm/AttributeFilter/textFilterStateSummaryUtils.d.ts.map +1 -0
- package/esm/AttributeFilter/textFilterStateSummaryUtils.js +75 -0
- package/esm/AttributeFilter/textFilterStateSummaryUtils.js.map +1 -0
- package/esm/AttributeFilter/types.d.ts +52 -3
- package/esm/AttributeFilter/types.d.ts.map +1 -1
- package/esm/AttributeFilter/utils.d.ts +9 -0
- package/esm/AttributeFilter/utils.d.ts.map +1 -1
- package/esm/AttributeFilter/utils.js +28 -1
- package/esm/AttributeFilter/utils.js.map +1 -1
- package/esm/AttributeFilterHandler/internal/bridge.d.ts +1 -1
- package/esm/AttributeFilterHandler/internal/bridge.d.ts.map +1 -1
- package/esm/AttributeFilterHandler/internal/bridge.js +2 -1
- package/esm/AttributeFilterHandler/internal/bridge.js.map +1 -1
- package/esm/AttributeFilterHandler/internal/loader.d.ts +1 -1
- package/esm/AttributeFilterHandler/internal/loader.d.ts.map +1 -1
- package/esm/AttributeFilterHandler/internal/loader.js +2 -2
- package/esm/AttributeFilterHandler/internal/loader.js.map +1 -1
- package/esm/AttributeFilterHandler/internal/redux/init/initReducers.d.ts +1 -0
- package/esm/AttributeFilterHandler/internal/redux/init/initReducers.d.ts.map +1 -1
- package/esm/AttributeFilterHandler/internal/redux/init/initReducers.js.map +1 -1
- package/esm/AttributeFilterHandler/internal/redux/init/initSaga.d.ts.map +1 -1
- package/esm/AttributeFilterHandler/internal/redux/init/initSaga.js +7 -1
- package/esm/AttributeFilterHandler/internal/redux/init/initSaga.js.map +1 -1
- package/esm/AttributeFilterHandler/internal/redux/loadAttribute/loadAttributeSaga.d.ts.map +1 -1
- package/esm/AttributeFilterHandler/internal/redux/loadAttribute/loadAttributeSaga.js +23 -18
- package/esm/AttributeFilterHandler/internal/redux/loadAttribute/loadAttributeSaga.js.map +1 -1
- package/esm/AttributeFilterHandler/internal/redux/store/createStore.d.ts.map +1 -1
- package/esm/AttributeFilterHandler/internal/redux/store/createStore.js +3 -0
- package/esm/AttributeFilterHandler/internal/redux/store/createStore.js.map +1 -1
- package/esm/AttributeFilterHandler/internal/redux/store/rootReducers.d.ts +1 -0
- package/esm/AttributeFilterHandler/internal/redux/store/rootReducers.d.ts.map +1 -1
- package/esm/AttributeFilterHandler/internal/redux/store/slice.d.ts +1 -0
- package/esm/AttributeFilterHandler/internal/redux/store/slice.d.ts.map +1 -1
- package/esm/AttributeFilterHandler/internal/singleSelectHandler.d.ts.map +1 -1
- package/esm/AttributeFilterHandler/internal/singleSelectHandler.js +3 -0
- package/esm/AttributeFilterHandler/internal/singleSelectHandler.js.map +1 -1
- package/esm/AttributeFilterHandler/types/attributeFilterLoader.d.ts +2 -1
- package/esm/AttributeFilterHandler/types/attributeFilterLoader.d.ts.map +1 -1
- package/esm/AttributeFilterHandler/types/attributeFilterLoader.js +1 -0
- package/esm/AttributeFilterHandler/types/attributeFilterLoader.js.map +1 -1
- package/esm/AttributeFilterHandler/types/common.d.ts.map +1 -1
- package/esm/AttributeFilterHandler/types/common.js +1 -2
- package/esm/AttributeFilterHandler/types/common.js.map +1 -1
- package/esm/AttributeFilterHandler/types/elementsLoader.d.ts +1 -1
- package/esm/AttributeFilterHandler/types/elementsLoader.d.ts.map +1 -1
- package/esm/AttributeFilterHandler/types/elementsLoader.js +1 -1
- package/esm/MeasureValueFilter/useLazyCatalogDimensionality.js +0 -1
- package/esm/MeasureValueFilter/useLazyCatalogDimensionality.js.map +1 -1
- package/esm/index.d.ts +13 -3
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +12 -1
- package/esm/index.js.map +1 -1
- package/esm/locales.d.ts.map +1 -1
- package/esm/locales.js +7 -0
- package/esm/locales.js.map +1 -1
- package/esm/sdk-ui-filters.d.ts +880 -189
- package/package.json +12 -12
- package/styles/css/attributeFilter.css +503 -0
- package/styles/css/attributeFilter.css.map +1 -1
- package/styles/css/attributeFilterNext/attributeFilterDetailsBubble.css +104 -0
- package/styles/css/attributeFilterNext/attributeFilterDetailsBubble.css.map +1 -0
- package/styles/css/attributeFilterNext/attributeFilterDropdownBody.css +35 -0
- package/styles/css/attributeFilterNext/attributeFilterDropdownBody.css.map +1 -1
- package/styles/css/attributeFilterNext/attributeFilterDropdownButton.css +2 -0
- package/styles/css/attributeFilterNext/attributeFilterDropdownButton.css.map +1 -1
- package/styles/css/attributeFilterNext/filterModeMenu.css +102 -0
- package/styles/css/attributeFilterNext/filterModeMenu.css.map +1 -0
- package/styles/css/attributeFilterNext/textFilterBody.css +265 -0
- package/styles/css/attributeFilterNext/textFilterBody.css.map +1 -0
- package/styles/css/attributeFilterNext.css +503 -0
- package/styles/css/attributeFilterNext.css.map +1 -1
- package/styles/css/main.css +503 -0
- package/styles/css/main.css.map +1 -1
- package/styles/scss/attributeFilterNext/attributeFilterDetailsBubble.scss +108 -0
- package/styles/scss/attributeFilterNext/attributeFilterDropdownBody.scss +35 -0
- package/styles/scss/attributeFilterNext/attributeFilterDropdownButton.scss +2 -0
- package/styles/scss/attributeFilterNext/filterModeMenu.scss +122 -0
- package/styles/scss/attributeFilterNext/textFilterBody.scss +323 -0
- package/styles/scss/attributeFilterNext.scss +3 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AttributeFilterDefaultComponents.d.ts","sourceRoot":"","sources":["../../src/AttributeFilter/AttributeFilterDefaultComponents.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AttributeFilterDefaultComponents.d.ts","sourceRoot":"","sources":["../../src/AttributeFilter/AttributeFilterDefaultComponents.tsx"],"names":[],"mappings":"AAqBA,OAAO,EAAE,KAAK,yBAAyB,EAAE,KAAK,oCAAoC,EAAE,MAAM,YAAY,CAAC;AAEvG;;GAEG;AACH,eAAO,MAAM,gCAAgC,EAAE,QAAQ,CAAC,oCAAoC,CAgB3F,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mCAAmC,mGAc/C,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// (C) 2022-
|
|
1
|
+
// (C) 2022-2026 GoodData Corporation
|
|
2
2
|
import { AttributeFilterError } from "./Components/AttributeFilterError.js";
|
|
3
3
|
import { AttributeFilterLoading } from "./Components/AttributeFilterLoading.js";
|
|
4
4
|
import { AttributeFilterDropdownActions } from "./Components/Dropdown/AttributeFilterDropdownActions.js";
|
|
@@ -16,6 +16,8 @@ import { SingleSelectionAttributeFilterElementsSelectActions } from "./Component
|
|
|
16
16
|
import { SingleSelectionAttributeFilterElementsSelectItem } from "./Components/ElementsSelect/SingleSelectionAttributeFilterElementsSelectItem.js";
|
|
17
17
|
import { AttributeFilterStatusBar } from "./Components/ElementsSelect/StatusBar/AttributeFilterStatusBar.js";
|
|
18
18
|
import { SingleSelectionAttributeFilterStatusBar } from "./Components/ElementsSelect/StatusBar/SingleSelectionAttributeFilterStatusBar.js";
|
|
19
|
+
import { FilterModeMenu } from "./Components/FilterModeMenu/FilterModeMenu.js";
|
|
20
|
+
import { TextFilterBody } from "./Components/TextFilterBody/TextFilterBody.js";
|
|
19
21
|
/**
|
|
20
22
|
* @internal
|
|
21
23
|
*/
|
|
@@ -33,6 +35,8 @@ export const AttributeFilterDefaultComponents = {
|
|
|
33
35
|
ElementsSelectActionsComponent: AttributeFilterElementsActions,
|
|
34
36
|
EmptyResultComponent: AttributeFilterEmptyResult,
|
|
35
37
|
StatusBarComponent: AttributeFilterStatusBar,
|
|
38
|
+
FilterModeMenuComponent: FilterModeMenu,
|
|
39
|
+
TextFilterBodyComponent: TextFilterBody,
|
|
36
40
|
};
|
|
37
41
|
/**
|
|
38
42
|
* @internal
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AttributeFilterDefaultComponents.js","sourceRoot":"","sources":["../../src/AttributeFilter/AttributeFilterDefaultComponents.tsx"],"names":[],"mappings":"AAAA,qCAAqC;
|
|
1
|
+
{"version":3,"file":"AttributeFilterDefaultComponents.js","sourceRoot":"","sources":["../../src/AttributeFilter/AttributeFilterDefaultComponents.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AAErC,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,8BAA8B,EAAE,MAAM,yDAAyD,CAAC;AACzG,OAAO,EAAE,2BAA2B,EAAE,MAAM,sDAAsD,CAAC;AACnG,OAAO,EAAE,6CAA6C,EAAE,MAAM,wEAAwE,CAAC;AACvI,OAAO,EAAE,6BAA6B,EAAE,MAAM,8DAA8D,CAAC;AAC7G,OAAO,EAAE,8BAA8B,EAAE,MAAM,+DAA+D,CAAC;AAC/G,OAAO,EAAE,gCAAgC,EAAE,MAAM,iEAAiE,CAAC;AACnH,OAAO,EAAE,6BAA6B,EAAE,MAAM,8DAA8D,CAAC;AAC7G,OAAO,EAAE,kCAAkC,EAAE,MAAM,mEAAmE,CAAC;AACvH,OAAO,EAAE,iCAAiC,EAAE,MAAM,kEAAkE,CAAC;AACrH,OAAO,EAAE,oCAAoC,EAAE,MAAM,qEAAqE,CAAC;AAC3H,OAAO,EAAE,0BAA0B,EAAE,MAAM,uEAAuE,CAAC;AACnH,OAAO,EAAE,mDAAmD,EAAE,MAAM,8EAA8E,CAAC;AACnJ,OAAO,EAAE,gDAAgD,EAAE,MAAM,iFAAiF,CAAC;AACnJ,OAAO,EAAE,wBAAwB,EAAE,MAAM,mEAAmE,CAAC;AAC7G,OAAO,EAAE,uCAAuC,EAAE,MAAM,kFAAkF,CAAC;AAC3I,OAAO,EAAE,cAAc,EAAE,MAAM,+CAA+C,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,+CAA+C,CAAC;AAG/E;;GAEG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAmD;IAC5F,cAAc,EAAE,oBAAoB;IACpC,gBAAgB,EAAE,sBAAsB;IACxC,uBAAuB,EAAE,6BAA6B;IACtD,qBAAqB,EAAE,2BAA2B;IAClD,wBAAwB,EAAE,8BAA8B;IACxD,0BAA0B,EAAE,gCAAgC;IAC5D,uBAAuB,EAAE,6BAA6B;IACtD,2BAA2B,EAAE,iCAAiC;IAC9D,4BAA4B,EAAE,kCAAkC;IAChE,8BAA8B,EAAE,oCAAoC;IACpE,8BAA8B,EAAE,8BAA8B;IAC9D,oBAAoB,EAAE,0BAA0B;IAChD,kBAAkB,EAAE,wBAAwB;IAC5C,uBAAuB,EAAE,cAAc;IACvC,uBAAuB,EAAE,cAAc;CAC1C,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAAC,EAChD,aAAa,GACW,EAAkD,EAAE,CAAC;IAC7E,OAAO;QACH,GAAG,gCAAgC;QACnC,GAAG,CAAC,aAAa,KAAK,QAAQ;YAC1B,CAAC,CAAC;gBACI,2BAA2B,EAAE,gDAAgD;gBAC7E,8BAA8B,EAAE,mDAAmD;gBACnF,kBAAkB,EAAE,uCAAuC;gBAC3D,wBAAwB,EAAE,6CAA6C;aAC1E;YACH,CAAC,CAAC,EAAE,CAAC;KACZ,CAAC;AAAA,CACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AttributeFilterProviders.d.ts","sourceRoot":"","sources":["../../src/AttributeFilter/AttributeFilterProviders.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAOvC,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAE5D;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,yBAAyB,GAAG;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"AttributeFilterProviders.d.ts","sourceRoot":"","sources":["../../src/AttributeFilter/AttributeFilterProviders.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAOvC,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAE5D;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,yBAAyB,GAAG;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,2CAwHlG"}
|
|
@@ -7,8 +7,8 @@ import { AttributeFilterContextProvider } from "./Context/AttributeFilterContext
|
|
|
7
7
|
* @internal
|
|
8
8
|
*/
|
|
9
9
|
export function AttributeFilterProviders(props) {
|
|
10
|
-
const { resetOnParentFilterChange = true, children, locale, backend, workspace, title, filter, workingFilter, displayAsLabel, connectToPlaceholder, parentFilters, dependentDateFilters, parentFilterOverAttribute, validateElementsBy, hiddenElements, staticElements, fullscreenOnMobile = false, selectionMode = "multi", selectFirst = false, disabled, customIcon, withoutApply = false, overlayPositionType, alignPoints, onApply, onSelect, onError, onInitLoadingChanged, ErrorComponent, LoadingComponent, DropdownButtonComponent, DropdownBodyComponent, DropdownActionsComponent, ElementsSearchBarComponent, ElementsSelectComponent, ElementsSelectItemComponent, ElementsSelectErrorComponent, ElementsSelectLoadingComponent, ElementsSelectActionsComponent, EmptyResultComponent, StatusBarComponent, enableImmediateAttributeFilterDisplayAsLabelMigration = false, } = props;
|
|
10
|
+
const { resetOnParentFilterChange = true, children, locale, backend, workspace, title, filter, workingFilter, displayAsLabel, connectToPlaceholder, parentFilters, dependentDateFilters, parentFilterOverAttribute, validateElementsBy, hiddenElements, staticElements, fullscreenOnMobile = false, selectionMode = "multi", selectFirst = false, disabled, customIcon, withoutApply = false, overlayPositionType, alignPoints, availableFilterModes, onApply, onChange, onSelect, onError, onInitLoadingChanged, ErrorComponent, LoadingComponent, DropdownButtonComponent, DropdownBodyComponent, DropdownActionsComponent, ElementsSearchBarComponent, ElementsSelectComponent, ElementsSelectItemComponent, ElementsSelectErrorComponent, ElementsSelectLoadingComponent, ElementsSelectActionsComponent, EmptyResultComponent, StatusBarComponent, FilterModeMenuComponent, TextFilterBodyComponent, enableImmediateAttributeFilterDisplayAsLabelMigration = false, } = props;
|
|
11
11
|
const DefaultComponents = getAttributeFilterDefaultComponents(props);
|
|
12
|
-
return (_jsx(IntlWrapper, { locale: locale, children: _jsx(AttributeFilterComponentsProvider, { ErrorComponent: ErrorComponent ?? DefaultComponents.ErrorComponent, LoadingComponent: LoadingComponent ?? DefaultComponents.LoadingComponent, DropdownButtonComponent: DropdownButtonComponent ?? DefaultComponents.DropdownButtonComponent, DropdownBodyComponent: DropdownBodyComponent ?? DefaultComponents.DropdownBodyComponent, DropdownActionsComponent: DropdownActionsComponent ?? DefaultComponents.DropdownActionsComponent, ElementsSearchBarComponent: ElementsSearchBarComponent ?? DefaultComponents.ElementsSearchBarComponent, ElementsSelectComponent: ElementsSelectComponent ?? DefaultComponents.ElementsSelectComponent, ElementsSelectItemComponent: ElementsSelectItemComponent ?? DefaultComponents.ElementsSelectItemComponent, ElementsSelectErrorComponent: ElementsSelectErrorComponent ?? DefaultComponents.ElementsSelectErrorComponent, ElementsSelectLoadingComponent: ElementsSelectLoadingComponent ?? DefaultComponents.ElementsSelectLoadingComponent, ElementsSelectActionsComponent: ElementsSelectActionsComponent ?? DefaultComponents.ElementsSelectActionsComponent, EmptyResultComponent: EmptyResultComponent ?? DefaultComponents.EmptyResultComponent, StatusBarComponent: StatusBarComponent ?? DefaultComponents.StatusBarComponent, children: _jsx(AttributeFilterContextProvider, { backend: backend, workspace: workspace, title: title, filter: filter, workingFilter: workingFilter, displayAsLabel: displayAsLabel, connectToPlaceholder: connectToPlaceholder, resetOnParentFilterChange: resetOnParentFilterChange, parentFilters: parentFilters, dependentDateFilters: dependentDateFilters, parentFilterOverAttribute: parentFilterOverAttribute, validateElementsBy: validateElementsBy, onApply: onApply,
|
|
12
|
+
return (_jsx(IntlWrapper, { locale: locale, children: _jsx(AttributeFilterComponentsProvider, { ErrorComponent: ErrorComponent ?? DefaultComponents.ErrorComponent, LoadingComponent: LoadingComponent ?? DefaultComponents.LoadingComponent, DropdownButtonComponent: DropdownButtonComponent ?? DefaultComponents.DropdownButtonComponent, DropdownBodyComponent: DropdownBodyComponent ?? DefaultComponents.DropdownBodyComponent, DropdownActionsComponent: DropdownActionsComponent ?? DefaultComponents.DropdownActionsComponent, ElementsSearchBarComponent: ElementsSearchBarComponent ?? DefaultComponents.ElementsSearchBarComponent, ElementsSelectComponent: ElementsSelectComponent ?? DefaultComponents.ElementsSelectComponent, ElementsSelectItemComponent: ElementsSelectItemComponent ?? DefaultComponents.ElementsSelectItemComponent, ElementsSelectErrorComponent: ElementsSelectErrorComponent ?? DefaultComponents.ElementsSelectErrorComponent, ElementsSelectLoadingComponent: ElementsSelectLoadingComponent ?? DefaultComponents.ElementsSelectLoadingComponent, ElementsSelectActionsComponent: ElementsSelectActionsComponent ?? DefaultComponents.ElementsSelectActionsComponent, EmptyResultComponent: EmptyResultComponent ?? DefaultComponents.EmptyResultComponent, StatusBarComponent: StatusBarComponent ?? DefaultComponents.StatusBarComponent, FilterModeMenuComponent: FilterModeMenuComponent ?? DefaultComponents.FilterModeMenuComponent, TextFilterBodyComponent: TextFilterBodyComponent ?? DefaultComponents.TextFilterBodyComponent, children: _jsx(AttributeFilterContextProvider, { backend: backend, workspace: workspace, title: title, filter: filter, workingFilter: workingFilter, displayAsLabel: displayAsLabel, connectToPlaceholder: connectToPlaceholder, resetOnParentFilterChange: resetOnParentFilterChange, parentFilters: parentFilters, dependentDateFilters: dependentDateFilters, parentFilterOverAttribute: parentFilterOverAttribute, validateElementsBy: validateElementsBy, onApply: onApply, onChange: onChange ?? onSelect, onError: onError, onInitLoadingChanged: onInitLoadingChanged, hiddenElements: hiddenElements, staticElements: staticElements, fullscreenOnMobile: fullscreenOnMobile, selectionMode: selectionMode, selectFirst: selectFirst, disabled: disabled, customIcon: customIcon, enableImmediateAttributeFilterDisplayAsLabelMigration: enableImmediateAttributeFilterDisplayAsLabelMigration, withoutApply: withoutApply, overlayPositionType: overlayPositionType, alignPoints: alignPoints, availableFilterModes: availableFilterModes, children: children }) }) }));
|
|
13
13
|
}
|
|
14
14
|
//# sourceMappingURL=AttributeFilterProviders.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AttributeFilterProviders.js","sourceRoot":"","sources":["../../src/AttributeFilter/AttributeFilterProviders.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,mCAAmC,EAAE,MAAM,uCAAuC,CAAC;AAC5F,OAAO,EAAE,iCAAiC,EAAE,MAAM,+CAA+C,CAAC;AAClG,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AAGrF;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAAC,KAA0D,EAAE;IACjG,MAAM,EACF,yBAAyB,GAAG,IAAI,EAChC,QAAQ,EACR,MAAM,EACN,OAAO,EACP,SAAS,EACT,KAAK,EACL,MAAM,EACN,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,aAAa,EACb,oBAAoB,EACpB,yBAAyB,EACzB,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,kBAAkB,GAAG,KAAK,EAC1B,aAAa,GAAG,OAAO,EACvB,WAAW,GAAG,KAAK,EACnB,QAAQ,EACR,UAAU,EACV,YAAY,GAAG,KAAK,EACpB,mBAAmB,EACnB,WAAW,EACX,OAAO,EACP,QAAQ,EACR,OAAO,EACP,oBAAoB,EACpB,cAAc,EACd,gBAAgB,EAChB,uBAAuB,EACvB,qBAAqB,EACrB,wBAAwB,EACxB,0BAA0B,EAC1B,uBAAuB,EACvB,2BAA2B,EAC3B,4BAA4B,EAC5B,8BAA8B,EAC9B,8BAA8B,EAC9B,oBAAoB,EACpB,kBAAkB,EAClB,qDAAqD,GAAG,KAAK,GAChE,GAAG,KAAK,CAAC;IAEV,MAAM,iBAAiB,GAAG,mCAAmC,CAAC,KAAK,CAAC,CAAC;IAErE,OAAO,CACH,KAAC,WAAW,IAAC,MAAM,EAAE,MAAM,YACvB,KAAC,iCAAiC,IAC9B,cAAc,EAAE,cAAc,IAAI,iBAAiB,CAAC,cAAc,EAClE,gBAAgB,EAAE,gBAAgB,IAAI,iBAAiB,CAAC,gBAAgB,EACxE,uBAAuB,EAAE,uBAAuB,IAAI,iBAAiB,CAAC,uBAAuB,EAC7F,qBAAqB,EAAE,qBAAqB,IAAI,iBAAiB,CAAC,qBAAqB,EACvF,wBAAwB,EACpB,wBAAwB,IAAI,iBAAiB,CAAC,wBAAwB,EAE1E,0BAA0B,EACtB,0BAA0B,IAAI,iBAAiB,CAAC,0BAA0B,EAE9E,uBAAuB,EAAE,uBAAuB,IAAI,iBAAiB,CAAC,uBAAuB,EAC7F,2BAA2B,EACvB,2BAA2B,IAAI,iBAAiB,CAAC,2BAA2B,EAEhF,4BAA4B,EACxB,4BAA4B,IAAI,iBAAiB,CAAC,4BAA4B,EAElF,8BAA8B,EAC1B,8BAA8B,IAAI,iBAAiB,CAAC,8BAA8B,EAEtF,8BAA8B,EAC1B,8BAA8B,IAAI,iBAAiB,CAAC,8BAA8B,EAEtF,oBAAoB,EAAE,oBAAoB,IAAI,iBAAiB,CAAC,oBAAoB,EACpF,kBAAkB,EAAE,kBAAkB,IAAI,iBAAiB,CAAC,kBAAkB,
|
|
1
|
+
{"version":3,"file":"AttributeFilterProviders.js","sourceRoot":"","sources":["../../src/AttributeFilter/AttributeFilterProviders.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AttributeDisplayFormSelectItem.d.ts","sourceRoot":"","sources":["../../../../../src/AttributeFilter/Components/Addons/AttributeDisplayFormSelect/AttributeDisplayFormSelectItem.tsx"],"names":[],"mappings":"AAMA,OAAO,EAEH,KAAK,mCAAmC,EACxC,KAAK,MAAM,EACd,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"AttributeDisplayFormSelectItem.d.ts","sourceRoot":"","sources":["../../../../../src/AttributeFilter/Components/Addons/AttributeDisplayFormSelect/AttributeDisplayFormSelectItem.tsx"],"names":[],"mappings":"AAMA,OAAO,EAEH,KAAK,mCAAmC,EACxC,KAAK,MAAM,EACd,MAAM,qBAAqB,CAAC;AAyB7B;;GAEG;AACH,MAAM,WAAW,oCAAoC;IACjD,WAAW,EAAE,mCAAmC,CAAC;IACjD,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,QAAQ,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,oCAAoC,2CA6BzF"}
|
|
@@ -11,6 +11,7 @@ const getDisplayFormIcon = (type) => {
|
|
|
11
11
|
case "GDC.geo.pin":
|
|
12
12
|
case "GDC.geo.pin_latitude":
|
|
13
13
|
case "GDC.geo.pin_longitude":
|
|
14
|
+
case "GDC.geo.area":
|
|
14
15
|
return "gd-icon-earth";
|
|
15
16
|
default:
|
|
16
17
|
return "gd-icon-label-warning";
|
|
@@ -25,8 +26,8 @@ const tooltipAlignPoints = [
|
|
|
25
26
|
*/
|
|
26
27
|
export function AttributeDisplayFormSelectItem(props) {
|
|
27
28
|
const { displayForm, selected } = props;
|
|
28
|
-
const { title,
|
|
29
|
-
const className = classNames("gd-list-item", "gd-attribute-display-form", "s-attribute-display-form-name", `s-attribute-display-form-name-${simplifyText(title)}`, getDisplayFormIcon(
|
|
29
|
+
const { title, displayFormType } = displayForm;
|
|
30
|
+
const className = classNames("gd-list-item", "gd-attribute-display-form", "s-attribute-display-form-name", `s-attribute-display-form-name-${simplifyText(title)}`, getDisplayFormIcon(displayFormType), {
|
|
30
31
|
"is-selected": selected,
|
|
31
32
|
});
|
|
32
33
|
const handleOnClick = (e) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AttributeDisplayFormSelectItem.js","sourceRoot":"","sources":["../../../../../src/AttributeFilter/Components/Addons/AttributeDisplayFormSelect/AttributeDisplayFormSelectItem.tsx"],"names":[],"mappings":";AAIA,OAAO,UAAU,MAAM,YAAY,CAAC;AAOpC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,kBAAkB,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"AttributeDisplayFormSelectItem.js","sourceRoot":"","sources":["../../../../../src/AttributeFilter/Components/Addons/AttributeDisplayFormSelect/AttributeDisplayFormSelectItem.tsx"],"names":[],"mappings":";AAIA,OAAO,UAAU,MAAM,YAAY,CAAC;AAOpC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,kBAAkB,GAAG,CAAC,IAAwC,EAAE,EAAE,CAAC;IACrE,QAAQ,IAAI,EAAE,CAAC;QACX,KAAK,UAAU;YACX,OAAO,2BAA2B,CAAC;QACvC,KAAK,WAAW;YACZ,OAAO,eAAe,CAAC;QAC3B,KAAK,aAAa,CAAC;QACnB,KAAK,sBAAsB,CAAC;QAC5B,KAAK,uBAAuB,CAAC;QAC7B,KAAK,cAAc;YACf,OAAO,eAAe,CAAC;QAC3B;YACI,OAAO,uBAAuB,CAAC;IACvC,CAAC;AAAA,CACJ,CAAC;AAEF,MAAM,kBAAkB,GAAG;IACvB,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;IAC5C,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;CAC9C,CAAC;AAWF;;GAEG;AACH,MAAM,UAAU,8BAA8B,CAAC,KAA2C,EAAE;IACxF,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IACxC,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,WAAW,CAAC;IAE/C,MAAM,SAAS,GAAG,UAAU,CACxB,cAAc,EACd,2BAA2B,EAC3B,+BAA+B,EAC/B,iCAAiC,YAAY,CAAC,KAAK,CAAC,EAAE,EACtD,kBAAkB,CAAC,eAAe,CAAC,EACnC;QACI,aAAa,EAAE,QAAQ;KAC1B,CACJ,CAAC;IAEF,MAAM,aAAa,GAAG,CAAC,CAA6B,EAAE,EAAE,CAAC;QACrD,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;QAEvC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC,CAAC,cAAc,EAAE,CAAC;IAAA,CACtB,CAAC;IAEF,OAAO,CACH,cAAK,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,YAC7C,KAAC,aAAa,IAAC,SAAS,EAAC,gCAAgC,EAAC,kBAAkB,EAAE,kBAAkB,YAC3F,KAAK,GACM,GACd,CACT,CAAC;AAAA,CACL"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { type IAttributeDisplayFormMetadataObject, type IAttributeElement, type IAttributeMetadataObject, type ObjRef } from "@gooddata/sdk-model";
|
|
2
|
+
/**
|
|
3
|
+
* Props for AttributeFilterDetailsBubble component.
|
|
4
|
+
*
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
7
|
+
export interface IAttributeFilterDetailsBubbleProps {
|
|
8
|
+
/** The attribute metadata object (loaded by root component) */
|
|
9
|
+
attribute: IAttributeMetadataObject;
|
|
10
|
+
/** The display form (label) currently used by the filter */
|
|
11
|
+
label: IAttributeDisplayFormMetadataObject;
|
|
12
|
+
/** Callback triggered on bubble open; loads up to 5 sample elements */
|
|
13
|
+
requestHandler: (labelRef: ObjRef) => Promise<{
|
|
14
|
+
elements: IAttributeElement[];
|
|
15
|
+
totalCount: number;
|
|
16
|
+
}>;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Info bubble showing attribute details when the question mark icon is clicked.
|
|
20
|
+
* Displays attribute title, description, label name, and sample element values.
|
|
21
|
+
*
|
|
22
|
+
* @internal
|
|
23
|
+
*/
|
|
24
|
+
export declare function AttributeFilterDetailsBubble({ attribute, label, requestHandler }: IAttributeFilterDetailsBubbleProps): import("react/jsx-runtime").JSX.Element;
|
|
25
|
+
//# sourceMappingURL=AttributeFilterDetailsBubble.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AttributeFilterDetailsBubble.d.ts","sourceRoot":"","sources":["../../../../src/AttributeFilter/Components/Dropdown/AttributeFilterDetailsBubble.tsx"],"names":[],"mappings":"AAMA,OAAO,EACH,KAAK,mCAAmC,EACxC,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,MAAM,EACd,MAAM,qBAAqB,CAAC;AAM7B;;;;GAIG;AACH,MAAM,WAAW,kCAAkC;IAC/C,+DAA+D;IAC/D,SAAS,EAAE,wBAAwB,CAAC;IACpC,4DAA4D;IAC5D,KAAK,EAAE,mCAAmC,CAAC;IAC3C,uEAAuE;IACvE,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACxG;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,EACzC,SAAS,EACT,KAAK,EACL,cAAc,EACjB,EAAE,kCAAkC,2CAwIpC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
// (C) 2025-2026 GoodData Corporation
|
|
3
|
+
import { useCallback, useState } from "react";
|
|
4
|
+
import { FormattedMessage, useIntl } from "react-intl";
|
|
5
|
+
import { UiIconButton, UiTooltip } from "@gooddata/sdk-ui-kit";
|
|
6
|
+
import { messages } from "../../../locales.js";
|
|
7
|
+
import { useAttributeFilterDetails } from "../../hooks/useAttributeFilterDetails.js";
|
|
8
|
+
/**
|
|
9
|
+
* Info bubble showing attribute details when the question mark icon is clicked.
|
|
10
|
+
* Displays attribute title, description, label name, and sample element values.
|
|
11
|
+
*
|
|
12
|
+
* @internal
|
|
13
|
+
*/
|
|
14
|
+
export function AttributeFilterDetailsBubble({ attribute, label, requestHandler, }) {
|
|
15
|
+
const [isOpen, setIsOpen] = useState(false);
|
|
16
|
+
const intl = useIntl();
|
|
17
|
+
const { elements, totalCount, isLoading, error } = useAttributeFilterDetails({
|
|
18
|
+
isOpen,
|
|
19
|
+
labelRef: label.ref,
|
|
20
|
+
requestHandler,
|
|
21
|
+
});
|
|
22
|
+
const handleOpen = useCallback(() => {
|
|
23
|
+
setIsOpen(true);
|
|
24
|
+
}, []);
|
|
25
|
+
const handleClose = useCallback(() => {
|
|
26
|
+
setIsOpen(false);
|
|
27
|
+
}, []);
|
|
28
|
+
const getElementDisplayText = (element) => {
|
|
29
|
+
const title = element.formattedTitle ?? element.title;
|
|
30
|
+
return title ?? `(${intl.formatMessage({ id: "empty_value" })})`;
|
|
31
|
+
};
|
|
32
|
+
const remainingCount = totalCount - elements.length;
|
|
33
|
+
const tooltipContent = (_jsx("div", { className: "gd-attribute-filter-details-bubble s-attribute-filter-details-bubble", children: _jsxs("div", { className: "gd-attribute-filter-details-bubble__content", children: [
|
|
34
|
+
_jsxs("div", { className: "gd-attribute-filter-details-bubble__section", children: [
|
|
35
|
+
_jsx("h3", { className: "gd-attribute-filter-details-bubble__title", children: attribute.title }), attribute.description ? (_jsx("p", { className: "gd-attribute-filter-details-bubble__description", children: attribute.description })) : null] }), _jsxs("div", { className: "gd-attribute-filter-details-bubble__section", children: [
|
|
36
|
+
_jsx("span", { className: "gd-attribute-filter-details-bubble__key", children: _jsx(FormattedMessage, { ...messages["attributeFilterDetailsType"] }) }), _jsx("span", { className: "gd-attribute-filter-details-bubble__value", children: _jsx(FormattedMessage, { ...messages["attributeFilterDetailsTypeValue"] }) })
|
|
37
|
+
] }), _jsxs("div", { className: "gd-attribute-filter-details-bubble__section", children: [
|
|
38
|
+
_jsx("span", { className: "gd-attribute-filter-details-bubble__key", children: _jsx(FormattedMessage, { ...messages["attributeFilterDetailsLabel"] }) }), _jsx("span", { className: "gd-attribute-filter-details-bubble__value", children: label.title })
|
|
39
|
+
] }), attribute.dataSet ? (_jsxs("div", { className: "gd-attribute-filter-details-bubble__section", children: [
|
|
40
|
+
_jsx("span", { className: "gd-attribute-filter-details-bubble__key", children: _jsx(FormattedMessage, { ...messages["attributeFilterDetailsDataset"] }) }), _jsx("span", { className: "gd-attribute-filter-details-bubble__value", children: attribute.dataSet.title })
|
|
41
|
+
] })) : null, _jsxs("div", { className: "gd-attribute-filter-details-bubble__section", children: [
|
|
42
|
+
_jsx("span", { className: "gd-attribute-filter-details-bubble__key", children: _jsx(FormattedMessage, { id: "attributeFilter.text.arbitrary.values" }) }), _jsx("div", { className: "gd-attribute-filter-details-bubble__value gd-attribute-filter-details-bubble__elements", children: isLoading ? (_jsx("span", { className: "gd-attribute-filter-details-bubble__loading", children: _jsx(FormattedMessage, { id: "loading" }) })) : error ? (_jsx("span", { className: "gd-attribute-filter-details-bubble__error", children: error.message })) : (_jsxs(_Fragment, { children: [elements.map((element, idx) => (_jsxs("span", { className: "gd-attribute-filter-details-bubble__element s-attribute-filter-details-element", children: [getElementDisplayText(element), _jsx("br", {})
|
|
43
|
+
] }, element.uri ?? idx))), remainingCount > 0 && (_jsx("span", { className: "gd-attribute-filter-details-bubble__more", children: _jsx(FormattedMessage, { ...messages["attributeFilterDetailsElementsMore"], values: {
|
|
44
|
+
count: remainingCount,
|
|
45
|
+
} }) }))] })) })
|
|
46
|
+
] }), _jsxs("div", { className: "gd-attribute-filter-details-bubble__section", children: [
|
|
47
|
+
_jsx("span", { className: "gd-attribute-filter-details-bubble__key", children: _jsx(FormattedMessage, { ...messages["attributeFilterDetailsId"] }) }), _jsx("span", { className: "gd-attribute-filter-details-bubble__value", children: attribute.id })
|
|
48
|
+
] })
|
|
49
|
+
] }) }));
|
|
50
|
+
return (_jsx("span", { className: "gd-attribute-filter-details-bubble__trigger", children: _jsx(UiTooltip, { anchor: _jsx("span", { className: "s-attribute-filter-details-trigger", children: _jsx(UiIconButton, { icon: "question", size: "xsmall", variant: "tertiary", iconColor: "complementary-7", label: intl.formatMessage(messages["attributeFilterDetailsInfoButtonLabel"]), accessibilityConfig: { ariaExpanded: isOpen }, dataTestId: "attribute-filter-details-trigger" }) }), content: tooltipContent, triggerBy: ["hover", "focus"], onOpen: handleOpen, onClose: handleClose, arrowPlacement: "left", showArrow: false, behaviour: "tooltip", variant: "none", accessibilityConfig: {
|
|
51
|
+
ariaLabel: intl.formatMessage(messages["attributeFilterDetailsInfoButtonLabel"]),
|
|
52
|
+
} }) }));
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=AttributeFilterDetailsBubble.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AttributeFilterDetailsBubble.js","sourceRoot":"","sources":["../../../../src/AttributeFilter/Components/Dropdown/AttributeFilterDetailsBubble.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AttributeFilterDropdown.d.ts","sourceRoot":"","sources":["../../../../src/AttributeFilter/Components/Dropdown/AttributeFilterDropdown.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AttributeFilterDropdown.d.ts","sourceRoot":"","sources":["../../../../src/AttributeFilter/Components/Dropdown/AttributeFilterDropdown.tsx"],"names":[],"mappings":"AA4BA;;GAEG;AACH,wBAAgB,uBAAuB,4CA2ItC"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
// (C) 2022-
|
|
2
|
+
// (C) 2022-2026 GoodData Corporation
|
|
3
3
|
import { useCallback, useRef } from "react";
|
|
4
4
|
import cx from "classnames";
|
|
5
5
|
import { Dropdown, isArrowKey, useMediaQuery } from "@gooddata/sdk-ui-kit";
|
|
6
6
|
import { useAttributeFilterComponentsContext } from "../../Context/AttributeFilterComponentsContext.js";
|
|
7
7
|
import { useAttributeFilterContext } from "../../Context/AttributeFilterContext.js";
|
|
8
8
|
import { useResolveAttributeFilterSubtitle } from "../../hooks/useResolveAttributeFilterSubtitle.js";
|
|
9
|
+
import { createFilterFromOperator, isArbitraryOperator } from "../../textFilterOperatorUtils.js";
|
|
9
10
|
import { AttributeFilterButtonErrorTooltip } from "../DropdownButton/AttributeFilterButtonErrorTooltip.js";
|
|
10
11
|
const ALIGN_POINTS = [
|
|
11
12
|
{ align: "bl tl" },
|
|
@@ -23,13 +24,21 @@ const ALIGN_POINTS = [
|
|
|
23
24
|
*/
|
|
24
25
|
export function AttributeFilterDropdown() {
|
|
25
26
|
const { DropdownButtonComponent, DropdownBodyComponent, LoadingComponent, ErrorComponent } = useAttributeFilterComponentsContext();
|
|
26
|
-
const { title, isInitializing, initError, isFiltering, committedSelectionElements, workingSelectionElements, onReset, onApply, onOpen, fullscreenOnMobile, isCommittedSelectionInverted, isWorkingSelectionInverted, selectionMode, disabled, customIcon, withoutApply, isSelectionInvalid, overlayPositionType, alignPoints, } = useAttributeFilterContext();
|
|
27
|
+
const { title, isInitializing, initError, isFiltering, committedSelectionElements, workingSelectionElements, onReset, onApply, onOpen, fullscreenOnMobile, isCommittedSelectionInverted, isWorkingSelectionInverted, currentFilterMode, textFilterOperator, textFilterValues, textFilterLiteral, textFilterCaseSensitive, textFilterCommittedFilter, currentDisplayFormRef, selectionMode, disabled, customIcon, withoutApply, isSelectionInvalid, overlayPositionType, alignPoints, } = useAttributeFilterContext();
|
|
27
28
|
const isMobile = useMediaQuery("mobileDevice");
|
|
28
29
|
const isSelectionInverted = useLastValidValue(withoutApply ? isWorkingSelectionInverted : isCommittedSelectionInverted, !isSelectionInvalid || !withoutApply);
|
|
29
30
|
const selectionElements = withoutApply ? workingSelectionElements : committedSelectionElements;
|
|
30
|
-
const
|
|
31
|
+
const operator = textFilterOperator ?? "is";
|
|
32
|
+
const subtitleFilter = currentFilterMode === "text"
|
|
33
|
+
? withoutApply && currentDisplayFormRef
|
|
34
|
+
? createFilterFromOperator(operator, isArbitraryOperator(operator) ? (textFilterValues ?? []) : (textFilterLiteral ?? ""), currentDisplayFormRef, undefined, textFilterCaseSensitive ?? false)
|
|
35
|
+
: textFilterCommittedFilter
|
|
36
|
+
: undefined;
|
|
37
|
+
const subtitle = useResolveAttributeFilterSubtitle(isSelectionInverted, selectionElements, subtitleFilter);
|
|
31
38
|
const isMultiselect = selectionMode !== "single";
|
|
32
|
-
const
|
|
39
|
+
const textSelectionCount = isArbitraryOperator(operator) ? (textFilterValues?.length ?? 0) : 0;
|
|
40
|
+
const selectionCount = currentFilterMode === "text" ? textSelectionCount : selectionElements.length;
|
|
41
|
+
const showSelectionCount = isMultiselect && selectionCount !== 0;
|
|
33
42
|
const handleKeyDown = useCallback((e) => {
|
|
34
43
|
//stop arrow keys from leaking to filter bar
|
|
35
44
|
if (isArrowKey(e)) {
|
|
@@ -38,7 +47,7 @@ export function AttributeFilterDropdown() {
|
|
|
38
47
|
}, []);
|
|
39
48
|
return (_jsx(Dropdown, { className: "gd-attribute-filter__next", closeOnParentScroll: true, closeOnMouseDrag: true, closeOnOutsideClick: true, enableEventPropagation: true, alignPoints: alignPoints ?? ALIGN_POINTS, fullscreenOnMobile: fullscreenOnMobile, autofocusOnOpen: true, overlayPositionType: overlayPositionType, renderButton: ({ toggleDropdown, isOpen, buttonRef, dropdownId }) => {
|
|
40
49
|
const handleClickAction = disabled ? () => { } : toggleDropdown;
|
|
41
|
-
return (_jsxs("div", { className: cx({ "gd-is-mobile": fullscreenOnMobile && isMobile && isOpen }), children: [!!isInitializing && _jsx(LoadingComponent, { onClick: handleClickAction, isOpen: isOpen }), !isInitializing && !!initError && !title && (_jsx(ErrorComponent, { message: initError.message, error: initError })), !isInitializing && !!title && (_jsx(AttributeFilterButtonErrorTooltip, { errorMessage: initError?.message, children: _jsx(DropdownButtonComponent, { title: title, subtitle: subtitle, isFiltering: isFiltering, isLoaded: !isInitializing, isLoading: isInitializing, isOpen: isOpen, selectedItemsCount:
|
|
50
|
+
return (_jsxs("div", { className: cx({ "gd-is-mobile": fullscreenOnMobile && isMobile && isOpen }), children: [!!isInitializing && _jsx(LoadingComponent, { onClick: handleClickAction, isOpen: isOpen }), !isInitializing && !!initError && !title && (_jsx(ErrorComponent, { message: initError.message, error: initError })), !isInitializing && !!title && (_jsx(AttributeFilterButtonErrorTooltip, { errorMessage: initError?.message, children: _jsx(DropdownButtonComponent, { title: title, subtitle: subtitle, isFiltering: isFiltering, isLoaded: !isInitializing, isLoading: isInitializing, isOpen: isOpen, selectedItemsCount: selectionCount, showSelectionCount: showSelectionCount, disabled: disabled, customIcon: customIcon, onClick: handleClickAction, isError: !!initError, buttonRef: buttonRef, dropdownId: dropdownId }) }))] }));
|
|
42
51
|
}, onOpenStateChanged: (isOpen) => {
|
|
43
52
|
if (isOpen) {
|
|
44
53
|
onOpen();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AttributeFilterDropdown.js","sourceRoot":"","sources":["../../../../src/AttributeFilter/Components/Dropdown/AttributeFilterDropdown.tsx"],"names":[],"mappings":";AAAA,qCAAqC;AAErC,OAAO,EAA6B,WAAW,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAEvE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE3E,OAAO,EAAE,mCAAmC,EAAE,MAAM,mDAAmD,CAAC;AACxG,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AACpF,OAAO,EAAE,iCAAiC,EAAE,MAAM,kDAAkD,CAAC;AACrG,OAAO,EAAE,iCAAiC,EAAE,MAAM,wDAAwD,CAAC;AAE3G,MAAM,YAAY,GAAG;IACjB,EAAE,KAAK,EAAE,OAAO,EAAE;IAClB,EAAE,KAAK,EAAE,OAAO,EAAE;IAClB,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE;IAEtC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;IAE1C,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE;IAC5C,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE;IAC7C,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE;IAC7C,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE;IAC7C,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE;CAChD,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,uBAAuB,GAAG;IACtC,MAAM,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,cAAc,EAAE,GACtF,mCAAmC,EAAE,CAAC;IAE1C,MAAM,EACF,KAAK,EACL,cAAc,EACd,SAAS,EACT,WAAW,EACX,0BAA0B,EAC1B,wBAAwB,EACxB,OAAO,EACP,OAAO,EACP,MAAM,EACN,kBAAkB,EAClB,4BAA4B,EAC5B,0BAA0B,EAC1B,aAAa,EACb,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACnB,WAAW,GACd,GAAG,yBAAyB,EAAE,CAAC;IAEhC,MAAM,QAAQ,GAAG,aAAa,CAAC,cAAc,CAAC,CAAC;IAE/C,MAAM,mBAAmB,GAAG,iBAAiB,CACzC,YAAY,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,4BAA4B,EACxE,CAAC,kBAAkB,IAAI,CAAC,YAAY,CACvC,CAAC;IACF,MAAM,iBAAiB,GAAG,YAAY,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,0BAA0B,CAAC;IAC/F,MAAM,QAAQ,GAAG,
|
|
1
|
+
{"version":3,"file":"AttributeFilterDropdown.js","sourceRoot":"","sources":["../../../../src/AttributeFilter/Components/Dropdown/AttributeFilterDropdown.tsx"],"names":[],"mappings":"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"}
|
|
@@ -27,6 +27,12 @@ export interface IAttributeFilterDropdownActionsProps {
|
|
|
27
27
|
* @beta
|
|
28
28
|
*/
|
|
29
29
|
isSelectionChanged?: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Tooltip shown when Apply button is disabled.
|
|
32
|
+
*
|
|
33
|
+
* @alpha
|
|
34
|
+
*/
|
|
35
|
+
applyDisabledTooltip?: string;
|
|
30
36
|
/**
|
|
31
37
|
* If true, the Apply button is not rendered, Cancel button is renamed to Close and status bar is not rendered.
|
|
32
38
|
*
|
|
@@ -41,5 +47,5 @@ export interface IAttributeFilterDropdownActionsProps {
|
|
|
41
47
|
*
|
|
42
48
|
* @beta
|
|
43
49
|
*/
|
|
44
|
-
export declare function AttributeFilterDropdownActions({ isApplyDisabled, onApplyButtonClick, onCancelButtonClick, withoutApply }: IAttributeFilterDropdownActionsProps): import("react/jsx-runtime").JSX.Element;
|
|
50
|
+
export declare function AttributeFilterDropdownActions({ isApplyDisabled, onApplyButtonClick, onCancelButtonClick, applyDisabledTooltip, withoutApply }: IAttributeFilterDropdownActionsProps): import("react/jsx-runtime").JSX.Element;
|
|
45
51
|
//# sourceMappingURL=AttributeFilterDropdownActions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AttributeFilterDropdownActions.d.ts","sourceRoot":"","sources":["../../../../src/AttributeFilter/Components/Dropdown/AttributeFilterDropdownActions.tsx"],"names":[],"mappings":"AAOA;;;GAGG;AACH,MAAM,WAAW,oCAAoC;IACjD;;;;OAIG;IACH,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAE/B;;;;OAIG;IACH,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAEhC;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAAC,EAC3C,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,YAAY,EACf,EAAE,oCAAoC,
|
|
1
|
+
{"version":3,"file":"AttributeFilterDropdownActions.d.ts","sourceRoot":"","sources":["../../../../src/AttributeFilter/Components/Dropdown/AttributeFilterDropdownActions.tsx"],"names":[],"mappings":"AAOA;;;GAGG;AACH,MAAM,WAAW,oCAAoC;IACjD;;;;OAIG;IACH,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAE/B;;;;OAIG;IACH,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAEhC;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAAC,EAC3C,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,EACf,EAAE,oCAAoC,2CA0CtC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
// (C) 2019-
|
|
2
|
+
// (C) 2019-2026 GoodData Corporation
|
|
3
3
|
import cx from "classnames";
|
|
4
4
|
import { useIntl } from "react-intl";
|
|
5
|
-
import { Button } from "@gooddata/sdk-ui-kit";
|
|
5
|
+
import { Button, UiTooltip } from "@gooddata/sdk-ui-kit";
|
|
6
6
|
/**
|
|
7
7
|
* This component displays two buttons Apply and Cancel.
|
|
8
8
|
* Apply button is disabled when selection is not changed.
|
|
@@ -10,7 +10,7 @@ import { Button } from "@gooddata/sdk-ui-kit";
|
|
|
10
10
|
*
|
|
11
11
|
* @beta
|
|
12
12
|
*/
|
|
13
|
-
export function AttributeFilterDropdownActions({ isApplyDisabled, onApplyButtonClick, onCancelButtonClick, withoutApply, }) {
|
|
13
|
+
export function AttributeFilterDropdownActions({ isApplyDisabled, onApplyButtonClick, onCancelButtonClick, applyDisabledTooltip, withoutApply, }) {
|
|
14
14
|
const intl = useIntl();
|
|
15
15
|
const cancelText = intl.formatMessage({ id: "gs.list.cancel" });
|
|
16
16
|
const closeText = intl.formatMessage({ id: "close" });
|
|
@@ -20,7 +20,7 @@ export function AttributeFilterDropdownActions({ isApplyDisabled, onApplyButtonC
|
|
|
20
20
|
: "gd-attribute-filter-cancel-button__next cancel-button s-cancel";
|
|
21
21
|
return (_jsxs("div", { className: "gd-attribute-filter-dropdown-actions__next", children: [
|
|
22
22
|
_jsx("div", { className: "gd-attribute-filter-dropdown-actions-left-content__next" }), _jsxs("div", { className: "gd-attribute-filter-dropdown-actions-right-content__next", children: [
|
|
23
|
-
_jsx(Button, { className: cx(cancelClassNames, "gd-button-secondary gd-button-small"), onClick: onCancelButtonClick, value: withoutApply ? closeText : cancelText, title: withoutApply ? closeText : cancelText }), !withoutApply && (_jsx(Button, { disabled: isApplyDisabled, className: "gd-attribute-filter-apply-button__next gd-button-action gd-button-small s-apply", onClick: onApplyButtonClick, value: applyText, title: applyText }))] })
|
|
23
|
+
_jsx(Button, { className: cx(cancelClassNames, "gd-button-secondary gd-button-small"), onClick: onCancelButtonClick, value: withoutApply ? closeText : cancelText, title: withoutApply ? closeText : cancelText }), !withoutApply && (_jsx(UiTooltip, { content: applyDisabledTooltip, triggerBy: ["hover"], disabled: !isApplyDisabled || !applyDisabledTooltip, arrowPlacement: "left", optimalPlacement: true, anchor: _jsx(Button, { disabled: isApplyDisabled, className: "gd-attribute-filter-apply-button__next gd-button-action gd-button-small s-apply", onClick: onApplyButtonClick, value: applyText, title: applyText }) }))] })
|
|
24
24
|
] }));
|
|
25
25
|
}
|
|
26
26
|
//# sourceMappingURL=AttributeFilterDropdownActions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AttributeFilterDropdownActions.js","sourceRoot":"","sources":["../../../../src/AttributeFilter/Components/Dropdown/AttributeFilterDropdownActions.tsx"],"names":[],"mappings":";AAAA,qCAAqC;AAErC,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"AttributeFilterDropdownActions.js","sourceRoot":"","sources":["../../../../src/AttributeFilter/Components/Dropdown/AttributeFilterDropdownActions.tsx"],"names":[],"mappings":";AAAA,qCAAqC;AAErC,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAkDzD;;;;;;GAMG;AACH,MAAM,UAAU,8BAA8B,CAAC,EAC3C,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,GACuB,EAAE;IACrC,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IAEvB,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAChE,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,eAAe,EAAE,CAAC,CAAC;IAE9D,MAAM,gBAAgB,GAAG,YAAY;QACjC,CAAC,CAAC,6DAA6D;QAC/D,CAAC,CAAC,gEAAgE,CAAC;IAEvE,OAAO,CACH,eAAK,SAAS,EAAC,4CAA4C;YACvD,cAAK,SAAS,EAAC,yDAAyD,GAAG,EAC3E,eAAK,SAAS,EAAC,0DAA0D;oBACrE,KAAC,MAAM,IACH,SAAS,EAAE,EAAE,CAAC,gBAAgB,EAAE,qCAAqC,CAAC,EACtE,OAAO,EAAE,mBAAmB,EAC5B,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,EAC5C,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,GAC9C,EACD,CAAC,YAAY,IAAI,CACd,KAAC,SAAS,IACN,OAAO,EAAE,oBAAoB,EAC7B,SAAS,EAAE,CAAC,OAAO,CAAC,EACpB,QAAQ,EAAE,CAAC,eAAe,IAAI,CAAC,oBAAoB,EACnD,cAAc,EAAC,MAAM,EACrB,gBAAgB,QAChB,MAAM,EACF,KAAC,MAAM,IACH,QAAQ,EAAE,eAAe,EACzB,SAAS,EAAC,iFAAiF,EAC3F,OAAO,EAAE,kBAAkB,EAC3B,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,SAAS,GAClB,GAER,CACL,IACC;YACJ,CACT,CAAC;AAAA,CACL"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AttributeFilterDropdownBody.d.ts","sourceRoot":"","sources":["../../../../src/AttributeFilter/Components/Dropdown/AttributeFilterDropdownBody.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AttributeFilterDropdownBody.d.ts","sourceRoot":"","sources":["../../../../src/AttributeFilter/Components/Dropdown/AttributeFilterDropdownBody.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAE,KAAK,iCAAiC,EAAE,MAAM,YAAY,CAAC;AAMpE;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CAAC,EACxC,kBAAkB,EAClB,mBAAmB,EACnB,KAAmC,EACtC,EAAE,iCAAiC,2CAyOnC"}
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
// (C) 2022-2026 GoodData Corporation
|
|
3
3
|
import { useCallback, useMemo } from "react";
|
|
4
|
+
import { useIntl } from "react-intl";
|
|
5
|
+
import { areObjRefsEqual } from "@gooddata/sdk-model";
|
|
4
6
|
import { isEscapeKey, useMediaQuery } from "@gooddata/sdk-ui-kit";
|
|
7
|
+
import { AttributeFilterDropdownHeader } from "./AttributeFilterDropdownHeader.js";
|
|
5
8
|
import { ATTRIBUTE_FILTER_DROPDOWN_BODY_CLASS, DEFAULT_DROPDOWN_BODY_WIDTH } from "../../constants.js";
|
|
6
9
|
import { useAttributeFilterComponentsContext } from "../../Context/AttributeFilterComponentsContext.js";
|
|
7
10
|
import { useAttributeFilterContext } from "../../Context/AttributeFilterContext.js";
|
|
11
|
+
import { MAX_SELECTION_SIZE } from "../../hooks/constants.js";
|
|
8
12
|
/**
|
|
9
13
|
* Component showing a list of elements and controls for manipulating the selection.
|
|
10
14
|
*
|
|
@@ -15,13 +19,47 @@ import { useAttributeFilterContext } from "../../Context/AttributeFilterContext.
|
|
|
15
19
|
* @beta
|
|
16
20
|
*/
|
|
17
21
|
export function AttributeFilterDropdownBody({ onApplyButtonClick, onCancelButtonClick, width = DEFAULT_DROPDOWN_BODY_WIDTH, }) {
|
|
18
|
-
const { DropdownActionsComponent, ElementsSelectComponent } = useAttributeFilterComponentsContext();
|
|
19
|
-
const { withoutApply } = useAttributeFilterContext();
|
|
22
|
+
const { DropdownActionsComponent, ElementsSelectComponent, TextFilterBodyComponent } = useAttributeFilterComponentsContext();
|
|
23
|
+
const { withoutApply, attribute, displayForms, currentDisplayFormRef, currentDisplayAsDisplayFormRef, filterDetailRequestHandler, setDisplayForm, } = useAttributeFilterContext();
|
|
24
|
+
const intl = useIntl();
|
|
20
25
|
const isMobile = useMediaQuery("mobileDevice");
|
|
21
|
-
const { initialElementsPageError, nextElementsPageError, isApplyDisabled, isWorkingSelectionChanged, isWorkingSelectionInverted, isLoadingInitialElementsPage, isLoadingNextElementsPage, onLoadNextElementsPage, elements, onSearch, onSelect, nextElementsPageSize, searchString, totalElementsCount, totalElementsCountWithCurrentSettings, workingSelectionElements, parentFilterAttributes, isFilteredByParentFilters, isFilteredByDependentDateFilters, isFilteredByLimitingValidationItems, fullscreenOnMobile, selectionMode, title, enableShowingFilteredElements, onShowFilteredElements, irrelevantSelection, onClearIrrelevantSelection,
|
|
26
|
+
const { initialElementsPageError, nextElementsPageError, isApplyDisabled, isSelectionInvalid, isWorkingSelectionChanged = false, isWorkingSelectionInverted, isLoadingInitialElementsPage, isLoadingNextElementsPage, onLoadNextElementsPage, elements, onSearch, onSelect, nextElementsPageSize, searchString, totalElementsCount, totalElementsCountWithCurrentSettings, workingSelectionElements, parentFilterAttributes, isFilteredByParentFilters, isFilteredByDependentDateFilters, isFilteredByLimitingValidationItems, fullscreenOnMobile, selectionMode, title, enableShowingFilteredElements, onShowFilteredElements, irrelevantSelection, onClearIrrelevantSelection, disabled,
|
|
27
|
+
// New mode-related fields
|
|
28
|
+
currentFilterMode, availableInternalFilterModes, availableTextFilterModes, textFilterOperator, textFilterValues, textFilterLiteral, textFilterLiteralEmptyError, textFilterValuesEmptyError, textFilterValuesLimitReachedWarning, textFilterValuesLimitExceededError, textFilterCaseSensitive, onFilterModeChange, onTextFilterOperatorChange, onTextFilterValuesChange, onTextFilterValuesBlur, onTextFilterLiteralChange, onTextFilterLiteralBlur, onToggleTextFilterCaseSensitive, } = useAttributeFilterContext();
|
|
22
29
|
const parentFilterTitles = useMemo(() => {
|
|
23
30
|
return parentFilterAttributes.map((attr) => attr.title);
|
|
24
31
|
}, [parentFilterAttributes]);
|
|
32
|
+
const currentLabel = useMemo(() => {
|
|
33
|
+
return displayForms.find((df) => areObjRefsEqual(df.ref, currentDisplayFormRef));
|
|
34
|
+
}, [displayForms, currentDisplayFormRef]);
|
|
35
|
+
const applyDisabledTooltip = useMemo(() => {
|
|
36
|
+
if (!isApplyDisabled) {
|
|
37
|
+
return undefined;
|
|
38
|
+
}
|
|
39
|
+
if (!isWorkingSelectionChanged) {
|
|
40
|
+
return intl.formatMessage({
|
|
41
|
+
id: "attributeFilter.text.applyButton.tooltip.noChanges",
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
if (currentFilterMode === "text" && textFilterValuesLimitExceededError) {
|
|
45
|
+
return intl.formatMessage({
|
|
46
|
+
id: "attributeFilter.text.applyButton.tooltip.valuesLimitExceeded",
|
|
47
|
+
}, { maxValues: MAX_SELECTION_SIZE });
|
|
48
|
+
}
|
|
49
|
+
if (currentFilterMode === "text" && isSelectionInvalid) {
|
|
50
|
+
return intl.formatMessage({
|
|
51
|
+
id: "attributeFilter.text.applyButton.tooltip.emptyValue",
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
return undefined;
|
|
55
|
+
}, [
|
|
56
|
+
currentFilterMode,
|
|
57
|
+
intl,
|
|
58
|
+
isApplyDisabled,
|
|
59
|
+
isSelectionInvalid,
|
|
60
|
+
isWorkingSelectionChanged,
|
|
61
|
+
textFilterValuesLimitExceededError,
|
|
62
|
+
]);
|
|
25
63
|
const usedWidth = isMobile && fullscreenOnMobile ? "100%" : width;
|
|
26
64
|
const style = { width: usedWidth };
|
|
27
65
|
const onSelectWithPotentialClose = useCallback((selectedItems, isInverted) => {
|
|
@@ -36,8 +74,22 @@ export function AttributeFilterDropdownBody({ onApplyButtonClick, onCancelButton
|
|
|
36
74
|
onCancelButtonClick();
|
|
37
75
|
}
|
|
38
76
|
}, [onCancelButtonClick]);
|
|
39
|
-
|
|
40
|
-
|
|
77
|
+
const autocompleteOptions = useMemo(() => elements
|
|
78
|
+
.map((el) => el.formattedTitle ?? el.title)
|
|
79
|
+
.filter((t) => t !== null && t !== undefined), [elements]);
|
|
80
|
+
// Render filter body based on mode
|
|
81
|
+
const renderFilterBody = () => {
|
|
82
|
+
if (currentFilterMode === "text") {
|
|
83
|
+
return (_jsx(TextFilterBodyComponent, { operator: textFilterOperator ?? "is", values: textFilterValues ?? [], literal: textFilterLiteral ?? "", hasLiteralEmptyError: textFilterLiteralEmptyError, hasValuesEmptyError: textFilterValuesEmptyError, hasValuesLimitReachedWarning: textFilterValuesLimitReachedWarning, hasValuesLimitExceededError: textFilterValuesLimitExceededError, caseSensitive: textFilterCaseSensitive ?? false, onOperatorChange: onTextFilterOperatorChange ?? (() => { }), onValuesChange: onTextFilterValuesChange ?? (() => { }), onValuesBlur: onTextFilterValuesBlur, onLiteralChange: onTextFilterLiteralChange ?? (() => { }), onLiteralBlur: onTextFilterLiteralBlur, onToggleCaseSensitive: onToggleTextFilterCaseSensitive ?? (() => { }), attributeTitle: title ?? "", disabled: disabled, availableTextModes: availableTextFilterModes, autocompleteOptions: autocompleteOptions }));
|
|
84
|
+
}
|
|
85
|
+
// Default: elements mode
|
|
86
|
+
return (_jsx(ElementsSelectComponent, { isInverted: isWorkingSelectionInverted, isLoading: isLoadingInitialElementsPage, isLoadingNextPage: isLoadingNextElementsPage, items: elements, onLoadNextPage: onLoadNextElementsPage, onSearch: onSearch, onSelect: onSelectWithPotentialClose, onApplyButtonClick: onApplyButtonClick, isApplyDisabled: isApplyDisabled, nextPageSize: nextElementsPageSize, searchString: searchString, selectedItems: workingSelectionElements, totalItemsCount: totalElementsCount, totalItemsCountWithCurrentSettings: totalElementsCountWithCurrentSettings, parentFilterTitles: parentFilterTitles, isFilteredByParentFilters: isFilteredByParentFilters, error: initialElementsPageError ?? nextElementsPageError, attributeTitle: title, enableShowingFilteredElements: enableShowingFilteredElements, isFilteredByDependentDateFilters: isFilteredByDependentDateFilters, isFilteredByLimitingValidationItems: isFilteredByLimitingValidationItems, onShowFilteredElements: onShowFilteredElements, irrelevantSelection: irrelevantSelection, onClearIrrelevantSelection: onClearIrrelevantSelection, withoutApply: withoutApply }));
|
|
87
|
+
};
|
|
88
|
+
const totalAvailableModes = availableInternalFilterModes?.length ?? 0;
|
|
89
|
+
const showFilterHeader = totalAvailableModes > 1 &&
|
|
90
|
+
((onFilterModeChange && (availableInternalFilterModes?.length ?? 0) > 1) ||
|
|
91
|
+
(displayForms.length > 1 && setDisplayForm));
|
|
92
|
+
return (_jsxs("div", { className: ATTRIBUTE_FILTER_DROPDOWN_BODY_CLASS, style: style, onKeyDown: handleKeyDown, children: [showFilterHeader ? (_jsx(AttributeFilterDropdownHeader, { title: title, currentFilterMode: currentFilterMode, availableInternalFilterModes: availableInternalFilterModes, onFilterModeChange: onFilterModeChange, attribute: attribute, label: currentLabel, requestHandler: filterDetailRequestHandler, labels: displayForms, selectedLabelRef: currentDisplayAsDisplayFormRef ?? currentDisplayFormRef, onLabelChange: setDisplayForm })) : null, renderFilterBody(), _jsx(DropdownActionsComponent, { onApplyButtonClick: onApplyButtonClick, onCancelButtonClick: onCancelButtonClick, isApplyDisabled: isApplyDisabled, isSelectionChanged: isWorkingSelectionChanged, applyDisabledTooltip: applyDisabledTooltip, withoutApply: withoutApply })
|
|
41
93
|
] }));
|
|
42
94
|
}
|
|
43
95
|
//# sourceMappingURL=AttributeFilterDropdownBody.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AttributeFilterDropdownBody.js","sourceRoot":"","sources":["../../../../src/AttributeFilter/Components/Dropdown/AttributeFilterDropdownBody.tsx"],"names":[],"mappings":";AAAA,qCAAqC;AAErC,OAAO,EAAsB,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"AttributeFilterDropdownBody.js","sourceRoot":"","sources":["../../../../src/AttributeFilter/Components/Dropdown/AttributeFilterDropdownBody.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { type IAttributeDisplayFormMetadataObject, type IAttributeElement, type IAttributeMetadataObject, type ObjRef } from "@gooddata/sdk-model";
|
|
2
|
+
import { type AttributeFilterMode } from "../../filterModeTypes.js";
|
|
3
|
+
/**
|
|
4
|
+
* Props for AttributeFilterDropdownHeader component.
|
|
5
|
+
*
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
export interface IAttributeFilterDropdownHeaderProps {
|
|
9
|
+
/**
|
|
10
|
+
* Title of the attribute filter.
|
|
11
|
+
*/
|
|
12
|
+
title?: string;
|
|
13
|
+
/**
|
|
14
|
+
* Current filter mode (elements or text).
|
|
15
|
+
*/
|
|
16
|
+
currentFilterMode?: AttributeFilterMode;
|
|
17
|
+
/**
|
|
18
|
+
* Available filter modes.
|
|
19
|
+
*/
|
|
20
|
+
availableInternalFilterModes?: AttributeFilterMode[];
|
|
21
|
+
/**
|
|
22
|
+
* Callback when filter mode changes.
|
|
23
|
+
*/
|
|
24
|
+
onFilterModeChange?: (mode: AttributeFilterMode) => void;
|
|
25
|
+
/**
|
|
26
|
+
* Attribute metadata (for details bubble).
|
|
27
|
+
*/
|
|
28
|
+
attribute?: IAttributeMetadataObject;
|
|
29
|
+
/**
|
|
30
|
+
* Display form (label) used by the filter (for details bubble).
|
|
31
|
+
*/
|
|
32
|
+
label?: IAttributeDisplayFormMetadataObject;
|
|
33
|
+
/**
|
|
34
|
+
* Callback to load sample elements when the details bubble opens.
|
|
35
|
+
*/
|
|
36
|
+
requestHandler?: (labelRef: ObjRef) => Promise<{
|
|
37
|
+
elements: IAttributeElement[];
|
|
38
|
+
totalCount: number;
|
|
39
|
+
}>;
|
|
40
|
+
/**
|
|
41
|
+
* Labels for "Values as" menu section.
|
|
42
|
+
*/
|
|
43
|
+
labels?: IAttributeDisplayFormMetadataObject[];
|
|
44
|
+
/**
|
|
45
|
+
* Currently selected label ref.
|
|
46
|
+
*/
|
|
47
|
+
selectedLabelRef?: ObjRef;
|
|
48
|
+
/**
|
|
49
|
+
* Callback when label is changed.
|
|
50
|
+
*/
|
|
51
|
+
onLabelChange?: (labelRef: ObjRef) => void;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Header of the attribute filter dropdown with title and filter mode menu.
|
|
55
|
+
*
|
|
56
|
+
* @internal
|
|
57
|
+
*/
|
|
58
|
+
export declare function AttributeFilterDropdownHeader({ title, currentFilterMode, availableInternalFilterModes, onFilterModeChange, attribute, label, requestHandler, labels, selectedLabelRef, onLabelChange }: IAttributeFilterDropdownHeaderProps): import("react/jsx-runtime").JSX.Element;
|
|
59
|
+
//# sourceMappingURL=AttributeFilterDropdownHeader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AttributeFilterDropdownHeader.d.ts","sourceRoot":"","sources":["../../../../src/AttributeFilter/Components/Dropdown/AttributeFilterDropdownHeader.tsx"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,mCAAmC,EACxC,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,MAAM,EACd,MAAM,qBAAqB,CAAC;AAK7B,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAEpE;;;;GAIG;AACH,MAAM,WAAW,mCAAmC;IAChD;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,iBAAiB,CAAC,EAAE,mBAAmB,CAAC;IAExC;;OAEG;IACH,4BAA4B,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAErD;;OAEG;IACH,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAEzD;;OAEG;IACH,SAAS,CAAC,EAAE,wBAAwB,CAAC;IAErC;;OAEG;IACH,KAAK,CAAC,EAAE,mCAAmC,CAAC;IAE5C;;OAEG;IACH,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAEtG;;OAEG;IACH,MAAM,CAAC,EAAE,mCAAmC,EAAE,CAAC;IAE/C;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9C;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,EAC1C,KAAK,EACL,iBAAiB,EACjB,4BAA4B,EAC5B,kBAAkB,EAClB,SAAS,EACT,KAAK,EACL,cAAc,EACd,MAAM,EACN,gBAAgB,EAChB,aAAa,EAChB,EAAE,mCAAmC,2CAoCrC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { UiIcon } from "@gooddata/sdk-ui-kit";
|
|
3
|
+
import { AttributeFilterDetailsBubble } from "./AttributeFilterDetailsBubble.js";
|
|
4
|
+
import { useAttributeFilterComponentsContext } from "../../Context/AttributeFilterComponentsContext.js";
|
|
5
|
+
/**
|
|
6
|
+
* Header of the attribute filter dropdown with title and filter mode menu.
|
|
7
|
+
*
|
|
8
|
+
* @internal
|
|
9
|
+
*/
|
|
10
|
+
export function AttributeFilterDropdownHeader({ title, currentFilterMode, availableInternalFilterModes, onFilterModeChange, attribute, label, requestHandler, labels, selectedLabelRef, onLabelChange, }) {
|
|
11
|
+
const { FilterModeMenuComponent } = useAttributeFilterComponentsContext();
|
|
12
|
+
const showDetailsBubble = attribute && label && requestHandler;
|
|
13
|
+
return (_jsxs("div", { className: "gd-attribute-filter-dropdown-header s-attribute-filter-dropdown-header", children: [
|
|
14
|
+
_jsxs("div", { className: "gd-attribute-filter-dropdown-header__title", children: [
|
|
15
|
+
_jsx("span", { className: "gd-attribute-filter-dropdown-header__title-text", children: title ?? "" }), _jsx("span", { className: "gd-attribute-filter-dropdown-header__title-icon", children: showDetailsBubble ? (_jsx(AttributeFilterDetailsBubble, { attribute: attribute, label: label, requestHandler: requestHandler })) : (_jsx(UiIcon, { type: "question", size: 12, color: "complementary-7", accessibilityConfig: { ariaHidden: true } })) })
|
|
16
|
+
] }), _jsx(FilterModeMenuComponent, { currentMode: currentFilterMode ?? "elements", availableModes: availableInternalFilterModes, onModeChange: onFilterModeChange ?? (() => { }), labels: labels, selectedLabelRef: selectedLabelRef, onLabelChange: onLabelChange })
|
|
17
|
+
] }));
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=AttributeFilterDropdownHeader.js.map
|