@gooddata/sdk-ui-filters 11.33.0-alpha.4 → 11.33.0-alpha.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/AttributeFilter/Components/DropdownButton/AttributeFilterDropdownButton.d.ts +0 -7
- package/esm/AttributeFilter/Components/DropdownButton/AttributeFilterDropdownButton.d.ts.map +1 -1
- package/esm/AttributeFilter/Components/DropdownButton/AttributeFilterDropdownButton.js +22 -35
- package/esm/AttributeFilter/Components/DropdownButton/AttributeFilterDropdownButton.js.map +1 -1
- package/esm/MeasureValueFilter/Dropdown.d.ts +9 -4
- package/esm/MeasureValueFilter/Dropdown.d.ts.map +1 -1
- package/esm/MeasureValueFilter/Dropdown.js +3 -3
- package/esm/MeasureValueFilter/Dropdown.js.map +1 -1
- package/esm/MeasureValueFilter/DropdownBody.d.ts +9 -4
- package/esm/MeasureValueFilter/DropdownBody.d.ts.map +1 -1
- package/esm/MeasureValueFilter/DropdownBody.js +132 -76
- package/esm/MeasureValueFilter/DropdownBody.js.map +1 -1
- package/esm/MeasureValueFilter/MeasureValueFilter.d.ts +9 -2
- package/esm/MeasureValueFilter/MeasureValueFilter.d.ts.map +1 -1
- package/esm/MeasureValueFilter/MeasureValueFilter.js +14 -4
- package/esm/MeasureValueFilter/MeasureValueFilter.js.map +1 -1
- package/esm/MeasureValueFilter/MeasureValueFilterButton.d.ts +7 -3
- package/esm/MeasureValueFilter/MeasureValueFilterButton.d.ts.map +1 -1
- package/esm/MeasureValueFilter/MeasureValueFilterButton.js +1 -1
- package/esm/MeasureValueFilter/MeasureValueFilterButton.js.map +1 -1
- package/esm/MeasureValueFilter/MeasureValueFilterDetailsBubble.d.ts +24 -0
- package/esm/MeasureValueFilter/MeasureValueFilterDetailsBubble.d.ts.map +1 -0
- package/esm/MeasureValueFilter/MeasureValueFilterDetailsBubble.js +35 -0
- package/esm/MeasureValueFilter/MeasureValueFilterDetailsBubble.js.map +1 -0
- package/esm/MeasureValueFilter/MeasureValueFilterDropdown.d.ts.map +1 -1
- package/esm/MeasureValueFilter/MeasureValueFilterDropdown.js +18 -15
- package/esm/MeasureValueFilter/MeasureValueFilterDropdown.js.map +1 -1
- package/esm/MeasureValueFilter/MeasureValueFilterDropdownActions.d.ts +15 -0
- package/esm/MeasureValueFilter/MeasureValueFilterDropdownActions.d.ts.map +1 -0
- package/esm/MeasureValueFilter/MeasureValueFilterDropdownActions.js +24 -0
- package/esm/MeasureValueFilter/MeasureValueFilterDropdownActions.js.map +1 -0
- package/esm/MeasureValueFilter/MeasureValueFilterDropdownHeader.d.ts +24 -0
- package/esm/MeasureValueFilter/MeasureValueFilterDropdownHeader.d.ts.map +1 -0
- package/esm/MeasureValueFilter/MeasureValueFilterDropdownHeader.js +14 -0
- package/esm/MeasureValueFilter/MeasureValueFilterDropdownHeader.js.map +1 -0
- package/esm/MeasureValueFilter/helpers/measureValueFilterConditionLabel.d.ts +51 -0
- package/esm/MeasureValueFilter/helpers/measureValueFilterConditionLabel.d.ts.map +1 -0
- package/esm/MeasureValueFilter/helpers/measureValueFilterConditionLabel.js +152 -0
- package/esm/MeasureValueFilter/helpers/measureValueFilterConditionLabel.js.map +1 -0
- package/esm/MeasureValueFilter/typings.d.ts +168 -2
- package/esm/MeasureValueFilter/typings.d.ts.map +1 -1
- package/esm/MeasureValueFilter/typings.js.map +1 -1
- package/esm/MeasureValueFilter/useMeasureValueFilterDetails.d.ts +19 -0
- package/esm/MeasureValueFilter/useMeasureValueFilterDetails.d.ts.map +1 -0
- package/esm/MeasureValueFilter/useMeasureValueFilterDetails.js +52 -0
- package/esm/MeasureValueFilter/useMeasureValueFilterDetails.js.map +1 -0
- package/esm/index.d.ts +5 -1
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +3 -0
- package/esm/index.js.map +1 -1
- package/esm/locales.d.ts.map +1 -1
- package/esm/locales.js +5 -0
- package/esm/locales.js.map +1 -1
- package/esm/sdk-ui-filters.d.ts +264 -2
- package/esm/shared/components/internal/FilterButtonCustomIcon.d.ts +9 -0
- package/esm/shared/components/internal/FilterButtonCustomIcon.d.ts.map +1 -1
- package/esm/shared/components/internal/FilterButtonCustomIcon.js +7 -1
- package/esm/shared/components/internal/FilterButtonCustomIcon.js.map +1 -1
- package/package.json +12 -12
- package/styles/css/attributeFilter.css +230 -110
- package/styles/css/attributeFilter.css.map +1 -1
- package/styles/css/attributeFilterNext/attributeFilterDropdownActions.css +17 -5
- package/styles/css/attributeFilterNext/attributeFilterDropdownActions.css.map +1 -1
- package/styles/css/attributeFilterNext/attributeFilterDropdownButton.css +213 -105
- package/styles/css/attributeFilterNext/attributeFilterDropdownButton.css.map +1 -1
- package/styles/css/attributeFilterNext.css +230 -110
- package/styles/css/attributeFilterNext.css.map +1 -1
- package/styles/css/main.css +359 -110
- package/styles/css/main.css.map +1 -1
- package/styles/css/measureValueFilter.css +129 -0
- package/styles/css/measureValueFilter.css.map +1 -1
- package/styles/scss/attributeFilterNext/attributeFilterDropdownActions.scss +38 -15
- package/styles/scss/attributeFilterNext/attributeFilterDropdownButton.scss +86 -164
- package/styles/scss/measureValueFilter.scss +132 -0
|
@@ -1,12 +1,5 @@
|
|
|
1
1
|
import { type ComponentType, type ReactNode, type Ref } from "react";
|
|
2
2
|
import { type IFilterButtonCustomIcon } from "../../../shared/interfaces/index.js";
|
|
3
|
-
export declare const ALIGN_POINT: {
|
|
4
|
-
align: string;
|
|
5
|
-
offset: {
|
|
6
|
-
x: number;
|
|
7
|
-
y: number;
|
|
8
|
-
};
|
|
9
|
-
}[];
|
|
10
3
|
/**
|
|
11
4
|
* The interface of the AttributeFilter dropdown button.
|
|
12
5
|
*
|
package/esm/AttributeFilter/Components/DropdownButton/AttributeFilterDropdownButton.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AttributeFilterDropdownButton.d.ts","sourceRoot":"","sources":["../../../../src/AttributeFilter/Components/DropdownButton/AttributeFilterDropdownButton.tsx"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,aAAa,
|
|
1
|
+
{"version":3,"file":"AttributeFilterDropdownButton.d.ts","sourceRoot":"","sources":["../../../../src/AttributeFilter/Components/DropdownButton/AttributeFilterDropdownButton.tsx"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,GAAG,EAKX,MAAM,OAAO,CAAC;AASf,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAGnF;;;;;;;GAOG;AACH,MAAM,WAAW,mCAAmC;IAChD;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;;;;;OASG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;OAIG;IACH,UAAU,CAAC,EAAE,uBAAuB,CAAC;IAErC;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;OAIG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IAEjB;;;;OAIG;IACH,uBAAuB,CAAC,EAAE,aAAa,CAAC;IAExC;;;;OAIG;IACH,cAAc,CAAC,EAAE,SAAS,CAAC;IAE3B;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAErB,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,SAAS,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;IAE7B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,6BAA6B,CAAC,EAC1C,MAAM,EACN,KAAK,EACL,kBAAkB,EAClB,eAAe,EACf,kBAAyB,EACzB,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,WAAW,EACX,SAAS,EACT,QAAQ,EACR,OAAO,EACP,WAAW,EACX,IAAI,EACJ,uBAAuB,EACvB,cAAc,EACd,OAAO,EACP,SAAS,EACT,SAAS,EACT,QAAQ,EACR,UAAU,EACb,EAAE,mCAAmC,2CAsGrC"}
|
|
@@ -1,17 +1,12 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
1
|
+
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
// (C) 2022-2026 GoodData Corporation
|
|
3
3
|
import { useCallback, useEffect, useRef, useState, } from "react";
|
|
4
4
|
import cx from "classnames";
|
|
5
5
|
import { useIntl } from "react-intl";
|
|
6
|
-
import {
|
|
6
|
+
import { UiControlButton } from "@gooddata/sdk-ui-kit";
|
|
7
7
|
import { simplifyText } from "@gooddata/util";
|
|
8
8
|
import { FilterButtonCustomIcon } from "../../../shared/components/internal/FilterButtonCustomIcon.js";
|
|
9
9
|
import { AttributeFilterButtonTooltip } from "./AttributeFilterButtonTooltip.js";
|
|
10
|
-
export const ALIGN_POINT = [
|
|
11
|
-
{ align: "tc bc", offset: { x: 0, y: -2 } },
|
|
12
|
-
{ align: "cc tc", offset: { x: 0, y: 10 } },
|
|
13
|
-
{ align: "bl tr", offset: { x: -2, y: -8 } },
|
|
14
|
-
];
|
|
15
10
|
/**
|
|
16
11
|
* Dropdown button for the AttributeFilter.
|
|
17
12
|
*
|
|
@@ -35,19 +30,9 @@ export function AttributeFilterDropdownButton({ isOpen, title, selectedItemsCoun
|
|
|
35
30
|
return;
|
|
36
31
|
}
|
|
37
32
|
const roundedWidth = Math.ceil(element.getBoundingClientRect().width);
|
|
38
|
-
|
|
39
|
-
setDisplayItemCount(displayItemCount);
|
|
33
|
+
setDisplayItemCount(roundedWidth < element.scrollWidth);
|
|
40
34
|
}, [subtitle]);
|
|
41
|
-
|
|
42
|
-
if (selectedItemsCount !== undefined && totalItemsCount !== undefined) {
|
|
43
|
-
itemsCountString = `${selectedItemsCount}/${totalItemsCount}`;
|
|
44
|
-
}
|
|
45
|
-
else if (selectedItemsCount !== undefined) {
|
|
46
|
-
itemsCountString = `${selectedItemsCount}`;
|
|
47
|
-
}
|
|
48
|
-
else if (totalItemsCount !== undefined) {
|
|
49
|
-
itemsCountString = `${totalItemsCount}`;
|
|
50
|
-
}
|
|
35
|
+
const itemsCountString = formatItemsCount(selectedItemsCount, totalItemsCount);
|
|
51
36
|
let buttonTitle = title;
|
|
52
37
|
let buttonSubtitle = subtitle;
|
|
53
38
|
if (isLoading) {
|
|
@@ -57,12 +42,9 @@ export function AttributeFilterDropdownButton({ isOpen, title, selectedItemsCoun
|
|
|
57
42
|
else if (isFiltering) {
|
|
58
43
|
buttonSubtitle = intl.formatMessage({ id: "filtering" });
|
|
59
44
|
}
|
|
60
|
-
const
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
event.stopPropagation();
|
|
64
|
-
}
|
|
65
|
-
}, [disabled]);
|
|
45
|
+
const titleSlotExtension = (_jsxs(_Fragment, { children: [titleExtension, _jsx(FilterButtonCustomIcon, { customIcon: customIcon, disabled: disabled }), TooltipContentComponent && isLoaded ? (_jsx(AttributeFilterButtonTooltip, { children: _jsx(TooltipContentComponent, {}) })) : null] }));
|
|
46
|
+
const subtitleNode = (_jsx("span", { className: "gd-attribute-filter-dropdown-button-selected-items__next s-attribute-filter-button-subtitle", "data-testid": isOpen ? "attribute-filter-button-subtitle" : undefined, ref: subtitleSelectedItemsRef, children: buttonSubtitle }));
|
|
47
|
+
const subtitleExtension = showSelectionCount && displayItemCount && isLoaded && itemsCountString ? (_jsx("span", { className: "gd-attribute-filter-dropdown-button-selected-items-count__next", children: `(${itemsCountString})` })) : null;
|
|
66
48
|
const handleButtonRef = useCallback((element) => {
|
|
67
49
|
if (!buttonRef) {
|
|
68
50
|
return;
|
|
@@ -73,20 +55,25 @@ export function AttributeFilterDropdownButton({ isOpen, title, selectedItemsCoun
|
|
|
73
55
|
}
|
|
74
56
|
buttonRef.current = element;
|
|
75
57
|
}, [buttonRef]);
|
|
76
|
-
|
|
77
|
-
const buttonComponent = (_jsxs("div", { id: buttonId, className: cx("gd-attribute-filter-dropdown-button__next", "s-attribute-filter", `s-${simplifyText(title ?? "")}`, {
|
|
58
|
+
return (_jsx(UiControlButton, { title: `${buttonTitle ?? ""}`, titleClassName: "s-attribute-filter-button-title", subtitle: subtitleNode, subtitleExtension: subtitleExtension, icon: filterIcon, titleExtension: titleSlotExtension, isOpen: isOpen, isDraggable: isDraggable, isError: isError, disabled: disabled, disabledTooltip: disabled ? intl.formatMessage({ id: "filters.locked.filter.tooltip" }) : undefined, onClick: onClick, buttonRef: handleButtonRef, buttonId: buttonId, dropdownId: dropdownId, className: cx("gd-attribute-filter-dropdown-button__next", "s-attribute-filter", `s-${simplifyText(title ?? "")}`, {
|
|
78
59
|
"gd-message error": isError,
|
|
79
60
|
"gd-is-filtering": isFiltering,
|
|
80
61
|
"gd-is-active": isOpen,
|
|
81
62
|
"gd-is-loaded": isLoaded,
|
|
82
63
|
"gd-is-draggable": isDraggable,
|
|
83
|
-
disabled
|
|
84
|
-
}, className)
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
64
|
+
disabled,
|
|
65
|
+
}, className) }));
|
|
66
|
+
}
|
|
67
|
+
function formatItemsCount(selected, total) {
|
|
68
|
+
if (selected !== undefined && total !== undefined) {
|
|
69
|
+
return `${selected}/${total}`;
|
|
70
|
+
}
|
|
71
|
+
if (selected !== undefined) {
|
|
72
|
+
return `${selected}`;
|
|
73
|
+
}
|
|
74
|
+
if (total !== undefined) {
|
|
75
|
+
return `${total}`;
|
|
76
|
+
}
|
|
77
|
+
return undefined;
|
|
91
78
|
}
|
|
92
79
|
//# sourceMappingURL=AttributeFilterDropdownButton.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AttributeFilterDropdownButton.js","sourceRoot":"","sources":["../../../../src/AttributeFilter/Components/DropdownButton/AttributeFilterDropdownButton.tsx"],"names":[],"mappings":";AAAA,qCAAqC;AAErC,OAAO,
|
|
1
|
+
{"version":3,"file":"AttributeFilterDropdownButton.js","sourceRoot":"","sources":["../../../../src/AttributeFilter/Components/DropdownButton/AttributeFilterDropdownButton.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import { type MeasureValueFilterCondition, type ObjRefInScope } from "@gooddata/sdk-model";
|
|
1
|
+
import { type IMeasureMetadataObject, type MeasureValueFilterCondition, type ObjRefInScope } from "@gooddata/sdk-model";
|
|
2
2
|
import { type ISeparators } from "@gooddata/sdk-ui";
|
|
3
3
|
import { type MeasureValueFilterOperator } from "./types.js";
|
|
4
|
-
import { type IDimensionalityItem, type WarningMessage } from "./typings.js";
|
|
5
|
-
interface IDropdownProps {
|
|
6
|
-
onApply:
|
|
4
|
+
import { type IDimensionalityItem, type IMeasureValueFilterCustomComponentProps, type IMeasureValueFilterDropdownCallback, type WarningMessage } from "./typings.js";
|
|
5
|
+
interface IDropdownProps extends IMeasureValueFilterCustomComponentProps {
|
|
6
|
+
onApply: IMeasureValueFilterDropdownCallback;
|
|
7
|
+
onChange?: IMeasureValueFilterDropdownCallback;
|
|
8
|
+
withoutApply?: boolean;
|
|
7
9
|
onCancel: () => void;
|
|
8
10
|
operator?: MeasureValueFilterOperator | null;
|
|
9
11
|
conditions?: MeasureValueFilterCondition[];
|
|
@@ -24,10 +26,13 @@ interface IDropdownProps {
|
|
|
24
26
|
dimensionality?: IDimensionalityItem[];
|
|
25
27
|
insightDimensionality?: IDimensionalityItem[];
|
|
26
28
|
isDimensionalityEnabled?: boolean;
|
|
29
|
+
isFilterSummaryEnabled?: boolean;
|
|
27
30
|
catalogDimensionality?: IDimensionalityItem[];
|
|
28
31
|
loadCatalogDimensionality?: (dimensionality: ObjRefInScope[]) => Promise<IDimensionalityItem[]>;
|
|
29
32
|
onDimensionalityChange?: (dimensionality: ObjRefInScope[]) => void;
|
|
30
33
|
isLoadingCatalogDimensionality?: boolean;
|
|
34
|
+
loadMetricDetails?: () => Promise<IMeasureMetadataObject | undefined>;
|
|
35
|
+
isHeaderEnabled?: boolean;
|
|
31
36
|
}
|
|
32
37
|
export declare function Dropdown(props: IDropdownProps): import("react/jsx-runtime").JSX.Element;
|
|
33
38
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dropdown.d.ts","sourceRoot":"","sources":["../../src/MeasureValueFilter/Dropdown.tsx"],"names":[],"mappings":"AAIA,OAAO,
|
|
1
|
+
{"version":3,"file":"Dropdown.d.ts","sourceRoot":"","sources":["../../src/MeasureValueFilter/Dropdown.tsx"],"names":[],"mappings":"AAIA,OAAO,EACH,KAAK,sBAAsB,EAC3B,KAAK,2BAA2B,EAChC,KAAK,aAAa,EACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,WAAW,EAAe,MAAM,kBAAkB,CAAC;AAIjE,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EACH,KAAK,mBAAmB,EACxB,KAAK,uCAAuC,EAC5C,KAAK,mCAAmC,EACxC,KAAK,cAAc,EACtB,MAAM,cAAc,CAAC;AAUtB,UAAU,cAAe,SAAQ,uCAAuC;IACpE,OAAO,EAAE,mCAAmC,CAAC;IAC7C,QAAQ,CAAC,EAAE,mCAAmC,CAAC;IAC/C,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,0BAA0B,GAAG,IAAI,CAAC;IAC7C,UAAU,CAAC,EAAE,2BAA2B,EAAE,CAAC;IAC3C,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC;IAChC,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,cAAc,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACvC,qBAAqB,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC9C,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,qBAAqB,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC9C,yBAAyB,CAAC,EAAE,CAAC,cAAc,EAAE,aAAa,EAAE,KAAK,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAChG,sBAAsB,CAAC,EAAE,CAAC,cAAc,EAAE,aAAa,EAAE,KAAK,IAAI,CAAC;IACnE,8BAA8B,CAAC,EAAE,OAAO,CAAC;IACzC,iBAAiB,CAAC,EAAE,MAAM,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAAC,CAAC;IACtE,eAAe,CAAC,EAAE,OAAO,CAAC;CAC7B;AA+FD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,cAAc,2CAM7C"}
|
|
@@ -2,7 +2,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
// (C) 2019-2026 GoodData Corporation
|
|
3
3
|
import { memo, useCallback } from "react";
|
|
4
4
|
import { IntlWrapper } from "@gooddata/sdk-ui";
|
|
5
|
-
import { Overlay } from "@gooddata/sdk-ui-kit";
|
|
5
|
+
import { Overlay, UiFocusManager } from "@gooddata/sdk-ui-kit";
|
|
6
6
|
import { DropdownBody } from "./DropdownBody.js";
|
|
7
7
|
const alignPoints = ["bl tl", "tl bl", "br tr", "tr br"];
|
|
8
8
|
/*
|
|
@@ -12,12 +12,12 @@ const alignPoints = ["bl tl", "tl bl", "br tr", "tr br"];
|
|
|
12
12
|
*/
|
|
13
13
|
const DROPDOWN_ALIGNMENTS = alignPoints.map((align) => ({ align, offset: { x: 1, y: 0 } }));
|
|
14
14
|
const DropdownWithIntl = memo(function DropdownWithIntl(props) {
|
|
15
|
-
const { operator = "ALL", usePercentage, warningMessage, locale, onCancel, anchorEl, separators, format, useShortFormat, measureTitle, displayTreatNullAsZeroOption = false, treatNullAsZeroValue = false, enableOperatorSelection, onApply: onApplyProp, dimensionality, insightDimensionality, isDimensionalityEnabled, catalogDimensionality, loadCatalogDimensionality, onDimensionalityChange, isLoadingCatalogDimensionality, conditions = [], enableMultipleConditions = false, enableRankingWithMvf, applyOnResult, } = props;
|
|
15
|
+
const { operator = "ALL", usePercentage, warningMessage, locale, onCancel, anchorEl, separators, format, useShortFormat, measureTitle, displayTreatNullAsZeroOption = false, treatNullAsZeroValue = false, enableOperatorSelection, onApply: onApplyProp, onChange: onChangeProp, withoutApply, BodyComponent, DropdownActionsComponent, dimensionality, insightDimensionality, isDimensionalityEnabled, isFilterSummaryEnabled = true, catalogDimensionality, loadCatalogDimensionality, onDimensionalityChange, isLoadingCatalogDimensionality, conditions = [], enableMultipleConditions = false, enableRankingWithMvf, applyOnResult, loadMetricDetails, isHeaderEnabled, } = props;
|
|
16
16
|
const onApply = useCallback((conditions, newDimensionality, applyOnResult) => {
|
|
17
17
|
onApplyProp(conditions, newDimensionality, applyOnResult);
|
|
18
18
|
}, [onApplyProp]);
|
|
19
19
|
const selectedOperator = operator === null ? "ALL" : operator;
|
|
20
|
-
return (_jsx(Overlay, { alignTo: anchorEl, alignPoints: DROPDOWN_ALIGNMENTS, closeOnOutsideClick: true, closeOnParentScroll: true, closeOnMouseDrag: true, onClose: onCancel, children: _jsx(DropdownBody, { operator: selectedOperator, conditions: conditions, enableMultipleConditions: enableMultipleConditions, usePercentage: usePercentage, warningMessage: warningMessage, locale: locale, onCancel: onCancel, onApply: onApply, separators: separators, format: format, useShortFormat: useShortFormat, measureTitle: measureTitle, displayTreatNullAsZeroOption: displayTreatNullAsZeroOption, treatNullAsZeroValue: treatNullAsZeroValue, enableOperatorSelection: enableOperatorSelection, dimensionality: dimensionality, insightDimensionality: insightDimensionality, isDimensionalityEnabled: isDimensionalityEnabled, catalogDimensionality: catalogDimensionality, loadCatalogDimensionality: loadCatalogDimensionality, onDimensionalityChange: onDimensionalityChange, isLoadingCatalogDimensionality: isLoadingCatalogDimensionality, enableRankingWithMvf: enableRankingWithMvf, applyOnResult: applyOnResult }) }));
|
|
20
|
+
return (_jsx(Overlay, { alignTo: anchorEl, alignPoints: DROPDOWN_ALIGNMENTS, closeOnOutsideClick: true, closeOnParentScroll: true, closeOnMouseDrag: true, onClose: onCancel, children: _jsx(UiFocusManager, { enableFocusTrap: true, enableAutofocus: true, enableReturnFocusOnUnmount: true, children: _jsx(DropdownBody, { operator: selectedOperator, conditions: conditions, enableMultipleConditions: enableMultipleConditions, usePercentage: usePercentage, warningMessage: warningMessage, locale: locale, onChange: onChangeProp, withoutApply: withoutApply, BodyComponent: BodyComponent, DropdownActionsComponent: DropdownActionsComponent, onCancel: onCancel, onApply: onApply, separators: separators, format: format, useShortFormat: useShortFormat, measureTitle: measureTitle, displayTreatNullAsZeroOption: displayTreatNullAsZeroOption, treatNullAsZeroValue: treatNullAsZeroValue, enableOperatorSelection: enableOperatorSelection, dimensionality: dimensionality, insightDimensionality: insightDimensionality, isDimensionalityEnabled: isDimensionalityEnabled, isFilterSummaryEnabled: isFilterSummaryEnabled, catalogDimensionality: catalogDimensionality, loadCatalogDimensionality: loadCatalogDimensionality, onDimensionalityChange: onDimensionalityChange, isLoadingCatalogDimensionality: isLoadingCatalogDimensionality, enableRankingWithMvf: enableRankingWithMvf, applyOnResult: applyOnResult, loadMetricDetails: loadMetricDetails, isHeaderEnabled: isHeaderEnabled }) }) }));
|
|
21
21
|
});
|
|
22
22
|
export function Dropdown(props) {
|
|
23
23
|
return (_jsx(IntlWrapper, { locale: props.locale, children: _jsx(DropdownWithIntl, { ...props }) }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dropdown.js","sourceRoot":"","sources":["../../src/MeasureValueFilter/Dropdown.tsx"],"names":[],"mappings":";AAAA,qCAAqC;AAErC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Dropdown.js","sourceRoot":"","sources":["../../src/MeasureValueFilter/Dropdown.tsx"],"names":[],"mappings":";AAAA,qCAAqC;AAErC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAO1C,OAAO,EAAoB,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE/D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AASjD,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AACzD;;;;GAIG;AACH,MAAM,mBAAmB,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAmC5F,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,gBAAgB,CAAC,KAAqB,EAAE;IAC3E,MAAM,EACF,QAAQ,GAAG,KAAK,EAChB,aAAa,EACb,cAAc,EACd,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,MAAM,EACN,cAAc,EACd,YAAY,EACZ,4BAA4B,GAAG,KAAK,EACpC,oBAAoB,GAAG,KAAK,EAC5B,uBAAuB,EACvB,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,YAAY,EACtB,YAAY,EACZ,aAAa,EACb,wBAAwB,EACxB,cAAc,EACd,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,GAAG,IAAI,EAC7B,qBAAqB,EACrB,yBAAyB,EACzB,sBAAsB,EACtB,8BAA8B,EAC9B,UAAU,GAAG,EAAE,EACf,wBAAwB,GAAG,KAAK,EAChC,oBAAoB,EACpB,aAAa,EACb,iBAAiB,EACjB,eAAe,GAClB,GAAG,KAAK,CAAC;IAEV,MAAM,OAAO,GAAwC,WAAW,CAC5D,CAAC,UAAU,EAAE,iBAAiB,EAAE,aAAa,EAAE,EAAE,CAAC;QAC9C,WAAW,CAAC,UAAU,EAAE,iBAAiB,EAAE,aAAa,CAAC,CAAC;IAAA,CAC7D,EACD,CAAC,WAAW,CAAC,CAChB,CAAC;IAEF,MAAM,gBAAgB,GAA+B,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;IAE1F,OAAO,CACH,KAAC,OAAO,IACJ,OAAO,EAAE,QAAQ,EACjB,WAAW,EAAE,mBAAmB,EAChC,mBAAmB,QACnB,mBAAmB,QACnB,gBAAgB,QAChB,OAAO,EAAE,QAAQ,YAEjB,KAAC,cAAc,IAAC,eAAe,QAAC,eAAe,QAAC,0BAA0B,kBACtE,KAAC,YAAY,IACT,QAAQ,EAAE,gBAAgB,EAC1B,UAAU,EAAE,UAAU,EACtB,wBAAwB,EAAE,wBAAwB,EAClD,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,cAAc,EAC9B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,YAAY,EACtB,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,aAAa,EAC5B,wBAAwB,EAAE,wBAAwB,EAClD,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,YAAY,EAC1B,4BAA4B,EAAE,4BAA4B,EAC1D,oBAAoB,EAAE,oBAAoB,EAC1C,uBAAuB,EAAE,uBAAuB,EAChD,cAAc,EAAE,cAAc,EAC9B,qBAAqB,EAAE,qBAAqB,EAC5C,uBAAuB,EAAE,uBAAuB,EAChD,sBAAsB,EAAE,sBAAsB,EAC9C,qBAAqB,EAAE,qBAAqB,EAC5C,yBAAyB,EAAE,yBAAyB,EACpD,sBAAsB,EAAE,sBAAsB,EAC9C,8BAA8B,EAAE,8BAA8B,EAC9D,oBAAoB,EAAE,oBAAoB,EAC1C,aAAa,EAAE,aAAa,EAC5B,iBAAiB,EAAE,iBAAiB,EACpC,eAAe,EAAE,eAAe,GAClC,GACW,GACX,CACb,CAAC;AAAA,CACL,CAAC,CAAC;AAEH,MAAM,UAAU,QAAQ,CAAC,KAAqB,EAAE;IAC5C,OAAO,CACH,KAAC,WAAW,IAAC,MAAM,EAAE,KAAK,CAAC,MAAM,YAC7B,KAAC,gBAAgB,OAAK,KAAK,GAAI,GACrB,CACjB,CAAC;AAAA,CACL"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { type ISeparators, type MeasureValueFilterCondition, type ObjRefInScope } from "@gooddata/sdk-model";
|
|
1
|
+
import { type IMeasureMetadataObject, type ISeparators, type MeasureValueFilterCondition, type ObjRefInScope } from "@gooddata/sdk-model";
|
|
2
2
|
import { type MeasureValueFilterOperator } from "./types.js";
|
|
3
|
-
import { type IDimensionalityItem, type WarningMessage } from "./typings.js";
|
|
4
|
-
interface IDropdownBodyProps {
|
|
3
|
+
import { type IDimensionalityItem, type IMeasureValueFilterCustomComponentProps, type IMeasureValueFilterDropdownCallback, type WarningMessage } from "./typings.js";
|
|
4
|
+
interface IDropdownBodyProps extends IMeasureValueFilterCustomComponentProps {
|
|
5
5
|
operator: MeasureValueFilterOperator;
|
|
6
6
|
conditions: MeasureValueFilterCondition[];
|
|
7
7
|
enableMultipleConditions?: boolean;
|
|
@@ -13,7 +13,9 @@ interface IDropdownBodyProps {
|
|
|
13
13
|
disableAutofocus?: boolean;
|
|
14
14
|
onCancel?: () => void;
|
|
15
15
|
measureTitle?: string;
|
|
16
|
-
onApply:
|
|
16
|
+
onApply: IMeasureValueFilterDropdownCallback;
|
|
17
|
+
onChange?: IMeasureValueFilterDropdownCallback;
|
|
18
|
+
withoutApply?: boolean;
|
|
17
19
|
separators?: ISeparators;
|
|
18
20
|
format?: string;
|
|
19
21
|
useShortFormat?: boolean;
|
|
@@ -24,10 +26,13 @@ interface IDropdownBodyProps {
|
|
|
24
26
|
dimensionality?: IDimensionalityItem[];
|
|
25
27
|
insightDimensionality?: IDimensionalityItem[];
|
|
26
28
|
isDimensionalityEnabled?: boolean;
|
|
29
|
+
isFilterSummaryEnabled?: boolean;
|
|
27
30
|
catalogDimensionality?: IDimensionalityItem[];
|
|
28
31
|
loadCatalogDimensionality?: (dimensionality: ObjRefInScope[]) => Promise<IDimensionalityItem[]>;
|
|
29
32
|
onDimensionalityChange?: (dimensionality: ObjRefInScope[]) => void;
|
|
30
33
|
isLoadingCatalogDimensionality?: boolean;
|
|
34
|
+
loadMetricDetails?: () => Promise<IMeasureMetadataObject | undefined>;
|
|
35
|
+
isHeaderEnabled?: boolean;
|
|
31
36
|
}
|
|
32
37
|
export declare const DropdownBodyWithIntl: import("react").NamedExoticComponent<IDropdownBodyProps>;
|
|
33
38
|
export declare const DropdownBody: import("react").NamedExoticComponent<IDropdownBodyProps>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DropdownBody.d.ts","sourceRoot":"","sources":["../../src/MeasureValueFilter/DropdownBody.tsx"],"names":[],"mappings":"AAOA,OAAO,EACH,KAAK,WAAW,EAChB,KAAK,2BAA2B,EAChC,KAAK,aAAa,EAKrB,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"DropdownBody.d.ts","sourceRoot":"","sources":["../../src/MeasureValueFilter/DropdownBody.tsx"],"names":[],"mappings":"AAOA,OAAO,EACH,KAAK,sBAAsB,EAC3B,KAAK,WAAW,EAChB,KAAK,2BAA2B,EAChC,KAAK,aAAa,EAKrB,MAAM,qBAAqB,CAAC;AAY7B,OAAO,EAAiC,KAAK,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAC5F,OAAO,EACH,KAAK,mBAAmB,EACxB,KAAK,uCAAuC,EAC5C,KAAK,mCAAmC,EACxC,KAAK,cAAc,EACtB,MAAM,cAAc,CAAC;AAGtB,UAAU,kBAAmB,SAAQ,uCAAuC;IACxE,QAAQ,EAAE,0BAA0B,CAAC;IACrC,UAAU,EAAE,2BAA2B,EAAE,CAAC;IAC1C,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,mCAAmC,CAAC;IAC7C,QAAQ,CAAC,EAAE,mCAAmC,CAAC;IAC/C,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,cAAc,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACvC,qBAAqB,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC9C,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,qBAAqB,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC9C,yBAAyB,CAAC,EAAE,CAAC,cAAc,EAAE,aAAa,EAAE,KAAK,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAChG,sBAAsB,CAAC,EAAE,CAAC,cAAc,EAAE,aAAa,EAAE,KAAK,IAAI,CAAC;IACnE,8BAA8B,CAAC,EAAE,OAAO,CAAC;IACzC,iBAAiB,CAAC,EAAE,MAAM,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAAC,CAAC;IACtE,eAAe,CAAC,EAAE,OAAO,CAAC;CAC7B;AA2DD,eAAO,MAAM,oBAAoB,0DA8zB/B,CAAC;AAEH,eAAO,MAAM,YAAY,0DAMvB,CAAC"}
|