@gooddata/sdk-ui-filters 11.51.0-alpha.0 → 11.51.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/Components/ElementsSelect/AttributeFilterElementsSelect.js +1 -1
- package/esm/AttributeFilter/Components/ElementsSelect/AttributeFilterElementsSelectItemTooltip.d.ts +2 -2
- package/esm/AttributeFilter/Components/ElementsSelect/AttributeFilterElementsSelectItemTooltip.d.ts.map +1 -1
- package/esm/AttributeFilter/Components/ElementsSelect/AttributeFilterElementsSelectItemTooltip.js +18 -6
- package/esm/AttributeFilter/Components/ElementsSelect/SingleSelectionAttributeFilterElementsSelectItem.js +3 -2
- package/esm/DateFilter/AbsoluteDateFilterForm/AbsoluteDateFilterForm.d.ts +2 -1
- package/esm/DateFilter/AbsoluteDateFilterForm/AbsoluteDateFilterForm.d.ts.map +1 -1
- package/esm/DateFilter/AbsoluteDateFilterForm/AbsoluteDateFilterForm.js +3 -3
- package/esm/DateFilter/AbsoluteDateFilterForm/AbsoluteDateFilterFormSection.d.ts +2 -1
- package/esm/DateFilter/AbsoluteDateFilterForm/AbsoluteDateFilterFormSection.d.ts.map +1 -1
- package/esm/DateFilter/AbsoluteDateFilterForm/AbsoluteDateFilterFormSection.js +2 -2
- package/esm/DateFilter/AbsoluteDateFilterForm/conversions.d.ts +2 -2
- package/esm/DateFilter/AbsoluteDateFilterForm/conversions.d.ts.map +1 -1
- package/esm/DateFilter/AbsoluteDateFilterForm/conversions.js +9 -4
- package/esm/DateFilter/DateFilter.d.ts +7 -0
- package/esm/DateFilter/DateFilter.d.ts.map +1 -1
- package/esm/DateFilter/DateFilter.js +3 -2
- package/esm/DateFilter/DateFilterBody/DateFilterBody.d.ts +1 -0
- package/esm/DateFilter/DateFilterBody/DateFilterBody.d.ts.map +1 -1
- package/esm/DateFilter/DateFilterBody/DateFilterBody.js +2 -2
- package/esm/DateFilter/DateFilterBody/DateFilterBodyContent.d.ts +2 -1
- package/esm/DateFilter/DateFilterBody/DateFilterBodyContent.d.ts.map +1 -1
- package/esm/DateFilter/DateFilterBody/DateFilterBodyContent.js +2 -2
- package/esm/DateFilter/DateFilterBody/DateFilterFormContent.d.ts +2 -1
- package/esm/DateFilter/DateFilterBody/DateFilterFormContent.d.ts.map +1 -1
- package/esm/DateFilter/DateFilterBody/DateFilterFormContent.js +2 -2
- package/esm/DateFilter/DateFilterCore.d.ts +2 -1
- package/esm/DateFilter/DateFilterCore.d.ts.map +1 -1
- package/esm/DateFilter/DateFilterCore.js +13 -5
- package/esm/DateFilter/DateRangePicker/DateRangeHint.d.ts +2 -1
- package/esm/DateFilter/DateRangePicker/DateRangeHint.d.ts.map +1 -1
- package/esm/DateFilter/DateRangePicker/DateRangeHint.js +11 -2
- package/esm/DateFilter/DateRangePicker/DateRangePicker.d.ts +2 -1
- package/esm/DateFilter/DateRangePicker/DateRangePicker.d.ts.map +1 -1
- package/esm/DateFilter/DateRangePicker/DateRangePicker.js +4 -4
- package/esm/DateFilter/DateRangePicker/DateTimePicker.d.ts +1 -0
- package/esm/DateFilter/DateRangePicker/DateTimePicker.d.ts.map +1 -1
- package/esm/DateFilter/DateRangePicker/DateTimePicker.js +2 -2
- package/esm/DateFilter/DateRangePicker/EndDateInputField.d.ts.map +1 -1
- package/esm/DateFilter/DateRangePicker/EndDateInputField.js +2 -2
- package/esm/DateFilter/DateRangePicker/StartDateInputField.d.ts.map +1 -1
- package/esm/DateFilter/DateRangePicker/StartDateInputField.js +2 -2
- package/esm/DateFilter/DateRangePicker/TimeInput.d.ts +2 -1
- package/esm/DateFilter/DateRangePicker/TimeInput.d.ts.map +1 -1
- package/esm/DateFilter/DateRangePicker/TimeInput.js +33 -13
- package/esm/DateFilter/DateRangePicker/types.d.ts +2 -0
- package/esm/DateFilter/DateRangePicker/types.d.ts.map +1 -1
- package/esm/DateFilter/DateRangePicker/utils.d.ts.map +1 -1
- package/esm/DateFilter/DateRangePicker/utils.js +2 -1
- package/esm/DateFilter/DynamicSelect/utils.d.ts +1 -0
- package/esm/DateFilter/DynamicSelect/utils.d.ts.map +1 -1
- package/esm/DateFilter/DynamicSelect/utils.js +2 -0
- package/esm/DateFilter/constants/Platform.d.ts +5 -0
- package/esm/DateFilter/constants/Platform.d.ts.map +1 -1
- package/esm/DateFilter/constants/Platform.js +6 -1
- package/esm/DateFilter/constants/i18n.d.ts +1 -1
- package/esm/DateFilter/constants/i18n.d.ts.map +1 -1
- package/esm/DateFilter/constants/i18n.js +2 -0
- package/esm/DateFilter/index.d.ts +1 -0
- package/esm/DateFilter/index.d.ts.map +1 -1
- package/esm/DateFilter/utils/DateConversions.d.ts.map +1 -1
- package/esm/DateFilter/utils/DateConversions.js +4 -3
- package/esm/DateFilter/utils/DefaultDateFilterConfig.d.ts.map +1 -1
- package/esm/DateFilter/utils/DefaultDateFilterConfig.js +1 -0
- package/esm/DateFilter/utils/Translations/DateFilterTitle.d.ts +1 -1
- package/esm/DateFilter/utils/Translations/DateFilterTitle.d.ts.map +1 -1
- package/esm/DateFilter/utils/Translations/DateFilterTitle.js +11 -6
- package/esm/locales.d.ts.map +1 -1
- package/esm/locales.js +16 -0
- package/esm/sdk-ui-filters.d.ts +9 -1
- package/package.json +12 -12
- package/styles/css/attributeFilter.css.map +1 -1
- package/styles/css/attributeFilterNext/attributeFilter.css.map +1 -1
- package/styles/css/attributeFilterNext/attributeFilterAddons.css.map +1 -1
- package/styles/css/attributeFilterNext/attributeFilterDropdownBody.css.map +1 -1
- package/styles/css/attributeFilterNext/attributeFilterDropdownButton.css.map +1 -1
- package/styles/css/attributeFilterNext/attributeFilterElementsSelect.css.map +1 -1
- package/styles/css/attributeFilterNext/attributeFilterEmptyResult.css.map +1 -1
- package/styles/css/attributeFilterNext/attributeFilterStatusBar.css.map +1 -1
- package/styles/css/attributeFilterNext.css.map +1 -1
- package/styles/css/components/DateFilterButton.css.map +1 -1
- package/styles/css/dateFilter.css.map +1 -1
- package/styles/css/main.css.map +1 -1
- package/styles/css/measureValueFilter.css.map +1 -1
|
@@ -57,7 +57,7 @@ export function AttributeFilterElementsSelect({ items, totalItemsCount, totalIte
|
|
|
57
57
|
// Keep legacy list-search autofocus only when both text filter modes are disabled.
|
|
58
58
|
return !availableSelectionTypes.includes("arbitrary") && !availableSelectionTypes.includes("match");
|
|
59
59
|
}, [menuConfig?.availableSelectionTypes]);
|
|
60
|
-
const elementsSelectContent = (_jsx(InvertableSelectVirtualised, { className: "gd-attribute-filter-elements-select__next", adaptiveWidth: true, adaptiveHeight: isAdaptiveHeight, isSingleSelect: selectionMode === "single", items: items, totalItemsCount: totalItemsCountWithCurrentSettings, itemHeight: itemHeight, getItemKey: getElementKey, getItemTitle: (item) => getElementTitle(item, intl), isItemQuestionMarkEnabled: (item) => !!getElementPrimaryTitle(item), isInverted: isInverted, selectedItems: selectedItems, selectedItemsLimit: MAX_SELECTION_SIZE, onSelect: onSelect, onApplyButtonClick: onApplyButtonClick, searchString: searchString, onSearch: onSearch, canSubmitOnKeyDown: !isApplyDisabled, isLoading: isLoading, error: error, isLoadingNextPage: isLoadingNextPage, nextPageItemPlaceholdersCount: nextPageSize, onLoadNextPage: onLoadNextPage, numberOfHiddenSelectedItems: irrelevantSelection?.length ?? 0, renderItem: (props) => (_jsx(ElementsSelectItemComponent, { ...props, primaryLabelTitle: primaryLabelTitle ?? undefined, fullscreenOnMobile: fullscreenOnMobile })), renderError: () => {
|
|
60
|
+
const elementsSelectContent = (_jsx(InvertableSelectVirtualised, { className: "gd-attribute-filter-elements-select__next", adaptiveWidth: true, adaptiveHeight: isAdaptiveHeight, isSingleSelect: selectionMode === "single", items: items, totalItemsCount: totalItemsCountWithCurrentSettings, itemHeight: itemHeight, getItemKey: getElementKey, getItemTitle: (item) => getElementTitle(item, intl), isItemQuestionMarkEnabled: (item) => !!primaryLabelTitle && !!getElementPrimaryTitle(item), isInverted: isInverted, selectedItems: selectedItems, selectedItemsLimit: MAX_SELECTION_SIZE, onSelect: onSelect, onApplyButtonClick: onApplyButtonClick, searchString: searchString, onSearch: onSearch, canSubmitOnKeyDown: !isApplyDisabled, isLoading: isLoading, error: error, isLoadingNextPage: isLoadingNextPage, nextPageItemPlaceholdersCount: nextPageSize, onLoadNextPage: onLoadNextPage, numberOfHiddenSelectedItems: irrelevantSelection?.length ?? 0, renderItem: (props) => (_jsx(ElementsSelectItemComponent, { ...props, primaryLabelTitle: primaryLabelTitle ?? undefined, fullscreenOnMobile: fullscreenOnMobile })), renderError: () => {
|
|
61
61
|
// error is guaranteed to exist when renderError is called
|
|
62
62
|
return _jsx(ElementsSelectErrorComponent, { error: error });
|
|
63
63
|
}, renderLoading: () => {
|
package/esm/AttributeFilter/Components/ElementsSelect/AttributeFilterElementsSelectItemTooltip.d.ts
CHANGED
|
@@ -6,9 +6,9 @@ export interface IAttributeFilterElementsSelectItemTooltipProps {
|
|
|
6
6
|
primaryLabelTitle?: string;
|
|
7
7
|
itemPrimaryTitle?: string;
|
|
8
8
|
isFocused?: boolean;
|
|
9
|
+
/** Id of the focusable element itself (grid representation only - the roving tabindex target). */
|
|
9
10
|
id?: string;
|
|
10
11
|
renderAsCell?: boolean;
|
|
11
|
-
ariaLabel?: string;
|
|
12
12
|
}
|
|
13
|
-
export declare function AttributeFilterElementsSelectItemTooltip({ primaryLabelTitle, itemPrimaryTitle, id, isFocused, renderAsCell
|
|
13
|
+
export declare function AttributeFilterElementsSelectItemTooltip({ primaryLabelTitle, itemPrimaryTitle, id, isFocused, renderAsCell }: IAttributeFilterElementsSelectItemTooltipProps): import("react/jsx-runtime").JSX.Element | null;
|
|
14
14
|
//# sourceMappingURL=AttributeFilterElementsSelectItemTooltip.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AttributeFilterElementsSelectItemTooltip.d.ts","sourceRoot":"","sources":["../../../../src/AttributeFilter/Components/ElementsSelect/AttributeFilterElementsSelectItemTooltip.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AttributeFilterElementsSelectItemTooltip.d.ts","sourceRoot":"","sources":["../../../../src/AttributeFilter/Components/ElementsSelect/AttributeFilterElementsSelectItemTooltip.tsx"],"names":[],"mappings":"AASA;;;GAGG;AACH,MAAM,WAAW,8CAA8C;IAC3D,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,kGAAkG;IAClG,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,wBAAgB,wCAAwC,CAAC,EACrD,iBAAiB,EACjB,gBAAgB,EAChB,EAAE,EACF,SAAiB,EACjB,YAAmB,EACtB,EAAE,8CAA8C,kDAwDhD"}
|
package/esm/AttributeFilter/Components/ElementsSelect/AttributeFilterElementsSelectItemTooltip.js
CHANGED
|
@@ -1,17 +1,29 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
// (C) 2007-2026 GoodData Corporation
|
|
3
|
+
import { useEffect, useState } from "react";
|
|
3
4
|
import cx from "classnames";
|
|
4
5
|
import { useIntl } from "react-intl";
|
|
5
|
-
import { UiIcon, UiTooltip } from "@gooddata/sdk-ui-kit";
|
|
6
|
-
export function AttributeFilterElementsSelectItemTooltip({ primaryLabelTitle, itemPrimaryTitle, id, isFocused = false, renderAsCell = true,
|
|
6
|
+
import { UiIcon, UiTooltip, useCloseOnEscape } from "@gooddata/sdk-ui-kit";
|
|
7
|
+
export function AttributeFilterElementsSelectItemTooltip({ primaryLabelTitle, itemPrimaryTitle, id, isFocused = false, renderAsCell = true, }) {
|
|
7
8
|
const { formatMessage } = useIntl();
|
|
9
|
+
// Reveal only on keyboard focus (:focus-visible), not a mouse-click focus - LX-2753.
|
|
10
|
+
const [isKeyboardFocused, setIsKeyboardFocused] = useState(false);
|
|
11
|
+
useEffect(() => {
|
|
12
|
+
if (!isFocused) {
|
|
13
|
+
setIsKeyboardFocused(false);
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
setIsKeyboardFocused(document.activeElement?.matches(":focus-visible") ?? false);
|
|
17
|
+
}, [isFocused]);
|
|
18
|
+
// Escape hides the tooltip without closing the dropdown - LX-2753 / WCAG 1.4.13.
|
|
19
|
+
useCloseOnEscape(isKeyboardFocused, () => setIsKeyboardFocused(false), true);
|
|
8
20
|
if (!primaryLabelTitle || !itemPrimaryTitle) {
|
|
9
21
|
return null;
|
|
10
22
|
}
|
|
11
|
-
return (_jsx("div", { role: renderAsCell ? "gridcell" : "
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
23
|
+
return (_jsx("div", { role: renderAsCell ? "gridcell" : undefined, id: renderAsCell ? id : undefined, tabIndex: renderAsCell ? (isFocused ? 0 : -1) : undefined, "aria-label": renderAsCell ? formatMessage({ id: "attributesDropdown.detailsLabel" }) : undefined, children: _jsx(UiTooltip, { hoverOpenDelay: 0, hoverCloseDelay: 0, arrowPlacement: "left", optimalPlacement: true, offset: 15, isOpen: isKeyboardFocused ? true : undefined, triggerBy: ["hover"], anchor: _jsx("div", { className: cx("gd-list-item-only gd-item-title-tooltip-wrapper", {
|
|
24
|
+
// Icon is a real focus target only in the grid (multi-select) case.
|
|
25
|
+
"gd-list-item-only--isFocusedSelectItem": renderAsCell && isFocused,
|
|
26
|
+
}), children: _jsx(UiIcon, { color: "currentColor", layout: "block", size: 13, type: "question" }) }), content: _jsxs("div", { className: "gd-item-title-tooltip", children: [
|
|
15
27
|
_jsx("h4", { children: primaryLabelTitle }), _jsx("p", { children: itemPrimaryTitle })
|
|
16
28
|
] }) }) }));
|
|
17
29
|
}
|
|
@@ -4,7 +4,7 @@ import { useCallback, useMemo } from "react";
|
|
|
4
4
|
import cx from "classnames";
|
|
5
5
|
import { camelCase } from "lodash-es";
|
|
6
6
|
import { useIntl } from "react-intl";
|
|
7
|
-
import { CustomizableCheckmark, useMediaQuery } from "@gooddata/sdk-ui-kit";
|
|
7
|
+
import { CustomizableCheckmark, ScopedIdStore, useMediaQuery } from "@gooddata/sdk-ui-kit";
|
|
8
8
|
import { getElementPrimaryTitle, getElementTitle } from "../../utils.js";
|
|
9
9
|
import { AttributeFilterElementsSelectItemTooltip } from "./AttributeFilterElementsSelectItemTooltip.js";
|
|
10
10
|
/**
|
|
@@ -14,6 +14,7 @@ import { AttributeFilterElementsSelectItemTooltip } from "./AttributeFilterEleme
|
|
|
14
14
|
*/
|
|
15
15
|
export function SingleSelectionAttributeFilterElementsSelectItem({ item, onSelectOnly, isSelected, focusedAction, fullscreenOnMobile = false, primaryLabelTitle, }) {
|
|
16
16
|
const intl = useIntl();
|
|
17
|
+
const makeId = ScopedIdStore.useContextStoreOptional((ctx) => ctx.makeId);
|
|
17
18
|
// Modify item click behavior to select only this particular item.
|
|
18
19
|
const onItemClick = useCallback((event) => {
|
|
19
20
|
event.stopPropagation();
|
|
@@ -30,6 +31,6 @@ export function SingleSelectionAttributeFilterElementsSelectItem({ item, onSelec
|
|
|
30
31
|
});
|
|
31
32
|
return (_jsxs("div", { className: classes, onClick: onItemClick, children: [
|
|
32
33
|
_jsxs("div", { className: "gd-attribute-filter-list-item-label ", children: [
|
|
33
|
-
_jsx("span", { children: itemTitle }), isSelected && isMobile && fullscreenOnMobile ? (_jsx("span", { className: "gd-customizable-checkmark-mobile-navigation-wrapper", children: _jsx(CustomizableCheckmark, { className: "gd-customizable-checkmark-mobile-navigation" }) })) : null] }), _jsx(AttributeFilterElementsSelectItemTooltip, { primaryLabelTitle: primaryLabelTitle, itemPrimaryTitle: itemPrimaryTitle, renderAsCell: false,
|
|
34
|
+
_jsx("span", { children: itemTitle }), isSelected && isMobile && fullscreenOnMobile ? (_jsx("span", { className: "gd-customizable-checkmark-mobile-navigation-wrapper", children: _jsx(CustomizableCheckmark, { className: "gd-customizable-checkmark-mobile-navigation" }) })) : null] }), _jsx(AttributeFilterElementsSelectItemTooltip, { primaryLabelTitle: primaryLabelTitle, itemPrimaryTitle: itemPrimaryTitle, renderAsCell: false, isFocused: !!focusedAction, id: makeId?.({ item, specifier: "questionMark" }) })
|
|
34
35
|
] }));
|
|
35
36
|
}
|
|
@@ -9,6 +9,7 @@ export interface IAbsoluteDateFilterFormProps {
|
|
|
9
9
|
isMobile: boolean;
|
|
10
10
|
onSelectedFilterOptionChange: (option: DateFilterOption) => void;
|
|
11
11
|
isTimeEnabled: boolean;
|
|
12
|
+
isSecondsEnabled?: boolean;
|
|
12
13
|
weekStart?: WeekStart;
|
|
13
14
|
shouldOverlayDatePicker?: boolean;
|
|
14
15
|
withoutApply?: boolean;
|
|
@@ -17,5 +18,5 @@ export interface IAbsoluteDateFilterFormProps {
|
|
|
17
18
|
/**
|
|
18
19
|
* @internal
|
|
19
20
|
*/
|
|
20
|
-
export declare function AbsoluteDateFilterForm({ dateFormat, isMobile, selectedFilterOption, isTimeEnabled, weekStart, shouldOverlayDatePicker, withoutApply, onSelectedFilterOptionChange, submitForm }: IAbsoluteDateFilterFormProps): import("react/jsx-runtime").JSX.Element;
|
|
21
|
+
export declare function AbsoluteDateFilterForm({ dateFormat, isMobile, selectedFilterOption, isTimeEnabled, isSecondsEnabled, weekStart, shouldOverlayDatePicker, withoutApply, onSelectedFilterOptionChange, submitForm }: IAbsoluteDateFilterFormProps): import("react/jsx-runtime").JSX.Element;
|
|
21
22
|
//# sourceMappingURL=AbsoluteDateFilterForm.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbsoluteDateFilterForm.d.ts","sourceRoot":"","sources":["../../../src/DateFilter/AbsoluteDateFilterForm/AbsoluteDateFilterForm.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAIrD,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAI/F;;GAEG;AACH,MAAM,WAAW,4BAA4B;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,oBAAoB,EAAE,yBAAyB,CAAC;IAChD,QAAQ,EAAE,OAAO,CAAC;IAClB,4BAA4B,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACjE,aAAa,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,MAAM,IAAI,CAAC;CAC1B;AAOD;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,EACnC,UAAU,EACV,QAAQ,EACR,oBAAoB,EACpB,aAAa,EACb,SAAS,EACT,uBAAuB,EACvB,YAAY,EACZ,4BAA4B,EAC5B,UAAU,EACb,EAAE,4BAA4B,
|
|
1
|
+
{"version":3,"file":"AbsoluteDateFilterForm.d.ts","sourceRoot":"","sources":["../../../src/DateFilter/AbsoluteDateFilterForm/AbsoluteDateFilterForm.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAIrD,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAI/F;;GAEG;AACH,MAAM,WAAW,4BAA4B;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,oBAAoB,EAAE,yBAAyB,CAAC;IAChD,QAAQ,EAAE,OAAO,CAAC;IAClB,4BAA4B,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACjE,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,MAAM,IAAI,CAAC;CAC1B;AAOD;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,EACnC,UAAU,EACV,QAAQ,EACR,oBAAoB,EACpB,aAAa,EACb,gBAAwB,EACxB,SAAS,EACT,uBAAuB,EACvB,YAAY,EACZ,4BAA4B,EAC5B,UAAU,EACb,EAAE,4BAA4B,2CA4B9B"}
|
|
@@ -8,9 +8,9 @@ const dayPickerProps = {
|
|
|
8
8
|
/**
|
|
9
9
|
* @internal
|
|
10
10
|
*/
|
|
11
|
-
export function AbsoluteDateFilterForm({ dateFormat, isMobile, selectedFilterOption, isTimeEnabled, weekStart, shouldOverlayDatePicker, withoutApply, onSelectedFilterOptionChange, submitForm, }) {
|
|
11
|
+
export function AbsoluteDateFilterForm({ dateFormat, isMobile, selectedFilterOption, isTimeEnabled, isSecondsEnabled = false, weekStart, shouldOverlayDatePicker, withoutApply, onSelectedFilterOptionChange, submitForm, }) {
|
|
12
12
|
const handleRangeChange = (range) => {
|
|
13
|
-
onSelectedFilterOptionChange(dateRangeToDateFilterValue(range, selectedFilterOption.localIdentifier, isTimeEnabled, selectedFilterOption.emptyValueHandling));
|
|
13
|
+
onSelectedFilterOptionChange(dateRangeToDateFilterValue(range, selectedFilterOption.localIdentifier, isTimeEnabled, selectedFilterOption.emptyValueHandling, isSecondsEnabled));
|
|
14
14
|
};
|
|
15
|
-
return (_jsx(DateRangePicker, { dateFormat: dateFormat, onRangeChange: handleRangeChange, range: dateFilterValueToDateRange(selectedFilterOption, isTimeEnabled), isMobile: isMobile, dayPickerProps: dayPickerProps, isTimeEnabled: isTimeEnabled, weekStart: weekStart, shouldOverlayDatePicker: shouldOverlayDatePicker, submitForm: submitForm, withoutApply: withoutApply }));
|
|
15
|
+
return (_jsx(DateRangePicker, { dateFormat: dateFormat, onRangeChange: handleRangeChange, range: dateFilterValueToDateRange(selectedFilterOption, isTimeEnabled, isSecondsEnabled), isMobile: isMobile, dayPickerProps: dayPickerProps, isTimeEnabled: isTimeEnabled, isSecondsEnabled: isSecondsEnabled, weekStart: weekStart, shouldOverlayDatePicker: shouldOverlayDatePicker, submitForm: submitForm, withoutApply: withoutApply }));
|
|
16
16
|
}
|
|
@@ -7,6 +7,7 @@ interface IAbsoluteDateFilterFormSection {
|
|
|
7
7
|
dateFormat: string;
|
|
8
8
|
weekStart: WeekStart;
|
|
9
9
|
isTimeForAbsoluteRangeEnabled: boolean;
|
|
10
|
+
isSecondsForAbsoluteRangeEnabled?: boolean;
|
|
10
11
|
isMobile: boolean;
|
|
11
12
|
route: DateFilterRoute;
|
|
12
13
|
withoutApply?: boolean;
|
|
@@ -15,6 +16,6 @@ interface IAbsoluteDateFilterFormSection {
|
|
|
15
16
|
closeDropdown: () => void;
|
|
16
17
|
onApplyClick: () => void;
|
|
17
18
|
}
|
|
18
|
-
export declare function AbsoluteDateFilterFormSection({ filterOptions, selectedFilterOption, dateFormat, weekStart, isTimeForAbsoluteRangeEnabled, isMobile, route, withoutApply, changeRoute, onSelectedFilterOptionChange, closeDropdown, onApplyClick }: IAbsoluteDateFilterFormSection): import("react/jsx-runtime").JSX.Element | null;
|
|
19
|
+
export declare function AbsoluteDateFilterFormSection({ filterOptions, selectedFilterOption, dateFormat, weekStart, isTimeForAbsoluteRangeEnabled, isSecondsForAbsoluteRangeEnabled, isMobile, route, withoutApply, changeRoute, onSelectedFilterOptionChange, closeDropdown, onApplyClick }: IAbsoluteDateFilterFormSection): import("react/jsx-runtime").JSX.Element | null;
|
|
19
20
|
export {};
|
|
20
21
|
//# sourceMappingURL=AbsoluteDateFilterFormSection.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbsoluteDateFilterFormSection.d.ts","sourceRoot":"","sources":["../../../src/DateFilter/AbsoluteDateFilterForm/AbsoluteDateFilterFormSection.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,SAAS,EAA4B,MAAM,qBAAqB,CAAC;AAE/E,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAElE,OAAO,EACH,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAEhC,MAAM,wBAAwB,CAAC;AAOhC,UAAU,8BAA8B;IACpC,aAAa,EAAE,wBAAwB,CAAC;IACxC,oBAAoB,EAAE,gBAAgB,CAAC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,6BAA6B,EAAE,OAAO,CAAC;IACvC,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,eAAe,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,EAAE,CAAC,QAAQ,CAAC,EAAE,eAAe,KAAK,IAAI,CAAC;IAClD,4BAA4B,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACjE,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED,wBAAgB,6BAA6B,CAAC,EAC1C,aAAa,EACb,oBAAoB,EACpB,UAAU,EACV,SAAS,EACT,6BAA6B,EAC7B,QAAQ,EACR,KAAK,EACL,YAAY,EACZ,WAAW,EACX,4BAA4B,EAC5B,aAAa,EACb,YAAY,EACf,EAAE,8BAA8B,
|
|
1
|
+
{"version":3,"file":"AbsoluteDateFilterFormSection.d.ts","sourceRoot":"","sources":["../../../src/DateFilter/AbsoluteDateFilterForm/AbsoluteDateFilterFormSection.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,SAAS,EAA4B,MAAM,qBAAqB,CAAC;AAE/E,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAElE,OAAO,EACH,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAEhC,MAAM,wBAAwB,CAAC;AAOhC,UAAU,8BAA8B;IACpC,aAAa,EAAE,wBAAwB,CAAC;IACxC,oBAAoB,EAAE,gBAAgB,CAAC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,6BAA6B,EAAE,OAAO,CAAC;IACvC,gCAAgC,CAAC,EAAE,OAAO,CAAC;IAC3C,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,eAAe,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,EAAE,CAAC,QAAQ,CAAC,EAAE,eAAe,KAAK,IAAI,CAAC;IAClD,4BAA4B,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACjE,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED,wBAAgB,6BAA6B,CAAC,EAC1C,aAAa,EACb,oBAAoB,EACpB,UAAU,EACV,SAAS,EACT,6BAA6B,EAC7B,gCAAgC,EAChC,QAAQ,EACR,KAAK,EACL,YAAY,EACZ,WAAW,EACX,4BAA4B,EAC5B,aAAa,EACb,YAAY,EACf,EAAE,8BAA8B,kDAsDhC"}
|
|
@@ -8,7 +8,7 @@ import { DateFilterFormWrapper } from "../DateFilterFormWrapper/DateFilterFormWr
|
|
|
8
8
|
import { ListItem } from "../ListItem/ListItem.js";
|
|
9
9
|
import { AbsoluteDateFilterForm } from "./AbsoluteDateFilterForm.js";
|
|
10
10
|
const ITEM_CLASS_MOBILE = "gd-date-filter-item-mobile";
|
|
11
|
-
export function AbsoluteDateFilterFormSection({ filterOptions, selectedFilterOption, dateFormat, weekStart, isTimeForAbsoluteRangeEnabled, isMobile, route, withoutApply, changeRoute, onSelectedFilterOptionChange, closeDropdown, onApplyClick, }) {
|
|
11
|
+
export function AbsoluteDateFilterFormSection({ filterOptions, selectedFilterOption, dateFormat, weekStart, isTimeForAbsoluteRangeEnabled, isSecondsForAbsoluteRangeEnabled, isMobile, route, withoutApply, changeRoute, onSelectedFilterOptionChange, closeDropdown, onApplyClick, }) {
|
|
12
12
|
const submitForm = useCallback(() => {
|
|
13
13
|
onApplyClick();
|
|
14
14
|
closeDropdown();
|
|
@@ -23,5 +23,5 @@ export function AbsoluteDateFilterFormSection({ filterOptions, selectedFilterOpt
|
|
|
23
23
|
if (!isAbsoluteDateFilterForm(selectedFilterOption)) {
|
|
24
24
|
onSelectedFilterOptionChange(filterOptions.absoluteForm);
|
|
25
25
|
}
|
|
26
|
-
}, className: cx("s-absolute-form", "s-do-not-close-dropdown-on-click", isMobile && ITEM_CLASS_MOBILE), children: filterOptions.absoluteForm.name ? (filterOptions.absoluteForm.name) : (_jsx(FormattedMessage, { id: "filters.staticPeriod" })) })) : null, isSelected && (!isMobile || isOnRoute) ? (_jsx(DateFilterFormWrapper, { isMobile: isMobile, children: _jsx(AbsoluteDateFilterForm, { dateFormat: dateFormat, onSelectedFilterOptionChange: onSelectedFilterOptionChange, selectedFilterOption: selectedFilterOption, isMobile: isMobile, isTimeEnabled: isTimeForAbsoluteRangeEnabled, weekStart: weekStart, submitForm: submitForm, withoutApply: withoutApply }) })) : null] }));
|
|
26
|
+
}, className: cx("s-absolute-form", "s-do-not-close-dropdown-on-click", isMobile && ITEM_CLASS_MOBILE), children: filterOptions.absoluteForm.name ? (filterOptions.absoluteForm.name) : (_jsx(FormattedMessage, { id: "filters.staticPeriod" })) })) : null, isSelected && (!isMobile || isOnRoute) ? (_jsx(DateFilterFormWrapper, { isMobile: isMobile, children: _jsx(AbsoluteDateFilterForm, { dateFormat: dateFormat, onSelectedFilterOptionChange: onSelectedFilterOptionChange, selectedFilterOption: selectedFilterOption, isMobile: isMobile, isTimeEnabled: isTimeForAbsoluteRangeEnabled, isSecondsEnabled: isSecondsForAbsoluteRangeEnabled, weekStart: weekStart, submitForm: submitForm, withoutApply: withoutApply }) })) : null] }));
|
|
27
27
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type EmptyValues } from "@gooddata/sdk-model";
|
|
2
2
|
import { type IDateRange } from "../DateRangePicker/types.js";
|
|
3
3
|
import { type IUiAbsoluteDateFilterForm } from "../interfaces/index.js";
|
|
4
|
-
export declare const dateRangeToDateFilterValue: (range: IDateRange, localIdentifier: string, isTimeForAbsoluteRangeEnabled: boolean, emptyValueHandling?: EmptyValues | undefined) => IUiAbsoluteDateFilterForm;
|
|
5
|
-
export declare const dateFilterValueToDateRange: (value: IUiAbsoluteDateFilterForm, isTimeForAbsoluteRangeEnabled?: boolean) => IDateRange;
|
|
4
|
+
export declare const dateRangeToDateFilterValue: (range: IDateRange, localIdentifier: string, isTimeForAbsoluteRangeEnabled: boolean, emptyValueHandling?: EmptyValues | undefined, isSecondsForAbsoluteRangeEnabled?: boolean) => IUiAbsoluteDateFilterForm;
|
|
5
|
+
export declare const dateFilterValueToDateRange: (value: IUiAbsoluteDateFilterForm, isTimeForAbsoluteRangeEnabled?: boolean, isSecondsForAbsoluteRangeEnabled?: boolean) => IDateRange;
|
|
6
6
|
//# sourceMappingURL=conversions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversions.d.ts","sourceRoot":"","sources":["../../../src/DateFilter/AbsoluteDateFilterForm/conversions.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"conversions.d.ts","sourceRoot":"","sources":["../../../src/DateFilter/AbsoluteDateFilterForm/conversions.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAOvD,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAMxE,eAAO,MAAM,0BAA0B,6MAqBtC,CAAC;AAEF,eAAO,MAAM,0BAA0B,uIAuBtC,CAAC"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
// (C) 2007-2026 GoodData Corporation
|
|
2
|
-
import { platformDateFormat, platformDateTimeFormat } from "../constants/Platform.js";
|
|
2
|
+
import { platformDateFormat, platformDateTimeFormat, platformDateTimeFormatWithSeconds, } from "../constants/Platform.js";
|
|
3
3
|
import { convertDateToPlatformDateString, convertPlatformDateStringToDate, } from "../utils/DateConversions.js";
|
|
4
|
-
export const dateRangeToDateFilterValue = (range, localIdentifier, isTimeForAbsoluteRangeEnabled, emptyValueHandling) => {
|
|
5
|
-
const
|
|
4
|
+
export const dateRangeToDateFilterValue = (range, localIdentifier, isTimeForAbsoluteRangeEnabled, emptyValueHandling, isSecondsForAbsoluteRangeEnabled = false) => {
|
|
5
|
+
const timeFormat = isSecondsForAbsoluteRangeEnabled
|
|
6
|
+
? platformDateTimeFormatWithSeconds
|
|
7
|
+
: platformDateTimeFormat;
|
|
8
|
+
const parsingFormat = isTimeForAbsoluteRangeEnabled ? timeFormat : platformDateFormat;
|
|
6
9
|
return {
|
|
7
10
|
from: convertDateToPlatformDateString(range.from, parsingFormat) ?? undefined,
|
|
8
11
|
to: convertDateToPlatformDateString(range.to, parsingFormat) ?? undefined,
|
|
@@ -13,7 +16,7 @@ export const dateRangeToDateFilterValue = (range, localIdentifier, isTimeForAbso
|
|
|
13
16
|
...(emptyValueHandling ? { emptyValueHandling } : {}),
|
|
14
17
|
};
|
|
15
18
|
};
|
|
16
|
-
export const dateFilterValueToDateRange = (value, isTimeForAbsoluteRangeEnabled = false) => {
|
|
19
|
+
export const dateFilterValueToDateRange = (value, isTimeForAbsoluteRangeEnabled = false, isSecondsForAbsoluteRangeEnabled = false) => {
|
|
17
20
|
const isFromTimeDefined = value.from && value.from.split(" ").length > 1;
|
|
18
21
|
const isToTimeDefined = value.to && value.to.split(" ").length > 1;
|
|
19
22
|
const from = value ? (convertPlatformDateStringToDate(value.from) ?? undefined) : undefined;
|
|
@@ -21,10 +24,12 @@ export const dateFilterValueToDateRange = (value, isTimeForAbsoluteRangeEnabled
|
|
|
21
24
|
if (from && !isFromTimeDefined && isTimeForAbsoluteRangeEnabled) {
|
|
22
25
|
from.setHours(0);
|
|
23
26
|
from.setMinutes(0);
|
|
27
|
+
from.setSeconds(0);
|
|
24
28
|
}
|
|
25
29
|
if (to && !isToTimeDefined && isTimeForAbsoluteRangeEnabled) {
|
|
26
30
|
to.setHours(23);
|
|
27
31
|
to.setMinutes(59);
|
|
32
|
+
to.setSeconds(isSecondsForAbsoluteRangeEnabled ? 59 : 0);
|
|
28
33
|
}
|
|
29
34
|
return { from, to };
|
|
30
35
|
};
|
|
@@ -28,6 +28,13 @@ export interface IDateFilterOwnProps extends IDateFilterStatePropsIntersection {
|
|
|
28
28
|
dateFormat?: string;
|
|
29
29
|
locale?: string;
|
|
30
30
|
isTimeForAbsoluteRangeEnabled?: boolean;
|
|
31
|
+
/**
|
|
32
|
+
* If enabled, the absolute date filter form time inputs allow second-level precision (HH:mm:ss) instead
|
|
33
|
+
* of minute precision (HH:mm). Only takes effect together with `isTimeForAbsoluteRangeEnabled`.
|
|
34
|
+
*
|
|
35
|
+
* @defaultValue false
|
|
36
|
+
*/
|
|
37
|
+
isSecondsForAbsoluteRangeEnabled?: boolean;
|
|
31
38
|
showDropDownHeaderMessage?: boolean;
|
|
32
39
|
weekStart?: WeekStart;
|
|
33
40
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateFilter.d.ts","sourceRoot":"","sources":["../../src/DateFilter/DateFilter.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"DateFilter.d.ts","sourceRoot":"","sources":["../../src/DateFilter/DateFilter.tsx"],"names":[],"mappings":"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"}
|
|
@@ -19,6 +19,7 @@ export class DateFilter extends PureComponent {
|
|
|
19
19
|
dateFormat: DEFAULT_DATE_FORMAT,
|
|
20
20
|
isEditMode: false,
|
|
21
21
|
isTimeForAbsoluteRangeEnabled: false,
|
|
22
|
+
isSecondsForAbsoluteRangeEnabled: false,
|
|
22
23
|
locale: "en-US",
|
|
23
24
|
onCancel: () => { },
|
|
24
25
|
onOpen: () => { },
|
|
@@ -100,9 +101,9 @@ export class DateFilter extends PureComponent {
|
|
|
100
101
|
DateFilter.checkInitialFilterOption(this.props.selectedFilterOption);
|
|
101
102
|
}
|
|
102
103
|
render() {
|
|
103
|
-
const { customFilterName, dateFilterMode, dateFormat, filterOptions, selectedFilterOption: originalSelectedFilterOption, excludeCurrentPeriod: originalExcludeCurrentPeriod, availableGranularities, isEditMode, openOnInit, locale, isTimeForAbsoluteRangeEnabled, weekStart, customIcon, showDropDownHeaderMessage, FilterConfigurationComponent, withoutApply, ButtonComponent, overlayPositionType, activeCalendars, enableEmptyDateValues, } = this.props;
|
|
104
|
+
const { customFilterName, dateFilterMode, dateFormat, filterOptions, selectedFilterOption: originalSelectedFilterOption, excludeCurrentPeriod: originalExcludeCurrentPeriod, availableGranularities, isEditMode, openOnInit, locale, isTimeForAbsoluteRangeEnabled, isSecondsForAbsoluteRangeEnabled, weekStart, customIcon, showDropDownHeaderMessage, FilterConfigurationComponent, withoutApply, ButtonComponent, overlayPositionType, activeCalendars, enableEmptyDateValues, } = this.props;
|
|
104
105
|
const { excludeCurrentPeriod, selectedFilterOption, isExcludeCurrentPeriodEnabled } = this.state;
|
|
105
|
-
return dateFilterMode === "hidden" ? null : (_jsx(DateFilterCore, { availableGranularities: availableGranularities, customFilterName: customFilterName, dateFormat: dateFormat ?? DEFAULT_DATE_FORMAT, openOnInit: openOnInit, showDropDownHeaderMessage: showDropDownHeaderMessage, disabled: dateFilterMode === "readonly", excludeCurrentPeriod: excludeCurrentPeriod, originalExcludeCurrentPeriod: originalExcludeCurrentPeriod, isExcludeCurrentPeriodEnabled: isExcludeCurrentPeriodEnabled, hideDisabledExclude: this.props.hideDisabledExclude, isTimeForAbsoluteRangeEnabled: isTimeForAbsoluteRangeEnabled ?? false, isEditMode: isEditMode ?? false, filterOptions: filterOptions, selectedFilterOption: selectedFilterOption, originalSelectedFilterOption: originalSelectedFilterOption, locale: locale, onApplyClick: this.handleApplyClick, onCancelClick: this.onCancelClicked, onDropdownOpenChanged: this.onDropdownOpenChanged, onExcludeCurrentPeriodChange: this.handleExcludeCurrentPeriodChange, onSelectedFilterOptionChange: this.handleSelectedFilterOptionChange, errors: validateFilterOption(selectedFilterOption), weekStart: weekStart, customIcon: customIcon, FilterConfigurationComponent: FilterConfigurationComponent, withoutApply: withoutApply, ButtonComponent: ButtonComponent, overlayPositionType: overlayPositionType, activeCalendars: activeCalendars, enableEmptyDateValues: enableEmptyDateValues }));
|
|
106
|
+
return dateFilterMode === "hidden" ? null : (_jsx(DateFilterCore, { availableGranularities: availableGranularities, customFilterName: customFilterName, dateFormat: dateFormat ?? DEFAULT_DATE_FORMAT, openOnInit: openOnInit, showDropDownHeaderMessage: showDropDownHeaderMessage, disabled: dateFilterMode === "readonly", excludeCurrentPeriod: excludeCurrentPeriod, originalExcludeCurrentPeriod: originalExcludeCurrentPeriod, isExcludeCurrentPeriodEnabled: isExcludeCurrentPeriodEnabled, hideDisabledExclude: this.props.hideDisabledExclude, isTimeForAbsoluteRangeEnabled: isTimeForAbsoluteRangeEnabled ?? false, isSecondsForAbsoluteRangeEnabled: isSecondsForAbsoluteRangeEnabled ?? false, isEditMode: isEditMode ?? false, filterOptions: filterOptions, selectedFilterOption: selectedFilterOption, originalSelectedFilterOption: originalSelectedFilterOption, locale: locale, onApplyClick: this.handleApplyClick, onCancelClick: this.onCancelClicked, onDropdownOpenChanged: this.onDropdownOpenChanged, onExcludeCurrentPeriodChange: this.handleExcludeCurrentPeriodChange, onSelectedFilterOptionChange: this.handleSelectedFilterOptionChange, errors: validateFilterOption(selectedFilterOption), weekStart: weekStart, customIcon: customIcon, FilterConfigurationComponent: FilterConfigurationComponent, withoutApply: withoutApply, ButtonComponent: ButtonComponent, overlayPositionType: overlayPositionType, activeCalendars: activeCalendars, enableEmptyDateValues: enableEmptyDateValues }));
|
|
106
107
|
}
|
|
107
108
|
handleApplyClick = () => {
|
|
108
109
|
const normalizedSelectedFilterOption = this.normalizeEmptyValueHandling(normalizeSelectedFilterOption(this.state.selectedFilterOption));
|
|
@@ -11,6 +11,7 @@ export interface IDateFilterBodyProps {
|
|
|
11
11
|
isExcludeCurrentPeriodEnabled: boolean;
|
|
12
12
|
onExcludeCurrentPeriodChange: (isExcluded: boolean) => void;
|
|
13
13
|
isTimeForAbsoluteRangeEnabled: boolean;
|
|
14
|
+
isSecondsForAbsoluteRangeEnabled?: boolean;
|
|
14
15
|
availableGranularities: DateFilterGranularity[];
|
|
15
16
|
isEditMode: boolean;
|
|
16
17
|
isMobile: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateFilterBody.d.ts","sourceRoot":"","sources":["../../../src/DateFilter/DateFilterBody/DateFilterBody.tsx"],"names":[],"mappings":"AAEA,OAAO,EAGH,KAAK,YAAY,EAKpB,MAAM,OAAO,CAAC;AAMf,OAAO,EACH,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACrB,KAAK,SAAS,EAKjB,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EACH,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAEjC,MAAM,wBAAwB,CAAC;AA0BhC,MAAM,WAAW,oBAAoB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,wBAAwB,CAAC;IACxC,oBAAoB,EAAE,gBAAgB,CAAC;IACvC,4BAA4B,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAEjE,oBAAoB,EAAE,OAAO,CAAC;IAC9B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,6BAA6B,EAAE,OAAO,CAAC;IACvC,4BAA4B,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5D,6BAA6B,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"DateFilterBody.d.ts","sourceRoot":"","sources":["../../../src/DateFilter/DateFilterBody/DateFilterBody.tsx"],"names":[],"mappings":"AAEA,OAAO,EAGH,KAAK,YAAY,EAKpB,MAAM,OAAO,CAAC;AAMf,OAAO,EACH,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACrB,KAAK,SAAS,EAKjB,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EACH,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAEjC,MAAM,wBAAwB,CAAC;AA0BhC,MAAM,WAAW,oBAAoB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,wBAAwB,CAAC;IACxC,oBAAoB,EAAE,gBAAgB,CAAC;IACvC,4BAA4B,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAEjE,oBAAoB,EAAE,OAAO,CAAC;IAC9B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,6BAA6B,EAAE,OAAO,CAAC;IACvC,4BAA4B,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5D,6BAA6B,EAAE,OAAO,CAAC;IACvC,gCAAgC,CAAC,EAAE,OAAO,CAAC;IAE3C,sBAAsB,EAAE,qBAAqB,EAAE,CAAC;IAEhD,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,aAAa,EAAE,MAAM,IAAI,CAAC;IAE1B,MAAM,CAAC,EAAE,yBAAyB,CAAC;IACnC,gBAAgB,EAAE,YAAY,CAAC;IAE/B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,oBAAoB,EAAE,MAAM,IAAI,CAAC;IAEjC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,eAAe,CAAC,EAAE,gBAAgB,CAAC;IAEnC;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACnC;AAED,eAAO,MAAM,cAAc,iHA4ZzB,CAAC"}
|
|
@@ -112,7 +112,7 @@ export const DateFilterBody = forwardRef((props, ref) => {
|
|
|
112
112
|
}
|
|
113
113
|
return "gd-extended-date-filter-body-scrollable";
|
|
114
114
|
};
|
|
115
|
-
const { isExcludeCurrentPeriodEnabled, isMobile, dateFilterButton, errors, isConfigurationEnabled, withoutApply, selectedFilterOption, isEditMode, excludeCurrentPeriod, hideDisabledExclude, filterOptions, showHeaderMessage = true, dateFormat, isTimeForAbsoluteRangeEnabled, weekStart = "Sunday", availableGranularities, onApplyClick, onCancelClick, closeDropdown, onConfigurationClick, onExcludeCurrentPeriodChange, onSelectedFilterOptionChange, ariaLabel, id, } = props;
|
|
115
|
+
const { isExcludeCurrentPeriodEnabled, isMobile, dateFilterButton, errors, isConfigurationEnabled, withoutApply, selectedFilterOption, isEditMode, excludeCurrentPeriod, hideDisabledExclude, filterOptions, showHeaderMessage = true, dateFormat, isTimeForAbsoluteRangeEnabled, isSecondsForAbsoluteRangeEnabled, weekStart = "Sunday", availableGranularities, onApplyClick, onCancelClick, closeDropdown, onConfigurationClick, onExcludeCurrentPeriodChange, onSelectedFilterOptionChange, ariaLabel, id, } = props;
|
|
116
116
|
// Keep the same behavior as `DateFilterBody`:
|
|
117
117
|
// - hide disabled exclude toggle on mobile by default
|
|
118
118
|
// - allow callers to hide it on desktop via `hideDisabledExclude`
|
|
@@ -163,7 +163,7 @@ export const DateFilterBody = forwardRef((props, ref) => {
|
|
|
163
163
|
return (_jsxs("div", { ref: rootRef, className: cx(!isMobile && "gd-extended-date-filter-body-redesigned", "gd-extended-date-filter-body", "s-extended-date-filters-body", isMobile && "gd-extended-date-filter-body-mobile", route && "gd-active-form"), onKeyDown: handleKeyDown, onFocus: handleFocus, role: "dialog", id: formId, "aria-label": formLabel, children: [route === null && isMobile ? (_jsx("div", { className: "gd-extended-date-filter-mobile-header", onClick: () => {
|
|
164
164
|
onCancelClick();
|
|
165
165
|
closeDropdown();
|
|
166
|
-
}, children: dateFilterButton })) : null, route ? (_jsx("div", { className: "gd-extended-date-filter-form-wrapper", ref: ref, children: _jsx(DateFilterFormContent, { filterOptions: filterOptions, selectedFilterOption: selectedFilterOption, onSelectedFilterOptionChange: onSelectedFilterOptionChange, dateFormat: dateFormat, weekStart: weekStart, isTimeForAbsoluteRangeEnabled: isTimeForAbsoluteRangeEnabled, availableGranularities: filteredAvailableGranularities, isMobile: isMobile, withoutApply: withoutApply, enableEmptyDateValues: props.enableEmptyDateValues, activeForm: route, onBackNavigation: handleBackNavigation, onClose: closeDropdown, submitForm: () => {
|
|
166
|
+
}, children: dateFilterButton })) : null, route ? (_jsx("div", { className: "gd-extended-date-filter-form-wrapper", ref: ref, children: _jsx(DateFilterFormContent, { filterOptions: filterOptions, selectedFilterOption: selectedFilterOption, onSelectedFilterOptionChange: onSelectedFilterOptionChange, dateFormat: dateFormat, weekStart: weekStart, isTimeForAbsoluteRangeEnabled: isTimeForAbsoluteRangeEnabled, isSecondsForAbsoluteRangeEnabled: isSecondsForAbsoluteRangeEnabled, availableGranularities: filteredAvailableGranularities, isMobile: isMobile, withoutApply: withoutApply, enableEmptyDateValues: props.enableEmptyDateValues, activeForm: route, onBackNavigation: handleBackNavigation, onClose: closeDropdown, submitForm: () => {
|
|
167
167
|
onApplyClick();
|
|
168
168
|
if (!withoutApply) {
|
|
169
169
|
closeDropdown();
|
|
@@ -8,6 +8,7 @@ interface IDateFilterBodyContentProps {
|
|
|
8
8
|
route: DateFilterRoute;
|
|
9
9
|
dateFormat: string;
|
|
10
10
|
isTimeForAbsoluteRangeEnabled: boolean;
|
|
11
|
+
isSecondsForAbsoluteRangeEnabled?: boolean;
|
|
11
12
|
weekStart: WeekStart;
|
|
12
13
|
availableGranularities: DateFilterGranularity[];
|
|
13
14
|
errors?: IExtendedDateFilterErrors;
|
|
@@ -27,6 +28,6 @@ interface IDateFilterBodyContentProps {
|
|
|
27
28
|
*/
|
|
28
29
|
enableEmptyDateValues?: boolean;
|
|
29
30
|
}
|
|
30
|
-
export declare function DateFilterBodyContent({ filterOptions, selectedFilterOption, isMobile, route, errors, dateFormat, isTimeForAbsoluteRangeEnabled, weekStart, availableGranularities, withoutApply, closeDropdown, changeRoute, onApplyClick, onSelectedFilterOptionChange, activeCalendars, enableEmptyDateValues }: IDateFilterBodyContentProps): import("react/jsx-runtime").JSX.Element;
|
|
31
|
+
export declare function DateFilterBodyContent({ filterOptions, selectedFilterOption, isMobile, route, errors, dateFormat, isTimeForAbsoluteRangeEnabled, isSecondsForAbsoluteRangeEnabled, weekStart, availableGranularities, withoutApply, closeDropdown, changeRoute, onApplyClick, onSelectedFilterOptionChange, activeCalendars, enableEmptyDateValues }: IDateFilterBodyContentProps): import("react/jsx-runtime").JSX.Element;
|
|
31
32
|
export {};
|
|
32
33
|
//# sourceMappingURL=DateFilterBodyContent.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateFilterBodyContent.d.ts","sourceRoot":"","sources":["../../../src/DateFilter/DateFilterBody/DateFilterBodyContent.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,qBAAqB,EAAE,KAAK,gBAAgB,EAAE,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAKxG,OAAO,EACH,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAGjC,MAAM,wBAAwB,CAAC;AAchC,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AAIlD,UAAU,2BAA2B;IACjC,aAAa,EAAE,wBAAwB,CAAC;IACxC,oBAAoB,EAAE,gBAAgB,CAAC;IACvC,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,eAAe,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,6BAA6B,EAAE,OAAO,CAAC;IACvC,SAAS,EAAE,SAAS,CAAC;IACrB,sBAAsB,EAAE,qBAAqB,EAAE,CAAC;IAChD,MAAM,CAAC,EAAE,yBAAyB,CAAC;IACnC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,4BAA4B,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACjE,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,WAAW,EAAE,CAAC,QAAQ,CAAC,EAAE,eAAe,KAAK,IAAI,CAAC;IAClD,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB;;OAEG;IACH,eAAe,CAAC,EAAE,gBAAgB,CAAC;IAEnC;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACnC;AAED,wBAAgB,qBAAqB,CAAC,EAClC,aAAa,EACb,oBAAoB,EACpB,QAAQ,EACR,KAAK,EACL,MAAM,EACN,UAAU,EACV,6BAA6B,EAC7B,SAAS,EACT,sBAAsB,EACtB,YAAY,EACZ,aAAa,EACb,WAAW,EACX,YAAY,EACZ,4BAA4B,EAC5B,eAAe,EACf,qBAAqB,EACxB,EAAE,2BAA2B,
|
|
1
|
+
{"version":3,"file":"DateFilterBodyContent.d.ts","sourceRoot":"","sources":["../../../src/DateFilter/DateFilterBody/DateFilterBodyContent.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,qBAAqB,EAAE,KAAK,gBAAgB,EAAE,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAKxG,OAAO,EACH,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAGjC,MAAM,wBAAwB,CAAC;AAchC,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AAIlD,UAAU,2BAA2B;IACjC,aAAa,EAAE,wBAAwB,CAAC;IACxC,oBAAoB,EAAE,gBAAgB,CAAC;IACvC,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,eAAe,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,6BAA6B,EAAE,OAAO,CAAC;IACvC,gCAAgC,CAAC,EAAE,OAAO,CAAC;IAC3C,SAAS,EAAE,SAAS,CAAC;IACrB,sBAAsB,EAAE,qBAAqB,EAAE,CAAC;IAChD,MAAM,CAAC,EAAE,yBAAyB,CAAC;IACnC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,4BAA4B,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACjE,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,WAAW,EAAE,CAAC,QAAQ,CAAC,EAAE,eAAe,KAAK,IAAI,CAAC;IAClD,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB;;OAEG;IACH,eAAe,CAAC,EAAE,gBAAgB,CAAC;IAEnC;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACnC;AAED,wBAAgB,qBAAqB,CAAC,EAClC,aAAa,EACb,oBAAoB,EACpB,QAAQ,EACR,KAAK,EACL,MAAM,EACN,UAAU,EACV,6BAA6B,EAC7B,gCAAgC,EAChC,SAAS,EACT,sBAAsB,EACtB,YAAY,EACZ,aAAa,EACb,WAAW,EACX,YAAY,EACZ,4BAA4B,EAC5B,eAAe,EACf,qBAAqB,EACxB,EAAE,2BAA2B,2CAmI7B"}
|
|
@@ -13,7 +13,7 @@ import { AbsolutePresetFilterItems } from "./AbsolutePresetFilterItems.js";
|
|
|
13
13
|
import { CalendarTypeTabs } from "./CalendarTypeTabs.js";
|
|
14
14
|
import { RelativePresetFilterItems } from "./RelativePresetFilterItems.js";
|
|
15
15
|
const ITEM_CLASS_MOBILE = "gd-date-filter-item-mobile";
|
|
16
|
-
export function DateFilterBodyContent({ filterOptions, selectedFilterOption, isMobile, route, errors, dateFormat, isTimeForAbsoluteRangeEnabled, weekStart, availableGranularities, withoutApply, closeDropdown, changeRoute, onApplyClick, onSelectedFilterOptionChange, activeCalendars, enableEmptyDateValues, }) {
|
|
16
|
+
export function DateFilterBodyContent({ filterOptions, selectedFilterOption, isMobile, route, errors, dateFormat, isTimeForAbsoluteRangeEnabled, isSecondsForAbsoluteRangeEnabled, weekStart, availableGranularities, withoutApply, closeDropdown, changeRoute, onApplyClick, onSelectedFilterOptionChange, activeCalendars, enableEmptyDateValues, }) {
|
|
17
17
|
const intl = useIntl();
|
|
18
18
|
const listboxLabel = intl.formatMessage({ id: "dateFilterDropdown.label" });
|
|
19
19
|
const fiscalTabsConfig = getFiscalTabsConfig(filterOptions.relativePreset, activeCalendars);
|
|
@@ -38,7 +38,7 @@ export function DateFilterBodyContent({ filterOptions, selectedFilterOption, isM
|
|
|
38
38
|
filterOptions.absolutePreset?.some((p) => p.localIdentifier === selectedId) ||
|
|
39
39
|
Object.values(filteredRelativePreset ?? {}).some((items) => items?.some((p) => p.localIdentifier === selectedId));
|
|
40
40
|
const listContent = (_jsxs(_Fragment, { children: [
|
|
41
|
-
_jsx(AllTimeFilterSection, { filterOptions: filterOptions, selectedFilterOption: selectedFilterOption, onSelectedFilterOptionChange: onSelectedFilterOptionChange, isMobile: isMobile, isFocusFallback: !isSelectedInVisibleList }), _jsx(AbsoluteDateFilterFormSection, { filterOptions: filterOptions, route: route, closeDropdown: closeDropdown, onApplyClick: onApplyClick, changeRoute: changeRoute, dateFormat: dateFormat, onSelectedFilterOptionChange: onSelectedFilterOptionChange, selectedFilterOption: selectedFilterOption, isMobile: isMobile, isTimeForAbsoluteRangeEnabled: isTimeForAbsoluteRangeEnabled, weekStart: weekStart, withoutApply: withoutApply }), isEmpty(filteredAvailableGranularities) ? null : (_jsx(RelativeDateFilterFormSection, { filterOptions: filterOptions, onSelectedFilterOptionChange: onSelectedFilterOptionChange, selectedFilterOption: selectedFilterOption, availableGranularities: filteredAvailableGranularities, isMobile: isMobile, changeRoute: changeRoute, route: route, errors: errors || undefined, onApplyClick: onApplyClick, closeDropdown: closeDropdown, withoutApply: withoutApply })), filterOptions.absolutePreset && filterOptions.absolutePreset.length > 0 ? (_jsx(AbsolutePresetFilterItems, { dateFormat: dateFormat, filterOptions: filterOptions.absolutePreset, selectedFilterOption: selectedFilterOption, onSelectedFilterOptionChange: onSelectedFilterOptionChange, className: isMobile ? ITEM_CLASS_MOBILE : undefined })) : null, filteredRelativePreset ? (_jsx(RelativePresetFilterItems, { dateFormat: dateFormat, filterOption: filteredRelativePreset, selectedFilterOption: selectedFilterOption, onSelectedFilterOptionChange: onSelectedFilterOptionChange, className: isMobile ? ITEM_CLASS_MOBILE : undefined })) : null, _jsx(OtherPresetsSection, { filterOptions: filterOptions, selectedFilterOption: selectedFilterOption, onSelectedFilterOptionChange: onSelectedFilterOptionChange, isMobile: isMobile, enableEmptyDateValues: enableEmptyDateValues ?? false })
|
|
41
|
+
_jsx(AllTimeFilterSection, { filterOptions: filterOptions, selectedFilterOption: selectedFilterOption, onSelectedFilterOptionChange: onSelectedFilterOptionChange, isMobile: isMobile, isFocusFallback: !isSelectedInVisibleList }), _jsx(AbsoluteDateFilterFormSection, { filterOptions: filterOptions, route: route, closeDropdown: closeDropdown, onApplyClick: onApplyClick, changeRoute: changeRoute, dateFormat: dateFormat, onSelectedFilterOptionChange: onSelectedFilterOptionChange, selectedFilterOption: selectedFilterOption, isMobile: isMobile, isTimeForAbsoluteRangeEnabled: isTimeForAbsoluteRangeEnabled, isSecondsForAbsoluteRangeEnabled: isSecondsForAbsoluteRangeEnabled, weekStart: weekStart, withoutApply: withoutApply }), isEmpty(filteredAvailableGranularities) ? null : (_jsx(RelativeDateFilterFormSection, { filterOptions: filterOptions, onSelectedFilterOptionChange: onSelectedFilterOptionChange, selectedFilterOption: selectedFilterOption, availableGranularities: filteredAvailableGranularities, isMobile: isMobile, changeRoute: changeRoute, route: route, errors: errors || undefined, onApplyClick: onApplyClick, closeDropdown: closeDropdown, withoutApply: withoutApply })), filterOptions.absolutePreset && filterOptions.absolutePreset.length > 0 ? (_jsx(AbsolutePresetFilterItems, { dateFormat: dateFormat, filterOptions: filterOptions.absolutePreset, selectedFilterOption: selectedFilterOption, onSelectedFilterOptionChange: onSelectedFilterOptionChange, className: isMobile ? ITEM_CLASS_MOBILE : undefined })) : null, filteredRelativePreset ? (_jsx(RelativePresetFilterItems, { dateFormat: dateFormat, filterOption: filteredRelativePreset, selectedFilterOption: selectedFilterOption, onSelectedFilterOptionChange: onSelectedFilterOptionChange, className: isMobile ? ITEM_CLASS_MOBILE : undefined })) : null, _jsx(OtherPresetsSection, { filterOptions: filterOptions, selectedFilterOption: selectedFilterOption, onSelectedFilterOptionChange: onSelectedFilterOptionChange, isMobile: isMobile, enableEmptyDateValues: enableEmptyDateValues ?? false })
|
|
42
42
|
] }));
|
|
43
43
|
return (_jsxs(_Fragment, { children: [fiscalTabsConfig.showTabs ? (_jsx(CalendarTypeTabs, { selectedTab: selectedTab, onTabSelect: setSelectedTab, tabIds: tabIds, panelId: panelId })) : null, fiscalTabsConfig.showTabs ? (_jsx("div", { role: "tabpanel", id: panelId, "aria-labelledby": activeTabId, children: _jsx("div", { role: "listbox", "aria-label": listboxLabel, children: listContent }) })) : (_jsx("div", { role: "listbox", "aria-label": listboxLabel, children: listContent }))] }));
|
|
44
44
|
}
|
|
@@ -8,6 +8,7 @@ export interface IDateFilterFormContentProps {
|
|
|
8
8
|
dateFormat: string;
|
|
9
9
|
weekStart: WeekStart;
|
|
10
10
|
isTimeForAbsoluteRangeEnabled: boolean;
|
|
11
|
+
isSecondsForAbsoluteRangeEnabled?: boolean;
|
|
11
12
|
availableGranularities: DateFilterGranularity[];
|
|
12
13
|
isMobile: boolean;
|
|
13
14
|
withoutApply?: boolean;
|
|
@@ -24,5 +25,5 @@ export interface IDateFilterFormContentProps {
|
|
|
24
25
|
*
|
|
25
26
|
* @internal
|
|
26
27
|
*/
|
|
27
|
-
export declare function DateFilterFormContent({ filterOptions, selectedFilterOption, onSelectedFilterOptionChange, dateFormat, weekStart, isTimeForAbsoluteRangeEnabled, availableGranularities, isMobile, withoutApply, enableEmptyDateValues, activeForm, onBackNavigation, onClose, submitForm, errors }: IDateFilterFormContentProps): import("react/jsx-runtime").JSX.Element;
|
|
28
|
+
export declare function DateFilterFormContent({ filterOptions, selectedFilterOption, onSelectedFilterOptionChange, dateFormat, weekStart, isTimeForAbsoluteRangeEnabled, isSecondsForAbsoluteRangeEnabled, availableGranularities, isMobile, withoutApply, enableEmptyDateValues, activeForm, onBackNavigation, onClose, submitForm, errors }: IDateFilterFormContentProps): import("react/jsx-runtime").JSX.Element;
|
|
28
29
|
//# sourceMappingURL=DateFilterFormContent.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateFilterFormContent.d.ts","sourceRoot":"","sources":["../../../src/DateFilter/DateFilterBody/DateFilterFormContent.tsx"],"names":[],"mappings":"AAOA,OAAO,EACH,KAAK,qBAAqB,EAC1B,KAAK,SAAS,EAKjB,MAAM,qBAAqB,CAAC;AAU7B,OAAO,EACH,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAGjC,MAAM,wBAAwB,CAAC;AAIhC,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,WAAW,2BAA2B;IACxC,aAAa,EAAE,wBAAwB,CAAC;IACxC,oBAAoB,EAAE,gBAAgB,CAAC;IACvC,4BAA4B,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAEjE,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,6BAA6B,EAAE,OAAO,CAAC;IACvC,sBAAsB,EAAE,qBAAqB,EAAE,CAAC;IAEhD,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC,UAAU,EAAE,eAAe,CAAC;IAC5B,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,OAAO,EAAE,MAAM,IAAI,CAAC;IAEpB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,MAAM,CAAC,EAAE,yBAAyB,CAAC;CACtC;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,EAClC,aAAa,EACb,oBAAoB,EACpB,4BAA4B,EAC5B,UAAU,EACV,SAAS,EACT,6BAA6B,EAC7B,sBAAsB,EACtB,QAAQ,EACR,YAAY,EACZ,qBAAqB,EACrB,UAAU,EACV,gBAAgB,EAChB,OAAO,EACP,UAAU,EACV,MAAM,EACT,EAAE,2BAA2B,
|
|
1
|
+
{"version":3,"file":"DateFilterFormContent.d.ts","sourceRoot":"","sources":["../../../src/DateFilter/DateFilterBody/DateFilterFormContent.tsx"],"names":[],"mappings":"AAOA,OAAO,EACH,KAAK,qBAAqB,EAC1B,KAAK,SAAS,EAKjB,MAAM,qBAAqB,CAAC;AAU7B,OAAO,EACH,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAGjC,MAAM,wBAAwB,CAAC;AAIhC,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,WAAW,2BAA2B;IACxC,aAAa,EAAE,wBAAwB,CAAC;IACxC,oBAAoB,EAAE,gBAAgB,CAAC;IACvC,4BAA4B,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAEjE,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,6BAA6B,EAAE,OAAO,CAAC;IACvC,gCAAgC,CAAC,EAAE,OAAO,CAAC;IAC3C,sBAAsB,EAAE,qBAAqB,EAAE,CAAC;IAEhD,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC,UAAU,EAAE,eAAe,CAAC;IAC5B,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,OAAO,EAAE,MAAM,IAAI,CAAC;IAEpB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,MAAM,CAAC,EAAE,yBAAyB,CAAC;CACtC;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,EAClC,aAAa,EACb,oBAAoB,EACpB,4BAA4B,EAC5B,UAAU,EACV,SAAS,EACT,6BAA6B,EAC7B,gCAAgC,EAChC,sBAAsB,EACtB,QAAQ,EACR,YAAY,EACZ,qBAAqB,EACrB,UAAU,EACV,gBAAgB,EAChB,OAAO,EACP,UAAU,EACV,MAAM,EACT,EAAE,2BAA2B,2CA0I7B"}
|
|
@@ -17,7 +17,7 @@ import { DateFilterFormNavigationWrapper } from "./DateFilterFormNavigationWrapp
|
|
|
17
17
|
*
|
|
18
18
|
* @internal
|
|
19
19
|
*/
|
|
20
|
-
export function DateFilterFormContent({ filterOptions, selectedFilterOption, onSelectedFilterOptionChange, dateFormat, weekStart, isTimeForAbsoluteRangeEnabled, availableGranularities, isMobile, withoutApply, enableEmptyDateValues, activeForm, onBackNavigation, onClose, submitForm, errors, }) {
|
|
20
|
+
export function DateFilterFormContent({ filterOptions, selectedFilterOption, onSelectedFilterOptionChange, dateFormat, weekStart, isTimeForAbsoluteRangeEnabled, isSecondsForAbsoluteRangeEnabled, availableGranularities, isMobile, withoutApply, enableEmptyDateValues, activeForm, onBackNavigation, onClose, submitForm, errors, }) {
|
|
21
21
|
const showStaticForm = activeForm === "absoluteForm" && filterOptions.absoluteForm;
|
|
22
22
|
const showRelativeForm = activeForm === "relativeForm" && filterOptions.relativeForm && availableGranularities.length > 0;
|
|
23
23
|
const absoluteSelectedFilterOption = filterOptions.absoluteForm && isAbsoluteDateFilterForm(selectedFilterOption)
|
|
@@ -47,7 +47,7 @@ export function DateFilterFormContent({ filterOptions, selectedFilterOption, onS
|
|
|
47
47
|
return (_jsxs("div", { className: "gd-date-filter-form-content", children: [showStaticForm ? (_jsx(DateFilterFormNavigationWrapper, { title: filterOptions.absoluteForm?.name
|
|
48
48
|
? filterOptions.absoluteForm.name
|
|
49
49
|
: intl.formatMessage({ id: "filters.staticPeriod" }), onBack: onBackNavigation, backLabel: intl.formatMessage({ id: "menu.back" }), isMobile: isMobile, children: _jsxs(DateFilterFormWrapper, { isMobile: isMobile, children: [
|
|
50
|
-
_jsx(AbsoluteDateFilterForm, { dateFormat: dateFormat, onSelectedFilterOptionChange: onSelectedFilterOptionChange, selectedFilterOption: absoluteSelectedFilterOption, isMobile: isMobile, isTimeEnabled: isTimeForAbsoluteRangeEnabled, weekStart: weekStart, submitForm: submitForm, withoutApply: withoutApply }), shouldRenderEmptyValuesHandling ? (_jsx(EmptyValuesHandlingToggle, { mode: "include", className: "gd-date-filter-empty-values-handling-toggle", checked: emptyValueHandlingToggleChecked, onChange: (checked) => {
|
|
50
|
+
_jsx(AbsoluteDateFilterForm, { dateFormat: dateFormat, onSelectedFilterOptionChange: onSelectedFilterOptionChange, selectedFilterOption: absoluteSelectedFilterOption, isMobile: isMobile, isTimeEnabled: isTimeForAbsoluteRangeEnabled, isSecondsEnabled: isSecondsForAbsoluteRangeEnabled, weekStart: weekStart, submitForm: submitForm, withoutApply: withoutApply }), shouldRenderEmptyValuesHandling ? (_jsx(EmptyValuesHandlingToggle, { mode: "include", className: "gd-date-filter-empty-values-handling-toggle", checked: emptyValueHandlingToggleChecked, onChange: (checked) => {
|
|
51
51
|
const emptyValueHandling = checked ? "include" : undefined;
|
|
52
52
|
onSelectedFilterOptionChange({
|
|
53
53
|
...absoluteSelectedFilterOption,
|
|
@@ -23,6 +23,7 @@ export interface IDateFilterCoreProps {
|
|
|
23
23
|
hideDisabledExclude?: boolean;
|
|
24
24
|
onExcludeCurrentPeriodChange: (isExcluded: boolean) => void;
|
|
25
25
|
isTimeForAbsoluteRangeEnabled: boolean;
|
|
26
|
+
isSecondsForAbsoluteRangeEnabled?: boolean;
|
|
26
27
|
availableGranularities: DateFilterGranularity[];
|
|
27
28
|
isEditMode: boolean;
|
|
28
29
|
locale?: string;
|
|
@@ -62,5 +63,5 @@ export interface IDateFilterCoreProps {
|
|
|
62
63
|
enableEmptyDateValues?: boolean;
|
|
63
64
|
}
|
|
64
65
|
export declare const verifyDateFormat: (dateFormat: string) => string;
|
|
65
|
-
export declare function DateFilterCore({ originalSelectedFilterOption, originalExcludeCurrentPeriod, selectedFilterOption, excludeCurrentPeriod, onDropdownOpenChanged, customFilterName, dateFormat, disabled, openOnInit, locale, filterOptions, isTimeForAbsoluteRangeEnabled, weekStart, customIcon, FilterConfigurationComponent, onApplyClick, onCancelClick, showDropDownHeaderMessage, withoutApply, ButtonComponent, overlayPositionType, activeCalendars, hideDisabledExclude, ...dropdownBodyProps }: IDateFilterCoreProps): import("react/jsx-runtime").JSX.Element;
|
|
66
|
+
export declare function DateFilterCore({ originalSelectedFilterOption, originalExcludeCurrentPeriod, selectedFilterOption, excludeCurrentPeriod, onDropdownOpenChanged, customFilterName, dateFormat, disabled, openOnInit, locale, filterOptions, isTimeForAbsoluteRangeEnabled, isSecondsForAbsoluteRangeEnabled, weekStart, customIcon, FilterConfigurationComponent, onApplyClick, onCancelClick, showDropDownHeaderMessage, withoutApply, ButtonComponent, overlayPositionType, activeCalendars, hideDisabledExclude, ...dropdownBodyProps }: IDateFilterCoreProps): import("react/jsx-runtime").JSX.Element;
|
|
66
67
|
//# sourceMappingURL=DateFilterCore.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateFilterCore.d.ts","sourceRoot":"","sources":["../../src/DateFilter/DateFilterCore.tsx"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,aAAa,EAOrB,MAAM,OAAO,CAAC;AAMf,OAAO,EAAE,KAAK,qBAAqB,EAAE,KAAK,gBAAgB,EAAE,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAOxG,OAAO,EAAY,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAG1E,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"DateFilterCore.d.ts","sourceRoot":"","sources":["../../src/DateFilter/DateFilterCore.tsx"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,aAAa,EAOrB,MAAM,OAAO,CAAC;AAMf,OAAO,EAAE,KAAK,qBAAqB,EAAE,KAAK,gBAAgB,EAAE,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAOxG,OAAO,EAAY,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAG1E,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAe7E,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAErF,OAAO,EACH,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EACjC,MAAM,uBAAuB,CAAC;AAK/B,MAAM,WAAW,oBAAoB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,wBAAwB,CAAC;IACxC;;OAEG;IACH,oBAAoB,EAAE,gBAAgB,CAAC;IACvC,4BAA4B,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACjE;;OAEG;IACH,4BAA4B,EAAE,gBAAgB,CAAC;IAE/C,oBAAoB,EAAE,OAAO,CAAC;IAC9B,4BAA4B,EAAE,OAAO,CAAC;IACtC,6BAA6B,EAAE,OAAO,CAAC;IACvC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,4BAA4B,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5D,6BAA6B,EAAE,OAAO,CAAC;IACvC,gCAAgC,CAAC,EAAE,OAAO,CAAC;IAE3C,sBAAsB,EAAE,qBAAqB,EAAE,CAAC;IAEhD,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,qBAAqB,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAEjD,MAAM,CAAC,EAAE,yBAAyB,CAAC;IAEnC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,UAAU,CAAC,EAAE,uBAAuB,CAAC;IACrC,4BAA4B,CAAC,EAAE,aAAa,CAAC,yBAAyB,CAAC,CAAC;IAExE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,aAAa,CAAC,sBAAsB,CAAC,CAAC;IAExD;;OAEG;IACH,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAE1C;;;;;OAKG;IACH,eAAe,CAAC,EAAE,gBAAgB,CAAC;IAEnC;;;;;;;;OAQG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACnC;AAED,eAAO,MAAM,gBAAgB,gCAY5B,CAAC;AAqCF,wBAAgB,cAAc,CAAC,EAC3B,4BAA4B,EAC5B,4BAA4B,EAC5B,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,gBAAgB,EAChB,UAAU,EACV,QAAQ,EACR,UAAU,EACV,MAAM,EACN,aAAa,EACb,6BAA6B,EAC7B,gCAAgC,EAChC,SAAS,EACT,UAAU,EACV,4BAA4B,EAC5B,YAAY,EACZ,aAAa,EACb,yBAAyB,EACzB,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,GAAG,iBAAiB,EACvB,EAAE,oBAAoB,2CAiLtB"}
|
|
@@ -9,7 +9,7 @@ import { Dropdown } from "@gooddata/sdk-ui-kit";
|
|
|
9
9
|
import { MediaQueries } from "../constants/MediaQueries.js";
|
|
10
10
|
import { DATE_FILTER_ACTIVE_CALENDAR_TAB_ID, DATE_FILTER_CUSTOM_RELATIVE_ID, DATE_FILTER_CUSTOM_STATIC_ID, DATE_FILTER_SELECTED_LIST_ITEM_ID, } from "./accessibility/elementId.js";
|
|
11
11
|
import { createDateFilterKeyboardHandler } from "./accessibility/keyboardNavigation.js";
|
|
12
|
-
import { DEFAULT_DATE_FORMAT, TIME_FORMAT_WITH_SEPARATOR } from "./constants/Platform.js";
|
|
12
|
+
import { DEFAULT_DATE_FORMAT, TIME_FORMAT_WITH_SECONDS_WITH_SEPARATOR, TIME_FORMAT_WITH_SEPARATOR, } from "./constants/Platform.js";
|
|
13
13
|
import { DateFilterBody } from "./DateFilterBody/DateFilterBody.js";
|
|
14
14
|
import { DateFilterButtonLocalized } from "./DateFilterButtonLocalized/DateFilterButtonLocalized.js";
|
|
15
15
|
import { filterVisibleDateFilterOptions, sanitizePresetIntervals } from "./utils/OptionUtils.js";
|
|
@@ -27,7 +27,15 @@ export const verifyDateFormat = (dateFormat) => {
|
|
|
27
27
|
return DEFAULT_DATE_FORMAT;
|
|
28
28
|
}
|
|
29
29
|
};
|
|
30
|
-
const adjustDateFormatForDisplay = (dateFormat, isTimeForAbsoluteRangeEnabled = false
|
|
30
|
+
const adjustDateFormatForDisplay = (dateFormat, isTimeForAbsoluteRangeEnabled = false, isSecondsForAbsoluteRangeEnabled = false) => {
|
|
31
|
+
if (!isTimeForAbsoluteRangeEnabled) {
|
|
32
|
+
return dateFormat;
|
|
33
|
+
}
|
|
34
|
+
return (dateFormat +
|
|
35
|
+
(isSecondsForAbsoluteRangeEnabled
|
|
36
|
+
? TIME_FORMAT_WITH_SECONDS_WITH_SEPARATOR
|
|
37
|
+
: TIME_FORMAT_WITH_SEPARATOR));
|
|
38
|
+
};
|
|
31
39
|
const getInitialFocus = (selectedFilterOption, filterOptions, activeCalendars) => {
|
|
32
40
|
const { showTabs } = getFiscalTabsConfig(filterOptions.relativePreset, activeCalendars);
|
|
33
41
|
if (showTabs) {
|
|
@@ -41,7 +49,7 @@ const getInitialFocus = (selectedFilterOption, filterOptions, activeCalendars) =
|
|
|
41
49
|
}
|
|
42
50
|
return DATE_FILTER_SELECTED_LIST_ITEM_ID;
|
|
43
51
|
};
|
|
44
|
-
export function DateFilterCore({ originalSelectedFilterOption, originalExcludeCurrentPeriod, selectedFilterOption, excludeCurrentPeriod, onDropdownOpenChanged, customFilterName, dateFormat, disabled, openOnInit, locale, filterOptions, isTimeForAbsoluteRangeEnabled, weekStart, customIcon, FilterConfigurationComponent, onApplyClick, onCancelClick, showDropDownHeaderMessage, withoutApply, ButtonComponent, overlayPositionType, activeCalendars, hideDisabledExclude, ...dropdownBodyProps }) {
|
|
52
|
+
export function DateFilterCore({ originalSelectedFilterOption, originalExcludeCurrentPeriod, selectedFilterOption, excludeCurrentPeriod, onDropdownOpenChanged, customFilterName, dateFormat, disabled, openOnInit, locale, filterOptions, isTimeForAbsoluteRangeEnabled, isSecondsForAbsoluteRangeEnabled, weekStart, customIcon, FilterConfigurationComponent, onApplyClick, onCancelClick, showDropDownHeaderMessage, withoutApply, ButtonComponent, overlayPositionType, activeCalendars, hideDisabledExclude, ...dropdownBodyProps }) {
|
|
45
53
|
const [isConfigurationOpen, setIsConfigurationOpen] = useState(false);
|
|
46
54
|
const verifiedDateFormat = verifyDateFormat(dateFormat);
|
|
47
55
|
const dateFilterContainerRef = useRef(null);
|
|
@@ -82,7 +90,7 @@ export function DateFilterCore({ originalSelectedFilterOption, originalExcludeCu
|
|
|
82
90
|
? lastValidSelectedFilterOption
|
|
83
91
|
: originalSelectedFilterOption, withoutApply
|
|
84
92
|
? (lastValidExcludeCurrentPeriod ?? false)
|
|
85
|
-
: originalExcludeCurrentPeriod), dateFormat: adjustDateFormatForDisplay(verifiedDateFormat, isTimeForAbsoluteRangeEnabled), customFilterName: customFilterName, customIcon: customIcon, onClick: toggleDropdown, ButtonComponent: ButtonComponent, buttonRef: buttonRef ?? undefined, dropdownId: dropdownId }));
|
|
93
|
+
: originalExcludeCurrentPeriod), dateFormat: adjustDateFormatForDisplay(verifiedDateFormat, isTimeForAbsoluteRangeEnabled, isSecondsForAbsoluteRangeEnabled), customFilterName: customFilterName, customIcon: customIcon, onClick: toggleDropdown, ButtonComponent: ButtonComponent, buttonRef: buttonRef ?? undefined, dropdownId: dropdownId }));
|
|
86
94
|
return (_jsx(Dropdown, { openOnInit: openOnInit, closeOnParentScroll: true, closeOnMouseDrag: true, closeOnOutsideClick: true, enableEventPropagation: true, autofocusOnOpen: true, initialFocus: initialFocus, alignPoints: [
|
|
87
95
|
{ align: "bl tl" },
|
|
88
96
|
{ align: "tr tl" },
|
|
@@ -101,7 +109,7 @@ export function DateFilterCore({ originalSelectedFilterOption, originalExcludeCu
|
|
|
101
109
|
_jsx("div", { className: "gd-extended-date-filter-container", ref: dateFilterContainerRef, onKeyDown: (e) => handleKeyDown(e, closeDropdown), children: _jsx(DateFilterBody, { ...dropdownBodyProps, activeCalendars: activeCalendars, id: ariaAttributes.id, "aria-label": customFilterName, selectedFilterOption: selectedFilterOption, excludeCurrentPeriod: excludeCurrentPeriod, hideDisabledExclude: hideDisabledExclude, showHeaderMessage: showDropDownHeaderMessage, onApplyClick: onApplyClick, onCancelClick: onCancelClick, filterOptions: filteredFilterOptions, isMobile: isMobile, closeDropdown: closeDropdown,
|
|
102
110
|
// This button is rendered inside the open dropdown body on mobile,
|
|
103
111
|
// so it should use the "open" visual state (chevron up).
|
|
104
|
-
dateFilterButton: dateFilterButton(isMobile), dateFormat: verifiedDateFormat, isTimeForAbsoluteRangeEnabled: isTimeForAbsoluteRangeEnabled, weekStart: weekStart, isConfigurationEnabled: FilterConfigurationComponent !== undefined, onConfigurationClick: openConfiguration, withoutApply: withoutApply, ref: dateFilterBodyRef }) }));
|
|
112
|
+
dateFilterButton: dateFilterButton(isMobile), dateFormat: verifiedDateFormat, isTimeForAbsoluteRangeEnabled: isTimeForAbsoluteRangeEnabled, isSecondsForAbsoluteRangeEnabled: isSecondsForAbsoluteRangeEnabled, weekStart: weekStart, isConfigurationEnabled: FilterConfigurationComponent !== undefined, onConfigurationClick: openConfiguration, withoutApply: withoutApply, ref: dateFilterBodyRef }) }));
|
|
105
113
|
} }));
|
|
106
114
|
} }) }) }));
|
|
107
115
|
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { type IntlShape } from "react-intl";
|
|
2
|
-
export declare function DateRangeHint({ dateFormat, isTimeEnabled, dateHintId, timeHintId, intl }: {
|
|
2
|
+
export declare function DateRangeHint({ dateFormat, isTimeEnabled, isSecondsEnabled, dateHintId, timeHintId, intl }: {
|
|
3
3
|
dateFormat: string;
|
|
4
4
|
isTimeEnabled: boolean;
|
|
5
|
+
isSecondsEnabled?: boolean;
|
|
5
6
|
dateHintId: string;
|
|
6
7
|
timeHintId: string;
|
|
7
8
|
intl: IntlShape;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateRangeHint.d.ts","sourceRoot":"","sources":["../../../src/DateFilter/DateRangePicker/DateRangeHint.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,
|
|
1
|
+
{"version":3,"file":"DateRangeHint.d.ts","sourceRoot":"","sources":["../../../src/DateFilter/DateRangePicker/DateRangeHint.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAkB,MAAM,YAAY,CAAC;AAU5D,wBAAgB,aAAa,CAAC,EAC1B,UAAU,EACV,aAAa,EACb,gBAAwB,EACxB,UAAU,EACV,UAAU,EACV,IAAI,EACP,EAAE;IACC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,SAAS,CAAC;CACnB,2CAiBA"}
|
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
// (C) 2025-2026 GoodData Corporation
|
|
3
|
+
import { defineMessages } from "react-intl";
|
|
2
4
|
import { getLocalizedDateFormat } from "../utils/FormattingUtils.js";
|
|
3
|
-
|
|
5
|
+
const messages = defineMessages({
|
|
6
|
+
dateFormatHint: { id: "filters.staticPeriod.dateFormatHint" },
|
|
7
|
+
timeFormatHint: { id: "filters.staticPeriod.timeFormatHint" },
|
|
8
|
+
timeFormatHintWithSeconds: { id: "filters.staticPeriod.timeFormatHintWithSeconds" },
|
|
9
|
+
});
|
|
10
|
+
export function DateRangeHint({ dateFormat, isTimeEnabled, isSecondsEnabled = false, dateHintId, timeHintId, intl, }) {
|
|
4
11
|
return (_jsxs("div", { className: "gd-date-range__hint", children: [
|
|
5
|
-
_jsx("div", { id: dateHintId, children: intl.formatMessage(
|
|
12
|
+
_jsx("div", { id: dateHintId, children: intl.formatMessage(messages.dateFormatHint, {
|
|
13
|
+
format: dateFormat || getLocalizedDateFormat(intl.locale),
|
|
14
|
+
}) }), isTimeEnabled ? (_jsx("div", { id: timeHintId, children: intl.formatMessage(isSecondsEnabled ? messages.timeFormatHintWithSeconds : messages.timeFormatHint) })) : null] }));
|
|
6
15
|
}
|
|
@@ -8,10 +8,11 @@ export interface IDateRangePickerProps {
|
|
|
8
8
|
dayPickerProps?: DayPickerProps;
|
|
9
9
|
isMobile: boolean;
|
|
10
10
|
isTimeEnabled: boolean;
|
|
11
|
+
isSecondsEnabled?: boolean;
|
|
11
12
|
weekStart?: WeekStart;
|
|
12
13
|
shouldOverlayDatePicker?: boolean;
|
|
13
14
|
withoutApply?: boolean;
|
|
14
15
|
submitForm: () => void;
|
|
15
16
|
}
|
|
16
|
-
export declare function DateRangePicker({ range, onRangeChange, dateFormat, dayPickerProps, isMobile, isTimeEnabled, weekStart, shouldOverlayDatePicker, withoutApply, submitForm }: IDateRangePickerProps): import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
export declare function DateRangePicker({ range, onRangeChange, dateFormat, dayPickerProps, isMobile, isTimeEnabled, isSecondsEnabled, weekStart, shouldOverlayDatePicker, withoutApply, submitForm }: IDateRangePickerProps): import("react/jsx-runtime").JSX.Element;
|
|
17
18
|
//# sourceMappingURL=DateRangePicker.d.ts.map
|