@trackunit/filters-filter-bar 1.8.124 → 1.8.127
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/index.cjs.js +16 -16
- package/index.esm.js +16 -16
- package/package.json +12 -12
- package/src/lib/components/FilterHeader.d.ts +1 -1
- package/src/lib/components/FiltersMenu.d.ts +1 -1
- package/src/lib/components/GroupedFiltersList.d.ts +1 -1
- package/src/lib/components/ResetFiltersButton.d.ts +1 -1
- package/src/lib/components/ResetFiltersButtonWithIcon.d.ts +1 -1
- package/translation.cjs.js +1 -0
- package/translation.cjs10.js +1 -0
- package/translation.cjs11.js +1 -0
- package/translation.cjs12.js +1 -0
- package/translation.cjs13.js +1 -0
- package/translation.cjs14.js +1 -0
- package/translation.cjs15.js +1 -0
- package/translation.cjs16.js +1 -0
- package/translation.cjs17.js +1 -0
- package/translation.cjs2.js +1 -0
- package/translation.cjs3.js +1 -0
- package/translation.cjs4.js +1 -0
- package/translation.cjs5.js +1 -0
- package/translation.cjs6.js +1 -0
- package/translation.cjs7.js +1 -0
- package/translation.cjs8.js +1 -0
- package/translation.cjs9.js +1 -0
- package/translation.esm.js +1 -0
- package/translation.esm10.js +1 -0
- package/translation.esm11.js +1 -0
- package/translation.esm12.js +1 -0
- package/translation.esm13.js +1 -0
- package/translation.esm14.js +1 -0
- package/translation.esm15.js +1 -0
- package/translation.esm16.js +1 -0
- package/translation.esm17.js +1 -0
- package/translation.esm2.js +1 -0
- package/translation.esm3.js +1 -0
- package/translation.esm4.js +1 -0
- package/translation.esm5.js +1 -0
- package/translation.esm6.js +1 -0
- package/translation.esm7.js +1 -0
- package/translation.esm8.js +1 -0
- package/translation.esm9.js +1 -0
package/index.cjs.js
CHANGED
|
@@ -405,7 +405,7 @@ const FilterComponent = ({ filter, filterBarActions, filterState, readOnly = fal
|
|
|
405
405
|
setValue,
|
|
406
406
|
filterBarActions,
|
|
407
407
|
filterState,
|
|
408
|
-
}) })) : (jsxRuntime.jsx(reactFilterComponents.Filter, { activeLabel: activeFilterText, activeOptionsCount: valuesLength, asIcon: asIcon, className: className,
|
|
408
|
+
}) })) : (jsxRuntime.jsx(reactFilterComponents.Filter, { activeLabel: activeFilterText, activeOptionsCount: valuesLength, asIcon: asIcon, className: className, "data-testid": `${filter.filterKey}-filter-button`, isActive: filterBarActions.appliedFilterKeys().includes(filter.filterKey), popoverProps: { placement: visualStyle === "list-item" ? "right-start" : "bottom-start" }, readOnly: readOnly, size: size, title: filter.title, visualStyle: visualStyle, withStickyHeader: true, children: filter.component({
|
|
409
409
|
filterDefinition: filter,
|
|
410
410
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
411
411
|
value: values,
|
|
@@ -440,9 +440,9 @@ const FiltersRenderer = ({ filters, filterBarConfig, visualStyle, }) => {
|
|
|
440
440
|
*
|
|
441
441
|
* @returns {ReactElement | null} The rendered ResetFiltersButton component, or null if no filters have been applied.
|
|
442
442
|
*/
|
|
443
|
-
const ResetFiltersButtonWithIcon = ({ resetFiltersToInitialState, dataTestId, className, }) => {
|
|
443
|
+
const ResetFiltersButtonWithIcon = ({ resetFiltersToInitialState, "data-testid": dataTestId, className, }) => {
|
|
444
444
|
const [t] = useTranslation();
|
|
445
|
-
return (jsxRuntime.jsxs(reactComponents.Button, { className: className,
|
|
445
|
+
return (jsxRuntime.jsxs(reactComponents.Button, { className: className, "data-testid": dataTestId ?? "reset-filters-button", onClick: () => {
|
|
446
446
|
resetFiltersToInitialState();
|
|
447
447
|
}, prefix: jsxRuntime.jsx(reactComponents.Icon, { name: "ArrowPath", size: "small", type: "solid" }), size: "small", variant: "ghost-neutral", children: [t("filtersBar.resetFilters"), jsxRuntime.jsx("span", { className: "sr-only", children: t("filtersBar.resetFiltersSR") })] }));
|
|
448
448
|
};
|
|
@@ -521,7 +521,7 @@ const DynamicFilterList = ({ rowCount, keyMapper, labelMapper, onChange, checked
|
|
|
521
521
|
if (!item) {
|
|
522
522
|
return null;
|
|
523
523
|
}
|
|
524
|
-
return (jsxRuntime.jsx("li", { ...listItemProps, children: item.type === "search-more" ? (jsxRuntime.jsxs("div", { className: "p-3 pt-2", children: [jsxRuntime.jsx("span", { className: "text-sm text-neutral-600", children: t("filter.more.options.if.you.search.title", { count: rowCount }) }), jsxRuntime.jsx("br", {}), jsxRuntime.jsx("span", { className: "text-sm italic text-neutral-400", children: t("filter.more.options.if.you.search.description") })] })) : type === "Radio" ? (jsxRuntime.jsx(reactFilterComponents.RadioFilterItem, {
|
|
524
|
+
return (jsxRuntime.jsx("li", { ...listItemProps, children: item.type === "search-more" ? (jsxRuntime.jsxs("div", { className: "p-3 pt-2", children: [jsxRuntime.jsx("span", { className: "text-sm text-neutral-600", children: t("filter.more.options.if.you.search.title", { count: rowCount }) }), jsxRuntime.jsx("br", {}), jsxRuntime.jsx("span", { className: "text-sm italic text-neutral-400", children: t("filter.more.options.if.you.search.description") })] })) : type === "Radio" ? (jsxRuntime.jsx(reactFilterComponents.RadioFilterItem, { "data-testid": "dynamic-filter-radio-" + item.key, itemCount: item.itemCount, label: item.label, selected: item.isChecked, value: item.key })) : (jsxRuntime.jsx(reactFilterComponents.CheckBoxFilterItem, { checked: item.isChecked, "data-testid": "dynamic-filter-check-box-" + item.key, itemCount: item.itemCount, label: item.label, name: item.key, onChange: () => {
|
|
525
525
|
onChange?.(item.index);
|
|
526
526
|
} })) }, key));
|
|
527
527
|
} }) }));
|
|
@@ -532,13 +532,13 @@ const DynamicFilterList = ({ rowCount, keyMapper, labelMapper, onChange, checked
|
|
|
532
532
|
*
|
|
533
533
|
* @returns {ReactElement} - Returns the FilterHeader component.
|
|
534
534
|
*/
|
|
535
|
-
const FilterHeader = ({ filterKey, title, searchEnabled, searchProps, filterHasChanges, resetIndividualFilterToInitialState, onResetFilter, loading = false, className, dataTestId, hideHeader = false, children, }) => {
|
|
535
|
+
const FilterHeader = ({ filterKey, title, searchEnabled, searchProps, filterHasChanges, resetIndividualFilterToInitialState, onResetFilter, loading = false, className, "data-testid": dataTestId, hideHeader = false, children, }) => {
|
|
536
536
|
const [t] = useTranslation();
|
|
537
537
|
const handleResetFilter = () => {
|
|
538
538
|
resetIndividualFilterToInitialState(filterKey);
|
|
539
539
|
onResetFilter?.();
|
|
540
540
|
};
|
|
541
|
-
return (jsxRuntime.jsx(reactFilterComponents.FilterHeader, { className: className,
|
|
541
|
+
return (jsxRuntime.jsx(reactFilterComponents.FilterHeader, { className: className, "data-testid": dataTestId ?? `${filterKey}-filter-header`, loading: loading, onReset: handleResetFilter, resetLabel: t("filtersBar.resetFilter"), searchComponent: searchEnabled ? jsxRuntime.jsx(FilterHeaderSearchComponent, { filterKey: filterKey, searchProps: searchProps }) : undefined, showReset: filterHasChanges, title: hideHeader ? undefined : title, children: children }));
|
|
542
542
|
};
|
|
543
543
|
/**
|
|
544
544
|
* FilterHeaderSearchComponent renders a search input for the FilterHeader component.
|
|
@@ -675,7 +675,7 @@ const DefaultCheckboxFilter = ({ filterDefinition, filterBarActions, options, lo
|
|
|
675
675
|
onChange: customSearch?.onChange ?? setSearchText,
|
|
676
676
|
onClear: customSearch?.onClear ?? (() => setSearchText("")),
|
|
677
677
|
count: undefinedCount ? filteredOptions.length - 1 : filteredOptions.length,
|
|
678
|
-
}, children: options.length >= 2 ? (jsxRuntime.jsx(reactComponents.Button, { className: "place-self-start",
|
|
678
|
+
}, children: options.length >= 2 ? (jsxRuntime.jsx(reactComponents.Button, { className: "place-self-start", "data-testid": "selectAllButton", disabled: hasSelectedAll, onClick: handleSelectAll, size: "small", variant: "ghost", children: t("filtersBar.selectAll") })) : null }), jsxRuntime.jsx(FilterResults, { ignoreUndefined: undefinedCount !== null, loading: loading, results: results, children: res => (jsxRuntime.jsx(DynamicFilterList, { checked: index => {
|
|
679
679
|
return filterDefinition.type === "valueNameArray"
|
|
680
680
|
? filterBarActions.objectArrayIncludesValue(filterDefinition.filterKey, res[index]?.key || "")
|
|
681
681
|
: filterBarActions.arrayIncludesValue(filterDefinition.filterKey, res[index]?.key || "");
|
|
@@ -686,7 +686,7 @@ const DefaultCheckboxFilter = ({ filterDefinition, filterBarActions, options, lo
|
|
|
686
686
|
}
|
|
687
687
|
}, rowCount: undefinedCount ? res.length - 1 : res.length, showRequestMoreUseSearch: showRequestMoreUseSearch, type: "CheckBox" })) }), showUndefinedOptionWithCountAtBottom && undefinedCount ? (jsxRuntime.jsx("div", { className: "border-t border-neutral-200 py-1", children: jsxRuntime.jsx(reactFilterComponents.CheckBoxFilterItem, { checked: filterDefinition.type === "valueNameArray"
|
|
688
688
|
? filterBarActions.objectArrayIncludesValue(filterDefinition.filterKey, results[undefinedCount.index]?.key || "")
|
|
689
|
-
: filterBarActions.arrayIncludesValue(filterDefinition.filterKey, results[undefinedCount.index]?.key || ""),
|
|
689
|
+
: filterBarActions.arrayIncludesValue(filterDefinition.filterKey, results[undefinedCount.index]?.key || ""), "data-testid": "dynamic-filter-check-box-undefined", itemCount: undefinedCount.count, label: results[undefinedCount.index]?.label, name: "dynamic-filter-check-box-undefined", onChange: () => {
|
|
690
690
|
const result = results[undefinedCount.index];
|
|
691
691
|
if (result) {
|
|
692
692
|
handleSetValue(result);
|
|
@@ -914,10 +914,10 @@ const useFiltersMenu = ({ filterBarDefinition, filterBarConfig, hiddenFilters =
|
|
|
914
914
|
*
|
|
915
915
|
* @returns {ReactElement} - Returns the FiltersList component.
|
|
916
916
|
*/
|
|
917
|
-
const GroupedFiltersList = ({ filterBarConfig, filtersGrouped, className, dataTestId = "grouped-filters-list", }) => {
|
|
917
|
+
const GroupedFiltersList = ({ filterBarConfig, filtersGrouped, className, "data-testid": dataTestId = "grouped-filters-list", }) => {
|
|
918
918
|
return (jsxRuntime.jsx("div", { className: className, "data-testid": dataTestId, role: "menu", children: filtersGrouped.map((group, idx) => {
|
|
919
919
|
const isLastGroup = idx === filtersGrouped.length - 1;
|
|
920
|
-
return (jsxRuntime.jsxs("div", { className: "flex flex-col gap-1", children: [jsxRuntime.jsxs("div", { children: [filtersGrouped.length > 1 && (jsxRuntime.jsx(reactComponents.Text, { className: "h-7 px-3 py-2 text-neutral-400",
|
|
920
|
+
return (jsxRuntime.jsxs("div", { className: "flex flex-col gap-1", children: [jsxRuntime.jsxs("div", { children: [filtersGrouped.length > 1 && (jsxRuntime.jsx(reactComponents.Text, { className: "h-7 px-3 py-2 text-neutral-400", "data-testid": `${group.key}-group-title`, size: "small", uppercase: true, weight: "bold", children: group.title })), jsxRuntime.jsx("ul", { "aria-labelledby": `${group.key}-group-title`, className: "grid", "data-testid": `${group.key}-group-list`, children: jsxRuntime.jsx(FiltersRenderer, { filterBarConfig: filterBarConfig, filters: group.filters, visualStyle: "list-item" }) })] }), isLastGroup ? null : jsxRuntime.jsx("div", { className: "h-[1px] w-full bg-neutral-200", role: "separator" })] }, group.key));
|
|
921
921
|
}) }));
|
|
922
922
|
};
|
|
923
923
|
|
|
@@ -926,9 +926,9 @@ const GroupedFiltersList = ({ filterBarConfig, filtersGrouped, className, dataTe
|
|
|
926
926
|
*
|
|
927
927
|
* @returns {ReactElement | null} The rendered ResetFiltersButton component, or null if no filters have been applied.
|
|
928
928
|
*/
|
|
929
|
-
const ResetFiltersButton = ({ resetFiltersToInitialState, dataTestId, className, }) => {
|
|
929
|
+
const ResetFiltersButton = ({ resetFiltersToInitialState, "data-testid": dataTestId, className, }) => {
|
|
930
930
|
const [t] = useTranslation();
|
|
931
|
-
return (jsxRuntime.jsxs(reactComponents.Button, { className: className,
|
|
931
|
+
return (jsxRuntime.jsxs(reactComponents.Button, { className: className, "data-testid": dataTestId ?? "reset-filters-button", onClick: () => {
|
|
932
932
|
resetFiltersToInitialState();
|
|
933
933
|
}, size: "small", variant: "ghost", children: [t("filtersBar.resetFilters"), jsxRuntime.jsx("span", { className: "sr-only", children: t("filtersBar.resetFiltersSR") })] }));
|
|
934
934
|
};
|
|
@@ -938,7 +938,7 @@ const ResetFiltersButton = ({ resetFiltersToInitialState, dataTestId, className,
|
|
|
938
938
|
*/
|
|
939
939
|
const FiltersMenuContent = ({ filterBarConfig, setShowCustomFilters, setSearchText, searchText, searchResultsGrouped, filtersToShowGrouped, removeCustomFieldsGroup, hasCustomFields, appliedCustomFields, showCustomFilters, filterBarDefinitionCount, }) => {
|
|
940
940
|
const [t] = useTranslation();
|
|
941
|
-
return (jsxRuntime.jsxs(reactComponents.Card, { className: "max-h-[min(600px,_calc(100dvh-32px))] w-[300px] overflow-y-hidden",
|
|
941
|
+
return (jsxRuntime.jsxs(reactComponents.Card, { className: "max-h-[min(600px,_calc(100dvh-32px))] w-[300px] overflow-y-hidden", "data-testid": "starred-filters-menu-popover", id: "starred-filters-menu-popover", tabIndex: 0, children: [jsxRuntime.jsxs("div", { className: "flex flex-col gap-1 p-1", children: [filterBarDefinitionCount > 5 && (jsxRuntime.jsx(reactFormComponents.Search, { autoFocus: true, "data-testid": "starred-filters-menu-search", fieldSize: "small", id: "search-filters-list", onChange: e => setSearchText(e.currentTarget.value), onClear: () => setSearchText(""), placeholder: t("filtersBar.searchFiltersPlaceholder"), value: searchText })), jsxRuntime.jsxs("div", { className: "flex h-7 items-center justify-between gap-1 pl-3", children: [jsxRuntime.jsx(reactComponents.Text, { className: "text-neutral-400", size: "small", children: jsxRuntime.jsx(FiltersAppliedCountLabel, { filterBarConfig: filterBarConfig }) }), filterBarConfig.appliedFilterKeys().length > 0 ? (jsxRuntime.jsx(ResetFiltersButton, { resetFiltersToInitialState: filterBarConfig.resetFiltersToInitialState })) : null] })] }), jsxRuntime.jsx(Separator, {}), jsxRuntime.jsxs(reactComponents.CardBody, { className: "gap-1 p-1", density: "none", disableGap: true, children: [jsxRuntime.jsx(GroupedFiltersList, { className: "flex flex-col gap-1", filterBarConfig: filterBarConfig, filtersGrouped: searchText
|
|
942
942
|
? searchResultsGrouped
|
|
943
943
|
: showCustomFilters
|
|
944
944
|
? filtersToShowGrouped
|
|
@@ -1076,7 +1076,7 @@ const MultipleFilterTooltipLabel = ({ filterBarConfig, filterKeys, filters, }) =
|
|
|
1076
1076
|
* @template TFilterBarDefinition - The type representing the filter bar definition.
|
|
1077
1077
|
* @returns {ReactElement} - Returns the FilterMenu component.
|
|
1078
1078
|
*/
|
|
1079
|
-
const FiltersMenu = ({ filterBarDefinition, filterBarConfig, hiddenFilters = [], compact = false, title, dataTestId = "filters-menu", className, buttonProps, allowShowFiltersDirectly = true, includeFilterKeys, }) => {
|
|
1079
|
+
const FiltersMenu = ({ filterBarDefinition, filterBarConfig, hiddenFilters = [], compact = false, title, "data-testid": dataTestId = "filters-menu", className, buttonProps, allowShowFiltersDirectly = true, includeFilterKeys, }) => {
|
|
1080
1080
|
const [t] = useTranslation();
|
|
1081
1081
|
const [showCustomFilters, setShowCustomFilters] = react.useState(false);
|
|
1082
1082
|
const { isSm } = reactComponents.useViewportBreakpoints();
|
|
@@ -1317,7 +1317,7 @@ const RenderHierarchicalOption = ({ option, filterDefinition, filterBarActions,
|
|
|
1317
1317
|
filterDefinition,
|
|
1318
1318
|
logEvent,
|
|
1319
1319
|
});
|
|
1320
|
-
return (jsxRuntime.jsxs(react.Fragment, { children: [jsxRuntime.jsx("div", { className: cvaOptionItem({ indentationLevel: level > 6 ? 6 : level }), children: jsxRuntime.jsx(reactFilterComponents.CheckBoxFilterItem, { checked: isChecked, className: "rounded-none",
|
|
1320
|
+
return (jsxRuntime.jsxs(react.Fragment, { children: [jsxRuntime.jsx("div", { className: cvaOptionItem({ indentationLevel: level > 6 ? 6 : level }), children: jsxRuntime.jsx(reactFilterComponents.CheckBoxFilterItem, { checked: isChecked, className: "rounded-none", "data-testid": `hierarchical-filter-check-box-${option.key}`, indeterminate: isIndeterminate, itemCount: showCount ? option.count : undefined, label: option.label, name: `hierarchical-filter-check-box-${option.key}`, onChange: handleSelect }) }), option.children?.map(child => (jsxRuntime.jsx(RenderHierarchicalOption, { cascadeSelection: cascadeSelection, filterBarActions: filterBarActions, filterDefinition: filterDefinition, logEvent: logEvent, option: child, optionsMap: optionsMap, selectedValues: selectedValues, setValue: setValue, showCount: showCount }, child.key)))] }, option.key));
|
|
1321
1321
|
};
|
|
1322
1322
|
const cvaOptionItem = cssClassVarianceUtilities.cvaMerge(["m-1"], {
|
|
1323
1323
|
variants: {
|
|
@@ -1383,7 +1383,7 @@ const HierarchicalCheckboxFilter = ({ filterDefinition, filterBarActions, option
|
|
|
1383
1383
|
* The FilterBar component serves as a wrapper for managing filters.
|
|
1384
1384
|
*/
|
|
1385
1385
|
const FilterBar = ({ hiddenFilters, className, filterBarDefinition, filterBarConfig, compact = true, allowShowFiltersDirectly = true, title, }) => {
|
|
1386
|
-
return (jsxRuntime.jsx(FiltersMenu, { allowShowFiltersDirectly: allowShowFiltersDirectly, className: className, compact: compact,
|
|
1386
|
+
return (jsxRuntime.jsx(FiltersMenu, { allowShowFiltersDirectly: allowShowFiltersDirectly, className: className, compact: compact, "data-testid": `${filterBarConfig.name}-filterbar`, filterBarConfig: filterBarConfig, filterBarDefinition: filterBarDefinition, hiddenFilters: hiddenFilters, title: title }));
|
|
1387
1387
|
};
|
|
1388
1388
|
|
|
1389
1389
|
// Can't import jest.fn so must define a function that does nothing but mimics the jest.fn
|
package/index.esm.js
CHANGED
|
@@ -403,7 +403,7 @@ const FilterComponent = ({ filter, filterBarActions, filterState, readOnly = fal
|
|
|
403
403
|
setValue,
|
|
404
404
|
filterBarActions,
|
|
405
405
|
filterState,
|
|
406
|
-
}) })) : (jsx(Filter, { activeLabel: activeFilterText, activeOptionsCount: valuesLength, asIcon: asIcon, className: className,
|
|
406
|
+
}) })) : (jsx(Filter, { activeLabel: activeFilterText, activeOptionsCount: valuesLength, asIcon: asIcon, className: className, "data-testid": `${filter.filterKey}-filter-button`, isActive: filterBarActions.appliedFilterKeys().includes(filter.filterKey), popoverProps: { placement: visualStyle === "list-item" ? "right-start" : "bottom-start" }, readOnly: readOnly, size: size, title: filter.title, visualStyle: visualStyle, withStickyHeader: true, children: filter.component({
|
|
407
407
|
filterDefinition: filter,
|
|
408
408
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
409
409
|
value: values,
|
|
@@ -438,9 +438,9 @@ const FiltersRenderer = ({ filters, filterBarConfig, visualStyle, }) => {
|
|
|
438
438
|
*
|
|
439
439
|
* @returns {ReactElement | null} The rendered ResetFiltersButton component, or null if no filters have been applied.
|
|
440
440
|
*/
|
|
441
|
-
const ResetFiltersButtonWithIcon = ({ resetFiltersToInitialState, dataTestId, className, }) => {
|
|
441
|
+
const ResetFiltersButtonWithIcon = ({ resetFiltersToInitialState, "data-testid": dataTestId, className, }) => {
|
|
442
442
|
const [t] = useTranslation();
|
|
443
|
-
return (jsxs(Button, { className: className,
|
|
443
|
+
return (jsxs(Button, { className: className, "data-testid": dataTestId ?? "reset-filters-button", onClick: () => {
|
|
444
444
|
resetFiltersToInitialState();
|
|
445
445
|
}, prefix: jsx(Icon, { name: "ArrowPath", size: "small", type: "solid" }), size: "small", variant: "ghost-neutral", children: [t("filtersBar.resetFilters"), jsx("span", { className: "sr-only", children: t("filtersBar.resetFiltersSR") })] }));
|
|
446
446
|
};
|
|
@@ -519,7 +519,7 @@ const DynamicFilterList = ({ rowCount, keyMapper, labelMapper, onChange, checked
|
|
|
519
519
|
if (!item) {
|
|
520
520
|
return null;
|
|
521
521
|
}
|
|
522
|
-
return (jsx("li", { ...listItemProps, children: item.type === "search-more" ? (jsxs("div", { className: "p-3 pt-2", children: [jsx("span", { className: "text-sm text-neutral-600", children: t("filter.more.options.if.you.search.title", { count: rowCount }) }), jsx("br", {}), jsx("span", { className: "text-sm italic text-neutral-400", children: t("filter.more.options.if.you.search.description") })] })) : type === "Radio" ? (jsx(RadioFilterItem, {
|
|
522
|
+
return (jsx("li", { ...listItemProps, children: item.type === "search-more" ? (jsxs("div", { className: "p-3 pt-2", children: [jsx("span", { className: "text-sm text-neutral-600", children: t("filter.more.options.if.you.search.title", { count: rowCount }) }), jsx("br", {}), jsx("span", { className: "text-sm italic text-neutral-400", children: t("filter.more.options.if.you.search.description") })] })) : type === "Radio" ? (jsx(RadioFilterItem, { "data-testid": "dynamic-filter-radio-" + item.key, itemCount: item.itemCount, label: item.label, selected: item.isChecked, value: item.key })) : (jsx(CheckBoxFilterItem, { checked: item.isChecked, "data-testid": "dynamic-filter-check-box-" + item.key, itemCount: item.itemCount, label: item.label, name: item.key, onChange: () => {
|
|
523
523
|
onChange?.(item.index);
|
|
524
524
|
} })) }, key));
|
|
525
525
|
} }) }));
|
|
@@ -530,13 +530,13 @@ const DynamicFilterList = ({ rowCount, keyMapper, labelMapper, onChange, checked
|
|
|
530
530
|
*
|
|
531
531
|
* @returns {ReactElement} - Returns the FilterHeader component.
|
|
532
532
|
*/
|
|
533
|
-
const FilterHeader = ({ filterKey, title, searchEnabled, searchProps, filterHasChanges, resetIndividualFilterToInitialState, onResetFilter, loading = false, className, dataTestId, hideHeader = false, children, }) => {
|
|
533
|
+
const FilterHeader = ({ filterKey, title, searchEnabled, searchProps, filterHasChanges, resetIndividualFilterToInitialState, onResetFilter, loading = false, className, "data-testid": dataTestId, hideHeader = false, children, }) => {
|
|
534
534
|
const [t] = useTranslation();
|
|
535
535
|
const handleResetFilter = () => {
|
|
536
536
|
resetIndividualFilterToInitialState(filterKey);
|
|
537
537
|
onResetFilter?.();
|
|
538
538
|
};
|
|
539
|
-
return (jsx(FilterHeader$1, { className: className,
|
|
539
|
+
return (jsx(FilterHeader$1, { className: className, "data-testid": dataTestId ?? `${filterKey}-filter-header`, loading: loading, onReset: handleResetFilter, resetLabel: t("filtersBar.resetFilter"), searchComponent: searchEnabled ? jsx(FilterHeaderSearchComponent, { filterKey: filterKey, searchProps: searchProps }) : undefined, showReset: filterHasChanges, title: hideHeader ? undefined : title, children: children }));
|
|
540
540
|
};
|
|
541
541
|
/**
|
|
542
542
|
* FilterHeaderSearchComponent renders a search input for the FilterHeader component.
|
|
@@ -673,7 +673,7 @@ const DefaultCheckboxFilter = ({ filterDefinition, filterBarActions, options, lo
|
|
|
673
673
|
onChange: customSearch?.onChange ?? setSearchText,
|
|
674
674
|
onClear: customSearch?.onClear ?? (() => setSearchText("")),
|
|
675
675
|
count: undefinedCount ? filteredOptions.length - 1 : filteredOptions.length,
|
|
676
|
-
}, children: options.length >= 2 ? (jsx(Button, { className: "place-self-start",
|
|
676
|
+
}, children: options.length >= 2 ? (jsx(Button, { className: "place-self-start", "data-testid": "selectAllButton", disabled: hasSelectedAll, onClick: handleSelectAll, size: "small", variant: "ghost", children: t("filtersBar.selectAll") })) : null }), jsx(FilterResults, { ignoreUndefined: undefinedCount !== null, loading: loading, results: results, children: res => (jsx(DynamicFilterList, { checked: index => {
|
|
677
677
|
return filterDefinition.type === "valueNameArray"
|
|
678
678
|
? filterBarActions.objectArrayIncludesValue(filterDefinition.filterKey, res[index]?.key || "")
|
|
679
679
|
: filterBarActions.arrayIncludesValue(filterDefinition.filterKey, res[index]?.key || "");
|
|
@@ -684,7 +684,7 @@ const DefaultCheckboxFilter = ({ filterDefinition, filterBarActions, options, lo
|
|
|
684
684
|
}
|
|
685
685
|
}, rowCount: undefinedCount ? res.length - 1 : res.length, showRequestMoreUseSearch: showRequestMoreUseSearch, type: "CheckBox" })) }), showUndefinedOptionWithCountAtBottom && undefinedCount ? (jsx("div", { className: "border-t border-neutral-200 py-1", children: jsx(CheckBoxFilterItem, { checked: filterDefinition.type === "valueNameArray"
|
|
686
686
|
? filterBarActions.objectArrayIncludesValue(filterDefinition.filterKey, results[undefinedCount.index]?.key || "")
|
|
687
|
-
: filterBarActions.arrayIncludesValue(filterDefinition.filterKey, results[undefinedCount.index]?.key || ""),
|
|
687
|
+
: filterBarActions.arrayIncludesValue(filterDefinition.filterKey, results[undefinedCount.index]?.key || ""), "data-testid": "dynamic-filter-check-box-undefined", itemCount: undefinedCount.count, label: results[undefinedCount.index]?.label, name: "dynamic-filter-check-box-undefined", onChange: () => {
|
|
688
688
|
const result = results[undefinedCount.index];
|
|
689
689
|
if (result) {
|
|
690
690
|
handleSetValue(result);
|
|
@@ -912,10 +912,10 @@ const useFiltersMenu = ({ filterBarDefinition, filterBarConfig, hiddenFilters =
|
|
|
912
912
|
*
|
|
913
913
|
* @returns {ReactElement} - Returns the FiltersList component.
|
|
914
914
|
*/
|
|
915
|
-
const GroupedFiltersList = ({ filterBarConfig, filtersGrouped, className, dataTestId = "grouped-filters-list", }) => {
|
|
915
|
+
const GroupedFiltersList = ({ filterBarConfig, filtersGrouped, className, "data-testid": dataTestId = "grouped-filters-list", }) => {
|
|
916
916
|
return (jsx("div", { className: className, "data-testid": dataTestId, role: "menu", children: filtersGrouped.map((group, idx) => {
|
|
917
917
|
const isLastGroup = idx === filtersGrouped.length - 1;
|
|
918
|
-
return (jsxs("div", { className: "flex flex-col gap-1", children: [jsxs("div", { children: [filtersGrouped.length > 1 && (jsx(Text, { className: "h-7 px-3 py-2 text-neutral-400",
|
|
918
|
+
return (jsxs("div", { className: "flex flex-col gap-1", children: [jsxs("div", { children: [filtersGrouped.length > 1 && (jsx(Text, { className: "h-7 px-3 py-2 text-neutral-400", "data-testid": `${group.key}-group-title`, size: "small", uppercase: true, weight: "bold", children: group.title })), jsx("ul", { "aria-labelledby": `${group.key}-group-title`, className: "grid", "data-testid": `${group.key}-group-list`, children: jsx(FiltersRenderer, { filterBarConfig: filterBarConfig, filters: group.filters, visualStyle: "list-item" }) })] }), isLastGroup ? null : jsx("div", { className: "h-[1px] w-full bg-neutral-200", role: "separator" })] }, group.key));
|
|
919
919
|
}) }));
|
|
920
920
|
};
|
|
921
921
|
|
|
@@ -924,9 +924,9 @@ const GroupedFiltersList = ({ filterBarConfig, filtersGrouped, className, dataTe
|
|
|
924
924
|
*
|
|
925
925
|
* @returns {ReactElement | null} The rendered ResetFiltersButton component, or null if no filters have been applied.
|
|
926
926
|
*/
|
|
927
|
-
const ResetFiltersButton = ({ resetFiltersToInitialState, dataTestId, className, }) => {
|
|
927
|
+
const ResetFiltersButton = ({ resetFiltersToInitialState, "data-testid": dataTestId, className, }) => {
|
|
928
928
|
const [t] = useTranslation();
|
|
929
|
-
return (jsxs(Button, { className: className,
|
|
929
|
+
return (jsxs(Button, { className: className, "data-testid": dataTestId ?? "reset-filters-button", onClick: () => {
|
|
930
930
|
resetFiltersToInitialState();
|
|
931
931
|
}, size: "small", variant: "ghost", children: [t("filtersBar.resetFilters"), jsx("span", { className: "sr-only", children: t("filtersBar.resetFiltersSR") })] }));
|
|
932
932
|
};
|
|
@@ -936,7 +936,7 @@ const ResetFiltersButton = ({ resetFiltersToInitialState, dataTestId, className,
|
|
|
936
936
|
*/
|
|
937
937
|
const FiltersMenuContent = ({ filterBarConfig, setShowCustomFilters, setSearchText, searchText, searchResultsGrouped, filtersToShowGrouped, removeCustomFieldsGroup, hasCustomFields, appliedCustomFields, showCustomFilters, filterBarDefinitionCount, }) => {
|
|
938
938
|
const [t] = useTranslation();
|
|
939
|
-
return (jsxs(Card, { className: "max-h-[min(600px,_calc(100dvh-32px))] w-[300px] overflow-y-hidden",
|
|
939
|
+
return (jsxs(Card, { className: "max-h-[min(600px,_calc(100dvh-32px))] w-[300px] overflow-y-hidden", "data-testid": "starred-filters-menu-popover", id: "starred-filters-menu-popover", tabIndex: 0, children: [jsxs("div", { className: "flex flex-col gap-1 p-1", children: [filterBarDefinitionCount > 5 && (jsx(Search, { autoFocus: true, "data-testid": "starred-filters-menu-search", fieldSize: "small", id: "search-filters-list", onChange: e => setSearchText(e.currentTarget.value), onClear: () => setSearchText(""), placeholder: t("filtersBar.searchFiltersPlaceholder"), value: searchText })), jsxs("div", { className: "flex h-7 items-center justify-between gap-1 pl-3", children: [jsx(Text, { className: "text-neutral-400", size: "small", children: jsx(FiltersAppliedCountLabel, { filterBarConfig: filterBarConfig }) }), filterBarConfig.appliedFilterKeys().length > 0 ? (jsx(ResetFiltersButton, { resetFiltersToInitialState: filterBarConfig.resetFiltersToInitialState })) : null] })] }), jsx(Separator, {}), jsxs(CardBody, { className: "gap-1 p-1", density: "none", disableGap: true, children: [jsx(GroupedFiltersList, { className: "flex flex-col gap-1", filterBarConfig: filterBarConfig, filtersGrouped: searchText
|
|
940
940
|
? searchResultsGrouped
|
|
941
941
|
: showCustomFilters
|
|
942
942
|
? filtersToShowGrouped
|
|
@@ -1074,7 +1074,7 @@ const MultipleFilterTooltipLabel = ({ filterBarConfig, filterKeys, filters, }) =
|
|
|
1074
1074
|
* @template TFilterBarDefinition - The type representing the filter bar definition.
|
|
1075
1075
|
* @returns {ReactElement} - Returns the FilterMenu component.
|
|
1076
1076
|
*/
|
|
1077
|
-
const FiltersMenu = ({ filterBarDefinition, filterBarConfig, hiddenFilters = [], compact = false, title, dataTestId = "filters-menu", className, buttonProps, allowShowFiltersDirectly = true, includeFilterKeys, }) => {
|
|
1077
|
+
const FiltersMenu = ({ filterBarDefinition, filterBarConfig, hiddenFilters = [], compact = false, title, "data-testid": dataTestId = "filters-menu", className, buttonProps, allowShowFiltersDirectly = true, includeFilterKeys, }) => {
|
|
1078
1078
|
const [t] = useTranslation();
|
|
1079
1079
|
const [showCustomFilters, setShowCustomFilters] = useState(false);
|
|
1080
1080
|
const { isSm } = useViewportBreakpoints();
|
|
@@ -1315,7 +1315,7 @@ const RenderHierarchicalOption = ({ option, filterDefinition, filterBarActions,
|
|
|
1315
1315
|
filterDefinition,
|
|
1316
1316
|
logEvent,
|
|
1317
1317
|
});
|
|
1318
|
-
return (jsxs(Fragment$1, { children: [jsx("div", { className: cvaOptionItem({ indentationLevel: level > 6 ? 6 : level }), children: jsx(CheckBoxFilterItem, { checked: isChecked, className: "rounded-none",
|
|
1318
|
+
return (jsxs(Fragment$1, { children: [jsx("div", { className: cvaOptionItem({ indentationLevel: level > 6 ? 6 : level }), children: jsx(CheckBoxFilterItem, { checked: isChecked, className: "rounded-none", "data-testid": `hierarchical-filter-check-box-${option.key}`, indeterminate: isIndeterminate, itemCount: showCount ? option.count : undefined, label: option.label, name: `hierarchical-filter-check-box-${option.key}`, onChange: handleSelect }) }), option.children?.map(child => (jsx(RenderHierarchicalOption, { cascadeSelection: cascadeSelection, filterBarActions: filterBarActions, filterDefinition: filterDefinition, logEvent: logEvent, option: child, optionsMap: optionsMap, selectedValues: selectedValues, setValue: setValue, showCount: showCount }, child.key)))] }, option.key));
|
|
1319
1319
|
};
|
|
1320
1320
|
const cvaOptionItem = cvaMerge(["m-1"], {
|
|
1321
1321
|
variants: {
|
|
@@ -1381,7 +1381,7 @@ const HierarchicalCheckboxFilter = ({ filterDefinition, filterBarActions, option
|
|
|
1381
1381
|
* The FilterBar component serves as a wrapper for managing filters.
|
|
1382
1382
|
*/
|
|
1383
1383
|
const FilterBar = ({ hiddenFilters, className, filterBarDefinition, filterBarConfig, compact = true, allowShowFiltersDirectly = true, title, }) => {
|
|
1384
|
-
return (jsx(FiltersMenu, { allowShowFiltersDirectly: allowShowFiltersDirectly, className: className, compact: compact,
|
|
1384
|
+
return (jsx(FiltersMenu, { allowShowFiltersDirectly: allowShowFiltersDirectly, className: className, compact: compact, "data-testid": `${filterBarConfig.name}-filterbar`, filterBarConfig: filterBarConfig, filterBarDefinition: filterBarDefinition, hiddenFilters: hiddenFilters, title: title }));
|
|
1385
1385
|
};
|
|
1386
1386
|
|
|
1387
1387
|
// Can't import jest.fn so must define a function that does nothing but mimics the jest.fn
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@trackunit/filters-filter-bar",
|
|
3
|
-
"version": "1.8.
|
|
3
|
+
"version": "1.8.127",
|
|
4
4
|
"repository": "https://github.com/Trackunit/manager",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
6
6
|
"engines": {
|
|
@@ -12,17 +12,17 @@
|
|
|
12
12
|
"tailwind-merge": "^2.0.0",
|
|
13
13
|
"string-ts": "^2.0.0",
|
|
14
14
|
"zod": "^3.23.8",
|
|
15
|
-
"@trackunit/iris-app-api": "1.9.
|
|
16
|
-
"@trackunit/react-core-hooks": "1.7.
|
|
17
|
-
"@trackunit/react-filter-components": "1.7.
|
|
18
|
-
"@trackunit/react-date-and-time-components": "1.10.
|
|
19
|
-
"@trackunit/shared-utils": "1.9.
|
|
20
|
-
"@trackunit/react-form-components": "1.8.
|
|
21
|
-
"@trackunit/iris-app-runtime-core-api": "1.7.
|
|
22
|
-
"@trackunit/geo-json-utils": "1.7.
|
|
23
|
-
"@trackunit/i18n-library-translation": "1.7.
|
|
24
|
-
"@trackunit/css-class-variance-utilities": "1.7.
|
|
25
|
-
"@trackunit/react-components": "1.10.
|
|
15
|
+
"@trackunit/iris-app-api": "1.9.15",
|
|
16
|
+
"@trackunit/react-core-hooks": "1.7.90",
|
|
17
|
+
"@trackunit/react-filter-components": "1.7.121",
|
|
18
|
+
"@trackunit/react-date-and-time-components": "1.10.121",
|
|
19
|
+
"@trackunit/shared-utils": "1.9.77",
|
|
20
|
+
"@trackunit/react-form-components": "1.8.118",
|
|
21
|
+
"@trackunit/iris-app-runtime-core-api": "1.7.86",
|
|
22
|
+
"@trackunit/geo-json-utils": "1.7.77",
|
|
23
|
+
"@trackunit/i18n-library-translation": "1.7.94",
|
|
24
|
+
"@trackunit/css-class-variance-utilities": "1.7.77",
|
|
25
|
+
"@trackunit/react-components": "1.10.51",
|
|
26
26
|
"@tanstack/react-router": "1.114.29"
|
|
27
27
|
},
|
|
28
28
|
"module": "./index.esm.js",
|
|
@@ -70,5 +70,5 @@ type FilterHeaderProps = FilterHeaderCommonProps & FilterHeaderWithSearchProps;
|
|
|
70
70
|
*
|
|
71
71
|
* @returns {ReactElement} - Returns the FilterHeader component.
|
|
72
72
|
*/
|
|
73
|
-
export declare const FilterHeader: ({ filterKey, title, searchEnabled, searchProps, filterHasChanges, resetIndividualFilterToInitialState, onResetFilter, loading, className, dataTestId, hideHeader, children, }: FilterHeaderProps) => ReactElement;
|
|
73
|
+
export declare const FilterHeader: ({ filterKey, title, searchEnabled, searchProps, filterHasChanges, resetIndividualFilterToInitialState, onResetFilter, loading, className, "data-testid": dataTestId, hideHeader, children, }: FilterHeaderProps) => ReactElement;
|
|
74
74
|
export {};
|
|
@@ -41,5 +41,5 @@ interface FiltersMenuProps<TFilterBarDefinition extends FilterBarDefinition> ext
|
|
|
41
41
|
* @template TFilterBarDefinition - The type representing the filter bar definition.
|
|
42
42
|
* @returns {ReactElement} - Returns the FilterMenu component.
|
|
43
43
|
*/
|
|
44
|
-
export declare const FiltersMenu: <TFilterBarDefinition extends FilterBarDefinition>({ filterBarDefinition, filterBarConfig, hiddenFilters, compact, title, dataTestId, className, buttonProps, allowShowFiltersDirectly, includeFilterKeys, }: FiltersMenuProps<TFilterBarDefinition>) => ReactElement;
|
|
44
|
+
export declare const FiltersMenu: <TFilterBarDefinition extends FilterBarDefinition>({ filterBarDefinition, filterBarConfig, hiddenFilters, compact, title, "data-testid": dataTestId, className, buttonProps, allowShowFiltersDirectly, includeFilterKeys, }: FiltersMenuProps<TFilterBarDefinition>) => ReactElement;
|
|
45
45
|
export {};
|
|
@@ -14,5 +14,5 @@ interface FiltersListProps extends CommonProps {
|
|
|
14
14
|
*
|
|
15
15
|
* @returns {ReactElement} - Returns the FiltersList component.
|
|
16
16
|
*/
|
|
17
|
-
export declare const GroupedFiltersList: ({ filterBarConfig, filtersGrouped, className, dataTestId, }: FiltersListProps) => ReactElement;
|
|
17
|
+
export declare const GroupedFiltersList: ({ filterBarConfig, filtersGrouped, className, "data-testid": dataTestId, }: FiltersListProps) => ReactElement;
|
|
18
18
|
export {};
|
|
@@ -11,5 +11,5 @@ interface ResetFiltersProps extends CommonProps {
|
|
|
11
11
|
*
|
|
12
12
|
* @returns {ReactElement | null} The rendered ResetFiltersButton component, or null if no filters have been applied.
|
|
13
13
|
*/
|
|
14
|
-
export declare const ResetFiltersButton: ({ resetFiltersToInitialState, dataTestId, className, }: ResetFiltersProps) => ReactElement | null;
|
|
14
|
+
export declare const ResetFiltersButton: ({ resetFiltersToInitialState, "data-testid": dataTestId, className, }: ResetFiltersProps) => ReactElement | null;
|
|
15
15
|
export {};
|
|
@@ -11,5 +11,5 @@ interface ResetFiltersProps extends CommonProps {
|
|
|
11
11
|
*
|
|
12
12
|
* @returns {ReactElement | null} The rendered ResetFiltersButton component, or null if no filters have been applied.
|
|
13
13
|
*/
|
|
14
|
-
export declare const ResetFiltersButtonWithIcon: ({ resetFiltersToInitialState, dataTestId, className, }: ResetFiltersProps) => ReactElement | null;
|
|
14
|
+
export declare const ResetFiltersButtonWithIcon: ({ resetFiltersToInitialState, "data-testid": dataTestId, className, }: ResetFiltersProps) => ReactElement | null;
|
|
15
15
|
export {};
|
package/translation.cjs.js
CHANGED
|
@@ -116,6 +116,7 @@ var translation = {
|
|
|
116
116
|
"filtersBar.groups.CURRENT_LOCATION": "Aktueller Standort",
|
|
117
117
|
"filtersBar.groups.CUSTOM_FIELDS": "Benutzerdefinierte Felder",
|
|
118
118
|
"filtersBar.groups.CUSTOMERS": "Kunden",
|
|
119
|
+
"filtersBar.groups.DEVICE_HEALTH": "Einheitsstatus",
|
|
119
120
|
"filtersBar.groups.INTEGRATION": "Integration",
|
|
120
121
|
"filtersBar.groups.MANAGEMENT": "Verwaltung",
|
|
121
122
|
"filtersBar.groups.METADATA": "Metadaten",
|
package/translation.cjs10.js
CHANGED
|
@@ -116,6 +116,7 @@ var translation = {
|
|
|
116
116
|
"filtersBar.groups.CURRENT_LOCATION": "Bieżąca lokalizacja",
|
|
117
117
|
"filtersBar.groups.CUSTOM_FIELDS": "Pola niestandardowe",
|
|
118
118
|
"filtersBar.groups.CUSTOMERS": "Klienci",
|
|
119
|
+
"filtersBar.groups.DEVICE_HEALTH": "Device Health",
|
|
119
120
|
"filtersBar.groups.INTEGRATION": "Integration",
|
|
120
121
|
"filtersBar.groups.MANAGEMENT": "Zarządzanie",
|
|
121
122
|
"filtersBar.groups.METADATA": "Metadane",
|
package/translation.cjs11.js
CHANGED
|
@@ -116,6 +116,7 @@ var translation = {
|
|
|
116
116
|
"filtersBar.groups.CURRENT_LOCATION": "Localização atual",
|
|
117
117
|
"filtersBar.groups.CUSTOM_FIELDS": "Campos personalizados",
|
|
118
118
|
"filtersBar.groups.CUSTOMERS": "Clientes",
|
|
119
|
+
"filtersBar.groups.DEVICE_HEALTH": "Device Health",
|
|
119
120
|
"filtersBar.groups.INTEGRATION": "Integration",
|
|
120
121
|
"filtersBar.groups.MANAGEMENT": "Gestão",
|
|
121
122
|
"filtersBar.groups.METADATA": "Metadados",
|
package/translation.cjs12.js
CHANGED
|
@@ -116,6 +116,7 @@ var translation = {
|
|
|
116
116
|
"filtersBar.groups.CURRENT_LOCATION": "Текущее местоположение",
|
|
117
117
|
"filtersBar.groups.CUSTOM_FIELDS": "Настраиваемые поля",
|
|
118
118
|
"filtersBar.groups.CUSTOMERS": "Клиенты",
|
|
119
|
+
"filtersBar.groups.DEVICE_HEALTH": "Device Health",
|
|
119
120
|
"filtersBar.groups.INTEGRATION": "Integration",
|
|
120
121
|
"filtersBar.groups.MANAGEMENT": "Управление",
|
|
121
122
|
"filtersBar.groups.METADATA": "Метаданные",
|
package/translation.cjs13.js
CHANGED
|
@@ -116,6 +116,7 @@ var translation = {
|
|
|
116
116
|
"filtersBar.groups.CURRENT_LOCATION": "Locația actuală",
|
|
117
117
|
"filtersBar.groups.CUSTOM_FIELDS": "Câmpuri personalizate",
|
|
118
118
|
"filtersBar.groups.CUSTOMERS": "Clienți",
|
|
119
|
+
"filtersBar.groups.DEVICE_HEALTH": "Device Health",
|
|
119
120
|
"filtersBar.groups.INTEGRATION": "Integration",
|
|
120
121
|
"filtersBar.groups.MANAGEMENT": "Gestionare",
|
|
121
122
|
"filtersBar.groups.METADATA": "Metadate",
|
package/translation.cjs14.js
CHANGED
|
@@ -116,6 +116,7 @@ var translation = {
|
|
|
116
116
|
"filtersBar.groups.CURRENT_LOCATION": "Ubicación actual",
|
|
117
117
|
"filtersBar.groups.CUSTOM_FIELDS": "Campos personalizados",
|
|
118
118
|
"filtersBar.groups.CUSTOMERS": "Clientes",
|
|
119
|
+
"filtersBar.groups.DEVICE_HEALTH": "Device Health",
|
|
119
120
|
"filtersBar.groups.INTEGRATION": "Integration",
|
|
120
121
|
"filtersBar.groups.MANAGEMENT": "Gestión",
|
|
121
122
|
"filtersBar.groups.METADATA": "Metadatos",
|
package/translation.cjs15.js
CHANGED
|
@@ -116,6 +116,7 @@ var translation = {
|
|
|
116
116
|
"filtersBar.groups.CURRENT_LOCATION": "Nuvarande plats",
|
|
117
117
|
"filtersBar.groups.CUSTOM_FIELDS": "Anpassade fält",
|
|
118
118
|
"filtersBar.groups.CUSTOMERS": "Kunder",
|
|
119
|
+
"filtersBar.groups.DEVICE_HEALTH": "Device Health",
|
|
119
120
|
"filtersBar.groups.INTEGRATION": "Integration",
|
|
120
121
|
"filtersBar.groups.MANAGEMENT": "Hantering",
|
|
121
122
|
"filtersBar.groups.METADATA": "Metadata",
|
package/translation.cjs16.js
CHANGED
|
@@ -116,6 +116,7 @@ var translation = {
|
|
|
116
116
|
"filtersBar.groups.CURRENT_LOCATION": "現在の所在地",
|
|
117
117
|
"filtersBar.groups.CUSTOM_FIELDS": "カスタムフィールド",
|
|
118
118
|
"filtersBar.groups.CUSTOMERS": "顧客",
|
|
119
|
+
"filtersBar.groups.DEVICE_HEALTH": "デバイスヘルス",
|
|
119
120
|
"filtersBar.groups.INTEGRATION": "Integration",
|
|
120
121
|
"filtersBar.groups.MANAGEMENT": "管理",
|
|
121
122
|
"filtersBar.groups.METADATA": "メタデータ",
|
package/translation.cjs17.js
CHANGED
|
@@ -116,6 +116,7 @@ var translation = {
|
|
|
116
116
|
"filtersBar.groups.CURRENT_LOCATION": "ตำแหน่งที่ตั้งปัจจุบัน",
|
|
117
117
|
"filtersBar.groups.CUSTOM_FIELDS": "ฟิลด์แบบกำหนดเอง",
|
|
118
118
|
"filtersBar.groups.CUSTOMERS": "ลูกค้า",
|
|
119
|
+
"filtersBar.groups.DEVICE_HEALTH": "Device Health",
|
|
119
120
|
"filtersBar.groups.INTEGRATION": "Integration",
|
|
120
121
|
"filtersBar.groups.MANAGEMENT": "การจัดการ",
|
|
121
122
|
"filtersBar.groups.METADATA": "ข้อมูลจำเพาะ",
|
package/translation.cjs2.js
CHANGED
|
@@ -116,6 +116,7 @@ var translation = {
|
|
|
116
116
|
"filtersBar.groups.CURRENT_LOCATION": "Aktuel placering",
|
|
117
117
|
"filtersBar.groups.CUSTOM_FIELDS": "Brugerdefinerede felter",
|
|
118
118
|
"filtersBar.groups.CUSTOMERS": "Kunder",
|
|
119
|
+
"filtersBar.groups.DEVICE_HEALTH": "Enhedstilstand",
|
|
119
120
|
"filtersBar.groups.INTEGRATION": "Integration",
|
|
120
121
|
"filtersBar.groups.MANAGEMENT": "Administration",
|
|
121
122
|
"filtersBar.groups.METADATA": "Metadata",
|
package/translation.cjs3.js
CHANGED
|
@@ -116,6 +116,7 @@ var translation = {
|
|
|
116
116
|
"filtersBar.groups.CURRENT_LOCATION": "Aktuální umístění",
|
|
117
117
|
"filtersBar.groups.CUSTOM_FIELDS": "Vlastní pole",
|
|
118
118
|
"filtersBar.groups.CUSTOMERS": "Zákazníci",
|
|
119
|
+
"filtersBar.groups.DEVICE_HEALTH": "Device Health",
|
|
119
120
|
"filtersBar.groups.INTEGRATION": "Integration",
|
|
120
121
|
"filtersBar.groups.MANAGEMENT": "Správa",
|
|
121
122
|
"filtersBar.groups.METADATA": "Metadata",
|
package/translation.cjs4.js
CHANGED
|
@@ -116,6 +116,7 @@ var translation = {
|
|
|
116
116
|
"filtersBar.groups.CURRENT_LOCATION": "Huidige locatie",
|
|
117
117
|
"filtersBar.groups.CUSTOM_FIELDS": "Aangepaste velden",
|
|
118
118
|
"filtersBar.groups.CUSTOMERS": "Klanten",
|
|
119
|
+
"filtersBar.groups.DEVICE_HEALTH": "Device Health",
|
|
119
120
|
"filtersBar.groups.INTEGRATION": "Integration",
|
|
120
121
|
"filtersBar.groups.MANAGEMENT": "Beheer",
|
|
121
122
|
"filtersBar.groups.METADATA": "Meta-data",
|
package/translation.cjs5.js
CHANGED
|
@@ -116,6 +116,7 @@ var translation = {
|
|
|
116
116
|
"filtersBar.groups.CURRENT_LOCATION": "Emplacement actuel",
|
|
117
117
|
"filtersBar.groups.CUSTOM_FIELDS": "Champs personnalisés",
|
|
118
118
|
"filtersBar.groups.CUSTOMERS": "Clients",
|
|
119
|
+
"filtersBar.groups.DEVICE_HEALTH": "Santé de l'appareil",
|
|
119
120
|
"filtersBar.groups.INTEGRATION": "Integration",
|
|
120
121
|
"filtersBar.groups.MANAGEMENT": "Gestion",
|
|
121
122
|
"filtersBar.groups.METADATA": "Métadonnées",
|
package/translation.cjs6.js
CHANGED
|
@@ -116,6 +116,7 @@ var translation = {
|
|
|
116
116
|
"filtersBar.groups.CURRENT_LOCATION": "Nykyinen sijainti",
|
|
117
117
|
"filtersBar.groups.CUSTOM_FIELDS": "Mukautetut kentät",
|
|
118
118
|
"filtersBar.groups.CUSTOMERS": "Asiakkaat",
|
|
119
|
+
"filtersBar.groups.DEVICE_HEALTH": "Device Health",
|
|
119
120
|
"filtersBar.groups.INTEGRATION": "Integration",
|
|
120
121
|
"filtersBar.groups.MANAGEMENT": "Hallinnointi",
|
|
121
122
|
"filtersBar.groups.METADATA": "Metatiedot",
|
package/translation.cjs7.js
CHANGED
|
@@ -116,6 +116,7 @@ var translation = {
|
|
|
116
116
|
"filtersBar.groups.CURRENT_LOCATION": "Aktuális tartózkodási hely",
|
|
117
117
|
"filtersBar.groups.CUSTOM_FIELDS": "Egyéni mezők",
|
|
118
118
|
"filtersBar.groups.CUSTOMERS": "Ügyfelek",
|
|
119
|
+
"filtersBar.groups.DEVICE_HEALTH": "Device Health",
|
|
119
120
|
"filtersBar.groups.INTEGRATION": "Integration",
|
|
120
121
|
"filtersBar.groups.MANAGEMENT": "Kezelés",
|
|
121
122
|
"filtersBar.groups.METADATA": "Metaadatok",
|
package/translation.cjs8.js
CHANGED
|
@@ -116,6 +116,7 @@ var translation = {
|
|
|
116
116
|
"filtersBar.groups.CURRENT_LOCATION": "Posizione attuale",
|
|
117
117
|
"filtersBar.groups.CUSTOM_FIELDS": "Campi personalizzati",
|
|
118
118
|
"filtersBar.groups.CUSTOMERS": "Clienti",
|
|
119
|
+
"filtersBar.groups.DEVICE_HEALTH": "Device Health",
|
|
119
120
|
"filtersBar.groups.INTEGRATION": "Integration",
|
|
120
121
|
"filtersBar.groups.MANAGEMENT": "Gestione",
|
|
121
122
|
"filtersBar.groups.METADATA": "Metadati",
|
package/translation.cjs9.js
CHANGED
|
@@ -116,6 +116,7 @@ var translation = {
|
|
|
116
116
|
"filtersBar.groups.CURRENT_LOCATION": "Nåværende posisjon",
|
|
117
117
|
"filtersBar.groups.CUSTOM_FIELDS": "Egendefinerte felter",
|
|
118
118
|
"filtersBar.groups.CUSTOMERS": "Kunder",
|
|
119
|
+
"filtersBar.groups.DEVICE_HEALTH": "Device Health",
|
|
119
120
|
"filtersBar.groups.INTEGRATION": "Integration",
|
|
120
121
|
"filtersBar.groups.MANAGEMENT": "Administrasjon",
|
|
121
122
|
"filtersBar.groups.METADATA": "Metadata",
|
package/translation.esm.js
CHANGED
|
@@ -114,6 +114,7 @@ var translation = {
|
|
|
114
114
|
"filtersBar.groups.CURRENT_LOCATION": "Aktueller Standort",
|
|
115
115
|
"filtersBar.groups.CUSTOM_FIELDS": "Benutzerdefinierte Felder",
|
|
116
116
|
"filtersBar.groups.CUSTOMERS": "Kunden",
|
|
117
|
+
"filtersBar.groups.DEVICE_HEALTH": "Einheitsstatus",
|
|
117
118
|
"filtersBar.groups.INTEGRATION": "Integration",
|
|
118
119
|
"filtersBar.groups.MANAGEMENT": "Verwaltung",
|
|
119
120
|
"filtersBar.groups.METADATA": "Metadaten",
|
package/translation.esm10.js
CHANGED
|
@@ -114,6 +114,7 @@ var translation = {
|
|
|
114
114
|
"filtersBar.groups.CURRENT_LOCATION": "Bieżąca lokalizacja",
|
|
115
115
|
"filtersBar.groups.CUSTOM_FIELDS": "Pola niestandardowe",
|
|
116
116
|
"filtersBar.groups.CUSTOMERS": "Klienci",
|
|
117
|
+
"filtersBar.groups.DEVICE_HEALTH": "Device Health",
|
|
117
118
|
"filtersBar.groups.INTEGRATION": "Integration",
|
|
118
119
|
"filtersBar.groups.MANAGEMENT": "Zarządzanie",
|
|
119
120
|
"filtersBar.groups.METADATA": "Metadane",
|
package/translation.esm11.js
CHANGED
|
@@ -114,6 +114,7 @@ var translation = {
|
|
|
114
114
|
"filtersBar.groups.CURRENT_LOCATION": "Localização atual",
|
|
115
115
|
"filtersBar.groups.CUSTOM_FIELDS": "Campos personalizados",
|
|
116
116
|
"filtersBar.groups.CUSTOMERS": "Clientes",
|
|
117
|
+
"filtersBar.groups.DEVICE_HEALTH": "Device Health",
|
|
117
118
|
"filtersBar.groups.INTEGRATION": "Integration",
|
|
118
119
|
"filtersBar.groups.MANAGEMENT": "Gestão",
|
|
119
120
|
"filtersBar.groups.METADATA": "Metadados",
|
package/translation.esm12.js
CHANGED
|
@@ -114,6 +114,7 @@ var translation = {
|
|
|
114
114
|
"filtersBar.groups.CURRENT_LOCATION": "Текущее местоположение",
|
|
115
115
|
"filtersBar.groups.CUSTOM_FIELDS": "Настраиваемые поля",
|
|
116
116
|
"filtersBar.groups.CUSTOMERS": "Клиенты",
|
|
117
|
+
"filtersBar.groups.DEVICE_HEALTH": "Device Health",
|
|
117
118
|
"filtersBar.groups.INTEGRATION": "Integration",
|
|
118
119
|
"filtersBar.groups.MANAGEMENT": "Управление",
|
|
119
120
|
"filtersBar.groups.METADATA": "Метаданные",
|
package/translation.esm13.js
CHANGED
|
@@ -114,6 +114,7 @@ var translation = {
|
|
|
114
114
|
"filtersBar.groups.CURRENT_LOCATION": "Locația actuală",
|
|
115
115
|
"filtersBar.groups.CUSTOM_FIELDS": "Câmpuri personalizate",
|
|
116
116
|
"filtersBar.groups.CUSTOMERS": "Clienți",
|
|
117
|
+
"filtersBar.groups.DEVICE_HEALTH": "Device Health",
|
|
117
118
|
"filtersBar.groups.INTEGRATION": "Integration",
|
|
118
119
|
"filtersBar.groups.MANAGEMENT": "Gestionare",
|
|
119
120
|
"filtersBar.groups.METADATA": "Metadate",
|
package/translation.esm14.js
CHANGED
|
@@ -114,6 +114,7 @@ var translation = {
|
|
|
114
114
|
"filtersBar.groups.CURRENT_LOCATION": "Ubicación actual",
|
|
115
115
|
"filtersBar.groups.CUSTOM_FIELDS": "Campos personalizados",
|
|
116
116
|
"filtersBar.groups.CUSTOMERS": "Clientes",
|
|
117
|
+
"filtersBar.groups.DEVICE_HEALTH": "Device Health",
|
|
117
118
|
"filtersBar.groups.INTEGRATION": "Integration",
|
|
118
119
|
"filtersBar.groups.MANAGEMENT": "Gestión",
|
|
119
120
|
"filtersBar.groups.METADATA": "Metadatos",
|
package/translation.esm15.js
CHANGED
|
@@ -114,6 +114,7 @@ var translation = {
|
|
|
114
114
|
"filtersBar.groups.CURRENT_LOCATION": "Nuvarande plats",
|
|
115
115
|
"filtersBar.groups.CUSTOM_FIELDS": "Anpassade fält",
|
|
116
116
|
"filtersBar.groups.CUSTOMERS": "Kunder",
|
|
117
|
+
"filtersBar.groups.DEVICE_HEALTH": "Device Health",
|
|
117
118
|
"filtersBar.groups.INTEGRATION": "Integration",
|
|
118
119
|
"filtersBar.groups.MANAGEMENT": "Hantering",
|
|
119
120
|
"filtersBar.groups.METADATA": "Metadata",
|
package/translation.esm16.js
CHANGED
|
@@ -114,6 +114,7 @@ var translation = {
|
|
|
114
114
|
"filtersBar.groups.CURRENT_LOCATION": "現在の所在地",
|
|
115
115
|
"filtersBar.groups.CUSTOM_FIELDS": "カスタムフィールド",
|
|
116
116
|
"filtersBar.groups.CUSTOMERS": "顧客",
|
|
117
|
+
"filtersBar.groups.DEVICE_HEALTH": "デバイスヘルス",
|
|
117
118
|
"filtersBar.groups.INTEGRATION": "Integration",
|
|
118
119
|
"filtersBar.groups.MANAGEMENT": "管理",
|
|
119
120
|
"filtersBar.groups.METADATA": "メタデータ",
|
package/translation.esm17.js
CHANGED
|
@@ -114,6 +114,7 @@ var translation = {
|
|
|
114
114
|
"filtersBar.groups.CURRENT_LOCATION": "ตำแหน่งที่ตั้งปัจจุบัน",
|
|
115
115
|
"filtersBar.groups.CUSTOM_FIELDS": "ฟิลด์แบบกำหนดเอง",
|
|
116
116
|
"filtersBar.groups.CUSTOMERS": "ลูกค้า",
|
|
117
|
+
"filtersBar.groups.DEVICE_HEALTH": "Device Health",
|
|
117
118
|
"filtersBar.groups.INTEGRATION": "Integration",
|
|
118
119
|
"filtersBar.groups.MANAGEMENT": "การจัดการ",
|
|
119
120
|
"filtersBar.groups.METADATA": "ข้อมูลจำเพาะ",
|
package/translation.esm2.js
CHANGED
|
@@ -114,6 +114,7 @@ var translation = {
|
|
|
114
114
|
"filtersBar.groups.CURRENT_LOCATION": "Aktuel placering",
|
|
115
115
|
"filtersBar.groups.CUSTOM_FIELDS": "Brugerdefinerede felter",
|
|
116
116
|
"filtersBar.groups.CUSTOMERS": "Kunder",
|
|
117
|
+
"filtersBar.groups.DEVICE_HEALTH": "Enhedstilstand",
|
|
117
118
|
"filtersBar.groups.INTEGRATION": "Integration",
|
|
118
119
|
"filtersBar.groups.MANAGEMENT": "Administration",
|
|
119
120
|
"filtersBar.groups.METADATA": "Metadata",
|
package/translation.esm3.js
CHANGED
|
@@ -114,6 +114,7 @@ var translation = {
|
|
|
114
114
|
"filtersBar.groups.CURRENT_LOCATION": "Aktuální umístění",
|
|
115
115
|
"filtersBar.groups.CUSTOM_FIELDS": "Vlastní pole",
|
|
116
116
|
"filtersBar.groups.CUSTOMERS": "Zákazníci",
|
|
117
|
+
"filtersBar.groups.DEVICE_HEALTH": "Device Health",
|
|
117
118
|
"filtersBar.groups.INTEGRATION": "Integration",
|
|
118
119
|
"filtersBar.groups.MANAGEMENT": "Správa",
|
|
119
120
|
"filtersBar.groups.METADATA": "Metadata",
|
package/translation.esm4.js
CHANGED
|
@@ -114,6 +114,7 @@ var translation = {
|
|
|
114
114
|
"filtersBar.groups.CURRENT_LOCATION": "Huidige locatie",
|
|
115
115
|
"filtersBar.groups.CUSTOM_FIELDS": "Aangepaste velden",
|
|
116
116
|
"filtersBar.groups.CUSTOMERS": "Klanten",
|
|
117
|
+
"filtersBar.groups.DEVICE_HEALTH": "Device Health",
|
|
117
118
|
"filtersBar.groups.INTEGRATION": "Integration",
|
|
118
119
|
"filtersBar.groups.MANAGEMENT": "Beheer",
|
|
119
120
|
"filtersBar.groups.METADATA": "Meta-data",
|
package/translation.esm5.js
CHANGED
|
@@ -114,6 +114,7 @@ var translation = {
|
|
|
114
114
|
"filtersBar.groups.CURRENT_LOCATION": "Emplacement actuel",
|
|
115
115
|
"filtersBar.groups.CUSTOM_FIELDS": "Champs personnalisés",
|
|
116
116
|
"filtersBar.groups.CUSTOMERS": "Clients",
|
|
117
|
+
"filtersBar.groups.DEVICE_HEALTH": "Santé de l'appareil",
|
|
117
118
|
"filtersBar.groups.INTEGRATION": "Integration",
|
|
118
119
|
"filtersBar.groups.MANAGEMENT": "Gestion",
|
|
119
120
|
"filtersBar.groups.METADATA": "Métadonnées",
|
package/translation.esm6.js
CHANGED
|
@@ -114,6 +114,7 @@ var translation = {
|
|
|
114
114
|
"filtersBar.groups.CURRENT_LOCATION": "Nykyinen sijainti",
|
|
115
115
|
"filtersBar.groups.CUSTOM_FIELDS": "Mukautetut kentät",
|
|
116
116
|
"filtersBar.groups.CUSTOMERS": "Asiakkaat",
|
|
117
|
+
"filtersBar.groups.DEVICE_HEALTH": "Device Health",
|
|
117
118
|
"filtersBar.groups.INTEGRATION": "Integration",
|
|
118
119
|
"filtersBar.groups.MANAGEMENT": "Hallinnointi",
|
|
119
120
|
"filtersBar.groups.METADATA": "Metatiedot",
|
package/translation.esm7.js
CHANGED
|
@@ -114,6 +114,7 @@ var translation = {
|
|
|
114
114
|
"filtersBar.groups.CURRENT_LOCATION": "Aktuális tartózkodási hely",
|
|
115
115
|
"filtersBar.groups.CUSTOM_FIELDS": "Egyéni mezők",
|
|
116
116
|
"filtersBar.groups.CUSTOMERS": "Ügyfelek",
|
|
117
|
+
"filtersBar.groups.DEVICE_HEALTH": "Device Health",
|
|
117
118
|
"filtersBar.groups.INTEGRATION": "Integration",
|
|
118
119
|
"filtersBar.groups.MANAGEMENT": "Kezelés",
|
|
119
120
|
"filtersBar.groups.METADATA": "Metaadatok",
|
package/translation.esm8.js
CHANGED
|
@@ -114,6 +114,7 @@ var translation = {
|
|
|
114
114
|
"filtersBar.groups.CURRENT_LOCATION": "Posizione attuale",
|
|
115
115
|
"filtersBar.groups.CUSTOM_FIELDS": "Campi personalizzati",
|
|
116
116
|
"filtersBar.groups.CUSTOMERS": "Clienti",
|
|
117
|
+
"filtersBar.groups.DEVICE_HEALTH": "Device Health",
|
|
117
118
|
"filtersBar.groups.INTEGRATION": "Integration",
|
|
118
119
|
"filtersBar.groups.MANAGEMENT": "Gestione",
|
|
119
120
|
"filtersBar.groups.METADATA": "Metadati",
|
package/translation.esm9.js
CHANGED
|
@@ -114,6 +114,7 @@ var translation = {
|
|
|
114
114
|
"filtersBar.groups.CURRENT_LOCATION": "Nåværende posisjon",
|
|
115
115
|
"filtersBar.groups.CUSTOM_FIELDS": "Egendefinerte felter",
|
|
116
116
|
"filtersBar.groups.CUSTOMERS": "Kunder",
|
|
117
|
+
"filtersBar.groups.DEVICE_HEALTH": "Device Health",
|
|
117
118
|
"filtersBar.groups.INTEGRATION": "Integration",
|
|
118
119
|
"filtersBar.groups.MANAGEMENT": "Administrasjon",
|
|
119
120
|
"filtersBar.groups.METADATA": "Metadata",
|